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.

Introduction

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).

Motivations

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.

  • Usability

    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.

  • Responsive

    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.

  • Extended Deployment

    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.

  • New Initiatives

    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.

  • Development Resources

    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.

  • Cost

    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.

  • Skill Sets

    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.

  • Reuse

    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.

  • Coexistence

    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.

  • Flexibility

    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.

  • Proven Path

    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.

  • Partner Community

    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.

Getting Started

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.

What's Next

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.

  • Identify Scope

    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.

  • Train Developers

    Train developers on the key differences with Oracle APEX, and the importance of improving the usability of the apps they will be developing. Ensure, much like with Oracle Forms, that they push as much business logic into the database, and utilize built-in capabilities wherever possible. For example, rather than writing large amounts of JavaScript, learn to utilize Dynamic Actions to dynamically define client-side interactions.

    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.