Developing a Purchase Order Management (POM) Composite Web Service

Job ID: 32450146

Budget: $30 – $250 USD

we need to develop a purchase order (composite) web
service. The client (e.g., manufacturer) places a purchase order and the purchase order service provider (e.g., supplier) tries to fulfill the request. The
supplier communicates with credit service, billing service, inventory service, and
shipping service providers to fulfill the client’s request. Once an invoice is generated, it is then sent back to the client. A flow model view is shown in the figure below. Particularly, you have to:
• Develop a simple inventory checking service. The inventory service should check the availability of an item. Based on this check, the inventory service should respond either that the purchase order could be fulfilled or by issuing a fault stating that the order cannot be completed.
• Develop a simple credit checking service. The credit service should check the validity and worthiness of the credit card. Based on this check, the credit service should respond either that the credit card is valid and worth a credit or by issuing a fault stating that the credit card is invalid or does not have enough credit.
• Develop a simple billing service. The billing service should calculate the overall amount and issue the bill to the client.
• Develop a simple shipping service. The shipping service handles the shipment of orders (which are composed of a number of purchase items)
to the client.
• Develop a BPEL process (based on the process flow shown in the figure)
to include a credit check, billing service, inventory check service, shipping service consumed by the BPEL process that realizes the purchase order service. When the purchase order service provider receives the client request, the following events should occur:
o The purchase order service provider assigns the price and the
current date of the request, and
o Invokes the inventory service to check inventory status.
o The inventory service checks the availability of an item and reports to the purchase order service provider.
o Based on the result from the inventory service, the purchase order
the service provider responds either by fulfilling the purchase order and requests shipment or by issuing a fault stating that the order cannot be completed.

Hints:
In order to develop the required (composite) service you need to produce the
following pieces of software items:
- Purchase order schema defining how a purchase order should be.
The purchase order schema definition should contain basic customer, order
and product type information as well as different methods of delivery and a
single method payment, which includes fields for the credit card number,
expiration date, and payment amount, etc.
- Invoice (Bill) schema defining how an invoice sent back to the client should
be.
The invoice schema definition should contain purchase order id, Billing
information, order details (item list), etc.
- WSDL defines the billing service.
- WSDL defines the credit service.
- WSDL defines the inventory service.
- WSDL defines the purchase order service (the composite service/process)
- BPEL describing the purchase order process (the resulting composition)
- Based on these items and implementation of the services and the
composition. It should execute the process from the submission of the order
(based on the Purchase order schema) up to the return of an invoice (based
on the Invoice schema).

Note: You need to adopt a top-down and incremental development approach.
That is, start from defining schemas to defining WSDLs of services, then
implementing them up to defining BPEL and executing it.