Oracle Open World, build your schedule

As Oracle Open World is coming closer, it’s time to build your schedule…
Be prepared because there are so many choices.

So, here are some presentations I’m interested in and planning to attend.

Of course there’s my own presentation on monday.

  • Session: What’s Your Choice for Oracle Forms: Modernize, Upgrade, Integrate, or Migrate? (session id 08262)
  • Time and place: Monday, 12:30 PM, Marriott Marquis – Golden Gate A

When you are a developer working with Oracle Forms or an IT manager and have an Oracle Forms application, this is probably the session you should attend when you have questions about the future of Oracle Forms.
Together with Grant Ronald(Group Product Manager in Oracle’s Application Development Tools Division) we’re going to show you the possibilities of Oracle Forms in the future, not only with a presentation, but also with customer cases and demos.

What else is interesting on OOW:

  • ADF Enterprise Methodology Group (EMG) Sunday: 6 tracks about one subject: ADF
  • Presentations by Grant Ronald: starting with ADF?  Check his sessions and look how “easy” you can develop in ADF.
  • Four Ways to Transition from Oracle Forms to Oracle ADF by Wilfred van der Deijl(Monday, 03:30 PM, Marriott Marquis – Golden Gate A)
  • Reaching Out from PL/SQL by Lucas Jellema(Tuesday, 10:15 AM, Marriott Marquis – Salon 7)
  • Spend Some Quality Time on Your Oracle ADF Application by Aino Andriessen(Thursday, 12:00 PM, Marriott Marquis – Golden Gate A)
  • More interested in database(programming)?  Tom Kyte and Steven Feuerstein are “must see” presenters.

Oracle Forms 11g and Google maps integration

In last years blog post about Forms 11g Javascript integration I explained how you could call the Google Maps API from forms using JavaScript.

I captured that testcase using screentoaster.
It seems that this tool has disappeared and all the recorded sessions with it.

So, here’s a new video on youtube of this Google Map Integration, now in a demo application.
The Form is embedded in a HTML page witch contains a Google Map.

Seminar: “What’s your choice for Oracle Forms” – recap

A great turnout for the seminar: more than 40 interested attendees, a mix audience of IT managers, project managers and developers.
Hof ter Delft was a nice location!

Grant Ronald, Oracle Senior Group Product Manager for the development tools division, opened the seminar with a keynote presentation.
He started with the Oracle Statement of Direction: Oracle has no plans to desupport Forms and Reports.
After this he gave an high level overview of what is possible with an Oracle Forms application: modernize, upgrade, integrate and migrate.
Grant ended with an overview of ADF.

My session was next, same subject as Grant, but a bit deeper into detail with demos and customer cases.
I showed how you could modernize an application using Pluggable Java Components and JavaBeans.
Upgrade will bring you some nice features, eg. javascript integration and external events in 11g.
Those new features were shown in the integration demo, together with web service calls from Forms.
I ended with migration:  reasons to migrate, strategy(eg. a customer case of  redesign/rebuild in Apex), tools that  can be used(eg. JHeadstart ), …
One lesson: migration is not an easy path…

The following session walked this path of migration, the one of a phased migration.
Wilfred van er Deijl(Commit Consulting)presented OraFormsFaces.
A presentation about where OraFormsFaces can fit in and how it works.
When you choose for a migration and you don’t want a big bang, OraFormsFaces can help you in doing new development in a new technology(eg. Oracle ADF) and keep your Forms investment.
OraFormsFaces let you integrate a form in a webapplication and passes info between those two technologies.

To show that OraFormsFaces works with other technologies, Tom Bauwens(SmartApps) showed the integration of Oracle Forms with Eclipse RCP using OraFormsFaces.

After a nice lunch Grant Ronald gave an introduction training to ADF:

  • Building ADF Business Components
  • Business validation
  • Shaping your data
  • Application Flow
  • Building UI pages

This really showed the power of ADF to Forms developers.


iAdvise Seminar: What’s your choice for Oracle Forms?

There are a lot of questions about the future of Oracle Forms and applications that were built in Oracle Forms.
During this seminar we will answer these questions and give an overview of the (possible) future of such applications.

The seminar will kick off with a keynote by Grant Ronald, about the Oracle Forms strategy.
Next we show the following possibilities: modernize, upgrade, integrate and migrate.

To end the morning session we will show how change can go nice and smooth.

After lunch Grant Ronald will give an introduction to Oracle ADF Development:

  • Building ADF Business Components
  • Business Validation
  • Shaping your data
  • Application Flow
  • Building UI pages

Attendees of the afternoon session “Introduction to Oracle ADF” will receive a copy of the book “The Quick Start Guide to Fusion Development” by Grant Ronald!

When: Monday, June 6 2011
Where: http://www.hofterdelft.be (Ekeren – Antwerp)
More info

Oracle Forms Modernization Webinar on January 20, 2011

Do you want to know about the future of Oracle Forms?
And you want to know the official view of Oracle?

Check the webinar on this topic, hosted by Grant Ronald, Oracle Product Manager responsible for Forms.
More details and registration on Grant Ronald’s blog.

OOW 2010: Moving forms to ADF

When working with Oracle Forms these days and you’re not satisfied with the application anymore, there are some possibilities you can do:

  • upgrade
  • modernize
  • integrate
  • migrate

On our OOW session tomorrow(Oracle Forms in the Middle of Middleware, 1pm, Marriott Marquis Room: Salon 9), we will talk about the first three possibilities, upgrade, modernize and integrate.

