Oracle Forms … alive and kicking

Yesterday Gert Poel, Yves Van Looy and myself organised a Forms Modernization seminar for customers, developers, partners … everyone that was interested.

The seminar was a huge succes and the customers were reassured that Forms is still alive and kicking.

First we discussed the improvements customers want to make to their existing forms applications, why would you want to change. Afterwards we discussed the how, which different scenario’s are applicable when you want to modernize your Forms Application. Most customers are indeed looking to improve their UI, open up the forms application’s services and integrate them within the enterprise, service-enable the existing pl/sql functionalities.

After the theoritical approach we showed some of our succesfull case studies, such as the ZLM Case that’s published on the Forms Modernization URL. These cases showed the customers how to achieve integration of forms with a soa architecture, how to implement a document workflow within forms and how to modernize your UI using LAF, thanks to François Degrelle’s resources.

In other words the first part of the seminar hit the nail on the head ;o)

In the second part we demonstrated the Forms 11g release and discussed the migration path towards 11g. This was very interesting for the customers as well because they were reassured that Forms will be part of the fusion ages. Most of all, Forms is one of the players within Event Driven Architecture using the AQ-mechanisme, thus using the scalability and performance of the Oracle Database.

The attendees’ feedback was great and they were eager to start modernizing … in other words: Forms will no longer be an island within the organisation but will definitly become an important player within the fusion strategy.

I would like to thank the attendees, Gert & Yves for the great experience !

Let’s start modernizing !!!

SOA – What’s it all about and most of all what’s in it for me?

When I talk about SOA, Service Oriented Architecture, most of the time people as well business as developers see this as a huge investment in knowledge and technology.

When talking about the ROI of SOA, I often hear that it’s only a solution for huge companies that can invest in these kinds of technologies.

This means that SOA still isn’t very clear for people and they all tend to have the same question … what’s in it for me, for my company and how much will this cost.

Well first all, SOA isn’t the word to use, it’s all about integration. When you’re talking about data integration, business process integration, application integration, … everything has got to do with the basic principles of a SOA methodology: Loose coupling, re-use, standardization and services.

There’s no such thing as a SOA Architecture, it’s more a new way of thinking, a methodology to guide you through getting acquanted with this new paradigm.

A quote I found very useful (more information regarding the article, can be found on searchsoa):

Today’s SOA projects are largely about integration. The top benefits
organizations hope to achieve are improved data integration (32%), enable legacy
application integration (32%) and integrated disparate department applications
(23%), followed by cost cutting (21%). Staying competitive (8.4%) and driving
innovation (8%) tracked low on the expected benefits list.

More information regarding integration-projects and how to achieve improvement in these different domains will be posted regularly on this blog-post.

Business Course introducing ApEx and SOA for High Schools/Universities

This week me and Nathalie Roman (Oracle Fusion Middleware developer of the year) went to a High School in Antwerp to organize a 3-day theoretical and practical course about APEX and SOA.

During these 3 days we gave the students insight in what SOA and ApEx is all about and what they can achieve with it.

A short summary:

Day 1
Nathalie introduced iAdvise as an innovative Oracle Company that is active in Oracle Fusion Middleware, SOA Governance, Data Warehousing and Business Intelligence, Infrastructure and Hosting and of course front-end development using ADF, Java Open Source Technology, Client/Server technologies (such as Forms), Flex and of course ApEx. After that we did an overview for the three days and Nathalie started with her presentation on SOA.

When Nathalie was finished It was my turn. I gave the students a full presentation about ApEx with a live demo. For my demo I had an excel file with some data and asked some students to give me a realistic guess on how long it would take to build an online application starting from my excel data. Answers from 30 to 50 minutes were given so students were immediately very interested when they saw that I could make such an functional application in under 2 minutes.

In the afternoon we started with a hands-on Apex session. As I expected most of the students had no problem building some basic reports and forms, their first impression was that the tool is very quick and easy to use.

Day 2
Our second day started with the assignment of making another apex application, after that an introduction to web services and bpel was given by Nathalie. In this presentation Nathalie gave an insight in web services, the difference between synchronous and asynchronous threading and how the different API’s can be used for authentication/authorization/encryption … After an insight into web services, Nathalie explained the main differences between BPEL and ESB using some common use cases. Using these Use Cases the students could anticipate when to use which methodology when functional requirements were outlined.

For BPEL Nathalie also explained the importance of BPMN so business processes could be analyzed and automated within a governance-structure with as well IT, business as analysts as the key stakeholders. After the theoretical part we gave the students an hands-on introduction to web services and bpel processes. The bpel process was used to automate the HRM application that was build in ApEx.

