e-Supply Chain Interface

Simple Ordering services

Details

  • Type: Sub-task Sub-task
  • Status: Resolved Resolved
  • Priority: Major 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.

Activity

Hide
Tim Anderson added a comment -

Definition of an OpenVPMS UBL profile now out of the scope of this project

Show
Tim Anderson added a comment - Definition of an OpenVPMS UBL profile now out of the scope of this project
Hide
Tim Anderson added a comment -

Removed from scope:

  • Develop command line client that enables orders to be submitted to the OrderService from a file.
    This is provided for suppliers that don't have the facility to invoke the SOAP service directly.
  • Develop command line client that enables order responses to be submitted to the OrderResponseService from a file.
    This is provided for suppliers that don't have the facility to invoke the SOAP service directly.
Show
Tim Anderson added a comment - Removed from scope:
  • Develop command line client that enables orders to be submitted to the OrderService from a file. This is provided for suppliers that don't have the facility to invoke the SOAP service directly.
  • Develop command line client that enables order responses to be submitted to the OrderResponseService from a file. This is provided for suppliers that don't have the facility to invoke the SOAP service directly.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved:

Time Tracking

Estimated:
120h
Original Estimate - 120h
Remaining:
0h
Remaining Estimate - 0h
Logged:
104h
Time Spent - 104h Time Not Required