Forms as Web Component
OraFormsFaces
In 2007 I published a concept on how to integrate Oracle Forms with HTML based web technologies, such as JSF, JSP, ADF Faces, or any other web technology. The concept proofed to be very powerful but somewhat difficult to implement. It required quite a bit of coding in Java, JavaScript, HTML, CSS, and PL/SQL.
That lead to the idea of wrapping it all up in a JSF component library that hides all the required technology from the page developer. With this library it’s as simple as installing a JAR archive in your JDeveloper project and you can drag-and-drop Forms components in your JSF page. If you are interested in integrating Oracle Forms and JSF (or any other web technology) you’re much better off looking at OraFormsFaces than trying to build it all from scratch yourself. Believe me, I’ve done it and it’s a lot of work with many many challenges along the way.
Before the release of OraFormsFaces, this page contained a list of resources about the concept of reusing Oracle Forms as web application components:
- 11-feb-2008: Blog posting with the official announcement of OraFormsFaces, a JSF component library that makes the entire integration as easy as drag-and-drop.
- 13-nov-2007: Blog posting about my presentation at Oracle OpenWorld 2007 on the OraFormsFaces component library. Slides available.
- 24-oct-2007: Blog posting with the first movie showing the new JSF Component Library.
- 21-aug-2007: Blog posting about getting invited to present at Oracle OpenWorld 2007.
- 19-jun-2007: Blog posting about winning the ODTUG Editor’s Choice Award with the paper about the Forms-JSF integration.
- 12-jun-2007: My OTN article about the subject got published.
- 8-jun-2007: Blog posting about releasing the sample files that go with the step-by-step guide. You can use these files to skip chapters or go straight to the end result.
- 14-may-2007: Blog posting about releasing the first version of the step-by-step guide to create your own integrated Forms-ADF Faces application (Step-by-Step How-To guide in PDF format)
- 11-may-2007: Blog posting about my presentation at Oracle Consulting in the Netherlands (PowerPoint presentation)
- 3-may-2007: ODTUG paper “Protecting Your Forms Investment While Moving to the Web”. This is the paper I submitted for the ODTUG Kaleidoscope conference 2007.
- 22-jan-2007: Blog posting with a simple Flash screencast movie demonstrating the concept
- 20-jan-2007: Blog posting where I announced my presentation for ODTUG 2007 and where I first announced the concept
Is it free to use?
Yes, you can use the concept free of charge (although I wouldn’t mind you using the donate button on the right) with some restrictions:
- Please let me know you are using the concept in a production environment and allow me to include your company and (if you like) some details about the project on a reference list. I would love to know who is using this concept.
- Use the following code in the subclassed Forms applet. This code is also in the sample files, so if you start there just don’t delete it.
public void show() {
super.show();
System.out.println("Concept of using Oracle Forms as Web Component");
System.out.println("courtesy of Wilfred van der Deijl, OraTransplant");
System.out.println("http://www.oratransplant.nl/oracle-forms-as-web-component/");
}
Remember this relates to the original published concept which requires a lot of coding and misses some key features, like Single Sign On support. The commercial OraFormsFaces library is much more advanced and less complext to use. These conditions might change in the future. It might even be I change the free-of-charge concept in the future. But, if you’re company is on the reference list you are guaranteed I will never charge you for the use of the concept. This is to encourage you to really be on the reference list, yet leaves me with the future possibility to commercially exploit this solution.
28 Comments
Trackback/Pingbacks:
-
OraTransplant » Step-by-Step guide on integrating Forms and ADF Faces
[...] Forms as Web Component [...]
-
OraTransplant » Flash movie showing Oracle Forms and JSF integration
[...] Forms as Web Component [...]
-
OraTransplant » Published paper about using Oracle Forms as web component
[...] Forms as Web Component [...]
-
OraTransplant » Sample files for Oracle Forms and ADF Faces integration
[...] Forms as Web Component [...]
-
ODTUG Kaleidoscope 2007 | Java Hair
[...] had long wanted to speak with Wilfred van der Deijl about his solution to the ADF/Forms integration problem and get his impression on Forms to ADF conversions. At this [...]
-
OraTransplant » Positive evaluation for ODTUG 2007 presentation
[...] Forms as Web Component [...]
-
OraTransplant » Presenting on integrating Forms and JSF
[...] Forms as Web Component [...]
-
OraTransplant » Using IFrame Shim to (partly) cover a Java applet
[...] Forms as Web Component [...]
-
OraTransplant Forms as Web Component | debt solutions
[...] OraTransplant Forms as Web Component Posted by root 1 hour 42 minutes ago (http://www.oratransplant.nl) This approach was integrated in a portal comment by denis alexandre 31 august 2007 i work in cologne for a financial company that is currently hosting a large had long wanted to speak with wilfred van der deijl about his solution to powered by wordpress w Discuss | Bury | News | OraTransplant Forms as Web Component [...]
Sorry, the comment form is closed at this time.
Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.


Congratulations Wilfred,
This is a gold mine we where looking for years!
I would be so pleased to see it working within an Oracle Portal application ;o)
Francois
Comment by Francois Degrelle — 4 May 2007 #
Thank you very much for the compliment, Francois. I personally do not have any experience with Oracle Portal, but since the integration is client side I do not see why this would not work in Oracle Portal.
You could run a form in a Portlet. I guess the same Portlet could contain the supporting JavaScript.
I did recently see a demo of Oracle WebCenter and it immediately got me thinking about creating a WebCenter portlet that “wraps” an Oracle Form. WebCenter offers the possibility to reuse this portlet/UI component in every ordinary ADF Faces page. That’s the benefit of using a portlet without the hassle and constraints of running an actual Portal.
Somewhere in the future I want to “componentize” this solution; either using a Portlet or a ADF Faces custom component. If only I had the time…
Comment by wilfred — 4 May 2007 #
Hi Wilfred,
really interesting paper!
Great work
Patrick
Comment by Patrick Wolf — 4 May 2007 #
Hi Wilfred,
In my company we were working on a project on introducing Oracle Forms application on a web based structure and from the day we’ve seen the demo on your blog we were curiously waiting for your paper, Conguratulations,
Fazil.
Comment by Fazil Balikcioglu — 4 May 2007 #
Hello Wilfred,
the idea about extending oracle native Main class is simple and perfect, my congratulations.
The only thing I need to ask is why finding communicator is so difficult recursive process? May be it is easier to use singleton approach?
It is possible to create BeanHolder class which is singleton. It contains HashMap (or a field) with CommunicatorBean. In init method ComunicatorBean put itself into BeanHolder’s HashMap. And it is availiable for all classes beacause of BeanHolder singleton nature. Source code:
BeanHolder:
public class BeanHolder {
private static BeanHolder instance = null;
private Map beans = new HashMap();
public static BeanHolder getInstance(){
if (instance == null){
instance = new BeanHolder();
}
return instance;
}
public Object getBean(String name){
return beans.get(name);
}
public void addBean(String name, Object bean){
beans.put(name, bean);
}
private BeanHolder(){}
}
CommunicatorBean:
…
public void init(IHandler handler) {
super.init(handler);
mHandler = handler;
BeanHolder bh = BeanHolder.getInstance();
bh.addBean(”communicator”, this);
}
…
MainEngine:
…
private CommunicatorBean findCommunicator(){
BeanHolder bh = BeanHolder.getInstance();
return (ComunicatorBean) bh.getBean(”communicator”);
}
…
I tried it and it works. I am quite new in Oracle Forms and may be I missed something. It would be interesting to know you oppinion about this approach.
Andrey
Comment by Andrey Zhuk — 19 July 2007 #
Andrey,
Why didn’t I think of that?
I’ll be sure to include something like that in the next version.
Thank you very much for the suggestion
Comment by wilfred — 20 July 2007 #
ihave just finishining my first application with oracle developer 10g components,those are form developer and report developer , the question is that why this an application look like aform classic format? and what about classic web format?
still i’am search for asuitable web solution that can solve this a problems.
i think u have introduced the most web solutions for those developers
Comment by basheer ahmed — 4 August 2007 #
Thank you for the idea.
I applied FormsExtensions.jar to a multiform (more than 1000 forms) application.
The bean is generated by a simple HTML + JavaScript, the interface form closes the last called form before to open the now one. The called forms are not modified. This approach was integrated in a portal.
Comment by Denis ALEXANDRE — 31 August 2007 #
Which version of Forms does it support? Does it work with D2K 5i?
Comment by Chirantan Kundu — 13 February 2008 #
Chirantan,
Do you mean version 5 or version 6i. It’s definately not compatible with version 5 as that was strictly client/server.
The concept should be compatible with web deployed Forms 6i. The feature to use only a single Forms applet for an entire web session does require the use of Sun JVM as it is not supported with Oracle JInitiator. According to Oracle’s Client Platform Support statement, Sun JVM is supported since patchset 12 of Forms 6i, so it should work. Although I must be honest and admit I never tested it against version 6i.
If you want to go the route of integrating Oracle Forms and JSF or any other web technology, I would stronly advice you to upgrade Forms to the latest version. 6i is no longer supported, and I wouldn’t run the risk of doing these type of integrations without support.
Be adviced that the concept of integrating Oracle Forms and HTML based web technology has been turned into a complete out-of-the-box product, called OraFormsFaces. Using that component library is much easier than trying to program all of it yourself.
Comment by wilfred — 13 February 2008 #
Hi
We are facing a big challenge on migration project. WE migrated our 6i application to 10g succesfully and all screens and cache reports are working well. The problem is some reports should be printed in some predefined printers. This is not happening also the reports that directly saving to a file is saving to OAS location not in a location where it should be. We are using HP unix based OAS. Please do a comment on this problem.
Many Thanks
Sam
Comment by sam — 4 March 2008 #
Hi Mr.Wilfred,
First of all thanks for you nice help and good work God Bless you. I have some queries that I am using oracle Portal 10g and I have been assinged a top urgent task by manager to build and plug an application which works as users service requests and approval routing for each request from supervisor & manager and then track service request id status on approval or process. I am just familiar little with Oracle Forms but not jsp could you please sugget me a simple solution that i can design the db and application using oracle forms and plug on portal main page.
Regards
Mohd jameel
Comment by Mohammed Jameel — 23 July 2008 #
Why didn’t I think of that?
I’ll be sure to include something like that in the next version.
Thank you very much for the suggestion
Comment by şapka — 24 July 2008 #
Hallo, i have difficulty using your Forms on web . I had created the orderDetails and copied the Formservlet HTML into the oraFormsRegion but when i run it, it still goes back to the jdev-runned-interface, it does not load my oracle Form.
Second question, i had used ADF components in Jdev TP4 11 to create charts,Gantts,Pivot all in one application of Master/detail,i need to call these from Oracle Forms. Pls help me , dont know how to create a button in Forms that will call what i had created in jdev and runn it with the database. hoping anxiously to hear from you soonest.
Comment by Susan — 26 August 2008 #
Hi, I happened to come across the OraFormFaces concept when looking around for new forms features.
Have you seen the “New features in Oracle Forms 11g” screen cast at oracle. http://download.oracle.com/otndocs/demos/modernizeforms/New_v11_features/New%20v11%20features.html
How different would this be from using the new javascript integration and PJC events mentioned in the presentation
Comment by easot — 3 September 2008 #
@Susan; are you using the OraFormsFaces components to try to integrate Forms? If so, could you please open a support thread in the forum at http://forum.commit-consulting.com/ I feel you’re issue needs some more clarification and details as I don’t really understand what you are doing and what is going wrong. Opening a thread on the forum is probably better as we can talk back and forth.
@Easot; The javascript API in Forms 11 is very similar to the javascript API we use in OraFormsFaces in prior versions of Forms. In fact, I’ve been closely involved in testing the Forms 11 JavaScript API and made sure the OraFormsFaces JS API is modeled the same as the Forms 11 JS API.
But, OraFormsFaces is much more than just the JavaScript API. It offers many more features and will run with all versions of Forms, including version 11. When using v11 it will just use the native Forms-JS API and there is no longer a need to have an OraFormsFaces Pluggable Java Component in the Form to support the interface.
Comment by Wilfred van der Deijl — 4 September 2008 #
Hi,
I am currently working on Oracle AS 10g Rel2. and going for Oracle AS 10g Rel3. and we have an Applicaiton/ERP devloped in Oracle 10g IDS forms/Reports. So after installing Oracle 10g Rel3 SOA suite and after searching the Doc’s on net and in Oracle 10g Rel3 Doc, I didn’t get any information regarding the forms/Reports component.
So can you please tel me how can i use my application in this version.
if there is any link regarding this then please provide the same.
thanks in Advance
Pradeep Sharma
Comment by Pradeep Sharma — 10 November 2008 #
Hi Wilfred,
Using ‘Integrating Oracle Forms into Oracle ADF Faces’ I could successfully create an applet to include the forms.
I am using a menu to call different forms in the same applet. The landing form is the welcome form. This is working fine if i open a single form but when i try to open another when a form is already open, it gives me a message that ‘Cannot navigate to Welcome’(Note: Welcome is my landing form) I can open another form if I close the previous form, but cannot open two forms at a time
Could you tell me how to resolve this issue, so that i can open multiple forms at a time.
Hope you will be able to help me out.
Thanks,
Chithra
Comment by Chithra — 14 November 2008 #
Hi Wilfred,
Thanks a lot for the solution. I have included the PJC in the forms. I am able to open two forms. But now once I exit a form, I am not able to open another form. As a matter of fact I am not able to open any forms. The opening of form can be done only once.
Hope you will be able to help me out.
Thanks,
Chithra
Comment by Chithra — 19 November 2008 #
1- installed j2re-1_4_2_15-windows-i586-p
2- updated the formsweb.cfg liek this
baseHTMLJInitiator=basejpi.htm
jpi_classid=CAFEEFAC-0014-0002-0015-ABCDEFFEDCBA
jpi_mimetype=application/x-java-applet;jpi-version=1.4.2_15
but every time i try to run the form i got nothing on the webbroweser(IE 6.0 sp2).
and if i try to use the old copy of the formsweb.cfg the applet is run and the forms working.
would u plz help me,,,thank u
Comment by Ahmed — 28 December 2008 #
The multifacet use of shredder which has Convenient - feature Auto On/Off and reverse function to clear overloads. Secure - Choose from straight-cut or higher security / bulk reducing cross-cut models.
Comment by Home Paper Shredder — 19 January 2009 #
Home shredders are very helpful as well as cheap there are usually old documents and records related to banking and saving sheets.
Comment by Industrial Paper Shredder — 20 January 2009 #
Identity theft has brought great tensions to the corporate world causing many companieslosses each year. Everyone is scared of their personal information not leaked out tosome strangers. Not only offices but individuals at home should also purchase onefor safety.
Comment by Industrial Shredders — 20 January 2009 #
Hi Wilfred
I came over your concept of integrating Webforms as JSF component. It is really well elaborated and technically convincing concept. My congratulations for that. I work in cologne for a financial company that is currently hosting a large webforms application of ~700 forms. We want to evaluate this if we can apply the strategy in our environment. First actions were successful, but then some of our architects raised a point about legal convictions. As to get the strategy working administrators need to configure the extended forms mainEngine class in the configuration named section of the Forms server.
So we did a request to Oracle Metalink if this amendmend would harm our support contracts. The astonishable outcome from this was that Oracle would not support forms which are running with this kind of configuration change. You can follow that in a link: http://forums.oracle.com/forums/message.jspa?messageID=3199107
I am quite angry about this reaction and cannot understand this as there are only extensions using official Oracle API. Can you confirm similar problems with other customers or do you have some arguments for me so that i can proceed in the intended direction. I think the people dealing with our defect didn't understant the solution and so denied just the support.
Even using the your commercial JSF Library for webforms would suffer the same problems then. How can that be. I hope you will answer this request here.
Comment by C. Frank — 27 January 2009 #
Hi, I enjoyed reading your post. Paper Shredders have really brought some kind safety to all in the companies and homes. I’ll be waiting for new shredder updates.
Comment by Paper Shredders for Sale — 1 April 2009 #
Hi, interesting post, I was browsing around the net for some posts about shredders. I enjoyed reading your post. I am a junior manager in a business corporation and looking around for some great shredders
Comment by paper shredder — 1 June 2009 #
Hey pal, really awesome post from you. My friend owns a personal shredder and he feels really relaxed when he’s able to get rid of his trash using his shredder.
Comment by paper shredder — 2 June 2009 #
fuserfilm,fixing film,hp servis,oki servis,fuser,printhead,samsung servis,teknik servis,pressura roller,fuser unit,formatter board,hp driver,samsung driver,epson driver,oki driver,yazici kafa,yazici yedek parca,pickup,pad,scanner,tray tepsi,
Comment by seref — 9 August 2009 #