You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Scope

  • The implementation architecture explains
    • components used,
    • embedding of components and
    • component communication.

Implementation Architecture

Error rendering macro 'viewpdf'

com.atlassian.confluence.macro.MacroExecutionException: com.atlassian.confluence.macro.MacroExecutionException: The viewfile macro is unable to locate the attachment "JS7_JobScheduler_Implementation_Architecture.pdf" on this page

Workflows and Orders

  • Workflow configurations are deployed from JOC Cockpit to a Controller that forward them to connected Agents:
    • Agents execute instructions and jobs from a workflow.
    • Agents report back execution results and the job log output by returning events.
  • Orders are managed with the JOC Cockpit and are submitted to Controllers that forward them to connected Agents:
    • Agents start workflows based on the order's scheduled start time.
    • User interventions include to cancel, to suspend and to resume orders. Such operations are sent by JOC Cockpit to the Controller that forwards them to connected Agents.

Controller and Agent Implementation Architecture

  • Controller Cluster for automated fail-over between active and passive Controller.
  • Controllers hold a journal for restart capabilities that includes workflow configurations and order state events:
    • The JOC Cockpit History Service subscribes to such events to maintain the History and to forward events to the GUI
    • With the History being persistent in the database then events are released from a Controller and the journal will shrink
  • Controllers and Agents store messages in their journal and pass them asynchronously. This mechanism recovers communication in case of longer outages for hours and days.

JOC Cockpit Implementation Architecture

  • JOC Cockpit can be operated in the following modes:
    • single instance,
    • active passive clustered instance with a primary instance and any number of backup instances.
  • Cluster Service
    • manages a number of Background Services:
      • Monitor Service: check execution history for events that users should be notified about.
      • Restart Service: reruns pending deployments and performs synchronization with a Controller.
      • Cleanup Service: purges the database, e.g. to limit the size of the history.
      • History Service: retrieves execution results and logs from a Controller instance.
      • Daily Plan Service: creates and submits orders to connected Controllers.
    • guarantees service execution:
      • checks the JOC Cockpit cluster health status from any connected instances,
      • performs a fail-over operation in case that the Active JOC Cockpit fails.
  • Event Bus Service
    • An event bus manages communication between JOC Cockpit services:
      • events are published in a producer/consumer (publish/subscribe) model,
      • events are asynchronous, i.e. a service does not rely on immediate responses,
      • events are not persistent, i.e. they are removed after being consumed or after some timeout,
      • events are considered informational for the user interface that displays current data.
  • Proxy Service
    • The Proxy on start-up will retrieve a snapshot of the Controller's journal and will subsequently receive any events fired by a Controller.
    • The Proxy implements an event queue that can be subscribed to by a number of consumers, e.g. by Background Services and by the GUI.



  • No labels