Architecture and Mode of Operation



Similar documents
Architecture and Mode of Operation

JobScheduler. Architecture and Mode of Operation. Software for Open Source

SOSFTP Managed File Transfer

ITG Software Engineering

Content Server Installation Guide

JobScheduler - Installation Guide

LDAPCON Sébastien Bahloul

Introduction. AppDynamics for Databases Version Page 1

MEGA Web Application Architecture Overview MEGA 2009 SP4

How To Create An Easybelle History Database On A Microsoft Powerbook (Windows)

Detailed Features. Detailed Features. EISOO AnyBackup Family 1 / 19

StreamServe Persuasion SP5 Control Center

SysPatrol - Server Security Monitor

JobScheduler Events Definition and Processing

FileMaker Server 14. FileMaker Server Help

CA Output Management Web Viewer

Siebel Installation Guide for UNIX. Siebel Innovation Pack 2013 Version 8.1/8.2, Rev. A April 2014

CA ARCserve Replication and High Availability

FileMaker Server 11. FileMaker Server Help

Procase Consulting. APEX 4.1 Introduction. Oleg Mochkin

Chapter 1 - Web Server Management and Cluster Topology

High Availability Guide for Distributed Systems

JOB SCHEDULER. Managed Jobs. Technical Documentation March Job Automation

DS License Server. Installation and Configuration Guide. 3DEXPERIENCE R2014x

UserGuide ReflectionPKIServicesManager

Installation Guide. Sybase Control Center 3.2

Laptop Backup - Administrator Guide (Macintosh)

CA ARCserve Replication and High Availability

OMU350 Operations Manager 9.x on UNIX/Linux Advanced Administration

DS License Server V6R2013x

IBM Rational Web Developer for WebSphere Software Version 6.0

Oracle EXAM - 1Z Oracle Weblogic Server 11g: System Administration I. Buy Full Product.

24x7 Scheduler Multi-platform Edition 5.2

Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0

soliddb Fundamentals & Features Copyright 2013 UNICOM Global. All rights reserved.

Ahsay Replication Server v5.5. Administrator s Guide. Ahsay TM Online Backup - Development Department

