Rich Schwerin blogs about Thomas Kurian's technical overview of Oracle Application Server 10g Release 2 at Oracle OpenWorld today. John Deeb of the Oracle BPEL Server team and I did the honors for the first couple of demos during his talk to help users appreciate the work our teams have put into JDeveloper 10g for making the construction of J2EE applications that follow a Service Oriented Architecture a whole lot easier for people.
The demo scenario was a fictitious bank ("Bank of BPEL") that was offering customers the ability to apply for auto loans online. I started the demo off by showing the front-end web application that users encounter when they visit the bank's website. I showed off the visual Struts Page Flow diagram, and proceeded to complete the application by doing some drag and drop data binding from the ADF Data Control palette. I found a Loan Manager web service in a local UDDI repository, and dropped to the data control palette to use that service in my application, then created a data action in my struts diagram and dropped the web service's startLoanFlow() method onto my data action. After setting up the declarative EL expressions to provide the web service with the method parameter values it needed, with a few more clicks, I wired the loan summary page to the data action that invoked the service, and wired that to a new data page to show the results of invoking the web service. The finished diagram looked like what you see below (click for a larger picture).
This was what the Loan Summary page in the page flow looked like after I dropped the loan data from the data control palette onto the page as a read-only form style display...
I ran the application and filled in the customer information, the bank information, the car information, and submitted the loan.
Later, John Deeb came on stage to show off the back-end of this service-oriented application, implemented as a standard BPEL business process. From the Struts page flow that showed the visual diagram of the application front end, John clicked on the LoanFlowPlus.bpel tab to show the new, integrated BPEL designer that integrates as a JDeveloper extension into JDeveloper 10g 10.1.2. John augmented the BPEL business process with a new parter link for a web service that sends voice notifcations via voice telephone call and he added a new "invoke" action from the component palette and wired the invoke action to this new partner web service. More visual drag and drop development. This time, for the back-end business process...
Later John talked about the different kinds of adapters the BPEL engine supports, and gave a quick preview of the new visual XSLT mapper that their team has built as an extension for JDeveloper 10g. Using this mapper tool, with another drag and drop operation he could have done an auto-map to build the XSLT transformation that takes data conforming to one XML Schema "dialect" and map it into the correct structure of another target XML Schema.
I think the audience was really excited to see drag and drop visual development for SOA applications come together in front of their eyes in such a completely integrated way, all in a single tool. Since all the demos worked without a hitch, you can bet that John and I were pretty excited, too!