Showing posts with label SOA Human. Show all posts
Showing posts with label SOA Human. Show all posts

Friday, 3 March 2017

Creating a simple BPM Manual Process (To be initiated by User through human Task)

A Manual Process in Oracle BPM Suite 12c is a process that the user starts through a Human Task.
In this post we will create a BPM Process to add employees through a Human Task and generate a XML file through File Adapter.

Create a new BPM Application, name it as BpmHelloWorldApp and click Finish.
Right-click the project name and choose New > BPMN 2.0 Process.
In the BPMN 2.0 Process Wizard, choose Manual Process, name it as AddEmployee and click Finish.

Our BPM application was created.
Before we start to model our process, we need to create a new user.
Start the WebLogic Server, go to Console and create the hrofficer user.

Create the Canonical Model.
Go back to JDeveloper, create a new file inside Schema folder and name it as Employee.xsd.
Copy the following code inside the file.
 <?xml version= '1.0' encoding= 'UTF-8'?>
<xsd:schema xmlns:xsd=""
  <xsd:element name="EmployeeRequest">
        <xsd:element name="FirstName" type="xsd:string"/>
<xsd:element name="LastName" type="xsd:string"/>
<xsd:element name="HireDate" type="xsd:date"/>
<xsd:element name="Email" type="xsd:string"/>

In the Applications window, select the AddEmployee file.
In the Structure window, right-click the Process Data Objects and choose New.
Name the new Data Object as employee and choose browse in the Type field.
In the Browse Types window, click the Business Object button.
In the Create Business Object window, set the Name as Employee and Destination Module as Data.
Mark the “Based on External Schema” option and click the Schema Browser button.
In the Type Chooser window, expand the Employee.xsd file and choose EmployeeRequest.

Click OK.

Click the Yes button to create Data Module.

In the Browse Types window, choose Employee and click OK twice. 

Open the Organization file.
Edit the “Role” role and change it name to HrOfficer.
In the Members section, click the browse button.
In the Identity Lookup window, choose your Application Server and click the Lookup button.
Select the hrofficer user and click the Select button to associate it to HrOfficer role.

Click the OK button to confirm the changes.

Create a Human Task to add employees.
Go to AddEmployee file and double-click the User Task component.
In the Basic tab, name it as AddEmployee.
In the Implementation tab, click the Add button near Human Task field to create a new Human Task, and name it as AddEmployeeHT.
Click the Add button near Parameters section to open the Browse Data Objects window.
Expand Process and Data Objects nodes and drag and drop the employee node inside Parameters section.
Mark the Editable option and click OK.

Click Data Associations link and navigate to Output tab, connect the employeeRequest and employee nodes and click OK twice.

Open the AddEmployeeHT.task file.
Click the Form button and choose Auto-Generate Task Form.
Name the project as AddEmployeeUI and click OK.

Now we have a Human Task to add employees!
Let’s add a File Adapter to save the employee’s information as an XML File.
Open the BpmProject file and add a File Adapter inside External Reference section.
Name it as SaveEmployee and click Next 3 times.

Choose Write File as Operation File and click Next. 

Specify the Directory for Outgoing Files and File Naming Convention, and click Next.

Click the Browse for schema file button, choose the EmployeeRequest node and click Next. 

Click Finish.
In the AddEmployee file, add a Service Activity between AddEmployee and End Activities.
In the Basic tab, name it as SaveEmployee.
In the Implementation tab, choose Service Call as Type and SaveEmployee as Service.
Click Data Associations link, connect the employee and employyRequest nodes and click OK.

Click OK again.

To deploy your BPM Project, right-click the project name and choose Deploy > BpmProject.
Don’t forget to check all TaskFlow Projects.

Click Deploy.

NOTE: If you are facing issue, while deploying, refer to my previous post for other ways of deployment.

If your application was deployed successfully, go to Business Process Workspace (http://<HOST>:<PORT>/bpm/workspace).
Log in as hrofficer user and add a new employee.

Go to Directory for Outgoing File you specified and open the XML file created. 

Friday, 24 February 2017

Human Task Implementation in Oracle SOA Suite - Part 2

This post is in continuation of my Part 1 of Human task implementation. You can read part 1 at below url :

So there are mainly 2 ways we can deploy Human task related artifacts to Application server.

1. Directly Deploying from Jdevloper.
2. Exporting project from Jdevloper, and Using EM console & Weblogic Console to deploy to Application server.

First, we will go with Directly Deploying from Jdevloper.

Now deploy the project along with the UI application created from Human task definition.
While deploying we will wizard as below where we need to specify the UI application info. Select the check boxes as below.

This is the only difference which we will be getting when compared with deploying SOA project without Human task

Second Approach, Exporting project from Jdevloper, and Using EM console & Weblogic Console to deploy to Application server.

1. Deploy your Human Task FORM UI as EAR file to local directory. PFA screens below. 
Please Note - Deploying it by Right Click on Project name will not create a EAR file, It will create a WAR file, which will give error while deploying.

2. Deploy your Human Task FORM UI as EAR file ( Generated in STEP 1) to Weblogic Console. PFA screens below.

Login to Weblogic console, Go to Deployments, Take Lock & Edit, Click on Install

Click on Upload your file in 12c servers (You need manually upload your file to server loaction in 11g Servers.)

Choose location, select UI EAR file

Once Uploaded, You will see this screen, Click on NEXT

Leave everything Default, Click on Next,

Select SOA manage Server

Leave everything Default, Click on Next

Leave everything Default, Click on FINISH

Activate The chnages,

Now, you need to Start the UI application deployed in previous step.
Go to Deployments, Select Control Tab

Select your UI Appliaction

Select Start--> Sevicing all request

Select YES to start.

3. Deploy your SOA Composite Project to JAR file on local directory. PFA screens below.

Do not select anything here, keep everything unselected,

4. Deploy your SOA Composite JAR file from local directory to EM Console. PFA screens below

Login to EM Console, Go to SOA-INFRA, Deploy composite

Select your Composite JAR file

Click Next

Review your Deployment,Click Next

Click on Deploy

Unit Testing

Go to deployed application and test it by giving the below details.

Click on the “Launch Flow Trace” to see the execution of the process.

You can notice that process is still running. This is because we have human activity as part of the process where human have take a action on the order

So Now logon to the worklist application using the below url

Login as user given in the Human task definition. Once you are logged in you can notice there list of request pending for logged-in user

Click on the request item. The details of the item will be displayed. Based on the outcome specified in the human task definition, it will creates the button for the human to take an action

Click “Reject” or “Approve”. Here will select “Approve”. Once human performs an action the item will be displayed from the list

Now go back to your process instance. You can notice that the process would be completed the execution

Here we are using browser as client to we can’t view the response data. But we can view what data the process has returned by clicking the process

You can notice that “Approve” case from the switch activity was executed because user has “Approved” the order request.

Based on the outcome we are returning “Approve” as the order status to the client as callback response