JobServer
JobServer is a Java-based job scheduler that started out as a simple automation engine for executing batch scripts. It supported a simple task processing oriented developer API called TaskBeans[1] based on the Echo web application framework.[lower-alpha 1] JobServer gradually evolved from there and now has features that include:
- Distributed job processing and scheduling.
- Support for complex scheduling rules and repeating time patterns.
- All web based interface with command line interface and web services API.
- Jobs are composed of modular Tasklets in a job chain using open source developer API.[2]
- Multi-level notifications and alerts.
- Support for real-time and historical tracking of job runs.
- Audit trail for accountability.
- Manage roles and rights.
Developer(s) | Grand Logic |
---|---|
Stable release | 3.6.8
/ October 30, 2013 |
Written in | Java |
Operating system | Cross-platform |
Type | Workflow Automation |
Website | JobServer |
There is a basic version of JobServer and more advanced version that connects to wider array of databases.[3]
Open source developer API
JobServer supports the soafaces developer API for modeling, configuring and deploying jobs.[lower-alpha 2] Jobs are composed of Tasklets and Weblets. Tasklets implement the backend processing of a job and Weblets implement the optional GUI customization for a job. A job can be composed of one or more Tasklets in a workflow chain. The GUI developer Weblet API, within soafaces, depends on GWT to support front-end HTML web application development.[lower-alpha 3] See Weblets implement a unique features with GWT, by supporting dynamic GWT compiling of java source code into javascript, similar to how JSPs are compiled into Java.[4]
Distributed Agents
Distributed job processing in JobServer is enabled using an agent model where remote nodes communicate with a central pair (primary/secondary) of master nodes. The master nodes are responsible for the job scheduling and distribute the job processing across a cluster of agent nodes.
Mesos clustering
Mesos is a cluster management platform that manages distributed hardware resources into a single pool of resources that can be used by application frameworks to efficiently manage workload distribution for both batch jobs and long-running services.[5] JobServer functions as a Mesos application framework to distribute jobs on a cluster of servers. JobServer integrates with Mesos by sending jobs to Mesos for execution and for efficient resource allocation.[6]
Hadoop and SOA integration
JobServer supports some connectivity with Hadoop and can be used as a way of launching and monitoring Hadoop job processing activity. JobServer also includes support for the open source community distribution of Mule which can allow jobs and tasks to work with ESB and SOA platforms such as Mule.[7]
Requirements
JobServer is known to run on most flavors of Unix, Linux, MacOS X and Windows and requires Java 6 or higher.
References
- "TaskBean Component Framework". SourceForge.
- "SOAFaces Open Source Project". Google Code.
- "Java Job Scheduler". TheServerSide.
- "Building and Extending SOA-Powered Tasklets with JobServer". JAXenter.
- "JobServer Support for Mesos". Twitter.
- "Mesos Frameworks". Apache Foundation. Archived from the original on 2014-05-09. Retrieved 2014-05-13.
- "Big Data Job Scheduling". TheServerSide.