Introduction to dbax

dbax (Data Base Application eXpress) is an Open Source Framework for developing Web applications with SQL, PL/SQL and HTML. Using a web browser and SQL tool like SQL Developer or Toad, you can develop and deploy professional Web-based applications for desktops and mobile devices.

dbax is community supported and can be installed in all editions of the Oracle Database. dbax runs within the Oracle Database allowing your applications to scale to meet your largest user communities.

In this technical overview you can see the major components and features of dbax. It describes how easily and quickly you can build beautiful, secure, and scalable Web applications for any devices.

dbax Overview

dbax is an Application Framework

dbax is a toolkit for people who build web applications using Oracle and PL/SQL. Its goal is to enable you to develop projects much faster than you could if you were writing code from scratch, by providing a rich set of libraries or APIs, for commonly needed tasks, as well as a simple interface to access these libraries. dbax lets you focus on your project by minimizing the amount of code needed for a given task.

dbax is Free

dbax is licensed under the LGPL license so you can use it however you please. For more information please read the license agreement.

dabx is Light Weight

Truly light weight. The core system requires only a few very small PL/SQL Packages or libraries. This is in stark contrast to many frameworks that require significantly more resources. Additional libraries are loaded dynamically upon request, based on your needs for a given process, so the base system is very lean and quite fast.

dabx is Fast

dbax has been developed on top of PL/SQL Web Toolkit. Since version 9.2 of the Oracle Database, PL/SQL Web Toolkit is available as a no-cost option and installed by default. PL/SQL Web Toolkit has great performance, so much that Oracle has developed several of its solutions on this technology.

dabx uses M-V-C

dbax uses the Model-View-Controller approach, which allows great separation between logic and presentation. This is particularly good for projects in which designers are working with your template files, as the code these files contain will be minimized.

MVC pattern has become something of a standard in the design of modern web applications. And for good reason. Most web application code falls under one of the following three categories: presentation, business logic, and data access. The MVC pattern models this separation of concerns well. The end result is that your presentation code can be consolidated in one part of your application with your business logic in another and your data access code in yet another. Many developers have found this well-defined separation indispensable for keeping their code organized, especially when more than one developer is working on the same application.

dabx Generates Clean URLs

The URLs generated by dbax are clean and search-engine friendly. Rather than using the standard "query string" approach to URLs that is synonymous with dynamic systems, dbax uses a segment-based approach:

if route_.get ('blog/post/{post_id}', l_params )
    return pk_posts.show_post(l_params('post_id'));
end if;

dbax routing documentation

dbax Includes a Template Engine

A template engine is needed to keep interaction with the HTML views, therefore dbaxuses tePLSQL which has the same syntax as Oracle PSP.

For example, this simple code:

 <% for c1 in (select   username from all_users) loop %>
    <li> <%= c1.username %> </li>
 <% end loop; %>

Will produce the following result:

    <li> XS$NULL </li>
    <li> LITE_TEST </li>
    <li> LITE </li>
    <li> APEX_040000 </li>
    <li> APEX_PUBLIC_USER </li>
    <li> FLOWS_FILES </li>
    <li> HR </li>
    <li> MDSYS </li>
    <li> ANONYMOUS </li>
    <li> XDB </li>
    <li> CTXSYS </li>
    <li> OUTLN </li>
    <li> SYSTEM </li>
    <li> SYS </li>
    <li> DBAX </li>

Architecture Overview

dbax utilizes a simple architecture where pages are dynamically generated using a template engine and MVC pattern. Views, Controllers and Models are PL/SQL packages. When developers create, modify, or delete any component the changes will be shown immediately.

Single instance. Perfect for VPS cloud infrastructure or development environment.

Multiple instances. Perfect for Enterprise infrastructure with multiple Oracle Databases instances, Oracle RAC or Exadata.

The dbax architecture requires some Web server to proxy requests between a client Web browser and the dbax engine. The Web server options are:

  • Oracle REST Data Services: Oracle REST Data Services (ORDS) is a Java based, free tool that runs in JEE container such as Oracle WebLogic Server, Oracle Glassfish Server, and Apache Tomcat.
  • Embedded PL/SQL Gateway: The Embedded PL/SQL Gateway (EPG) runs in the Oracle XML DB Protocol Server within the Oracle Database and includes the core features of mod_plsql.
  • Oracle HTTP Server: The Oracle HTTP Server (Apache) with mod_plsql plugin can be placed on the same physical machine as the database, or on a separate physical machine. Note: mod_plsql is deprecated as of Oracle HTTP Server 12c (12.1.3). Oracle recommends using Oracle REST Data Services instead.