Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

Introduction

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

Use with Generic Jobs

Implementation

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

...

Scenario 1: Detached

...

JS7 JMS Interface

1. Use Case

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

2. Producer

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

3. Consumer

  • Reads a message from the queue „Workflows" and sends the JSON body via HTTP(S) to a JS7 JOC API instance.

...

  • 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 job nodes 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 possible add order requestsparameters for adding orders to JS7.
  • The Producer as well as the Consumer can run in any job chain/ workflow.

2.

...

Producer

...

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

3.

...

Consumer

...

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

...

Use

...

Implementation

  • YADE is extended to pre-process XML snippets from messages that have been received from a queue.
    Display feature availability
    StartingFromRelease1.11
     
  • JMS support is added with 
    Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyYADE-409

Starting Situation

The YADE Client reads a configuration from an ini file. The configuration items are mapped to an Option class. The file transfers are processed.

...

with

...

Desired Behavior

Extending the YADE Client with a pre-processing functionality.

  • The pre-processing starts after the configuration has already been mapped to the options and before the actual processing of the file transfer.
  • Advantages:
    • This is based on the decision to use the YADE XML in the future for configuration instead of the old ini configuration.
    • The pre-processing is independent of the initial configuration (ini or xml)
    • No need to save a temporary (merged) configuration to the file system for later use. The update values will be directly mapped to the options.
    • The changes to the YADE Client are kept simple, the processing of the file transfers does not have to be adjusted.

The pre-processing includes to:

  • merge the received XML snippet of a YADE configuration into the existing configuration
    • determine from the delivered nodes which options have to be changed
    • extract the values
    • map the extracted values to the relevant options

Prerequisites
The XML snippet has to consist of YADE XML compliant elements.

...

the JS7 Monitoring Interface

Implementation

  • The implementation allows a Message Queue Service to be used in order to forward notifications to forward JS7 - Notifications to a System Monitor
    Display feature availabilityStartingFromRelease1.11 
  • Support for notifications via Message Queue Services is added with 
    Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJITL-280

References

Change Management References

Jira
serverSOS JIRA
columnstype,key,issuelinks,fixversions,status,priority,summary,updated
maximumIssues20
jqlQuerylabels in (jms)
serverId6dc67751-9d67-34cd-985b-194a8cdc9602

Further Resources

Resources