Two interesting posts by Steven Chan

16 May 2007 at 20:08 CEST | In AppServer, Forms, Oracle, Patches and upgrades, SUN JPI/JVM | 6 Comments

I finally managed to read up on all the blogs and stumbled upon two very interesting articles by Steven Chan that are very relevant to us:

  • OracleAS 10g Upgrade Paths which describes how Oracle eBusiness Suite handles the upgrade and co-existence of the later AppServer versions. As Steven describes there are a lot of Application Server releases and he is trying to shed some light on them.
  • Will the Real JRE Please Stand Up?. This posting describes why you need a specially patches version of Sun 1.5.0_10. Very interesting read and very relevant to us as a technology customer who uses the same tech stack as eBusiness Suite.

Step-by-Step guide on integrating Forms and ADF Faces

14 May 2007 at 16:30 CEST | In Forms, Oracle, Web components | 7 Comments

I just uploaded the detailed step-by-step guide on setting up your own example of integrating Oracle Forms and ADF Faces. The document is 63 pages which might seem daunting at first. However, I’ve chosen to include as many screenshots as possible so most pages only contain two steps. So, once you get started you will notice you can progress through the pages quite rapidly.

I hope this guide is yet another document to let people understand how you can integrate Oracle Forms and ADF Faces. I’ve already published a PowerPoint presentation and the ODTUG paper. The presentation and paper are still a little bit high level and leave out some of the (important) details. Going through the step-by-step guide should explain all necessary steps and tricks.

It’s quite some work to create such a guide with all the screenshots. Just after finishing it, I already noticed things I should have done differently. Nonetheless, I decided to release this first version to the public. Otherwise I would keep revising it for the next few weeks. I just decided to release the current version and will probably update it with new insights as we go along. Currently, the document already contains a list of things that should be included in a next version.

There is a separate page with more information on the concept of integrating Oracle Forms and Oracle ADF Faces (or any other web technology)

Presentation about Forms Components at Oracle Consulting

11 May 2007 at 10:51 CEST | In Forms, Oracle, Web components | 5 Comments

Yesterday evening I was invited to Oracle Consulting in the Netherlands to present our solution to integrate Oracle Forms as Components in a Web application. I ended the evening with a very good feeling and got a lot of positive feedback. There were a lot of questions and suggestions and I will make some changes to the presentation to be held at ODTUG. You can download a copy of the presentation.

There were some technical challenges and questions that I need to address in the presentation and I got the feeling that for some people the integration might be too tight. In my example you cannot even see it is Oracle Forms you’re using. Some clients might have heavy “backoffice” type users who can work perfectly with Oracle Forms. You might want to extend the Forms application with new ADF Developments, but there is no need to remove Oracle Forms from the user experience. I probably have to show two scenario’s in my demonstration. One in which you still recognize and use all features of Oracle Forms while integrating with new ADF web developments and one that shows the complete removal of the “Forms user experience”. This last demonstration is the only thing I show at the moment and it might be a little bit too much for some clients.

There is a separate page with more information on the concept of integrating Oracle Forms and Oracle ADF Faces (or any other web technology)

Custom JSF converter to display minutes as hh:mm

8 May 2007 at 09:40 CEST | In Features and tips, JDeveloper, Oracle | 3 Comments

We have a database that stores elapsed time in number of minutes in a plain number field. In our JSF/ADF Faces application we wanted to have the user input these fields as hours:minutes. So, internal storage of 210 should be displayed as “3:30″.

I knew this should be possible using a custom converter, but never looked into that. Yesterday I did and it turned out to be dead simple. Here are the few required steps:

First create a simple Java class that implements the javax.faces.convert.Converter interface:

package com.example.view.customConverters;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;

import oracle.jbo.domain.Number;

public class hourMinutesConverter implements Converter {
    public hourMinutesConverter() {
    }

