The topic of Single Sign-On (SSO) has come up recently with…
When you’re looking for a platform to develop a custom web application the options are limitless.
Oftentimes, one of the many varieties of java frameworks — Spring, Struts, etc. — come to mind as a solid potential option. Frameworks like these are highly used (for good reason) and I like to refer to them as traditional web development tools. But these tools might not be the best for every situation. If you’re looking for a platform for custom application development, might I point out a popular, growing low-code platform called Oracle Application Express, or APEX.
In this blog, we’re going to take a closer look at how APEX compares to more traditional web development platforms and frameworks, why it may just be the right solution for your custom application needs, and how Zirous can help you accomplish your project goals across the board.
Time and Resource Costs
The first step in developing any web application is gathering business requirements. Once you have those- how long does it take until you have an application worthy of testing, or at least a proof of concept? With traditional web development, you’re probably talking weeks, months, or even years. By utilizing the low-code APEX environment, you can bring this down to days or weeks. If you have an existing Oracle database and APEX footprint, this time can be even further reduced.
Given an experienced developer, it’s possible to get a usable proof of concept application up and running in a number of hours, depending on the length of the requirements. Because of the nature of APEX as a low-code platform, you can expect to save a lot of time compared to a more traditional platform. You’ll see savings from the reducing resource needs as well. Typically, APEX applications can be built by a simple team of a developer or two and a database administrator. Because APEX does a lot of the heavy lifting when it comes to development, fewer resources are generally needed, and that means a lower overall price on the application. Team members highly experienced with APEX, like ours at Zirous can also cut down development time and keep costs down.
A typical infrastructure set-up for a Java web application may look something like this: A webserver to direct traffic, an app server to store the application, and a database server to house the database (Figure 1).
While it’s possible to use this same set-up with APEX, we can also simplify it to reduce setup and maintenance costs using Oracle REST Data Services (ORDS) in standalone mode (Figure 2). This is because APEX, and thus your application itself, lives in the database. You can remove the app server out of the equation altogether.
ORDS even offers resource segmentation, allowing you to spin up multiple copies of ORDS to route to multiple databases, all without the need for multiple server instances. However, if you’ve determined you need more resources, expanding to multiple server instances is still an option. There are multiple deployment options for APEX applications.
This flexibility makes the infrastructure requirements for an APEX application very easy to manage. Not to mention if you don’t have the hardware, you can put your application on the Oracle Cloud. There is even a free tier in the Oracle cloud that you can use to get started at no cost to you. Every project has a choice when it comes to infrastructure, which is why our team excels in determining the best approach.
Web Services and Integration
A key feature in web development these days is the use of RESTful web services. Many of the pre-built regions and items in APEX now come with the ability to interact with defined web services. Let’s look at a simple example. Say you wanted your APEX applications to utilize Apple’s public iTunes web service. After you’ve defined that web service in APEX, it’s completely possible to create a region on a page that automatically makes the web service call for you and handles the data in the response, showing you a list of the songs you just searched for.
ORDS also lets you serve your own web services and create RESTful APIs. These web services could be open to the public, for anyone to call, or secured in a variety of ways. In past and current projects, we have seen success enabling OAuth 2.0 authentication on web services created for our clients. This ability to create secure RESTful web services, along with PL/SQL APIs in the Oracle database to consume web services, set a strong foundation for integrating APEX applications and the databases behind them with other systems. Zirous has helped many clients integrate their systems with others using RESTful web services in APEX.
There are a multitude of options for reporting in APEX. Some common use cases would include PDF reports or CSV files of data. APEX makes creating these reports a breeze, with the ability to upload template files for PDF reports or create CSV files from database queries. A variety of other reporting options are possible, including pixel-perfect reports and most options available on more formal reporting tools such as OBIEE.
One of the hottest reporting tools within the APEX community right now is APEX Office Print (AOP). In our experience, AOP has been a great tool to create custom pdf and excel reports. It’s pretty intuitive to use, allowing developers to use Microsoft Office to create report templates.
Source Control & Application Promotion
One of the biggest drawbacks to using Oracle APEX is its current lack of the ability to easily use tried-and-true source control tools that many developers are familiar with, such as git. With tools like git, the source code of the application lives in a repository and can be configured so that only one developer at a time can check out a piece of code to work on. This helps ensure that in projects with multiple developers, no one is unknowingly overwriting someone else’s code.
APEX does its best to replicate tools like these. Developers have the option to lock pages of an application that they’re currently working on. While a page is locked, other developers can’t save changes to that page. This works well for front-end development, but there is no such feature in place within the database, where many PL/SQL packages contain business logic that the APEX application uses.
Source Control tools can also help in promoting applications between environments. For an in-depth look into this unique problem and what we do at Zirous to resolve it, take a look at this 2 part blog post.
Selecting the Right Solution
Even with the handy comparisons, we’ve covered in this blog, choosing the right framework or platform for your custom development project can be difficult. That’s why Zirous is here to help. With years of experience in building custom applications, both with Oracle APEX and with those more traditional frameworks, we can be a strategic partner to help you make these decisions and set your business up for success. To learn more about our custom development solutions, contact us today!