Versions Compared

Key

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

...

  • Message Services are a common means for Enterprise Application Interation (EAI). Users who operate a Message Service want to integrate their applications with JobScheduler 1 or JS7. Patterns for Enterprise Application Integration include:
    • applications send job start requests to JobScheduler 1.applications send sends an add order requests to JS7 JOC API.
    • applications receive processing results from jobs and job chains executed with JobScheduler 1.applications receive processing results from jobs and workflows executed with JS7.
  • Such EAI scenarios provide the following advantages:
    • reduce complexity
      • at a the topological level, i.e. each application implements only one interface to the Message Servcice.
      • of error handling as a Message Service would be considered to be highly available.
    • manage messages centrally
  • The JMS integration scenario includes a separate Java based consumer to be implemented in order to receive and parse messages and to translate messages received into job start or add order requests. The reasons for this decision are:
    • JMS is certainly standardized, however, the content and format of messages requires individual parsing.JobScheduler 1 offers an XML command interface that can be used by any consumer to request job starts.
    • JS7 JOC offers an a JSON API that can be used by any consumer to request job startsadd order API calls.

Use with Generic Jobs

Implementation

  • The implementation is independent from the JobScheduler JS7 release and consists of Java examples that are separately available, see below references.
    Display feature availability
    StartingFromRelease1.9
  • JMS support is added with 
    Jira
    serverSOS JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId6dc67751-9d67-34cd-985b-194a8cdc9602
    keyJITL-282

Szenario 1: Detached JobScheduler JMS Interface

1. Use Case

  • An application prompts JobScheduler JS7 JOC API to start a JobScheduler 1 job or a JS7 workflow.

2. Producer

  • JobScheduler 1: Creates a text message in the XML format for the queue "JobChains". The content of the message can be e.g.:
    <add_order job_chain='REL_PATH/JOBCHAIN_NAME' at='now'></add_order>
    
    JS7: Creates a text message in the JSON format for the queue "Workflows". The content of the message can be e.g.:
    {"controllerId":"testsuite","orders":[{"workflowPath":"/JS7Demo/01_HelloWorld/jdHelloWorld","scheduledFor":"now"}],"auditLog":{}}
  • sends the message to the specific queue

3. Consumer

  • JobScheduler 1.x: Reads a message from the queue „JobChains" and sends the XML snippet via TCP/UDP to a JobScheduler instance.JS7: Reads a message from the queue „Workflows" and sends the JSON body via HTTP(S) to a JS7 JOC Cockpit API instance.

Szenario 2: Generic JobScheduler JMS Interface

1. Use Case

  • A Java job runs in aJobScheduler 1: job chain and implements the Producer to send information to the Message Service after completion of a number of job nodes in a job chain.JS7: workflow and implements the Producer to send information to the Message Service after completion of a number of job nodes in a workflow.
  • A Java job runs in a
  • JobScheduler 1: job chain and implements the Consumer, i.e. connects to the Message Service to check for new messages that include possible job start requests.
  • JS7: workflow a workflow and implements the Consumer, i.e. connects to the Message Service to check for new messages that include possible add order requests.
  • The Producer as well as the Consumer run in any job chain/workflow.

2. Producer

  • Producer:
    • JobScheduler 1: Job sends some information to a message queue to signal completion of a job chain.
    • JS7: Job A job node sends some information to a message queue to signal completion of a workflow.

3. Consumer

  • Consumer:
    • JobScheduler 1: Reads JobScheduler XML API command from a message and hands over the XML command to JobScheduler for execution.
    • JS7: Reads JobScheduler Reads JS7 JOC API JSON command from a message and hands over the JSON body to a JS7 JOC API call for execution.

...