    public Object getAsObject(FacesContext facesContext,
                              UIComponent uiComponent,
                              String string) {
        try {
            String stringParts[] = string.split(":");
            int minutes =
                Integer.parseInt(stringParts[0]) * 60 +
                Integer.parseInt(stringParts[1]);
            Number numObj = new Number(minutes);
            return numObj;
        } catch (Exception e) {
            throw new ConverterException(e);
        }
    }

    public String getAsString(FacesContext facesContext,
                              UIComponent uiComponent,
                              Object object) {
        try {
            int totMinutes = (int)((Number)object).getValue();
            int hours = (totMinutes) / 60;
            int minutes = (totMinutes % 60);
            return hours + ":" + minutes;
        } catch (Exception e) {
            throw new ConverterException(e);
        }
    }
}

This class implements two methods: getAsObject() to convert a String (user input) to an actual Object and getAsString() to convert an actual Object to a String to display in the web page.

The error handling could be a lot better and you probably want to return meaningful error messages when the user input is not in a valid format. See the JavaDoc of javax.faces.convert.ConverterException on how to construct a ConverterException object with a simple String message or a nice javax.faces.application.FacesMessage object.

Next, go to WEB-INF/faces-config.xml and add the custom converter:


  demo.hourMinutesConverter
  
    com.example.view.customConverters.hourMinutesConverter
  

All this does is give the converter an ID which your going to use in the pages and specify the implementing class for this converter.

Finally go to the actual JSPX page and drag a Convert component from the JSF Core group in the Component Palette. Drop it on the inputText component used for your item. A dialog will appear asking your for the ID of the converter. Select “demo.hourMinutesConverter” from the list. You end up with the following code in your JSPX page:


  

I’ve misused the managerID field in a demo application and here is the result:

Forms/JSF integration presentation and workshop

4 May 2007 at 13:50 CEST | In Forms, Oracle, Web components | Leave the first comment

Yesterday I published my paper about integration Oracle Forms as a component in (ADF Faces) web applications. If you got interested and live in the Netherlands, you can come to AMIS on May 22 and attend the AMIS Query workshop I will be giving about this subject.

For me it’s sort of a trial run of the presentation for ODTUG 2007. It’s also a chance for people not attending ODTUG 2007 in the States to come listen to the story in the Netherlands. The event is from 17:00 till 21:00 and AMIS is so kind to offer us dinner from 18:00-18:45. It will also include a workshop in which you will build a Forms/JSF integrated application yourself.

For more information see the announcement at the AMIS site. If you’re interested in attending this evening, please register.

Published paper about using Oracle Forms as web component

3 May 2007 at 22:45 CEST | In Forms, Oracle, Web components | 148 Comments

I just submitted my paper for this year’s ODTUG Kaleidoscope conference. The paper describes the concept we use at Eurotransplant to integrate existing Oracle Forms in a JSF web application. This allows us to leverage our investments in existing Forms while allowing us to use the latest technologies (ADF) for extending our system.

We at Eurotransplant have a Forms application consisting of 300+ Forms and a menu tying these all together. Most of our users are remote users in hospitals around Europe and use our applications infrequently. These “Self Service” type users rather use an intuitive web application than a complex Oracle Forms user interface. So, we want to migrate from Oracle Forms to ADF web applications over time, but we want to prevent a big-bang scenario in which we have to rewrite all Forms in ADF/JSF. We found a way to reuse existing Forms in newly build web applications while still offering the intuitive user experience users expect from a web application.

It enables us to migrate individual Forms to ADF web pages as needed. In the end it could be that some Forms never get migrated to the ADF technology stack, especially the ones which are not used by remote users. This paper describes the combination of techniques we used to reuse existing Forms as application components in (new) web pages. Hopefully other organizations can leverage these same techniques to protect their investments in Forms while moving to the ADF/HTML technology stack.

I guess there will be a lot more to tell over time, so I’ve created a separate page on my site to house all the information about this concept

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.