]project-open[ workflow developer tutorial part 2
DESCRIPTION
Creating a sample workflow for EDI message developmentTRANSCRIPT
]project-open[ Workflow Tutorial
Creating a sample workflow for EDI message development
Start
Place
Transition
End
Transition
[Not OK]
[OK]
]project-open[ 2010, Frank Bergmann / 2
Tutorial Overview
PO-Workflow-Tutorial-1-Overview.ppt This document provides a short overview of the ]project-open[ workflow.
PO-Workflow-Tutorial-2-EDI-Example.ppt:The next section guides you step-by-step through a real-world EDI Message workflow scenario.
PO-Workflow-Tutorial-3-Cusomizations.pptThe third section deals with the customization of the workflow to implement custom business logic, custom GUI panels and custom assignments.
]project-open[ 2010, Frank Bergmann / 3
Contents
Business Process & Configuration– EDI Development @ ABC– EDI Message Development Process– Workflow Roles and Assignments
Workflow Implementation Testing the Workflow interactively
]project-open[ 2010, Frank Bergmann / 4
Business Process & Configuration
]project-open[ 2010, Frank Bergmann / 5
Sample Case: EDI Development @ ABC
ABC is a large multinational company. The ABC’s EDI Competence Center (“CC”) is
responsible for developing the integration links between ABC’s systems and many of it’s Fortune 500 customers
The EDI CC consists of three groups of each ~40 developers:– EMEA (Europe Middle East and Africa)– AMER (Americas) and– ASPA (Asia Pacific)
]project-open[ 2010, Frank Bergmann / 6
EDI Message Development Process
The development process is a highly standardized business process.
The process should be followed by all groups.
Approval needs to be recorded.
Customers should be able to track progress.
Some WF actors are notoriously slow, so their responses needs to be tracked.
WorkingMessage
QCApproval
Solution Support
TechnicalReview
QA
BusinessAnalyst
UAApproval
UserAcceptance
Releaseto Production
MTPSuccess
ProjectFinished
30 DaysMaintenance
and
SolutionSupport
ApprovedProject
BusinessAnalyst
Message“Map”
MessageDeveloper
SpecsOK
Report
Specs not OK
MessageDeveloper
DevelopMessage
CheckSpecs
BusinessAnalysis QC Check
InternalQC Team
QC not OK
MessageDeveloper
QA not OK
UA not OK
slow
]project-open[ 2010, Frank Bergmann / 7
Workflow Roles and Assignments
Business Analyst– One per message, assigned at project start– A senior analyst from the customer or from the EDI ICC
Message Developer– One per message, assigned at project start– Usually one guy– Replacement logic
Internal QC Team– One per message, assigned based availability when QC is performed– One senior developer
Solution Support– One per message, assigned at project start– One guy for technical review– One guy to actually move the message into production– Can be from 3 different regional organizations
Maintenance Team (project assignment)– One per message, assigned at project start– Usually the developer plus solution support, but
could also involve other staff from the dept or solution support
PM (project assignment)– Assigned when creating the project– One guy from the business unit
]project-open[ 2010, Frank Bergmann / 8
]po[ Company and Cost Center Configuration
ABC business units act as customers, because projects are normally “sold” for a fixed price.
“Solution Support” and several external providers participate in the development projects. External providers can connect to ]po[ via VPN.
The “internal company” represents the ABC EDI CC.
The ABC EDI CC consists of three departments for each of the tree geographical areas. These groups are modeled as]po[ Cost Centers:
– Co: The entire EDI CC “internal company”• CoAm: Americas EDI CC
group• CoAp: Asia Pacific EDI CC• CoEu: Europe EDI CC
Final customers are represented as a text fields
ABC EDI CC SolutionSupport
ExternalProviders
ABC BU “Consumer”
Co
CoAmDept.
CoApDept.
CoEuDept.
Customers Provider“Internal Company”
EMEA
AMER
ASPA
ABC BU “Enterprise“
EMEA
AMER
Final Cust. A
FinalCustomers
Final Cust. B
Final Cust. C
Final Cust. E
...
Final Cust. F
...$$$
Deliverables
]project-open[ 2010, Frank Bergmann / 9
Workflow Implementation
]project-open[ 2010, Frank Bergmann / 10
Petri-Net For Business Processes
This Petri-Net represents the business workflow from the previous section.
A Petri-Net is like a status engine, but allows for more then one state and therefore for parallel execution.
At the end of each “transition” (=task) a user can take a yes/no decision leading to a loop.
Start
BusinessAnalysis
End
CheckSpecs
[Not OK]
[OK]DevelopMessage
QCCheck[OK]
[Not OK]
QA
Release toProduction [OK]
30 daysMaintenance[OK]
[Not OK]
UserAcceptance
[OK]
[OK]
[Not OK]
[Not OK]
[Not OK]
User Survey[OK]
ResourceAssignment
ConfirmedProject
MessageTasksMessage
TasksMessageTasks
For each task
start a WF:
]project-open[ 2010, Frank Bergmann / 11
Simple Workflow Wizard: Start
The “Simple Process” wizard allows to create linear workflows with loops.
The resulting workflow can be post-edited to modify the structure.
To start the wizard please click on the “New Simple Process” link in the Workflow Administration page.
Start PlaceTransition EndTransition
[If not OK]
[OK]
]project-open[ 2010, Frank Bergmann / 12
Simple Workflow Wizard: Enter Name
The first step consists of entering the name of the new workflow
]project-open[ 2010, Frank Bergmann / 13
Simple Workflow Wizard: Enter Tasks
Enter the WF tasks as a linear lists in this screen
Later we will be able to define loops and parallel approval tasks
]project-open[ 2010, Frank Bergmann / 14
Simple Workflow Wizard: Add Loops
Define yes/no questions for every transition to define loops
]project-open[ 2010, Frank Bergmann / 15
Simple Workflow Wizard: Define Assignments
“Static” assignments (Resource Assignment) are assignments to groups that are valid for all workflow instances.
“Manual” assignments (Business Analysis – Maintenance) are performed during a special workflow stage (Resource Assignment).
“Computed” assignments (User Satisfaction Survey) are defined by a PL/SQL procedure.
]project-open[ 2010, Frank Bergmann / 16
Simple Workflow Wizard: The Result
As a result of the definition, we receive a working workflow.
In this workflow, the parallel approval has been replaced by a sequential approval. The 2nd part of this tutorial shows how to change this.
However, we still need to:– Define a “static” assignment for the
Resource Assignment transition– Define a “computed” assignment for the
User Satisfaction Survey transition– Introduce parallel approval processes (QA
Solution Support and User Acceptance) – Deploy the workflow, so that it is started
automatically when creating a new project
– Test the workflow interactively
]project-open[ 2010, Frank Bergmann / 17
Static Assignments
“Static” assignments are valid for all WF instances and can not changed.
In this example we have assigned the “Resource Assignment” transition to the group “Project Managers”.
]project-open[ 2010, Frank Bergmann / 18
Computed Assignment
The ]po[ workflow allows to use PL/SQL procedures to determine assignments, allowing to implement arbitrary business logic.
In this case we want to define that the “Customer Satisfaction Survey” transition should be assigned to the customer contact of the project
Now the developers have to write a PL/SQL procedure “edi_workflow__assign_to_customer_contact” performing this task. Please see the ]po[ documentation Wiki for details.
]project-open[ 2010, Frank Bergmann / 19
Workflow Deployment (1)
Every project type in ]po[ can be associated with a specific workflow.
In this example, we create a new project type “EDI Message”.
The next slide will explain how to setup the project type category.
]project-open[ 2010, Frank Bergmann / 20
Workflow Deployment (2)
In Admin -> Categories -> Intranet Project Type we define a new “EDI Message” category
We set the “String 1” field of the category to the “key” of the workflow.
From now on, ]po[ will start a new workflow for every new EDI Message project.
]project-open[ 2010, Frank Bergmann / 21
Testing the WF Interactively
]project-open[ 2010, Frank Bergmann / 22
Testing the WF Interactively (1)
You can now interactively test the new workflow by creating a new project of type “EDI Message (Workflow Test)”.
]project-open[ 2010, Frank Bergmann / 23
Testing the WF Interactively (2)
As a result of starting a workflow instance,
a new task will appear in the “Workflow
Inbox” at the Home page: Action:
The name of the Transition Type:
Name of the workflow Status:
Status of the underlying object Assignee:
Who else is assigned to the current transition?
Owner:Owner of the underlying business object
Object Name:Name of the underlying business object
Relationship:What is the relationship between the current user and the workflow? “Assignment Group” means that the current user is assigned (task), “My Object” means that the underlying biz object has been created by the current user (tracking). Only WF admins can see tasks with relationship “none”.
]project-open[ 2010, Frank Bergmann / 24
Testing the WF Interactively (3)
The “Workflow Panel” shows information about the workflow:
– The “Object Panel” shows basic information about the object. The panel can be customized
– The “Action Panel” allows to take workflow actions and shows who else is assigned to the workflow. The panel can be customized.
– “Administrative Actions” are only available to workflow admins.
– The “Journal” shows a protocol of the workflow history.
We continue here by pressing the “Start” button
Object Panel Action Panel
]project-open[ 2010, Frank Bergmann / 25
Testing the WF Interactively (4)
The workflow starts with its first transition.
In this “Resource Assignment” stage we need to define the “manual” assignments, as defined in the WF.
These manual assignments could take place in other transitions as well, but it is often convenient to keep them to together.