dbax-lite

PL/SQL framework for MVC Web Development

dbax the PL/SQL Web Framework

I recently released the first pre-release of the first MVC PL/SQL framework, called dbax. You can access the project page.

dbax is an open source framework for developing applications and Web services with PL/SQL. Its philosophy is to develop PL/SQL code in an elegant and simple way, avoiding the “spaghetti code”. It was created in 2017 and has a great influence of frameworks like Laravel, Ruby on Rails or Sinatra.

dbax aims to be a framework that allows the use of elegant and expressive syntax to create code easy to maintain and with many features. It has been designed to be lightweight and modular.

In dbax everything happens inside the Oracle database and there is only one Gateway to pass the HTTP requests to database calls. dbax can be installed on any edition of the Oracle database, including the Oracle Express edition.

dbax plsql framework

Why dbax?

Because I have been doing business applications with SQL, PL/SQL and Java for many years, and in many of these applications Java is not necessary because it only adds more layers of programming to these developments, increasing the time, cost and complexity.

I think the best place to implement the business logic of our applications is inside the database, whether in PL/SQL packages, primary keys, foreign keys or other constraints. There is a great post by Lukas Eder author of JOOQ: Business Logic in the Database . Yes or No? It Depends!

For PL/SQL developers it is a very elegant way to extend their capabilities without having to start from scratch with another language and taking advantage of the ecosystem and knowledge that already have in SQL and PL/SQL.

Also the PL/SQL language is very easy to learn because its syntax is very simple and the SQL “language”is one of the most demanded today thanks to the growth of Big Data, allows developers to focus on essential complexity by reducing accidental. There are still no silver bullets.

Oracle with its Apex product tries to do the same, programming web applications only with PL/SQL. But Apex follows a pattern of declarative development, just as it did in the 1990s with Oracle Forms. Let’s say Apex is an attempt to bring Oracle Forms to the Web (since Forms is no longer a strategic tool for development) but offers a very tight framework. There is no source code, so the use of version control makes it very complex, everything is stored in the Database as metadata. Product version changes, production steps, continuous integration become very complex. The views (HTML) are difficult to customize, since we can not modify the HTML, we have no control over it. URLs are not user friendly.

It is true that this product for typical tasks can give us good results in a very short time, but when we want to do something “different” we must know the product in depth and overcome its limitations with expertise.

dbax solves these problems, proposing a development model similar to PHP or Ruby (fast and flexible) with an MVC pattern and focused on the productivity of the developers. All development is done with SQL, PL / SQL, and HTML, CSS and JS. You can use all the web technologies you need, dbax does not restrict you; HTML5, CSS3, JS (any Angular library, React …), Web Components … and whatever may come.

With dbax PL / SQL developers learn Web technologies and this knowledge and concepts acquired are similar in other Web environments (PHP, Java, Ruby, .Net MVC, nodeJS).

Features

  • MVC; which allows great separation between logic and presentation.
  • Routing; simple but powerfull url routing. The URLs generated by dbax are clean and search-engine friendly.
  • Modular; you can choose which components to use.
  • Write SQL and PL/SQL; Use all PL/SQL libraries you like.
  • Lightweight; just some packages.
  • Template Engine; dbax uses tePLSQL which has the same syntax as Oracle PSP.
  • Fast; dbax has been developed on top of PL/SQL Web Toolkit.
  • Free; dbax is licensed under the LGPL license so you can use it however you please.

Who is dbax for?

  • If you want to have full control over the code of your application (front-end and back-end).
  • If you want a non-restrictive, open and flexible framework.
  • If you need to create standard web applications with all the functionalities of modern web applications (responsive, Ajax, AngularJS, ReactJS …)
  • If you want a framework that will help you to generate simple, elegant and easy to maintain pl/sql code.
  • If you want a framework with exceptional performance.
  • If you want a framework that does not require a restrictive encoding.
  • If you want a framework prepared for a business environment.
  • If you want an open source framework.
  • If you want a secure framework.

Requirements

  • Oracle Database 11g or later, compatible with Oracle XE (Express edition).
  • HTTP PL/SQL gateway to invoke a PL/SQL stored procedure through an HTTP listener: ORDS with JEE container (Tomcat, Glassfish, WebLogic) or DBMS_EPG package

Conclusion

With dbax I took the modern, elegant and flexible development of web applications to the database.