But today I went to the session of Grant Ronald: Moving from Oracle Forms to Java and Oracle Application Development Framework
A session about migrating Oracle Forms to ADF.
The strategy of oracle is NOT desupporting Oracle Forms, on the contrary, they’re working on new features for 11g R2.

But when you consider migrating, do it for the right reasons.
Three kinds of reasons: the good, the bad and the ugly

Reasons to choose for migration can be

  • forms doesn’t meet the requirements anymore
  • there’s need for re-development
  • adopt leading edge, modern technologies

Reasons NOT to choose for migration:

  • there’s a heavy forms investment you don’t want to throw away
  • happy with data entry (and to my opinion forms is one of the best choices for data entry applications)

Wrong reasons:

  • forms will be desupported -> A clear answer of Grant Ronald: THIS IS NOT THE CASE!
  • upgrading your forms application will result in big problems
  • rewriting the application will save $$$

So migration is an option for your forms application, but Grant stated it several times in his session: DO IT FOR THE RIGHT REASON.

About migrating forms to ADF…
The technologies look similar…
Grant made a comparison between a dish washer and a washing machine.
Both have the same measurements, do similar things(wash something and dry it), etc.
But who puts his clothing in a dish washer?  Or cups and glasses in a washing machine?
So thechnologies look similar, but are different:

  • Java applet <> HTML/javascript
  • PL/SQL <> Java
  • Stateful <> stateless
  • No separation of UI and data elements <> seperate UI and data elements

Do not ignore those differences when looking at migration!

ADF is a framework and does a lot of things for you(like log on to the database, you don’t have to write the code) which is pretty nice.
But hey, Forms does also things for you, it’s also a framework.

You can build applications in ADF that look like forms application and have the same behaviour, but is that the reason to migrate, to work the same way?

When migrating there are some more challenges, eg reusability of table/views, procedures/functions, PLL, triggers.  What about forms built-in functions?

So, of course migration is an option for your Oracle Forms application, but ask yourself a question: Why migrate?
Take a look at all the options, before going to migrate.  It’s not an easy path to walk…

Check also the paper Grant wrote about migrating: Migrating Oracle Forms to Fusion: myth or magic bullet

Oracle Forms 11g and Apex using external events

I remembered an old post of Roel Hartman where he integrated a form into apex.
He used a part of OraFormsFaces by Wilfred van der Deijl: the CommunicatorBean.
Using this CommunicatorBean forms could react on “external messages”.
Now with Forms 11g reacting on external events, this CommunicatorBean isn’t necessary any more(sorry Wilfred).

This is how I did it using external events…
First things first: set up the advanced queueing mechanism.
Check this tutorial which includes setting up advanced queueing.
I created a little form based on emp(nothing fancy)…

The new feature in forms:

With the following properties:

What should forms execute when this event happens?
This has to be specified in the When-event-raised trigger.

In this case we retrieve the payload and extract the empno from it.
The empno is used to set the default where clause on the block.
When there’s an empno on the queue, forms will query that employee.
That’s all for the forms part…
Now I created a little Apex page with two regions:

The Employee details will be our form.
So I put our form in the HTML using an iframe:

Using a “select list” it’s possible to select an employee.

This is the result:

Now the purpose of the select list is to choose an employee and show the detail information in our form.
In order to do this, the select list calls a javascript function.

This javascript function is created in the HTML header

The code behind this:

<script language=”JavaScript” type=”text/javascript”>
function getEmployee (){
var emp = $x(‘P2_EMPNO’);
// send request
var ajaxRequest = new
htmldb_Get(null,&APP_ID.,’APPLICATION_PROCESS=get_emp’,0);
ajaxRequest.add(‘P2_EMPNO’,emp.value);

// get response
ajaxResult = ajaxRequest.get();
ajaxRequest = null;
}
</script>

This javascript function calls an application process and uses the empno as parameter.
The application process put the empno on the queue.

When changing the select list, the form is queried

This is a solution to integrate forms into another application whether it’s Apex, ADF or another web applicaton.
When it can put something on the queue, forms can react on it.
And yes, I could do it using the javascript feature in Forms 11g. I know…
And for Apex it’s probably a better solution, as we can skip the AQ part and make calls to and from forms in Javascript.

Forms 11g javascript integration: Call others

Forms 11g holds a lot of interesting new features focused on event-driven architecture, one of these is javascript integration. There are two ways of using javascript with Forms 11g: “call others” and “let others call you”.

Javascript can call code in Forms(“Let others call you”) using the new forms trigger “when-custom-javacript-event”.

This post is going to show you the first one: “call others”, in other words call javascript from your Oracle Forms application.

During the Forms Modernization Seminar I showed a google map that could be manipulated from an Oracle Form. It’s an easy implementation with only a few lines of code(most of the javascript is taken from the api examples on the google code site: http://code.google.com/apis/maps/).

  • Build a little form with one (control) block, one text field(to enter an address) and one button(to call the javascript code).
  • Next step is to create an HTML-page to display the form.

This code puts the form(in an iframe) and the map side by side:
(Click to enlarge)

And it will look like this:

  • The javascript that will be called is put in another file google.js:

  • The only thing to do is creating a “when-button-pressed” trigger in forms to call the javascript function showAddress.
    This is done by a new built-in procedure web.javascript_eval_expr:
  • Copy the HTML and javascript file to the following directory:
    <middleware_home>\user_projects\domains\<domain>\servers\WLS_FORMS\tmp\_WL_user\formsapp_11.1.1\e18uoi\war\
  • Create a new configuration using Enterprise Manager:

  • Make sure the parameter EnableJavascriptEvent is set to “true’ in your configuration!

And the working demo…