Skip Navigation Links | |
Exit Print View | |
Oracle Java CAPS HTTP Binding Component Tutorial Java CAPS Documentation |
Processing an Order in a Purchase Order System
Software Needed for the Tutorials
Configuring the Tutorial Environment
To check the status of GlassFish
Creating the inventory.xsd Schema
To create the inventory.xsd schema
To add a complex type to the XML Schema
Add Local Elements to the XML Schema
Creating the purchaseOrder.xsd Schema
To create the purchaseOrder.xsd schema
To add a complex type to the XML schema
To add local elements to the XML schema
Creating and Configuring the WSDL Documents
Creating the InventoryService WSDL Document
To create the WSDL using the New WSDL Document wizard
To configure the InventoryService WSDL document:
Creating the POService WSDL Document
To create the POService WSDL document
To configure the POService WSDL document:
Creating the InventoryService BPEL Process
To create the InventoryService BPEL process
To Create the InventoryService business process using the BPEL Designer
To specify the business logic for the InventoryService BPEL process
Create the POService BPEL Process
To create the POService BPEL process
To Create the POService business process using the BPEL Designer
To specify the business logic for the POService business process
To compile and package the project
Creating and Deploying the Composite Application
To create the Composite Application project and add the JBI module
To build and deploy the Composite Application
Testing the HTTP Binding Component Sample Project
The purchase order handling system in this scenario is represented by a web service implemented using GlassFish Application Server with the JBI framework.
The message flow of the Purchase Order scenario is as follows:
The web client, using some client-side scripting language such as JavaScript, takes the purchase order information entered into the web form and packages it into a SOAP message. The format of the SOAP message is defined using a WSDL.
The SOAP message is sent to a web service endpoint hosted by the HTTP Binding Component.
The HTTP Binding Component transforms the SOAP message into a Normalized Message. The Normalized Message is sent to the Normalized Message Router.
The Normalized Message Router routes the Normalized Message to the BPEL Service Engine.
The BPEL Service Engine interprets the purchase order information and properly invokes other BPEL processes to fulfill the request.
The BPEL Service Engine creates a response message in the form of a Normalized Message. The Normalized Message is sent to the Normalized Message Router.
The HTTP BC receives the response message and converts it to a SOAP message. The SOAP Message is sent back to the web client as a proper response as defined by the WSDL document.
The web client takes the response and creates a human-readable HTML page to notify the user that the purchase order was either accepted or rejected.
Duke's Book Store uses an automated purchase order system with an open interface through which anyone can make a purchase. To accomplish this they use the Java Business Integration framework. Each process is implemented using the BPEL language. Every interface is exposed as a WSDL, with SOAP over HTTP as the underlying messaging and transport.
The system's core pieces are the PurchaseOrder interface and the Inventory interface.
The PurchaseOrder interface is defined using a WSDL document and has one operation called sendPurchaseOrder. The PurchaseOrder interface is implemented using one BPEL process exposed through SOAP over HTTP. That means that anyone who can send a SOAP message over HTTP to this service can make a purchase.
The Inventory interface is defined using a WSDL document and has one operation called isInventoryAvailable. The Inventory interface is implemented using another BPEL process, invoked by the PurchaseOrder service, to determine whether there is sufficient inventory of each book to complete a purchase order. This service is also exposed through SOAP over HTTP. Anyone can make a call to this service, but the main caller of this service is the PurchaseOrder service.