The world has gone mobile.
So why haven’t our Oracle Forms system caught up?
In our constant effort to show how we can achieve Oracle Forms modernization without re-development we decided to rise to the ultimate challenge and show how we can run Oracle Forms from the newly released ADF Mobile.
In our demo we decided to use the traditional Oracle Forms Summit application as it was developed by Oracle as “go to” demo application to demonstrate Forms functionality, version upgrades and even Forms redevelopment as ADF. In our demo we show the “insert order” business process of the Oracle Forms Summit application running with an ADF Mobile UI on an iPhone using OraPlayer.
The final product can be seen here:
We will be presenting the full process in detail in a FREE webinar hosted by ODTUG called Take Your Oracle Forms on the Road Using ADF Mobile, I will be presenting alongside Denis Tyrell, Oracle Director and overall ADF Mobile guru. Register for FREE here
In creating this demo we did not do any redevelopment of the Forms system functionality. We are running the existing Oracle Forms business process on the Forms server using OraPlayer from ADF Mobile. Although it sounds challenging this was achieved in 4 simple steps:
Step 1: Define the business process you want to run on a mobile
Oracle Forms screens are mainly suited for massive data entry and are jam-packed of items and not easily translatable to mobile screens. It was not our intention to replicate the entire Forms system with our solution. This would be both impractical and in most cases unnecessary since applications running on mobile platforms are usually only a subset of the full system. It is therefore critical, as the first step, that we determined the specific system processes we wished to run on the mobile. This included:
1) Understanding the business process we want to translate to the small screen. In our demo we created a flowchart of the business process to assist us (see below)
2) Selecting what data we needed to get from the user in order to run the business process. Including identifying all fields necessary to have on our new mobile UI in order to insert a new order.
3) Identifying the expected results of the application. Including all output data and messages we must receive from the Forms system to understand if the process was run successfully. As well as error messages to explain if and why the process has failed.
The full business process for the “Insert Order Process” can be seen in this flow chart:
The process can be summed up as follows:
1. Login to the System
2. Insert a new order to an existing customer ID.
3. If the customer exists, and order was inserted successfully then return the order ID.
4. If the customer does not exist, then create a new customer and then insert the order. If successful return the order ID.
5. If any steps of the process fails return the Forms error messages and text.
Step 2: Record and deploy the Forms business processes using OraPlayer
Once the business process was selected in step 1, we recorded the scenario as it was performed in the Oracle Forms system using the OraPlayer Recording Toolbar (similar to recording a macro). Any items that were selected, entered or manipulated in our recording will be available as fields /actions in the new ADF Mobile application.
We can see an example of the recording process in this demo where we recorded the “Creating a new order for existing customer scenario“ for our demo here
Once the recording was completed and deployed, a Java API to run the Forms process was created automatically using the OraPlayer Web Wizard.
Step 3: In Jdeveloper create a new ADF Mobile project with ADF DataControls and AMX Pages (the New UI)
Once we had our Oracle Forms scenario ready, we began to create the Mobile front end of our application. In Jdeveloper, we first created a new ADF Mobile project. We then created the ADF Datacontrol based on the OraPlayer Java API (automatically generated in step 2) to give us the basis for binding the ADF Mobile page items to the Forms system items. This was easily done with the wizard based development in Jdeveloper.
We then used the visual editor of Jdeveloper to create the ADF Mobile AMX pages. In our demo we created 3 insert pages: Login, insert order and create customer as well as 3 results pages : 2 for error handling and the other for successful results of the process.
The beauty of ADF Mobile is, that we develop the pages once using the drag and drop and WYSIWYG editing features, and we can deploy them on any mobile platform. Upon deployment it is rendered as a native application on whatever platform we chose. So we can benefit from the “design once deploy to many environments” feature of ADF Mobile that Oracle promises.
Step 4: Create task flow of the pages and add validation / navigation code
Finally after we created the necessary pages, we designed the navigation flow between the pages and added the validations that should occur upon success or failure of events on the page. In our demo the taskflow is critical since we perform navigation based on analyzing the responses we get from the Forms server (such as error messages like frm-xxxx or ora-xxx) and only then navigate to the correct page.
You can see our taskflow diagram here:
In summary, by using OraPlayer in conjunction with the powerful ADF Mobile framework, we are able to develop modernized mobile applications without redevelopment.
Using this method, we can create mobile applications in no time for a multitude of use cases and complex business processes found in our existing Oracle Forms systems. Also, with OraPlayer’s ability to retrieve all Forms messages, we can ensure that the new mobile application can behave just like the current Forms systems does.
We will be presenting the full process in detail in a FREE webinar hosted by ODTUG called Take Your Oracle Forms on the Road Using ADF Mobile, I will be presenting alongside Denis Tyrell, Oracle Director and overall ADF Mobile guru. We will have all new demos with the latest ADF Mobile bells and whistles such as maps and gauges to show off.
To receive more information email us with this form: