Since Oracle Application Express (APEX)’s release as HTML DB in 2004, one question keeps coming up again and again:
How suited is this platform for large-scale work? Is APEX built for the enterprise? Can it perform, scale and
can it be extended? I’d like to address some of the most common concerns.
Fear of “Vendor Lock-In”
It’s no secret that APEX will only run on an Oracle Database. Some people may fear “vendor lock-in” with no easy transition out of the platform if ever required. Every programming platform, however, will have some form of lock-in if developers do not adhere to standards and best practices.
APEX best practices lean heavily on keeping business logic in the application itself to a minimum. Developers are highly encouraged to call PL/SQL APIs coded in database packages. The same code could then be reused should the organization decide to swap out UI components to another framework.
Concerns about Licensing Costs
For stakeholders concerned about hefty licensing bills, it should be noted that Oracle Database 18c Express Edition is available to everyone for free. It comes with many features of the enterprise edition, allowing the use of up to 2 CPU cores, 2 Gb of memory and up to 12Gb of data storage.
The Oracle Cloud also offers Always Free resources that include two Autonomous Databases with a host of features that can you have up and running with everything you need, quickly.
In my twenty years of experience writing applications, I have used different programming languages such as Java and C#. I love Java and the availability of many open-sourced libraries and frameworks that enable developers to create sophisticated software architectures. However, that ability comes with complexity and a steep learning curve to be productive.
When faced with often short deadlines to deliver solutions, I sometimes turned to C# and the comprehensive Microsoft developer tools for quick turnarounds. For prototyping and early-stage development, these worked miracles. Yet as the projects went on and user demands grew, I struggled to keep pace with the requirements and deadlines.
As a developer, it’s cool to adopt the latest technology, but it is perhaps more important to remember what matters most to the customer: on-time delivery, meeting requirements and manageable costs. While tools like C# brought me one level closer to meeting these customer goals, APEX got me there more consistently and set the high bar much higher!
Why APEX is Built for the Enterprise
At its core, APEX is a low-code, sometimes even no-code, application development platform that can almost magically transform spreadsheets into multi-user, secure web applications in very little time.
From experience, this can quickly lead to massive user adoption and excitement, and also, frequently, requests for changes.
Thankfully, APEX is ready to deliver.
Applying Standards and Extensibility
Everyone appreciates flexibility, but to quote the late Eleanor Roosevelt, “With (that) freedom comes responsibility”. With APEX, I feel that we have the best of both worlds. With its structured framework, it isn’t difficult to enforce some architectural principles. Here are some examples.
With the ever-increasing number of large-scale breaches, security is something enterprises must take extremely seriously. It therefore makes sense to use industry-accepted authentication and authorization standards such as OAuth2 and 2FA. These rigorously refined standards ensure the most secure methods for establishing identities. Whenever possible, applications should make use of them. Both can be used with Oracle APEX applications.
A framework such as OAuth2 not only improves security, but also allows for tighter integration with other enterprise applications.
Moving seamlessly between your favorite Microsoft 365 application, for example, to an Oracle APEX application, without the need to login again, is absolutely possible. Such frameworks therefore not only help tighten security, but also make life easier for the end user. Oracle APEX versions 18.1 and later support OAuth2 out of the box.
Two-Factor Authentication (2FA)
Enterprises must also guard against the loss or theft of user credentials. Because many users use the same usernames and passwords across all their applications, including your enterprise directory, this can be a huge vulnerability. One of the most recommended ways to mitigate these risks is the use of two-factor authentication (2FA).
You have options when it comes to implementing 2FA with your Oracle APEX applications. You might choose to handle this within the applications themselves, or even better, this can be enforced at the enterprise-level. Using Microsoft Azure Active Directory, for example, it is possible for administrators to require users to activate and use 2FA for all logins, including your Oracle APEX applications.
Is APEX is built for the Enterprise? Absolutely!
Enterprise applications should, when possible, have a consistent look and feel.
APEX applications use Themes, which allow developers to separate content from the application’s UI. They use templates and can link to custom Cascading Stylesheets (CSS), allowing the application to meet corporate branding standards and address user accessibility concerns.
A carefully crafted APEX theme can then easily be applied to new or existing applications.
Version 5.0 of APEX gave us the Universal Theme (UT). It has since become the cornerstone for all things related to user interface design in APEX, designed to be the one theme that ruled them all. Thanks to declarative Template Options and Theme Roller, developers can create applications that are responsive, meet accessibility standards and match the look and feel of existing corporate tools without too much effort.
Another core aspect of APEX development is plug-ins. The core platform already provides a vast number of plug-ins natively for the creation of layout regions, form items, and reports. These components are easy to add and customize declaratively. When needed, developers can also extended them with additional coding when more complex situations require it.
Once created, these custom plug-ins can be used in multiple pages and any number of applications. Developers also have access to a huge library of components developed by others. Many are free and open-sourced. Of course, it is always good practice to ensure that the code can be checked for security flaws and there is long term support either through the author or in-house if you choose to use a community-based plug-in.
Last but not least, plug-in support is not only available for user interface components. The framework also supports other APEX features like authentication, authorization and backend-only processing functions. It’s like Lego!
A single development platform will unlikely ever satisfy all the requirements of the enterprise. Where APEX excels is the ability to quickly and agilely create “CRUD”-type (create, read, update and delete) applications that many organizations rely on.
You might, however, have older applications that are doing what they need to. Or perhaps an existing Software-as-a-Service (SaaS) application perfectly fulfills a specific use case. Consider Slack, for example, a widely used for collaborative communication within the team. Rather than reinventing the wheel, or forcing developers to migrate existing code, it often makes more economical sense to integrate these existing tools with an APEX application, typically using REST APIs.
APEX provides easy to use PL/SQL APIs to work with both REST and SOAP-based web services. More recent versions of APEX (18.1) make it even easier to work with services requiring authentication.
APEX, Built for the Enterprise
We achieve maximum Return On Investment (ROI) when we can obtain the greatest results using the least amount of resources. I hope I have clearly illustrated how this low-code platform can help organizations meet their enterprise goals with maximum yield and minimal costs through ease of development and avoiding expensive overhauls of existing code.
If you’d like to hear more about how “Built-for-enterprise” APEX can help your organization move faster and more efficiently, please contact us. We’ll be happy to work with you to find a solution that works!
We hope you enjoyed this second blog in our series on Oracle’s Low Code application development platform for the enterprise, Oracle Application Express (APEX). In this series, we examine the different facets of why APEX is so appropriate for your business. See the first blog in the series by Oracle ACE Director Francis Mignault entitled “Oracle Autonomous Database & Application Express (APEX): Express Yourself“