11© Copyright 2008 IBM Corporation.
The All-Singing, All-Dancing The All-Singing, All-Dancing Composite Application Composite Application
Doug Tidwell, [email protected]
2© Copyright 2008 IBM Corporation.
StatusStatus
> >
3© Copyright 2008 IBM Corporation.
The big pictureThe big picture
• Our composite application processes a purchase order.
• We’ll take a very quick look at four technologies that are the future of SOA:– All of the services involved are accessed with SCA.– The data sources are accessed with SDO.– The interface is based on XForms.– The process definition is based on BPEL.
4© Copyright 2008 IBM Corporation.
Our scenarioOur scenario
• The customer submits an order.• We check the total of the order. Any order of
more than $750 (£38, €57) must be approved by a manager. Anything less automatically goes to the next step in the process.
• If the order is approved, we check the customer’s account status.
• If the order is approved and the customer’s credit is OK, we send the customer a notice that their order is on the way.
5© Copyright 2008 IBM Corporation.
Key standard #1: SCAKey standard #1: SCA
• We need a single, coherent, manageable way to build composite applications.
• I’m assuming we’re all in agreement here…
6© Copyright 2008 IBM Corporation.
Key standard #2: SDOKey standard #2: SDO
• We need a single, coherent, manageable way to move data from one place to the next. – In a composite application, data will most likely be
XML.– In a composite application, different components will
need data in different formats.– Similar yet incompatible data binding frameworks
will outnumber the human population by 3Q 2013.
7© Copyright 2008 IBM Corporation.
Key standard #2a: XFormsKey standard #2a: XForms
• With XML as a universal data interchange format, HTML forms aren’t an ideal option. – Not built around a data model– Controls are hand-linked to items in the data model– Changes to the data model require manual changes
to all interfaces
• XForms overcomes these limitations:– The form is built around an XML data model (XML
Schema, most likely)– Controls are bound directly to the XML (XPath ties
control x to element/attribute y)– The interface can be regenerated from an updated
schema.
8© Copyright 2008 IBM Corporation.
Key standard #3: BPELKey standard #3: BPEL
• An application with any degree of sophistication will likely require workflow and human interaction.– We’ll use BPEL to define the workflow. Many steps in
the workflow will be services.– A BPEL process is itself a WSDL-addressable service
(or an SCA service)– Human tasks typically involve reviewing some sort of
business object (XML document)…XForms fits nicely here.
9© Copyright 2008 IBM Corporation.
Component A(BPEL workflow)
Component B(Credit check)
Order Processing Composite
Our applicationOur application
Component C(Shipping)
10© Copyright 2008 IBM Corporation.
Assembly with SCAAssembly with SCA
• Current implementations let us access a BPEL process as an SCA component (<implementation.bpel>).
• Ideally the BPEL process could access SCA components as steps in the process, although we’re not there yet.
11© Copyright 2008 IBM Corporation.
Data access with SDOData access with SDO
• There are a number of business objects:– Purchase order
• Customer number, items+, status
– Customer• Customer number, name/address, credit rating
• We’ve kept this simple; a real-world scenario would use many more objects.
• Each business object is defined with XML Schema and manipulated by SDO.
12© Copyright 2008 IBM Corporation.
Human interfaces with XFormsHuman interfaces with XForms
• We’ll look at different XForms that deal with the human tasks in the process.
• These can be generated directly from the XML documents (BPEL variables) defined in the process.– We’ll define an XHTML frame to hold the controls and
style everything with CSS.
1313© Copyright 2008 IBM Corporation.
DemoDemo
1414© Copyright 2008 IBM Corporation.
The SCA RoadshowThe SCA Roadshow
Coming soon to a continent near you!
15© Copyright 2008 IBM Corporation.
The SCA RoadshowThe SCA Roadshow
• OASIS is sponsoring a series of half-day sessions on SCA.
• These sessions are vendor-neutral explorations of SCA as a technology.
• See oasis-opencsa.org/sca-roadshow/ to register.– We have three events scheduled for China in May;
others are coming throughout the year.
16© Copyright 2008 IBM Corporation.
oasis-opencsa.org/sca-roadshow/oasis-opencsa.org/sca-roadshow/
1717© Copyright 2008 IBM Corporation.
If you’re interested in participating / hosting, contact
Doug Tidwell, [email protected].