Oracle Business Intelligence Publisher. 1 Oracle Business Intelligence Publisher Certification. Certification Information 10g Release 3 (

PUBLIC Installation: SAP Mobile Platform Server for Linux

TABLE OF CONTENTS OVERVIEW SYSTEM REQUIREMENTS - SAP FOR ORACLE IDATAAGENT GETTING STARTED - DEPLOYING ON WINDOWS

AXIOM 4 AXIOM SERVER GUIDE

Installation and Release Bulletin Replication Server Messaging Edition for Linux, Microsoft Windows, and UNIX

Siebel Installation Guide for Microsoft Windows. Siebel Innovation Pack 2013 Version 8.1/8.2, Rev. A April 2014

CA ARCserve Replication and High Availability

Automated Process Center Installation and Configuration Guide for UNIX

Open Source Job Scheduler

Guardium Change Auditing System (CAS)

ActiveXperts Network Monitor. White Paper

External Data Connector (EMC Networker)

WorkSite 8.5 imanage Certified Systems Engineer

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on Oracle WebLogic Server

DiskPulse DISK CHANGE MONITOR

Security Correlation Server Quick Installation Guide

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

CA Identity Manager. Installation Guide (WebLogic) r12.5 SP8

WS_FTP Professional 12 and WS_FTP Home 12. Getting Started Guide

FileMaker Server 15. Getting Started Guide

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Administration Guide

Identikey Server Windows Installation Guide 3.1

Extending Remote Desktop for Large Installations. Distributed Package Installs

Seamless Web Data Entry for SAS Applications D.J. Penix, Pinnacle Solutions, Indianapolis, IN

Installation Guide for contineo

VERITAS NetBackup 6.0 Database and Application Protection

Installation and Configuration Guide for Windows and Linux

Installation and Administration Guide

OnCommand Performance Manager 1.1

FileMaker Server 13. FileMaker Server Help

Click Studios. Passwordstate. Password Discovery, Reset and Validation. Requirements

FioranoMQ 9. High Availability Guide

IBM WebSphere Application Server Version 7.0

About This Document 3. Integration and Automation Capabilities 4. Command-Line Interface (CLI) 8. API RPC Protocol 9.

Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1

Release Bulletin Sybase ETL Small Business Edition 4.2

Veritas Cluster Server by Symantec

AutoMate BPA Server 10 Installation Guide

System requirements for MuseumPlus and emuseumplus

Installation and Configuration Guide for Windows and Linux

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Tivoli Endpoint Manager for Remote Control Version 8 Release 2. User s Guide

JobScheduler Web Services Executing JobScheduler commands

How To Install Powerpoint 6 On A Windows Server With A Powerpoint 2.5 (Powerpoint) And Powerpoint On A Microsoft Powerpoint 4.5 Powerpoint (Powerpoints) And A Powerpoints 2

VERITAS Cluster Server v2.0 Technical Overview

Configuration Management of Massively Scalable Systems

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities:

FileMaker Server 10 Help

Oracle Data Integrator integration with OBIEE

Informatica Data Replication FAQs

FileMaker Server 7. Administrator s Guide. For Windows and Mac OS

TABLE OF CONTENTS. Administration Guide - SAP for MAXDB idataagent. Page 1 of 89 OVERVIEW SYSTEM REQUIREMENTS - SAP FOR MAXDB IDATAAGENT

IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, Integration Guide IBM

XpoLog Competitive Comparison Sheet

Integrigy Corporate Overview

i2b2 Installation Guide

HP Process Automation v6 Architecture/Technologies

Installing The SysAidTM Server Locally

OpenPro ERP Software Installation Guide Talbert Ave Suite 200 Fountain Valley, CA USA Phone Fax

Transcription:

Open Source Scheduler Architecture and Mode of Operation http://jobscheduler.sourceforge.net

Contents Components Platforms & Databases Architecture Configuration Deployment Distributed Processing Security Failsafe Operation

Icons used on these pages Works with all s Works with all and Java DB Managed Managed s are stored in a database Any of your choice applicable Javascript is required for Ajax GUI database Works with all databases database Any database of your choice applicable

Components Run-time Components for Execution Engine & Operations GUI Backup Engine s and job chains are executed in the Scheduler Engine in batch mode The built-in Operations GUI is accessible for browsers and is used to control jobs and job chains, e.g. start, stop, suspend, resume, and to access log files Backup Scheduler instances are used for failsafe operation Failover is performed automatically Design-time Components for Configuration Hot Folders Editor GUI Managed s GUI Hot Folders store job configurations and are monitored by Scheduler for changes that are immediately detected and automatically applied by the respective Scheduler instance Define jobs and job chains with a client GUI (same functionality as Managed s GUI) Store job configurations in XML files on disk Manage job configurations with Hot Folders Define jobs and job chains by browser (same functionality as Editor GUI) Store job configurations in a database Submit jobs and job chains to one or more Scheduler instances

Platforms & Databases Supported Operating Systems Windows 2000, 2003, XP, Vista Linux starting with kernel 2.4 Solaris 8, 9, 10 HP-UX 11 (PA-RISC, IA-64) IBM AIX 5.3 Supported Databases DB2 8.x, 9.x Oracle 8.1.7, 9.x, 10.x SQL Server 2000, 2005 Sybase ASE 15 Firebird 1.5 MySQL 4.1, 5.x PostgreSQL 8.x

Architecture Single Server Operation Browser You can operate the Scheduler on a single server without a database. Access Operations GUI to control jobs If you want to operate Scheduler without a database, no additional software is required. Engine & Operations GUI Execute and control jobs and job chains Editor GUI Manage and configure jobs and job chains The implementation of the Scheduler includes a built-in Operations GUI. You can use the Editor GUI to configure jobs that are stored as XML files. Use of the. By the way! You can use editor of your choice to manage job configurations in XML files. Individual Application

Architecture Using a Database with regard to Compliance Browser Access Operations GUI to control jobs Editor GUI If you decide to use a database, then you can locate it on host and. Connectivity is established per JDBC. Engine & Operations GUI Execute jobs JDBC Connectivity Scheduler Database Store job history and log files Manage and configure jobs and job chains By the way! The advantage of using a database is that you keep track of the job history and log files for compliance of your IT processes. history and log files can be accessed directly by the Operations GUI per browser. dtabase

Architecture Accessing Comp Databases Comp Database Execute SQL and stored procedures dtabase If you want to use a database, you can use different products for your architecture. For example you could add a comp database for the execution of SQL statements and stored procedures by jobs. Engine & Operations GUI You can use a different database product for the job history and log files of Scheduler. Execute jobs JDBC Connectivity Scheduler Database Store job history and log files database

Configuration Using Hot Folders Engine & Operations GUI Execute jobs Editor GUI Store jobs and job chains Monitor Hot Folders and apply changes to jobs Hot Folders s and job chains are stored in XML files If you use Hot Folders then Scheduler will automatically monitor changes to the configuration. The Editor GUI enables you to manage configurations in Hot Folders on disk. The Scheduler monitors the Hot Folders constantly. Any changes are immediately detected. The requested changes are applied right away without the need for a restart of Scheduler. By the way! You could still use at time your favorite editor in order to configure jobs in Hot Folders.

Configuration Using Managed s GUI Browser Web Server PH PHP DB Extension Submit changes to jobs and job chains Managed s GUI Access Managed s GUI for configuration Store jobs and job chains Scheduler HotDatabase Folders database If you want to use the Managed s GUI with a web server, PHP and DB extension, you will require a database client to access the database. The Manged s GUI is operated with Apache or IIS. The s are stored in the Scheduler database. The Scheduler applies changes after submission by the Managed s GUI. Engine & Operations GUI Apply configuration on start-up By the way! LAMP or WAMP will facilitate this solution perfectly, configurations with PHP are easier to handle. Execute jobs

Deployment Hot Folders Deploy s and Chains by Hot Folders Workload Editor GUI Workload Store jobs and job chains Replicate jobs and job chains to multiple Workload Instances Hot Folders Supervisor & Operations GUI Monitor changes to jobs and job chains Scheduler Supervisor replicates job configurations from Hot Folders to the Workload Instances. Some jobs are deployed to all instances while other jobs are deployed to specific Workload Instances. Workload Instances connect on start-up to a Supervisor Instance and update their jobs and schedules. Workload instances can execute jobs independently of a Supervisor Instance. Workload Instances reconnect automatically to a Supervisor Instance after network outages. Workload

Deployment Deploy s and Chains by Managed s GUI Managed s GUI Manage jobs and job chains for multiple Scheduler instances s for multiple Scheduler instances are stored in a central database. With the Managed s GUI you can set up jobs and job chains and manage their configuration centrally. Engine DB Extension Engine Apply jobs and job chains from a central database Scheduler Database database By the way! This solution will be most suitable if you intend to operate an arbitrary number of Schedulers with a large number of jobs and job chains. Engine

Distributed Processing Remote Execution SSH Server Scheduler supports the execution of jobs via SSH on remote hosts. No SSH client is required. DB Extension Engine Execute jobs on a remote host that runs an SSH server Scheduler supports the execution of jobs on remote Scheduler instances. chains for execution of individual job steps on remote hosts are.. Execute jobs on a remote Scheduler instance Distribute a job chain to multiple Scheduler instances on different hosts Engine

Distributed Processing Load Balancing Network Storage For Load Balancing you can operate an arbitrary number of Schedulers in parallel. All Schedulers use the same job configurations and database. Engine Configuration DB Extension Fetch Enqueued Orders Store History Store Order History Configuration Fetch Enqueued Orders Store History Store Order History Engine configurations are loaded from a network storage, alternatively from a clustered database (Managed s). Schedulers concurrently execute jobs and job chains that are synchronized by a central database. By the way! Database Cluster database This solution fits well if you want to scale the same jobs for parallel processing on multiple hosts. Since you can process jobs parallely you can achieve high efficiency in your processing time.

Distributed Processing Event Processing Step 2 Workload Third Party Application Step 4 Workload Step 1 Start jobs/ job chains triggered by events Submit event: - via TCP/IP - via Shell Script Step 1 Submit event Step 4 Step 2 Hand over of an event to to the event handlers Supervisor & Operations GUI Cascaded event processing: - process stylesheets or - process scripts - per job, per event class Stylesheets/ Scripting Step 3 Receive XML answer for job starts from the event handlers Any jobs or Third Party Applications could submit events to the Supervisor Scheduler (step 1). The Supervisor hands over events to a cascade of event handlers that are implemented as XSLT stylesheets or scripts (step 2). Event handlers implement individual conditions for job starts and return the respective XML commands should a job or job chain be started (step 3). The Supervisor causes the respective jobs/ job chains to be started in the remote Workload instance (step 4). Workload Start job/ job chain.

Distributed Processing Event Processing: Submitting Events Third Party Application Step 1 Submit event: - via TCP/IP - via Shell Script Start a Shell Script:./jobscheduler_event.sh x $? -e daily_closing -j backup_database This script would create an event for the event class daily_closing and would transmit the exit code, job name and additional payload data to the Supervisor instance. Any jobs or Third Party Applications could submit events to the Supervisor Scheduler (step 1). Sending events can be implemented by use of a shell script that hands over job data and additional payload data to the Supervisor instance. Workload Step 1 Submit event Should the Supervisor not be accessible then events are stored locally and are dequeued later on by a job. In case of failure to access the Supervisor instance events are stored locally and are dequeued by a job on a regular basis. Start a Shell Script within a job: <job title= backup database > <script language= shell ><![CDATA[ Supervisor & Operations GUI../home/js/create_backups.sh./jobscheduler_event.sh x $? -e daily_closing -j backup_database ]]></script> </job>

Distributed Processing Event Processing: Cascading Event Handlers Sample stylesheet that checks successfully terminated jobs and starts a job if the respective conditions apply: <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:sos="http://www.sos-berlin.com" version="1.0"> <xsl:import href="scheduler_event_functions.xsl.inc"/> <xsl:output indent="yes"/> <xsl:template match="events[ (sos:d('0357export-exinanag') and sos:d('0357export-exinordi') and sos:d('0357export-exinrice') and sos:d('0357export-exinveas')) or sos:d('0357fgio-export_database') ]"> <xsl:call-template name="run_job"> <xsl:with-param name="job">sample_jobs/0357fgio- JEODF001</xsl:with-param> <xsl:with-param name="host">localhost</xsl:with-param> </xsl:call-template> <remove_event> <event event_class="jeodf001"/> </remove_event> </xsl:template> </xsl:stylesheet> Event handlers are stored on disk and are triggered according to a naming scheme: - process event handler for a given job chain - process event handler for a given job - process event handler for a given event class - process default event handler Step 2 Hand over of an event to to the event handlers Supervisor & Operations GUI Step 2 Cascaded event processing: - process stylesheets or - process scripts - per job, per event class Stylesheets/ Scripting Step 3 Event handlers return XML elements for Scheduler commands that would cause a job chain or a job to start as in: <start_job job= backup database /> <add_order job_chain="backup"/> Event handlers are used in order to implement individual conditions for job execution. They are implemented as XSL stylesheets or with JavaScript.. The Supervisor triggers event handlers according to the information given with the event. The more specific event handlers are triggerd first. Therefore a sequence of job chain, job, event class and finally the default event handler is triggered cascadingly.

Security Basic Authentication PHP If you want to apply an individual authentication, you can choose between Basic HTTP authentication and IP address authentication. Engine & Operations GUI If you use Basic HTTP authentication the user specific passwords are stored MD5 encrypted in the Scheduler configuration. In case you use IP address authentication a fixed address per client or network range is specified in the configuration. IP address authentication per client Browser Basic HTTP authentication per client However, this does not apply for the use of terminal servers that assign the same address and for use of HTTP proxies. By the way! If you have a network with dynamic IP assignment and lots of users then these authentication solutions would increase the required configuration efforts.

Security External Authentication Repository Access repository for user authentication PHP Engine & Operations GUI Forward access to the Operations GUI Engine & Operations GUI You can choose to use a web server as a proxy between the clients and the Scheduler instances. An arbitrary number of Schedulers is addressed by one web server. LDAP, PAM and subsequent mechanisms by Apache can be used for individual authentication. By the way! You could authenticate users against existing Unix accounts using passwd. Web Server Access Operations GUI Browser

Failsafe Operation Automatic Failover from Primary to Backup Schedulers Network Storage For automatic failover you have to set up one or more Backup Scheduler Instances. The Backup Instances use the same configuration and database as the Primary Scheduler Instance. Configuration Configuration configurations are loaded from a network storage, alternatively from a clustered database (Managed s). Primary Engine Send primary heartbeats Store History Store Order History Send backup heartbeats Check primary heartbeats Backup Engine The backup Schedulers constantly check if the Primary Scheduler is up and running and will assume control in case of failure of the primary instance. Database Cluster The Backup Schedulers will not execute jobs, unless the heartbeats of the Primary Scheduler instance fail to be detected.

Open Source Scheduler Let the rabbit do the job http://jobscheduler.sourceforge.net