Learn how to create a new application and SOA project and how to design a human task to send a vacation request to a manager for approval or rejection with the help of the tutorial.
The application developed in this tutorial is based on the following use-case:
an employee submits a vacation request
the manager approves or rejects the vacation request
the employee receives a notification that approves or rejects their request
The SOA composite application contains the following components:
A BPEL process
A human task, for approving a vacation request submitted by an employee
It also describes how to create an Oracle ADF-based task form that enables the end user to act upon the vacation request once the application is deployed and running. To create an Oracle ADF-based task form you must create a new application and a new project.
This tutorial guides you through the following tasks:
Using the
Using the Human Task Editor
Modeling a single approval workflow using Oracle BPEL Designer
Creating an Oracle ADF-based Oracle BPM Worklist
Using Oracle BPM Worklist to view and respond to the task
This tutorial makes the following assumptions:
Oracle SOA Suite is installed on a host on which the SOA Infrastructure is configured.
You are familiar with basic BPEL constructs, including BPEL activities and partner links, and basic XPath functions. Familiarity with the and Oracle BPEL Designer, the environment for designing and deploying BPEL processes, is also assumed.
Create a file named VacationRequest.xsd
with the following syntax. This file includes the schema for the vacation request and subsequent response.
<schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/VacationRequest" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="VacationRequestProcessRequest"> <complexType> <sequence> <element name="creator" type="string"/> <element name="fromDate" type="date"/> <element name="toDate" type="date"/> <element name="reason" type="string"/> </sequence> </complexType> </element> <element name="VacationRequestProcessResponse"> <complexType> <sequence> <element name="result" type="string"/> </sequence> </complexType> </element> </schema>
Note:
The VacationRequest.xsd
file is also available for download as part of tutorial workflow-100-VacationRequest. See Additional Tutorials for information on downloading this and other tutorials.
Learn how to create an application and a project with a BPEL process.
This tutorial makes the following assumptions:
Oracle SOA Suite is installed on a host on which the SOA Infrastructure is configured.
You are familiar with basic BPEL constructs, including BPEL activities and partner links, and basic XPath functions. Familiarity with the and Oracle BPEL Designer, the environment for designing and deploying BPEL processes, is also assumed.
Create a file named VacationRequest.xsd
with the following syntax. This file includes the schema for the vacation request and subsequent response.
<schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/VacationRequest" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="VacationRequestProcessRequest"> <complexType> <sequence> <element name="creator" type="string"/> <element name="fromDate" type="date"/> <element name="toDate" type="date"/> <element name="reason" type="string"/> </sequence> </complexType> </element> <element name="VacationRequestProcessResponse"> <complexType> <sequence> <element name="result" type="string"/> </sequence> </complexType> </element> </schema>
To create an application and a project with a BPEL process:
Learn to create the human task service component in which you design your human task.
To create the human task service component:
Learn how to associate your human task with the BPEL.
Associate your human task with the BPEL process you created in Creating an Application and a Project with a BPEL Process.
To associate the human task and BPEL process service component:
Learn to create a project for the task form. This is a separate project from the one in which you created the human task.
To create a task form project:
Learn to create a connection to the application server on which Oracle SOA Suite is installed and configured with the SOA Infrastructure. These instructions describe how to create a connection to Oracle WebLogic Server.
For information about creating a connection to other application servers such as IBM WebSphere Server, see .
To create an application server connection
Learn how to deploy to the application server on which you created the connection.
To deploy the SOA composite application
Learn how to initiate the process instance.
See Administering Oracle SOA Suite and Oracle Business Process Management Suite for instructions on accessing the Test Web Service page for initiating the process instance.
Learn how to act on the tasks in Oracle BPM Worklist.
To resolve the task in Oracle BPM Worklist:
In addition to the vacation request use case, other tutorials are available from the Oracle SOA Suite samples.
Table 31-2 provides an overview of some samples. All Oracle SOA Suite samples show the use of worklist applications and workflow notifications.
Table 31-2 End-to-End Examples
Sample | Description | Name |
---|---|---|
Demo Community Seed Application |
Performs demo community seeding. This is a prerequisite for all other workflow samples. |
workflow-001-DemoCommunitySeedApp |
Vacation Request |
Provides a sample in which a user submits a vacation request that gets assigned to their manager for approval or rejection. This sample also describes how to create Oracle ADF task forms for the vacation request to act on the task. |
workflow-100-VacationRequest |
Sales Quote Request |
Provides a complex workflow sample with chaining of multiple tasks. |
workflow-102-SalesQuote |
Contract Approval |
Provides a sample of approving a contract. This sample uses digital signatures for tasks. |
workflow-104-ContractApproval |
Iterative Design |
Provides a sample in which a workflow task can be passed multiple times between assignees during the design process. Advanced routing rules implement the routing behavior. |
workflow-106-IterativeDesign |
Workflow Customizations |
Demonstrates how to deploy customizations to workflow service APIs, such as custom resource strings for task attributes, view names, and so on. |
workflow-110-workflowCustomizations |
MLS Sample |
Demonstrates the setting up of a task with multiple translations for the task title. |
workflow-114-MLSSample |
Workflow Event Callback |
Demonstrates the use of the workflow event callback. Workflow events generated by task lifecycle events are consumed by an Oracle Mediator. |
workflow-116-WorkflowEventCallback |
User Config Data Migrator |
Moves user configurations (views, mapped attributes, and so on) from one instance to another through an intermediate export file. |
workflow-117-UserConfigDataMigrator |
Java Samples |
Provides an assortment of samples that use Java to interact with human workflow. |
workflow-118-JavaSamples |