Day 3
On day 3 the students made their second BPEL process and saw a little bit of ESB. In the afternoon we expanded the earlier made ApEx applications with the pl/sql webservice we made. Students learned how to call a webservice using the apex wizard and also using the manually manual option. They had to construct the soap envelope and got a better insight in the whole process.

Me and Nathalie were very satisfied after 3 days, all students were very interested in the oracle technology and a lot of students realized that you can do a lot more with sql and pl/sql then they had done before.

Oracle Mix – Suggest a Session Results Are In

On the following website http://www.oracle.com/openworld/2008/index.html it’s announced, the Oracle Mix nominated sessions are in …

And we will fill in a slot regarding Data Integration Services provided in the Oracle Stack, for more information have a look at the mix abstract: https://mix.oracle.com/ideas/28972-the-next-generation-of-business-integration-making-the-right-choice.

On the following blog http://blogs.oracle.com/oracleopenworld/, you will find all the sessions that have been nominated for Oracle Open World.

Next to this Oracle Mix session we are proud to present our ‘Forms To Soa’ session which will be given on Oracle Open World as well.

In other words OOW here we come !!!

(function(){ORACLE_MIX={host:”https://mix.oracle.com”,requestPath:”https://mix.oracle.com/user_profiles/12011-nathalie-roman/quick_connect.json”};document.write(‘

‘);s1=document.createElement(‘script’);s1.type=”text/javascript”;s1.src=”https://mix.oracle.com/javascripts/badge.js”;setTimeout(“document.getElementById(‘oracle_mix_space’).appendChild(s1);”,1)})()

Case at Oracle SOA Partner Community Forum

On August 26th and 27th, the Oracle SOA Partner Community forum will be held in Utrecht, The Netherlands. During this event, technical sessions as well as partner success stories are presented throughout the community forum. We were invited to bring our customer case study of Forms modernization using web services and ESB.
The story: Empowering Oracle Forms within a SOA Architecture: The case of ZLM.

During this forum you can learn from success stories of partners, join different breakout sessions, gain information from other SOA partners and listen to a vibrate panel discussion.

Additionally to the SOA Partner Community Forum, you can participate in technical hands-on workshops for BPA, SOA and J2EE Infrastructure, on August 28th and 29th. The goal of these workshops is to prepare you for customer implementations.

You can find the paper, case itself on the following locations:
http://otn.oracle.com/products/forms
http://otn.oracle.com/goto/formsmodernize
http://otn.oracle.com/formsdesignerj2ee

From Forms to SOA

Today Grant Ronald was in Europe for the Technology Seminars organised by Oracle, of course the subject was Forms.

For more information regarding forms, soa and the road ahead you should bookmark his blog.

The title of the seminar: ‘From Forms to SOA’ and we were invited to present our experiences with SOA, Forms and the combination of both worlds as well.

It was great to meet up with Grant, because I’m more a SOA-person as a Forms-person and it was the first time to meet up with him.

First Grant gave a presentation regarding:

  • Oracle Forms Strategy: From Client Server to SOA
  • SOA, BPEL and Web Services: Calling Services from Oracle Forms
  • Building Services in JDeveloper

It was great to hear that Grant participates in as well product management for Forms as Jdeveloper to enable the same productivity and declarative approach as forms developers are used to working with in Forms application.

In the 1st part Grant explained how both worlds, SOA and Forms, colide and the key phrase here = upgrade and integrate. First you need to move your client/server application to the web, using web forms. After the upgrade you can then integrate the needed services such as web services, bpel, esb, … into your existing web forms application. In other words there’s no need to have a big bang approach and throw away all the investments you’ve made, but upgrade and integrate. As you can read and see as well, Forms 11g will hold new functionalities to enable integration even more, such as AQ to enable asynchronous messages for example, javascript capabilities, …

In the 2nd part Grant showed how you can integrate such a Forms application with an existing bpel process, which actually is a web service, and with existing web services. The key phrase here = you don’t need to write any line of java code to enable this integration.

How to accomplish this without writing any line of java code, use Jdeveloper and the Java Importer of Forms:

  • Create a web service proxy client for the existing bpel process and web services via the ‘web service proxy client’-wizard in Jdeveloper. You just need to copy/paste the wsdl-location of the bpel process and/or external webservice and Jdeveloper will do the rest.
  • Deploy this web service proxy client to your application server, were your web forms are hosted as well
  • Generate pl/sql wrapper classes via the ‘Java Importer’ in your Forms Builder
  • And the Forms Developer can invoke web services using pl/sql functionality without any knowledge of the underlying technology

In the 3d part Grant gave a demo regarding the 4GL-experience a Forms Developer will have when working with Jdeveloper to build a ‘Forms-like’ application, in other words data-entry, – retrieval pages.

To have the same look-and-feel, capabilities, userfriendliness and declarative approach as in Forms Builder the chosen technologies for MVC are ADF Faces and BC4J, these are the 4GL-like technologies to choose when coming from a Forms-background.

Using these technologies Grant explained how to define business logic using validation in BC4J, how to define page flows in the faces config file and how to define the different screens in a declarative manner. Using BC4J Grant also explained how Entity Objects, View Objects and the Application Module relate to components known to a Forms Developer.

After his introduction different Oracle partners presented their cases regarding Forms and SOA and in that matter we’ve presented a SOA and Forms integration case from the Netherlands.

Most important part of all: we had an audience of more than 90 people, it was great to see such an amount of people and interest in these technologies.

Best of breed applications are slowly moving towards ‘best of all worlds’, there are ‘no’ limits anymore.

Empty error message for instance in ESB

Yesterday I was creating an ESB that we wanted to use in a demo.
I was using a DB schema that I exported from a DB that was used in one of our internal applications.

The ESB itself was in fact a very simple example with just a file adapter to get the content of a csv file and a database adapter for inserting the content retrieved from this csv into the database.
I also checked the option to remove the csv when it was successfully retrieved.
Everything looked fine and I registered the application onto the application server.

So far, so good…


The application was registered without any problems and I wanted to test my application.
So I created a test csv file and copied it in the directory, waited 5 seconds until the file was removed, so I tought that everything worked correctly. I looked in the database, but my records where not inserted in the table.

Time to take a look at the ESB controller…
And indeed the status of my instance was invalid, so the next step to do is to take a look at the error message….
Strange, the error message was completely empty, no error, no trace, nothing…
This made it off course a bit more difficult to find out what the problem was.

So I took a closer look on this and tried to find out what I missed. I changed some things here and there, but did not found a solution, I always got the empty error.
Then I looked a bit closer to the table where I wanted to insert the data into and compared it with the content of the csv file. All the values of my csv for the primary, foreign, not nullable columns looked ok.

So why did he gave me that empty error message?
Then I tried to insert a record manually into the table, and I found out that this didn’t work either. Seemed that there existed some insert triggers on this table that would insert some data in a column when this field was empty and that these triggers used a packaged that was invalid(because it was using another schema that I didn’t imported). So just for testing I enabled all these triggers and tried to execute my esb process again. And it worked, so the problem I had was caused by a trigger on the table who was calling a procedure in an invalid package…

So, if you ever get an empty error message, the best thing to do is to check your database first…

Bpel 4 people / Bpel 4 newbees

One of the main goals I’m trying to reach is to advise customers on how to start implementation of SOA in their organisation by using a coaching approach instead of implementor approach.

In other words, guide and coach the development teams of each customer in getting familiar with SOA concepts and getting their hands dirty ;o))
The developers themselves are tought BPEL, Web Services, XML and XSD through basic hands on session, workshops in a practical way and then they start designing bpel processes.

