1/25
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New in This Guide
1
Introduction to Oracle Enterprise Scheduler
1.1
About Oracle Enterprise Scheduler
1.2
Oracle Enterprise Scheduler Overview for Application Developers
1.2.1
Introduction to Working with Oracle Enterprise Scheduler at Design-Time
1.2.2
Introduction to Working with Oracle Enterprise Scheduler at Runtime
1.2.3
Oracle Enterprise Scheduler Job Requests
1.2.4
Overview of Integration Steps
1.3
Fixed-Rate Scheduling with Oracle Enterprise Scheduler
2
Verifying the Oracle Enterprise Scheduler Installation
2.1
Introduction to Verifying the Oracle Enterprise Scheduler Installation
2.2
How to Verify the Oracle Enterprise Scheduler Installation Using a Browser
2.3
How to Programmatically Verify the Oracle Enterprise Scheduler Installation
2.4
What Happens When You Verify the Oracle Enterprise Scheduler Installation
2.5
What Happens at Runtime: How the Oracle Enterprise Scheduler Installation is Verified
3
Using Ant to Generate a Hosting Application
3.1
Introduction to Generating a Hosting Application with Ant
3.1.1
Prerequisites for Using the Ant Build Files
3.2
Ant Targets for Creating and Deploying a Hosting Application
3.3
Creating a Hosting Application and Project Workspace with Ant
3.4
Creating a Java Job as a Shared Library with Ant
3.5
Packaging a Java Job as a Shared Library with Ant
3.6
Deploying a Shared Library with Ant
3.7
Packaging a Hosting Application with Ant
3.8
Deploying a Hosting Application with Ant
3.9
Configuring the Generated Ant Targets
4
Using Oracle JDeveloper to Generate an Oracle Enterprise Scheduler Application
4.1
How to Start JDeveloper to Support Building Oracle Enterprise Scheduler Applications
4.2
Understanding Oracle Enterprise Scheduler Application Support Created by Oracle JDeveloper
4.3
Building a Combined Oracle Enterprise Scheduler Application
4.3.1
Creating the Application and Projects for EssDemoApp Application
4.3.1.1
How to Create the EssDemoApp Application and Host Project
4.3.1.2
How to Create the Client Project
4.3.2
Creating Metadata and an Implementation Class for the EssDemoApp Application
4.3.2.1
How to Create Metadata for the EssDemoApp Application
4.3.3
Adding Application Code to Submit Job Requests
4.3.3.1
How to Add Application Code to Submit Job Requests
4.3.4
Setting Oracle Enterprise Scheduler Properties
4.3.4.1
How to Set Oracle Enterprise Scheduler Properties for the Application
4.3.5
Assembling the EssDemoApp Application
4.3.5.1
How to Create the EJB-JAR Deployment Profile for the EssDemoApp
4.3.5.2
How To Update the WAR Archive Options
4.3.5.3
How to Update the EAR Options
4.3.6
Deploying and Running the EssDemoApp Application
4.3.6.1
How to Deploy the EssDemoApp Application
4.3.6.2
How to Run the EssDemoApp Sample Application
4.3.6.3
How to Purge Jobs in the EssDemoApp Sample Application
4.4
Building Split Submitting and Hosting Applications
4.4.1
How to Create the Back-End Hosting Application for EssDemoApp
4.4.1.1
Creating the Back-End Hosting Application
4.4.1.2
Configuring Security for the Back-End Hosting Application
4.4.1.3
Defining Metadata for the Back-End Hosting Application
4.4.1.4
Creating a Java Implementation Class in the Back-End Hosting Application
4.4.1.5
Setting Oracle Enterprise Scheduler Properties
4.4.1.6
Assembling the Back-End Hosting Application for Oracle Enterprise Scheduler
4.4.1.7
Deploying the Back-End Hosting Application
4.4.2
How to Create the Front-End Submitter Application for Oracle Enterprise Scheduler
4.4.2.1
Creating the Front-End Submitter Application
4.4.2.2
Creating the SuperWeb Project
4.4.2.3
Configuring Security for the Front-End Submitter Application
4.4.2.4
Creating the HTTP Servlet for the Front-End Submitter Application
4.4.2.5
Editing the web.xml File for the Front-End Submitter Application
4.4.2.6
Editing the weblogic-application.xml file for the Front-End Submitter Application
4.4.2.7
Editing the adf-config file for the Front-End Submitter Application
4.4.2.8
Assembling the Front-End Submitter Application for Oracle Enterprise Scheduler
4.4.2.9
Deploying the Front-End Submitter Application
4.4.2.10
Running the Split Application
5
Use Case Oracle Enterprise Scheduler Sample Application (Deprecated)
5.1
Introduction to the Oracle Enterprise Scheduler Sample Application
5.2
Creating the Application and Projects for the Sample Application
5.2.1
How to Create the EssDemoApp Application
5.2.2
How to Create a Project in the Sample Application
5.2.3
How to Set Project Properties for Oracle Enterprise Scheduler
5.3
Creating a Java Implementation Class for the Sample Application
5.3.1
How to Create a Java Class Using the Executable Interface
5.3.2
What Happens When You Create a Java Class That Implements the Executable Interface
5.3.3
What You Need to Know About the Executable Interface
5.4
Adding Application Code to Submit Oracle Enterprise Scheduler Job Requests
5.4.1
How to Add Required Libraries to Project
5.4.2
How to Create the EssDemo Servlet
5.5
Creating Metadata for Oracle Enterprise Scheduler Sample Application
5.5.1
How to Create a Job Type for Java
5.5.2
How to Create a Job Definition for Java
5.6
Assembling the Oracle Enterprise Scheduler Sample Application
5.6.1
How to Assemble the EJB Jar Files for Oracle Enterprise Scheduler Sample Application
5.6.2
How to Assemble the MAR File for User Metadata
5.6.3
How to Assemble the EAR File for Oracle Enterprise Scheduler Sample Application
5.6.4
Add oracle.ess Library Weblogic Application Descriptor
5.7
Deploying and Running the Oracle Enterprise Scheduler Sample Application
5.7.1
How to Deploy the EssDemoApp Application
5.7.2
How to Run the Oracle Enterprise Scheduler Sample Application
5.7.3
How to Purge Jobs in the Oracle Enterprise Scheduler Sample Application
5.8
Troubleshooting the Oracle Enterprise Scheduler Sample Application
5.8.1
How to Create the Oracle Enterprise Scheduler Database Schema
5.8.2
How to Drop the Oracle Enterprise Scheduler Runtime Schema
5.9
Using Submitting and Hosting Split Applications
5.9.1
How to Create the Back-End Hosting Application for Oracle Enterprise Scheduler
5.9.1.1
Creating the Back-End Hosting Application
5.9.1.2
Configuring Security for the Back-End Hosting Application
5.9.1.3
Defining the Deployment Descriptors for the Back-End Hosting Application
5.9.1.4
Creating a Java Implementation Class in the Back-End Hosting Application
5.9.1.5
Creating Metadata for the Back-End Hosting Application
5.9.1.6
Assembling the Back-End Hosting Application for Oracle Enterprise Scheduler
5.9.1.7
Deploying the Back-End Hosting Application
5.9.2
How to Create the Front-End Submitter Application for Oracle Enterprise Scheduler
5.9.2.1
Creating the Front-End Submitter Application
5.9.2.2
Configuring the ejb-jar.xml File for the Front-End Submitter Application
5.9.2.3
Creating the SuperWeb Project
5.9.2.4
Configuring Security for the Front-End Submitter Application
5.9.2.5
Creating the HTTP Servlet for the Front-End Submitter Application
5.9.2.6
Editing the web.xml File for the Front-End Submitter Application
5.9.2.7
Editing the weblogic-application.xml file for the Front-End Submitter Application
5.9.2.8
Editing the adf-config file for the Front-End Submitter Application
5.9.2.9
Assembling the Front-End Submitter Application for Oracle Enterprise Scheduler
5.9.2.10
Deploying the Back-End Hosting Application
6
Using the Metadata Service
6.1
Introduction to Using the Metadata Service
6.1.1
Introduction to Metadata Service Namespaces
6.1.2
Introduction to Metadata Service Operations
6.1.3
Introduction to Metadata Service Transactions
6.2
Accessing the Metadata Service
6.2.1
How to Access the Metadata Service with a Stateless Session EJB
6.3
Accessing the Metadata Service with Oracle JDeveloper
6.4
Querying Metadata Using the Metadata Service
6.4.1
How to Create a Filter
6.4.2
How to Query Metadata Objects
7
Using Parameters and System Properties
7.1
Introduction to Using Parameters and System Properties
7.1.1
What You Need to Know About Application Defined Property and System Property Naming
7.1.2
What You Need to Know About Parameter Conflict Resolution and Parameter Materialization
7.1.2.1
What You Need to Know About Job Definition Parameter Materialization
7.1.2.2
What You Need to Know About Job Set Level Parameter Materialization
7.2
Using Parameters with the Metadata Service
7.2.1
How to Use Parameters and System Properties in Metadata Objects
7.3
Using Parameters with the Runtime Service
7.3.1
How to Use Parameters with the Runtime Service
7.3.2
How to Use Parameters with a Step ID for Job Set Steps
7.4
Using System Properties
8
Creating and Using PL/SQL Jobs
8.1
Introduction to Using PL/SQL Stored Procedure Job Definitions
8.2
Creating a PL/SQL Stored Procedure for Oracle Enterprise Scheduler
8.2.1
How to Define a PL/SQL Stored Procedure with the Correct Signature
8.2.2
Handling Runtime Exceptions in an Oracle Enterprise Scheduler PL/SQL Stored Procedure
8.2.3
How to Access Job Request Information In PL/SQL Stored Procedures
8.2.4
What You Need to Know When You Define a PL/SQL Stored Procedure
8.3
Performing Oracle Database Tasks for PL/SQL Stored Procedures
8.3.1
How to Grant PL/SQL Stored Procedure Permissions
8.3.2
What You Need to Know About Granting PL/SQL Stored Procedure Permissions
8.4
Creating and Storing Job Definitions for PL/SQL Job Types
8.4.1
How to Create a PL/SQL Job Type
8.4.2
How to Create and Store a Job Definition for PL/SQL Job Type
8.4.3
Using a PL/SQL Stored Procedure with an Oracle Enterprise Scheduler Application
9
Creating and Using Process Jobs
9.1
Introduction to Creating Process Job Definitions
9.2
Creating and Storing Job Definitions for Process Job Types
9.2.1
How to Create and Store a Process Job Type
9.2.2
How to Create and Store a Process Type Job Definition
9.3
Using a Perl Agent Handler for Process Jobs
10
Defining and Using Schedules
10.1
Introduction to Schedules
10.2
Defining a Recurrence
10.2.1
How to Define a Recurrence with a Recurrence Fields Helper
10.2.2
How to Define a Recurrence with an iCalendar RFC 2445 Specification
10.2.3
What You Need to Know When You Use a Recurrence Fields Helper
10.2.4
What You Need to Know When You Use an iCalendar Expression
10.3
Defining an Explicit Date
10.3.1
How to Define an Explicit Date
10.3.2
What You Need to Know About Explicit Dates
10.4
Defining and Storing Exclusions
10.4.1
How to Define an Exclusion
10.4.2
How to Create an Exclusions Definition
10.5
Defining and Storing Schedules
10.5.1
How to Define and Store a Schedule
10.5.2
What Happens When You Define and Store a Schedule
10.5.3
What You Need to Know About Handling Time Zones with Schedules
10.6
Identifying Job Requests That Use a Particular Schedule
10.7
Updating and Deleting Schedules
11
Using the Oracle Enterprise Scheduler Web Service
11.1
Introduction to the Oracle Enterprise Scheduler Web Service
11.2
Developing and Using ESSWebservice Applications
11.2.1
How to Develop and Use an ESSWebservice Java EE Application
11.2.2
How to Develop and Use an ESSWebservice SOA Application with BPEL
11.2.3
Setting Web Service Addressing Headers for getCompletionStatus() Operation
11.2.4
Limitations for ESSWebservice
11.2.5
ESSWebservice Implementation
11.3
ESSWebservice WSDL File
11.4
Use Case Using Oracle Enterprise Scheduler ESSWebservice from a BPEL Process
11.5
Creating the ESSWebService Application and a SOA Project
11.5.1
How to Create the ESSWebService Application and Project
11.6
Creating the ESSWebService Reference
11.6.1
How to Add the ESSWebService Partner Link
11.7
Adding the BPEL Process to Call the ESSWebService
11.7.1
How to Add a BPEL Process to Call the ESSWebService
11.7.2
Copy Types Into BPEL Process Schema
11.7.3
How to Invoke the ESSWebService submitRequest Operation
11.7.4
Assign Required Input Parameters for Request Submission
11.7.5
Invoke the getCompletionStatus Operation
11.7.6
Assign Input to the getCompletionStatus Operation
11.7.7
Receive the Job Completion Status
11.7.8
Return Result to Client
11.8
Using Additional ESSWebService Operations
11.8.1
How to Invoke the ESSWebService submitRecurringRequest Operation
11.8.2
How to Invoke the ESSWebService setSubmitArgs Operation
11.8.3
How to Invoke the ESSWebService addPPActions Operation
11.8.4
How to Invoke the ESSWebService setStepsArgs Operation
11.9
Securing the Oracle Enterprise Scheduler Web Service
11.9.1
How to Secure the Oracle Enterprise Scheduler Web Service
11.9.2
What Happens When You Secure the Oracle Enterprise Scheduler Web Service
11.10
Deploying and Testing the Project
11.10.1
How to Test the Web Service
12
Defining and Using Job Sets
12.1
Introduction to Defining and Using Job Sets
12.2
Defining Job Sets
12.2.1
How to Define a Job Set
12.2.2
How to Define Serial Job Set Steps
12.2.3
How to Define Parallel Job Set Steps
12.2.4
What Happens When You Define a Job Set
12.2.5
What You Need to Know About Serial Job Sets
12.2.6
What You Need to Know About Job Set Application Defined Properties and System Properties
12.2.7
What Happens at Runtime for Job Set State Priorities and State Transitions
12.3
Cross Application Job Sets
12.3.1
Overview of Cross Application Job Sets
12.3.2
Requirements for Cross Application Job Sets
12.4
Using Input and Output Forwarding
12.4.1
Supporting Input and Output Forwarding in Job Sets
13
Defining and Using a Job Incompatibility
13.1
Introduction to Using a Job Incompatibility
13.1.1
Job Self Incompatibility
13.2
Defining Incompatibility with Oracle JDeveloper
13.2.1
How to Define a Global Incompatibility
13.2.2
How to Define a Domain Incompatibility
13.3
What Happens at Runtime to Handle Job Incompatibility
13.3.1
What Happens to Subrequests with an Incompatible Parent Request
13.3.2
What Happens to the Scope of Request Incompatibility
14
Using the Runtime Service
14.1
Introduction to the Runtime Service
14.2
Accessing the Runtime Service
14.2.1
How to Access the Runtime Service and Obtain a Runtime Service Handle
14.3
Submitting Job Requests
14.3.1
How to Submit a Request to the Runtime Service
14.3.2
What You Should Know About Default System Properties When You Submit a Request
14.3.3
What You Should Know About Metadata When You Submit a Request
14.4
Managing Job Requests
14.4.1
How to Get Job Request Information with getRequestDetail
14.4.2
How to Change Job Request State
14.4.3
How to Update Job Request Priority and Job Request Parameters
14.5
Querying Job Requests
14.6
Submitting Ad Hoc Job Requests
14.6.1
How to Create an Ad Hoc Request
14.6.2
What Happens When You Create an Ad Hoc Request
14.6.3
What You Need to Know About Ad Hoc Requests
14.7
Implementing Pre-Process and Post-Process Handlers
14.7.1
Implementing a Pre-Process Handler
14.7.1.1
Implementing the PreProcessHandler Interface
14.7.2
Implementing a Post-Process Handler
14.7.2.1
Implementing the PostProcessHandler Interface
15
Using Subrequests
15.1
Introduction to Using Subrequests
15.2
Sample Subrequest
15.3
Creating and Managing Subrequests
15.3.1
How to Submit Subrequests
15.3.2
How to Cancel Subrequests
15.3.3
How to Hold Subrequests
15.3.4
How to Delete Subrequests
15.3.5
How to Submit Multiple Subrequests
15.3.6
How to Manage Paused Subrequests
15.3.6.1
Indicating Paused Status
15.3.6.2
Storing the Paused State for a Parent Request
15.3.7
How Subrequests Are Processed
15.3.8
How to Identify Subrequests
15.3.9
How to Manage Subrequests and Incompatibility
15.4
Creating a Java Procedure that Submits a Subrequest
15.5
Creating a PL/SQL Procedure that Submits a Subrequest
16
Working with Asynchronous Java Jobs
16.1
Introduction to Working with Asynchronous Java Jobs
16.2
Creating an Asynchronous Java Job
16.2.1
Implementing the Asynchronous Java Job Asynchronous Interface
16.2.2
Asynchronous Java Job execute() Method
16.2.3
Invoking a Remote Job from an Asynchronous Java Job
16.2.4
Calling Back to Oracle Enterprise Scheduler with Status Updates
16.2.5
Updating the Asynchronous Java Job
16.2.6
Notifying Oracle Enterprise Scheduler When an Asynchronous Job Completes
16.2.6.1
Using the Web Service to Notify When an Asynchronous Job Completes
16.2.6.2
Using EJB to Notify When an Asynchronous Job Completes
16.2.7
Asynchronous Java Job AsyncCancellable Interface
16.2.8
Sample Asynchronous Java Job Invoking a BPEL Process Through Event Delivery Network
16.2.8.1
Sample BPEL Process Design Time with Oracle Enterprise Scheduler
16.3
A Use Case Illustrating the Implementation of a BPEL Process as an Asynchronous Job
16.3.1
Introduction to the Recommended Design Pattern
16.3.2
Potential Approaches
16.3.3
Use Case Summary
16.4
How to Implement BPEL with an Asynchronous Job
16.4.1
Use Case: Add Oracle JDeveloper Libraries
16.4.2
Use Case: Create the Asynchronous Job Definition
16.4.3
Use Case: Design the Event Payload Schema and Event Definition Files
16.4.4
Programmatically Raise a Business Event from the Asynchronous Job Methods
16.4.5
Design the SOA Composite with Meditator and BPEL
16.4.6
Add Fault Handling and Correlated onMessage Branch for Error and Cancel Job
16.4.6.1
Create Correlation Set and Define Initiate Activity
16.4.6.2
Create the onMessage Branch with Use of Correlation Set
16.4.6.3
Create the Fault Branch
16.4.6.4
Populate the onMessage and Fault Branch
16.4.7
Validating the Deployment
16.4.8
Troubleshooting the Use Case
16.5
Handling Time Outs and Recovery for Asynchronous Jobs
16.5.1
Asynchronous Request Time Outs
16.5.1.1
Setting the TIme Out Value
16.5.1.2
Discovering the Asynchronous Job Requests that Have Timed Out
16.5.1.3
Completing Asynchronous Requests without a Time Out
16.5.1.4
What Happens When an Asynchronous Job Request Times Out
16.5.2
Handling Asynchronous Jobs Marked for Manual Recovery
16.5.3
Using RecoverRequest to Manually Recover a Job Request
16.6
Oracle Enterprise Scheduler Interfaces and Classes
17
Creating Job Request Logs and Output
17.1
Creating Request Logs
17.1.1
System Properties
17.1.2
APIs for Handling Request Logs
17.1.3
Log Header
17.1.4
Creating Request Logs from a Java Job
17.1.4.1
APIs for Java Job Logging
17.1.4.2
Example
17.1.5
Creating Request Logs from a PL/SQL Job
17.1.5.1
ESS_JOB Package Support for Creating Logs
17.1.5.2
PL/SQL Request Logging Example
17.1.6
Creating Request Logs from a Process Job
17.2
Creating Request Output
17.2.1
Using the Request File Directory
17.2.1.1
Common Request File Directory Behavior
17.2.1.2
Shared Request File Directory Behavior
17.2.1.3
Local Request File Directory Behavior
17.2.2
System Properties
17.2.3
APIs for Handling Request Output
17.2.4
Creating Request Output from a Java Job
17.2.4.1
APIs for Handling Request Output from a Java Job
17.2.4.2
Example
17.2.5
Creating Request Output from a PL/SQL Job
17.2.5.1
PL/SQL Package Support for Creating Output
17.2.5.2
PL/SQL Output Creation Examples
17.2.6
Creating Request Output from a Process Job
18
Oracle Enterprise Scheduler Security
18.1
Introduction to Oracle Enterprise Scheduler Security
18.1.1
Oracle Enterprise Scheduler Metadata Access Control
18.1.2
Oracle Enterprise Scheduler Job Execution Security
18.2
Configuring Metadata Security for Oracle Enterprise Scheduler
18.2.1
How to Enable Application Security with Oracle ADF Security Wizard
18.2.2
How to Define Principals for Security
18.2.3
How to Create Grants with Oracle Enterprise Scheduler Metadata Pages
18.2.4
How to Create Grants with Oracle ADF Security Wizard
18.2.5
About MetadataPermission APIs
18.2.6
What Happens When You Configure Metadata Security
18.3
Configuring Web Service Security for Oracle Enterprise Scheduler
18.4
Configuring PL/SQL Job Security for Oracle Enterprise Scheduler
18.5
Elevating Privileges for Oracle Enterprise Scheduler Jobs
18.6
Configuring a Single Policy Stripe in Oracle Enterprise Scheduler
18.6.1
How to Configure a Single Policy Stripe in Oracle Enterprise Scheduler
18.6.2
What Happens When You Configure a Single Policy Stripe
18.6.3
What Happens at Runtime
Scripting on this page enhances content navigation, but does not change the content in any way.