170 likes | 273 Views
The All-Singing, All-Dancing Composite Application. Doug Tidwell, IBM dtidwell@us.ibm.com. Status. >. >. The 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:
E N D
The All-Singing, All-Dancing Composite Application Doug Tidwell, IBM dtidwell@us.ibm.com
Status > >
The 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.
Our 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.
Key standard #1: SCA • We need a single, coherent, manageable way to build composite applications. • I’m assuming we’re all in agreement here…
Key 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.
Key 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.
Key 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.
Our application Order Processing Composite Component B (Credit check) Component A (BPEL workflow) Component C (Shipping)
Assembly 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.
Data 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.
Human 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.
The SCA Roadshow Coming soon to a continent near you!
The SCA Roadshow • OASIS is sponsoring a series of half-day sessions on SCA. • These sessions are vendor-neutralexplorations 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.
If you’re interested in participating / hosting, contact Doug Tidwell, dtidwell@us.ibm.com.