Modernizing Oracle Forms
Oracle APEX is the clear platform of choice for easily transitioning Oracle Forms applications to modern web apps. The same stored procedures and PL/SQL packages work natively in APEX, making it a breeze to develop.
Oracle Forms, a component of Oracle Fusion Middleware, is an established technology that has been popular for building data applications for decades. Today, there are several approaches for building such applications. This page details how you can use Oracle APEX to modernize your Oracle Forms-based applications.
Oracle Forms and Oracle APEX have numerous similarities making it a simpler transition. They are both database-centric, SQL and PL/SQL based, can readily utilize all Oracle Database features and database objects, and both use declarative frameworks to aid development.
However, there are also some key differences. Oracle APEX runs completely through a web browser and requires zero client-side tools or browser plugins (for both development and runtime), it saves app definitions using a metadata repository so there is no need for file generation, includes out of the box theming, and produces fully responsive apps (so it runs on any device).
There are several motivations for using Oracle APEX to modernize Oracle Forms applications. While such migrations may be non-trivial and take considerable time and effort, the results will be well worth it. Here are some of the top reasons why you should consider such an undertaking.
Many Oracle Forms apps, especially those developed years ago, are often non-intuitive to use and require extensive end user training and experience to become proficient at using the apps. By contrast, Oracle APEX apps are generally very easy to use and are similar to other modern web apps end users already use.
Your users run on a variety of different devices including large desktops, tablets, and even mobile devices and they expect the apps to work equally well on any form factor.
External Facing Apps
Oracle Forms is not very suitable for customer or partner facing apps.
When your apps were initially developed in Oracle Forms they may have been designed primarily for use by a small dedicated group. However, the requirements have now changed and the same functionality needs to be rolled out organization wide. For example, leave applications may have previously been handled by employees sending an email to HR. Now it is expected that each employee enter their leave directly into an app.
For new application development, you should investigate other tools such as Oracle APEX, even if Oracle Forms has been your go-to development tool in the past.
It is increasingly difficult to find skilled Oracle Forms developers. Young developers are generally resistant to learning Oracle Forms as it is perceived as an old technology, given it is not a web-based tool.
The APEX Advantage
There are a number of key advantages of using Oracle APEX to modernize your Oracle Forms applications.
There are no licensing costs associated with Oracle APEX. Oracle APEX is a feature of Oracle Database, thus if you have a license for Oracle Database, you already have Oracle APEX.
Perhaps the most obvious reason to migrate from Oracle forms to Oracle APEX is the skill sets have so much in common. Both frameworks (Forms and APEX) are database centric, leverage SQL and PL/SQL, and utilize primarily declarative development. It has been proven that Forms developers can easily be trained to become APEX developers, as it is a natural evolution of their existing development techniques.
Any developers that know SQL can easily be trained to develop with Oracle APEX and become highly proficient in weeks, not months or years.
All of the underlying database programs (packages, functions, procedures) can very easily be called directly from Oracle APEX. Therefore, you do not to rewrite the extensive database business logic you are already utilizing from Oracle Forms.
Oracle Forms and Oracle APEX can both run side-by-side in the same database working off the same database objects. If the two tools fulfill different business requirements, you may have users working with both tools on a regular basis. Alternatively, it may take you an extended period to train all of your users in the new APEX applications - no problems, your users can continue to use Oracle Forms until they are accustomed to the APEX applications.
With Oracle APEX you have a lot of flexibility with where you do development, from developing on a laptop, on-premises, or in the cloud. Where you develop your apps doesn't limit where you can deploy your applications. You can develop and deploy wherever there is an Oracle Database, with Oracle APEX installed. For example, develop in-house on-premises and deploy to partners on the cloud, or work with a consulting company developing on the cloud and deploy on-premises.
Large numbers of forms applications, from small apps with a few pages to very large commercial apps with thousands of pages, have been successfully migrated to Oracle APEX over the years.
Improved User Experience
APEX application can streamline the specific use cases, making them fully responsive and mobile friendly. Frequently one APEX interactive report can replace many forms pages.
Leveraging the experience of partners who have migrated from Oracle Forms to Oracle APEX can be of great help. Partners can provide time and cost savings. They can simply provide guidance and mentoring, work with your development team, or perform turn-key migrations.
Deciding to get started can be easy. There are many approaches to moving from Oracle Forms to Oracle APEX.
One well proven approach is to develop a proof-of-concept where a well defined functional area of the existing Oracle Forms app is migrated to Oracle APEX. This will help educate the current development team and also help determine the effort and risks. This also allows end users to get comfortable with the new user interface, as when migrating to a modern web app, it is critical to also revise the user experience and not try to replicate the old look and feel implemented by Oracle Forms.
Another approach is to work with users to define new simpler workflows that better reflect user habits, leading to a more intuitive user experience. For example, when placing an order, selecting the customer first allows you to review their previous orders, current invoices, and other information. This approach may foster better customer interactions, more sales opportunities, and a more customer focused experience.
Finally, rather than replace existing functionality, use Oracle APEX as the primary platform for all new app development. Oracle APEX is an ideal tool to deliver net new requirements, mobile-first apps, and external-facing apps.
Modernizing Oracle Forms should definitely be considered a project. There is no silver-bullet that will magically transforms an aging, non-intuitive, complex Oracle Forms application into a beautiful, completely modern, intuitive Web application.
Determine if you want to replace a complete application suite, just a functional area, or build net new apps.
Define the Look and Feel
Get buy-in from key stakeholders on how the new apps will be designed and the user experience. It is important that screens are as simple as possible and exceedingly user friendly, such that new users only need to be trained in the business processes and not in how to use the apps.
It is imperative that the new apps are not designed to replicate the Oracle Forms UI or UX.
Improve Process Flows
The old applications were often designed many years ago, and the screen flow was probably dictated by Oracle Forms capabilities. For example, a system designed around paper forms being mass entered by data-entry operators should be very different from a system designed for every employee to enter their own data.
Work with the business to determine the best way to perform various tasks in today's business world. Identify how large, multi-step processes can be streamlined, and ensure the most common tasks require the fewest steps in the new apps.
Review Business Rules
Identify existing database programs than can be reused by Oracle APEX. Determine how much required business logic is buried within Oracle Forms, generally in triggers, that needs to be reimplemented. Ensure existing rules are still valid and should be incorporated into the new apps.
Oracle APEX provides the ability to upload existing Forms to review, annotate, and track application logic that needs to be incorporated into the new APEX apps.
Consider engaging with a partner, or hiring an experienced APEX specialist, to provide guidance and help implement best practices.
Win over the End-Users
Involve system matter experts in the design to help usability and efficiency, and also educate them on the improved functionality available. Power users will be reluctant to change as they are so productive with the current system, however, with appropriate coaching they should soon see how the new system will make their work easier. For example, show them how to maximize the value of Interactive Reports to manipulate the data displayed.