Oracle Enterprise Scheduler Concepts

In order to configure an Oracle Enterprise Scheduler environment, it helps to understand concepts such as the architecture of Oracle Enterprise Scheduler, its components and life cycle.

This section includes the following topics:

Oracle Enterprise Scheduler Architecture

Oracle Enterprise Scheduler is installed to an Oracle WebLogic Server instance, on which it runs. The Oracle Enterprise Scheduler service component sits on top of Oracle JRF and is secured by Oracle Web Services Manager. Oracle Enterprise Scheduler manages scheduled job submissions and job definitions.

Figure A-1 shows the Oracle Enterprise Scheduler runtime architecture in the context of Oracle Fusion Middleware components.

Figure A-1 Oracle Enterprise Scheduler Runtime Architecture

Description of Figure A-1 follows
Description of "Figure A-1 Oracle Enterprise Scheduler Runtime Architecture"

The components of the Oracle Enterprise Scheduler runtime architecture are as follows:

  • Oracle Enterprise Scheduler client applications: Various applications can request the execution of a scheduled job. Applications include Oracle Fusion applications, Web service clients such as SOA or Oracle ADF Business Components and PL/SQL applications.

  • Oracle Enterprise Scheduler: Fusion Middleware Control enables you to manage Oracle Enterprise Scheduler clusters, services and jobs. Oracle Enterprise Scheduler accesses metadata using MDS. Scheduled job output is saved to Oracle WebCenter Content. Oracle Enterprise Scheduler includes interfaces and APIs that enable interaction with applications and external components. For example, a PL/SQL client uses the Oracle Enterprise Scheduler PL/SQL API to request a scheduled job.

  • Components accessed by Oracle Enterprise Scheduler: Oracle Enterprise Scheduler supports creating Java jobs that access SOA components, Oracle ADF Business Components services, and Oracle Business Intelligence Publisher (there is no direct support for jobs specific to these components).

Client applications accessing EJBs connect to Oracle Enterprise Scheduler over RMI, whereas client applications using Oracle Enterprise Scheduler web services use HTTP. Connections from client applications to the server are persistent, short-lived asynchronous interactions that sometimes use callback functions.

Oracle Enterprise Scheduler Components

Oracle Enterprise Scheduler components are as follows:

  • Oracle ADF Server (Oracle Enterprise Scheduler client): RuntimeServiceEJB and MetadataServiceEJB are deployed as shared libraries. These libraries are imported in the ADF client applications (ears).

  • Oracle Enterprise Scheduler Server (Oracle Enterprise Scheduler Runtime): The Oracle Enterprise Scheduler service component manages all scheduled jobs.

  • Core runtime: This is an Oracle Enterprise Scheduler application EAR file which contains a JCA resource adapter, multiple EJB components and JRF web service modules (WAR files).

  • Hosting applications: A hosting application is an EAR file that imports the ESSEndpointMDB, RuntimeServiceEJB and MetadataServiceEJB shared libraries. An Oracle Enterprise Scheduler hosting application submits job requests using the Oracle Enterprise Scheduler libraries or an integrated job request submission interface.

  • Oracle Database Scheduler: The standard Oracle Database Scheduler is used to execute Oracle Enterprise Scheduler PL/SQL jobs.

  • Oracle Enterprise Scheduler uses Java process APIs to spawn native binary jobs.

Oracle Enterprise Scheduler relies on the following data sources:

  • Oracle Enterprise Scheduler runtime (XA emulation)

  • Oracle Enterprise Scheduler runtime (non-XA)

  • Oracle Enterprise Scheduler Metadata Store (non-XA)

An XA transaction, in the most general terms, is a global transaction that may span multiple resources. A non-XA transaction always involves just one resource, and generally cannot participate in a global transaction.

External dependencies include a run-time database, an MDS repository, as well as Oracle SOA Suite, Oracle ADF Business Components, Oracle BI Presentation Services, Oracle WebCenter Content and so on, depending on the components involved in implementing a given job.

Oracle Enterprise Scheduler Life Cycle

The Oracle Enterprise Scheduler engine starts up as part of the standard J2EE application initialization by Oracle WebLogic Server. The Oracle Enterprise Scheduler JCA adapter connects to the run-time schema and polls for scheduled work items.

The following is the sequence of the execution of a client request in Oracle Enterprise Scheduler.

  1. A client application submits a job request.
  2. Oracle Enterprise Scheduler reads the metadata for the job request.
  3. Oracle Enterprise Scheduler places the job request and the job metadata in a queue in the Oracle Enterprise Scheduler run-time data store.
  4. Based on schedule and request processor availability, Oracle Enterprise Scheduler sends a message to the hosted application, which includes all the job request parameters and metadata captured at the time of submission.
  5. The hosting application executes the job and returns a status. Job output and logs are written to Oracle WebCenter Content.
  6. Oracle Enterprise Scheduler updates the history with the job request status.

Figure A-2 shows the changes in job state during the life cycle of an executed job request.

Figure A-2 Job Request Changes in State During Runtime

Description of Figure A-2 follows
Description of "Figure A-2 Job Request Changes in State During Runtime"

Figure A-3 displays the changes in state for an executable job request for which the executing user has canceled the request.

Figure A-3 Changes in Job State Following Cancellation

Description of Figure A-3 follows
Description of "Figure A-3 Changes in Job State Following Cancellation"

Figure A-4 displays state transitions for a job request submitted with a schedule.

Figure A-4 State Transitions for a Job Request Submitted with a Schedule

Description of Figure A-4 follows
Description of "Figure A-4 State Transitions for a Job Request Submitted with a Schedule"

Oracle Enterprise Scheduler Life Cycle Tools

As Oracle Enterprise Scheduler runs on an Oracle WebLogic Server instance, you can manage Oracle Enterprise Scheduler using Oracle Fusion Middleware Node Manager for SOA.

Oracle Enterprise Scheduler jobs can be hosted on the same Oracle WebLogic Server instance (or a remote Oracle WebLogic Server instance), database and binary processes. Oracle Enterprise Scheduler controls the life cycle of Oracle Enterprise Scheduler jobs. Use Oracle Enterprise Manager to monitor and manage Oracle Enterprise Scheduler jobs. For more information about managing Oracle Enterprise Scheduler jobs, see Managing Oracle Enterprise Scheduler Requests.

For more information about Oracle Fusion Middleware Node Manager, see the chapter “Using Node Manager" in Oracle Fusion Middleware Node Manager Administrator's Guide for Oracle WebLogic Server.