Wednesday 11 October 2017

SOA 12c ESS : Oracle Enterprise Scheduler Service - Creating Job definition & Schedules

Part of SOA Suite 12c, Oracle Enterprise Scheduler is primarily a Java EE application that provides time and schedule based callbacks to other applications to run their jobs.
Oracle Enterprise Scheduler applications define jobs and specify when those jobs need to be executed, and Oracle Enterprise Scheduler gives these applications a callback when that time or when a particular event arrives.

Oracle Scheduler (ESS) is not part of your development activities. It is more considered a runtime configuration. This basically means that at runtime you can decide to create new jobs and apply scheduling configuration.

In this post we will learn how to schedule a web-service using ESS which broadly this requires 3 steps:
1. Create Job Definition
2. Define a Schedule
3. Submit a Job request

We will also learn how to Cancel Job requests.

Lets Start by creating a Job Definition.

1. Take the WSDL URL of your service, SOA(from EM) or OSB(from sbconsole)
2. Login to EM  console
3. In the left-pane, Topology Navigator,  navigate to ESSAPP under Scheduling Services



4. Right click on ESSAPP > Job Metadata > Job Definition






















5. Select Create

 

6. On the Create Definition screen, fill the below fields and leave rest as default.

Name: HelloWorldJob
Display Name:  HelloWorldJob
Package: soa [you can leave blank or put soa, osb, etc to logically group your jobs]
Description: HelloWorld Job
Job Type: OnewayWebserviceJobType [you can select the job type based on your WSDL's Message Exchange Pattern; sync, asysnc, oneway]

 

7. Click on the 'Select Web Service..' button
     a. Paste the WSDL URL
     b. Select Web Service Type : SOA [if OSB service you can select Service Bus] 
     c. Click on Go


    



      

d. Select the Service, Port Type, Operation and provide your dummy Input.













e. Click on OK.

All WSDL and payload information is displayed as a set of system properties in the definition like below:




8. Click on OK [top-right corner of page] to create the Job Definition.


Now we will create a Job Schedule and Submit Job Request

1. Navigate to  ESSAPP > Job Requests >Submit Job Request



2.  Click the search icon for Job Definition and select the Job definition created above and click OK.

 


3. On the right-hand select radio 'Specify schedule'

 

4. Click on OK to create schedule and submit Job.

Now we will Search Job Request that we created and scheduled above.

1. Navigate to ESSAPP > Job Requests > Search Job Requests 

 


2. Click on Search. It will list all the job requests.

Note : In the list you will see 2 things:
 a. RequestID with row values n/a - this is the parent job id
 b. RequestIDs with Parent ID as the above - these are the schedule requests

Parent IDs are in wait state until the schedule is complete or cancelled.
Request IDs will be in wait sate till the scheduled execution time, then change to either Succeeded or Error.

3. You can go to the composite Flow Instances, you will see the completed flows.

If you want to Cancel the Job Request, here is what you should do.

1. Navigate to ESSAPP > Job Requests > Search Job Requests
2. Click on Search
3. In the list navigate to the Parent ID (will have n/a for values and WAIT state)
4. Click on the Request ID hyperlink, 
5. Right side of page click on Action and Cancel.
6. On the Search page you will see that the parent and pending jobs are cancelled. 

Helpful? Please Comment.

Happy Learning!! 

1 comment:

  1. Thanks for sharing this great information I am impressed by the information that you have on this blog. Same as your blog i found another one Oracle Fusion Financials . Actually, I was looking for the same information on internet for
    Oracle Fusion Manufacturing and came across your blog. I am impressed by the information that you have on this blog. It shows how well you understand this subject, you can learn more about Oracle Fusion Supply Chain Management Cloud .

    ReplyDelete

OSB 12c : Dynamic Routing to Business/Proxy Service

Dynamic routing is a kind of  Content-based Routing pattern, which is used when the BusinessService/ProxyService path is required to be de...