Chapter 13. Process manager interoperability 363
However the process could be easily expanded to include the placeOrder
program activities as described in the previous chapters.
This chapter will focus on some design decisions and guidelines as they relate to
the interoperability scenarios. Best practices for designing either WebSphere MQ
Workflow or WebSphere Process Choreographer processes, as covered in
previous chapters, still apply here.
In order to understand the best practices for designing inter-operable processes,
we need to first understand how the two process managers can work together.
WebSphere MQ Workflow interface for interoperability
As you know already, WebSphere MQ Workflow is based on WebSphere MQ,
and all of its server components communicate using WebSphere MQ queues.
The most important component is the execution server, which is in charge of
starting and navigating WebSphere MQ Workflow processes. It is the
communication end point for any applications, including WebSphere Process
Choreographer, which want to exploit WebSphere MQ Workflow functionality.
The only communication interface with the execution server are messages that
are sent to a WebSphere MQ queue. The execution server can process two
message formats:
–
SDDS: An internal (proprietary) format of WebSphere MQ Workflow
messages that is generated by the client API functions
–
XML: A subset of the SDDS messages in XML format: The XML
messages have to be sent as the "payload" of an MQ message. The MQ
message may contain additional headers.
The execution server accepts XML messages (incoming) for the invocation of
certain functions, and it also uses XML message (outgoing) to invoke
user-defined process execution servers (UPES). Thus, XML messages are well
suited for interoperability with non-WebSphere MQ Workflow components. As
you will see later, XML message exchange is the foundation of our
interoperability.
Process Choreographer interface for interoperability
WebSphere Process Choreographer consists of several important components,
including a Navigator, Factory, and a host of plug-ins. The most important
component, as you can guess, is the Navigator, which is responsible for the
Note: The focus of this chapter is on interoperability. Therefore, not all of the
activities described in the business process model are actually implemented in
this scenario.