Open Source Job Scheduler
Encyclopedia
The Open Source Job Scheduler is an open source
computer application for enterprise level job scheduling used for process automation. Job Scheduler is used to launch executable files and shell scripts and to run database procedures
automatically.
Jobs are configurable as Web services providing interoperability with enterprise applications. It stores all information in a backend database system running on either MySQL
, PostgreSQL
, Firebird
, SQL Server
, Oracle
, DB2
or Adaptive Server Enterprise
.
The Job Scheduler can be controlled by the built-in web server's graphical user interface.
The Job Scheduler uses an XML file for the configuration of executable files or shell scripts and to set the timing and frequency of job starts.
. Standard jobs for distribution are implemented with Java %28programming language%29.
The Open Source Job Scheduler is customized according to specific business requirements. Enterprise level support is available.
Database Management Systems:
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
computer application for enterprise level job scheduling used for process automation. Job Scheduler is used to launch executable files and shell scripts and to run database procedures
Stored procedure
A stored procedure is a subroutine available to applications that access a relational database system. A stored procedure is actually stored in the database data dictionary.Typical uses for stored procedures include data validation or access control mechanisms...
automatically.
Jobs are configurable as Web services providing interoperability with enterprise applications. It stores all information in a backend database system running on either MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
, PostgreSQL
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...
, Firebird
Firebird (database server)
Firebird is an open source SQL relational database management system that runs on Linux, Windows, and a variety of Unix. The database forked from Borland's open source edition of InterBase in 2000, but since Firebird 1.5 the code has been largely rewritten ....
, SQL Server
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...
, Oracle
Oracle Database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
, DB2
IBM DB2
The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...
or Adaptive Server Enterprise
Adaptive Server Enterprise
Adaptive Server Enterprise is Sybase Corporation's flagship enterprise-class relational model database server product. ASE is predominantly used on the Unix platform but is also available for Windows.-History:...
.
Key Functionality
- Launch executable files, shell scripts and database proceduresStored procedureA stored procedure is a subroutine available to applications that access a relational database system. A stored procedure is actually stored in the database data dictionary.Typical uses for stored procedures include data validation or access control mechanisms...
automatically - Trigger events for job starts such as calendar events, monitoring of incoming files and API events initiated by external applications
- Configure jobs as Web Services to provide interoperability with SOA architecturesService-oriented architectureIn software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...
(BPEL)
Mode of Operation
- Used for batch scheduling, the Job Scheduler runs as Unix daemon or Windows ServiceWindows ServiceOn Microsoft Windows operating systems, a Windows service is a long-running executable that performs specific functions and which is designed not to require user intervention. Windows services can be configured to start when the operating system is booted and run in the background as long as...
in the background - Job control is carried out by command line or by a built-in graphical user interfaceGuiGui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
- A graphical XML editorXML editorAn XML editor is a markup language editor with added functionality to facilitate the editing of XML. This can be done using a plain text editor, with all the code visible, but XML editors have added facilities like tag completion and menus and buttons for tasks that are common in XML editing, based...
for job configuration and a web GUIGuiGui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
for job management are available
The Job Scheduler can be controlled by the built-in web server's graphical user interface.
The Job Scheduler uses an XML file for the configuration of executable files or shell scripts and to set the timing and frequency of job starts.
Job Execution
- Jobs are the basic unit for the processing of executable files, shell scripts, stored procedures and of job implementations based on the Job Scheduler API.
- Jobs can be executed independently from one another. Depending on the execution result (i.e. exit statusExit statusThe exit status or return code of a process in computer programming is a small number passed from a child process to a parent process when it has finished executing a specific procedure or delegated task...
signalling success, failure or a specific exit code) of a job any number of successor jobs can be started. - Jobs can be executed in parallel up to a configurable number of simultaneous tasksTask (computers)A task is an execution path through address space. In other words, a set of program instructions that are loaded in memory. The address registers have been loaded with the initial address of the program. At the next clock cycle, the CPU will start execution, in accord with the program. The sense is...
. - Job chains can be seen as an assembly line on which multiple job nodes are passed. Therefore, each job comprises exactly one step in the processing of a job chain. Job dependencies based on execution results of the respective job nodes can be configured for a job chain.
- Monitoring of directories can trigger job starts, this allows the integration of legacy applications into the business workflow as file transferFile transferFile transfer is a generic term for the act of transmitting files over a computer network or the Internet. There are numerous ways and protocols to transfer files over a network. Computers which provide a file transfer service are often called file servers. Depending on the client's perspective the...
is a widespread means to integrate applications. - Job starts triggered by built-in calendar, by command line or by web interface.
- Other applications can start jobs or otherwise control the Job Scheduler via API’s.
Key Features
The Job Scheduler is delivered with a range of standard features, e.g.:- Job activities can be limited to timeslots. The Job Scheduler supports any number of timeslots, which can be configured according to individual job requirements.
- The Job Scheduler allows the assignment of job priorities.
- Job history protocols are optionally stored in a database.
- The locking feature prevents two jobs accessing the same resource, e.g. a file or database, at the same time. In other words, only one process at a time can receive the exclusive right to access the resource as long as the lock is active.
- Standard job packages e.g. for log rotation and cleanup, sanity checking, job execution by remote Job Schedulers, FTP file transfer.
- Notifications for job execution results per e-mail, configurable logging and monitoring of logs.
- API to implement jobs and job scripts, e.g. for complex conditional processing.
- Different graphical user interfaces: A built-in interface for job control and a GUIGuiGui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
for managing configurations for several Job Schedulers on different server systems.
Additional Features
- High-availability Cluster: A Job Scheduler backup cluster ensures fail-safe operation with automatic fail-over. A fail-safe system consists of a primary Job Scheduler and at least one backup, with both these Job Schedulers running on different computers.
- Load balancing: For a high volume of data with time consuming processing, using multiple Job Schedulers will speed up the processing time considerably, and provide higher availability. In load balancing mode, the processing tasks are shared between multiple Job Schedulers that are handling distributed orders on more than one host.
- Solution stacksSolution stackIn computing, a solution stack is a set of software subsystems or components needed to deliver a fully functional solution, e.g. a product or service....
are implementations with third party Open SourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
components that are available for:- Network Monitors such as NagiosNagiosNagios is a popular open source computer system and network monitoring software application. It watches hosts and services, alerting users when things go wrong and again when they get better....
- Reporting tools such as JasperReportsJasperReportsTeodor Danciu began work on JasperReports in June 2001, the sf.net project was registered in September 2001 and JasperReports 0.1.5 was released on November 3, 2001.JasperReports Version 1.0 was released on July 21, 2005....
- Secure ShellSecure ShellSecure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...
remote execution, SCPSecure copySecure Copy or SCP is a means of securely transferring computer files between a local and a remote host or between two remote hosts. It is based on the Secure Shell protocol....
Secure Copy and SFTPSSH file transfer protocolIn computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management functionality over any reliable data stream...
Secure file transfer.
- Network Monitors such as Nagios
Implementation
The Job Scheduler is written in C++C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
. Standard jobs for distribution are implemented with Java %28programming language%29.
The Open Source Job Scheduler is customized according to specific business requirements. Enterprise level support is available.
Supported Platforms
Operating Systems:- WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
2000/2003/2008/XP/Vista - LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
starting with kernel 2.4 - Solaris 8/9/10 (SPARCSPARCSPARC is a RISC instruction set architecture developed by Sun Microsystems and introduced in mid-1987....
, x86) - HP-UXHP-UXHP-UX is Hewlett-Packard's proprietary implementation of the Unix operating system, based on UNIX System V and first released in 1984...
11 (PA-RISCPA-RISCPA-RISC is an instruction set architecture developed by Hewlett-Packard. As the name implies, it is a reduced instruction set computer architecture, where the PA stands for Precision Architecture...
, IA-64) - AIX 5.3
Database Management Systems:
- OracleOracle DatabaseThe Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
8.1.7, 9.2, 10g, 11g - SQL ServerMicrosoft SQL ServerMicrosoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...
2000, 2005, 2008 - DB2IBM DB2The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...
8.x - Adaptive Server EnterpriseAdaptive Server EnterpriseAdaptive Server Enterprise is Sybase Corporation's flagship enterprise-class relational model database server product. ASE is predominantly used on the Unix platform but is also available for Windows.-History:...
ASE 15 - MySQLMySQLMySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
version 4.1, 5.x - PostgreSQLPostgreSQLPostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...
8.x - FirebirdFirebird (database server)Firebird is an open source SQL relational database management system that runs on Linux, Windows, and a variety of Unix. The database forked from Borland's open source edition of InterBase in 2000, but since Firebird 1.5 the code has been largely rewritten ....
1.5
External links
- Project web site
- Software- und Organisations-Service GmbH company web site, located in BerlinBerlinBerlin is the capital city of Germany and is one of the 16 states of Germany. With a population of 3.45 million people, Berlin is Germany's largest city. It is the second most populous city proper and the seventh most populous urban area in the European Union...
, GermanyGermanyGermany , officially the Federal Republic of Germany , is a federal parliamentary republic in Europe. The country consists of 16 states while the capital and largest city is Berlin. Germany covers an area of 357,021 km2 and has a largely temperate seasonal climate...