Overview
The introduction of the JobScheduler Operating Center (JOC) Cockpit brings the following architecture: The Web Service can be addressed by any number of JOC Cockpit instances and by external programs such as ERP applications. Multiple instances of the JobScheduler Web Services can be linked up to form a cluster for high availability. (Feature introduced with Release 1.12.1.)
The diagram below provides a schematic view of a typical JobScheduler environment using the JOC Cockpit.
Additional features of this new architecture are:
- Authentication and Authorization: The Web Services use an LDAP Directory for authentication, authorization is carried out against role-based group permissions data held on the WebServices server. This means that user access to particular resources can be restricted.
- Multiple GUI instances: The JobScheduler Web Services can be accessed by more than one JOC Cockpit, so that, for example, an operator situated in a remote site can carry routine tasks at the same time as an administrator in the server room is configuring maintenance procedures.
- 3rd Party Applications: External applications such as ERP systems can also access the Web Services and, for example, start jobs when they provide the correct authentication and authorization.
- Multi-Client Capability: Any number of JobScheduler Masters can be controlled via the Web Services.
- Job Status and History: JobScheduler Masters record operational information in a database - this information can be called up from the JOC Cockpit via the Web Services.
- Security: The architecture restricts direct user access to the JOC Cockpit. Only the Web Service has access to the JobScheduler Masters themselves.
Technical Details
The diagram below shows the JobScheduler JOC Cockpit Architecture at a more technical level.
HTTP/HTTPS is used for communication between the RESTful Web Service and the JOC Cockpit - or other applications.
The Web Service uses JSON and XML based commands to communicate with the JobScheduler Masters. Events about object status changes are communicated between the JobScheduler Masters and the Web Service.
Communication between the JobScheduler Masters and Agents takes place using HTTP/HTTPS RESTful web service .
Communication between the REST Web Service and the JobScheduler database takes place using Hibernate.
Authentication and authorization is carried out by an Apache Shiro framework integrated into the Web Service:
- authentication is carried out against a local configuration or an LDAP directory
- authorization is carried out against role-based group permissions.