Introduction
SOA Suite 12c added a new component: Oracle Enterprise Scheduler Service (ESS). ESS provides the ability to run different job types distributed across the nodes in an Oracle WebLogic Server cluster. Oracle Enterprise Scheduler runs these jobs securely, with high availability and scalability, with load balancing and provides monitoring and management through Fusion Middleware Control. ESS was available as part of the Fusion Applications product offering. Now it is available in SOA Suite 12c. In this blog, I will demonstrate how to use a new Oracle extension, “Schedule Job”, in JDeveloper 12c to submit an ESS job request from a BPEL process.
Set up a scheduled job in Enterprise Scheduler Service
1. Create a SOA composite with a simple synchronous BPEL process, HelloWorld.
2. Deploy HelloWorld to Weblogic.
3. Logon to Fusion Middleware Enterprise Manager.
4. Go to Scheduling Services -> ESSAPP -> Job Metadata -> Job Definitions. This takes you to the Job Definitions page.
2. Deploy HelloWorld to Weblogic.
3. Logon to Fusion Middleware Enterprise Manager.
4. Go to Scheduling Services -> ESSAPP -> Job Metadata -> Job Definitions. This takes you to the Job Definitions page.
5. Click the “Create” button, this takes you to Create Job Definition page. Enter:
Name: HelloWorldJob
Display Name: Hello World Job
Description: Hello World Job
Job Type: SyncWebserviceJobType
Then click “Select Web Service…”. It pops up a window for the web service.
6. On the “Select Web Service” page, select Web Service Type, Port Type, Operation, and Payload. Click “Ok” to finish creating job definition.
Secure the Oracle Enterprise Scheduler Web Service
The ESS job cannot be run as an anonymous user, you need to attach a WSM security policy to the ESS Web Service:
1. In Fusion Middleware Enterprise Manager, go to Scheduling Services -> ESSAPP, right click, select “Web Services”.
2. In Web Service Details, click on the link “ScheduleServiceImplPort”.
3. Open tab “WSM Policies” and click on “Attach/Detach”.
4. In “Available Policies”, select “oracle/wss_username_token_service_policy”, click “Attach” button to attach the policy and then click on “Ok” to finish the policy attachment.
5. You should see the policy attached and enabled.
Create a SOA Composite to Submit a HelloWorldJob
1. Create a new SOA Application/Project with an asynchronous BPEL (2.0) process, InvokeEssJobDemo, in JDeveloper 12c.
2. Create a SOA_MDS connection.
3. Enter SOA MDS database connection and test connection successfully.
4. Add a Schedule Job from Oracle Extensions to InvokeEssJobDemo BPEL process.
5. Double click the newly added Schedule Job activity. This brings up the Edit Schedule Job window.
6. Enter Name “ScheduleJobHelloWorld”, then click “Select Job” button.
7. This brings up the Enterprise Scheduler Browser. Select the MDS Connection and navigate down the ESS Metadata to find and select “HelloWorldJob”.
8. To keep it simple, we did not create a job schedule. So there is no job schedule to choose. If you have job schedules defined and would like to use them, you can choose a Schedule from the MDS connections.
9. Set Start Time as current date time, and click OK.
10. You may see this pop up message.
11. Click “Yes” to continue. In the next several steps we will replace WSDL URL with concrete binding on the reference binding later to fix this.
12. In EM, go to Scheduling Services -> Web Services.
13. Click on link “SchedulerServiceImplPort”
14. Click on link “WSDL Document SchedulerServiceImplPort”.
15. It launches a new browser window displaying the ESSWebService wsdl. WSDL URL is in the browser address.
16. Update EssService WSDL URL.
17. You need to attach WSM security policy to EssService request.
18. Add Security Policy: oracle/wss_username_token_client_policy.
19. Setting up the credential store for policy framework is beyond the scope of this blog. We will use a short cut, the default weblogic user and password, as Binding Properties on the EssService reference binding to which the security policy is attached.
20. Build and deploy InvokeEssJobDemo.
21. Test InvokeEssJobDemo web service.
22. It should show that the web service invocation was successful.
23. Launch flow trace. We can see that Job 601 was successfully submitted.
24. Go ESSAPP -> Job Requests -> Search Job Requests. Find Job 601. Job was executed successfully.
Actual document URL:
http://www.ateam-oracle.com/submitting-ess-job-from-bpel-in-soa-12c/
Thanks a lot for sharing a great blog with a lot of information about ORACLE keep going on it helped me a lot I have gained a lot of knowledge by reading your blog.
ReplyDeleteThanks 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 SOA Interview Questions and Answers
ReplyDelete. Actually, I was looking for the same information on internet for
Oracle SOA Training 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 SOA Tutorial also.
I really liked your blog post.Much thanks again. Awesome.
ReplyDeleteOracle Online Training
Oracle SOA Online Training Hyderabad
Thank you for introducing this tool. keep it updated.
ReplyDeleteSOA Training
Oracle SOA Training