Introduction

  • Message Queue Services are a common means for Enterprise Application Integration (EAI). Users who operate a Message Queue Service want to integrate their applications with JS7. Patterns for EAI include:
    • applications sending requests to add orders to workflows using the JS7 - REST Web Service API.
    • applications receiving processing results from jobs and workflows executed by JS7.
  • EAI scenarios provide the following advantages:
    • reduction of complexity:
      • at the topological level each application implements only one interface to the Message Queue Service.
      • of error handling as a Message Queue Service is considered to be highly available.
    • centralized management of messages.
  • The JMS integration scenario includes a separate Java-based consumer which is implemented in order to receive and parse messages and to translate messages into requests to add orders. Reasons for this approach include:
    • JMS is standardized. However, the content and format of messages requires individual parsing.
    • JS7 offers a JSON based REST Web Service API that can be used by any consumer to add orders using REST API calls.

Use with Generic Jobs

Implementation

  • The implementation is independent of the JS7 release and consists of Java examples that are separately available, see the references below.

Scenario 1: Detached JS7 JMS Interface

1. Use Case

  • An application makes use of the JS7 REST Web Service API to start a workflow.

2. Producer

  • Creates a text message in JSON format for the queue "Workflows". The content of the message could be, for example:
    {"controllerId":"testsuite","orders":[{"workflowPath":"/JS7Demo/01_HelloWorld/jdHelloWorld","scheduledFor":"now"}],"auditLog":{}}
  • Sends the message to the specified queue.

3. Consumer

  • Reads a message from the queue „Workflows" and sends the JSON body using the JS7 REST Web Service API.

Scenario 2: Generic JS7 JMS Interface

1. Use Case

  • A Java job runs in a workflow and implements the Producer to send information to the Message Queue Service after completion of a number of JS7 - Job Instructions in a workflow.
  • A Java job runs in a workflow and implements the Consumer, i.e. connects to the Message Queue Service to check for new messages that include parameters for adding orders to JS7.
  • The Producer as well as the Consumer can run in any workflow.

2. Producer

  • A job sends some information to a Message Queue to signal completion of a workflow.

3. Consumer

  • Reads JS7 REST Web Service API body from a message in JSON format and hands over the JSON body to a JS7 REST Web Service API call for execution.

Use with the JS7 Monitoring Interface

Implementation

Resources