The Coordinated Request-Reply use case is based on the scenario of a contemporary and established application communicating through the use of WebSphere MQ messages in a request/reply processing pattern.

  • The contemporary application uses self-defining XML messages and issues a request message
  • The established application uses non XML formatted¬†messages
  • Request / Reply flows use a DFDL to model the non-XML message structure

The Coordinated Request-Reply application receives a request message, processes it and delivers a reply message. For the applications to successfully communicate, the message formats must be transformed for both the request and reply messages.

The processing in this use case consists of three message flows and one message model.  The message flows are the following:

The Coordinated Request Reply DFDL library references a library containing a DFDL Schema with the message definitionSaleListMessageDFDL definition.

Results per platform

Results for the coordinated request/reply use case can be found for each platform here:


Request Message Flow

The request message flow performs the following processing:

  • Reads a WebSphere MQ message containing an XML payload.
  • Saves the original ReplyToQ and ReplyToQMgr details in the global cache for subsequent retrieval by the Reply message flow.
  • Converts the message from XML to a format described by a DFDL schema
  • Sets the ReplyToQ and ReplyToQMgr details to be the input of the Reply message flow.
  • Sends the message to the Backend Reply message flow.

coord-request

TransformXMLtoDFDL subflow

The TransformXMLtoDFDL message flow contains an Input node, a Mapping node, and an Output node.

XMLtoDFDL

The TransformXMLtoDFDL subflow completes the following actions:

  • Receives a message that contains an XML payload
  • Copies the message headers from the input message to the output message tree
  • Converts the message from a format described by a DFDL schema to XML
  • Creates a message that contains the transformed message
  • Sends the output message back to the main flow
MappingXMLtoDFDL Map

XMLtoDFDL-map

Properties Local Map

XMLtoDFDL-map2

SaleEnvelope Local Map

XMLtoDFDL-map3

Back to top


Backend Reply Message Flow

The backend reply message flows performs the following processing:

  • Reads a WebSphere MQ message.
  • Adds the time the message was modified to the payload of the message.
  • Writes a WebSphere MQ message.

coord-reply

Back to top


Reply Message Flow

The reply message flow performs the following processing:

  • Reads the reply WebSphere MQ message containing a message in CWF format.
  • Converts the message payload from DFDL¬†into the equivalent XML format.
  • Obtains the ReplyToQ and ReplyToQ Mgr of the original request message by reading¬†from the global cache¬†which was used to store this information in the Request message flow.
  • Creates a WebSphere MQ message containing the transformed message and the retrieved ReplyToQ and ReplyToQMgr values.
  • Writes an output message that contains a payload in XML format

coord-replyflow

Transform DFDL to XML subflow

 The TransformDFDLtoXML message flow contains an Input node, a Mapping node, and an Output node.

 DFDLtoXML-map

The TransformDFDLtoXML subflow completes the following actions:

  • Receives a message that contains an DFDL¬†payload
  • Copies the message headers from the input message to the output message tree
  • Converts the input message from DFDL¬†format to XML
  • Creates a message that contains the transformed message
  • Sends the output message back to the main flow
MappingDFDLtoXML Map

DFDLtoXML-map1

Properties Map

DFDLtoXML-map2

SalesEnvelope Map

DFDLtoXML-map3

Join The Discussion

Your email address will not be published. Required fields are marked *