Integrating MagooClient with JMS SOA (1)
Introduction
The scenario is based on the correction and/or completion of a packing slip (‘PackingSlip’) by a manual operator within the context of a logistics application based on SOA and JMS. The original PackingSlip document is submitted to a JMS-based Web Service for processing. The Web Service applies a number of validation checks to the document and then either forwards it on for additional processing or else puts it on a rectify queue for the attention of an operator if errors are detected. The operator uses MagooClient to lift the PackingSlip from the rectify queue, apply the necessary modifications and re-submit it to the process queue for onward processing.
This scenario sets out to demonstrate:
Design
The design follows a WSDL-first approach which will allow the blueprint to be easily ported across different JMS/ESB environments. Also, the full richness of XML Schema will be exploited to enforce more exact data validation at the user interface.
The WSDL contains two Services:
A Note on JMS WSDL Bindings
The WSDL definition includes JMS endpoints for these Services – a Process queue and a Rectify queue for the Processor and Rectifier Services respectively. Although standardization for JMS endpoints in WSDL is ongoing, there is as yet no standard way for JMS destinations to be specified within a WSDL definition. MagooClient supports a number of commonly used JMS extensions for WSDL, such as Apache WSIF, to interpret the WSDL and extract Queue/Topic details.