Details
-
Type:
Sub-task
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.0-beta-1
-
Fix Version/s: 1.0-beta-1
-
Component/s: Ordering
-
Labels:None
Description
The ordering services provide interface definitions and stub implementations to allow applications to:
- send orders to supply chain partners
- receive order responses from supply chain partners
The default implementation will convert act.supplierOrder acts to UBL Order messages and send them using SOAP.
Two web services will be defined, using JAX-WS:
- OrderService - enables an application to submit an order to a supplier
- OrderResponseService - enables a supplier to send a response to an order back to the application.
The OrderService interface might be defined as follows:
@WebService(name = "OrderService", targetNamespace = "http://openvpms.org/esci") @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL) @Addressing(enabled = true, required = true) @BindingType(javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING) public interface OrderService { void createOrder(OrderType order); }
The OrderResponseService might look something like:
WebService(name = "OrderResponseService", targetNamespace = "http://openvpms.org/esci") @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL) @Addressing(enabled = true, required = true) @BindingType(javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING) public interface OrderResponseService { void orderReponse(OrderResponseSimpleType response); }
The development will include the following tasks:
- Develop classes to adapt act.supplierOrder acts to UBL and submit them to the appropriate supplier via OrderService
- Develop classes to adapt UBL documents received from OrderResponseService and update the corresponding act.supplierOrder act
- Define an interface to enable notification when act.supplierOrder acts are updated by a supplier, or an error occurs communicating with the supplier
- Develop test implementation of the OrderService that accepts, validates and logs orders.
- Develop test implementation of the OrderResponseService that accepts, validates and logs order responses.
- Document mapping of act.supplierOrder to UBL Order
- Document mandatory fields of UBL OrderResponseSimple
NOTE: Order cancellation and amendment will be supported at a later date.
Definition of an OpenVPMS UBL profile now out of the scope of this project