Details
-
Feature
-
Status: Released (View Workflow)
-
Minor
-
Resolution: Fixed
-
None
Description
Feature
- Users who operate a Message Service want to integrate their applications with JobScheduler. Patterns for Enterprise Application Integration (EAI) include:
- Applications send job start requests to JobScheduler.
- Applications receive processing results from jobs and job chains executed with JobScheduler.
- 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
- reduce complexity
- 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 requests. The reasons for this decision are:
- JMS is certainly standardized, however, the content and format of messages requires individual parsing.
- JobScheduler offers an XML command interface that can be used by any consumer to request job starts.
Szenario 1: Detached JobScheduler JMS Interface
1. Use Case
- An application prompts JobScheduler to start a job.
2. Producer
- 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>
- sends the message to the specific queue
3. Consumer
- Reads a message from the queue „JobChains" and sends the XML snippet via TCP/UDP to a JobScheduler instance
Szenario 2: Generic JobScheduler JMS Interface
1. Use Case
- A Java job runs in a 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.
- A Java job runs in a job chain and implements the Consumer, i.e. connects to the Message Service to check for new messages that include possible job start requests.
- The Producer as well as the Consumer run in any job chain.
2. Producer
- Producer: Jobs sends some information to a message queue to signal completion of a job chain.
3. Consumer
- Consumer: Reads JobScheduler XML API command from a message and hands over the XML command to JobScheduler for execution.
Deliverables
- The implementation is independent from the JobScheduler release and consists of Java examples that are separately available with the below articles.
- A number of articles in the Product Knowledge Base describe the implementation for each scenario.