Thursday 10 November 2011

Simple BPM Task Initiator

Prerequisites :
JDeveloper version Studio Edition Version 11.1.1.4.0
Build JDEVADF_11.1.1.4.0_GENERIC_101227.1736.5923
SOA BPM Extensions installed
SOA Suite 11g installed ( with BPM and BAM if required)
Use case : lets begin doing simple things , A Student submits application form for College admission , the form takes couple of user inputs like student name, his percentage etc, Executes Business Rules and Grants Student Admission
Stage 1: BPM Task Initiator for student to submit his application, which will be later used for approval by the management, Lets keep business rules out of scope for this current stage
So how do we go about building this
  1. Create Schema based on use case , ensure that Schema is finalized as its not advisable to change the schema later on
  2. Create BPM Application Project, Org structure , Roles and Users.
  3. Create , Business Objects and Process Data Objects
  4. Wire Data flow using Data Association
  5. Submit form by filling in Student Data
  6. View the Enterprise Manager for Process Execution

Create BPM Project

Open JDeveloper, Create New Application -> Select BPM Application Template, Give Project Name, Select Composite with BPMN Process, follow the screens below




Setting up Process and Business Rule  Schema

As our use case needs student to submit online application form to get admission , he needs to submit the following information online


Create StudentRuleData.xsd , this XSD is created to pass input and get output from Business Rules

AdmissionProcess.xsd holds data that student submits as input, like first name, last name, age, percentage, reservation category, parents annual income
OK. for those of you who dont know whats Reservation Category , professional education in India has many groups like SC, ST, OBC, GEN = General Merit etc, students belonging to different groups have different cut off percentages which are needed to get admission into professional colleges, why i am using this in this example is interesting these would be later on used to set business rules for student admission

BMP Process, Org Roles and Users

In BPM we need to create Organizational Roles and Users, for this you need to go to “BPM Project Navigator” tab next to “Application Navigator”
Role -> Student -> User -> jcooper
Role -> Admin Officer -> User -> jstein
Role -> School Management -> User -> wfaluk



Business Objects and Process Data Objects

Implementation of start and end activities need to be changed from Message to None , as this process need not be initiated by a message

These XSD Schema ‘s are used to Create Business Objects and Business Objects are used to create Process Data Objects , these are later used data transformation and association


Task Initiator and Data Association

Drag and drop “Initiator Task Activity” after start and before end, connect all of them in sequence

click on this newly added Student Application task , Add Human Task, Go to Data and Select Student Admission Schema,



From the Task , Auto Generate form , this creates following task flow

You can use identity look up to select task owner, we use jcooper as the task owner who initiates the process as a student

Deploy the application , the process along with the Task flow UI

BPM Workspace

Now login to BPM Workspace as jcooper
http://your-ip-address:8001/bpm/workspace

Fill in the data and submit the form

Enterprise Manager Console

You can now login Enterprise Manager as weblogic
http://your-ip-address:7001/em , you can view the instances of the process , very important to view XML data transfers across various activities

You can also view Process Flow

No comments:

Post a Comment

xslt padding with characters call template for left pad and right pad

  Could a call-template be written that took two parameters ?   a string, and a   number) return the string with empty spaces appended t...