What’s very important is this process is that each person needs to do the brainwork, in other words always start from scratch, don’t define a synchronous or asynchronous process, no define an empty process and build it up yourself.

What’s very interesting when guiding and coaching people in becoming a SOA expert, is understanding the way they think and handle functional requests and problems in a SOA Technology. This gives me the opportunity and possibility to focus more on how to better advice and guide people in learning SOA, e.g. BPEL.

The most interesting points to consider and think about when being a teacher in SOA or being a student are the following:

Being a teacher:

  • be passionate, patient, non technical, use metaphors and most don’t use abbreviations or buzz words, this ain’t cool ;o)

Basic knowledge before starting BPEL/ESB/OWSM/Mediators … Integration:

  • Web services (synchronous versus asynchronous)
  • Xml and xsd (how to define, how to work with xml data (xquery, xpath, …)

You need to be able to understand following principles:

  • Fault handling
  • Compensation handling
  • Transaction handling

Following abbreviations mean something to you:

  • JCA, JNDI, EDA, SOA, WSDL, WSIF, SOAP, JMS, RPC

How to get started when designing bpel processes:
One of the interesting tricks I’ve learned when guiding a customers’ developer in learning bpel was that he defined an empty bpel process where all needed activities where pseudo-coded.

In other words when you need to define your first bpel process using the use cases defined and described by your analysts, you just design the bpel process using empty activities which describe each needed task/action in your process.

This empty process is deployable and can then be iteratively implemented by the designer when the visual flow is checked upon with the functional developers. => THIS IS A GREAT INSIGHT and WAY OF THINKING and a very visual approach to enabling business processen (thanks to Yves for the tip !!!)

The most interesting part when starting with SOA development is that everyone that’s involved in this process is learning; it’s a learning organization where every person’s knowledge and expertise is augmented!