Grant Ronald's Blog

Reusing Forms Business Logic as a Web Service

As people look to modernize their Oracle Forms investment, one of the common issues is how to expose Forms logic to another technology.  For example, a Forms application might have complex Forms and database logic for querying a customer and then returning their credit history.  Now, if you wanted to call that logic from, say Java, how could you do it?  Would you have to refactor all of the code out of Forms into some common place such as a web service?

Well it looks like at least one Oracle partner has found a novel way of tackling this problem.  Their solution allows you to first of all record the data input into the Forms application and the actions performed on that data.  This then results in a parameterised file which acts as the interface between the Forms runtime and a web service.  The web service can then pass its own data values (maybe from an ADF application or a mobile application) into that "interface" which then "injects" the same scenario back into the Forms runtime, but with different data values, into the Forms runtime.  So, rather than the user pressing buttons and inputting data from the Forms client, this web service is acting like a Forms client/user.

Of course, the real proof is how this works in a real scenario with many logic triggers and UI interactions, but this might be a solution to explosing complex Forms logic to the outside world.

Join the discussion

Comments ( 2 )
  • guest Sunday, September 25, 2011

    I am just thinking , in this context, how can webservice be doing client/ui level data validation ( if required) ?

  • Grant Monday, September 26, 2011

    When you go from field A to field B in Forms an event is fired in the FOrms server - the same event will fire in this case, its just that the client action that kicked this off would come from the web service and not the remote Forms client. Of course, if the trigger that files has an UI specific code (Set_item_property) it will execute but will not affect, since you have no UI as such

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.