]project-open[ workflow developer tutorial part 2

25
]project-open[ Workflow Tutorial Creating a sample workflow for EDI message development Start Place Transition End Transition [Not OK] [OK]

Upload: projectopen

Post on 12-Jan-2015

6.580 views

Category:

Technology


1 download

DESCRIPTION

Creating a sample workflow for EDI message development

TRANSCRIPT

Page 1: ]project-open[ Workflow Developer Tutorial Part 2

]project-open[ Workflow Tutorial

Creating a sample workflow for EDI message development

Start

Place

Transition

End

Transition

[Not OK]

[OK]

Page 2: ]project-open[ Workflow Developer Tutorial Part 2

]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.

Page 3: ]project-open[ Workflow Developer Tutorial Part 2

]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

Page 4: ]project-open[ Workflow Developer Tutorial Part 2

]project-open[ 2010, Frank Bergmann / 4

Business Process & Configuration

Page 5: ]project-open[ Workflow Developer Tutorial Part 2

]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)

Page 6: ]project-open[ Workflow Developer Tutorial Part 2

]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

Page 7: ]project-open[ Workflow Developer Tutorial Part 2

]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

Page 8: ]project-open[ Workflow Developer Tutorial Part 2

]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

Page 9: ]project-open[ Workflow Developer Tutorial Part 2

]project-open[ 2010, Frank Bergmann / 9

Workflow Implementation

Page 10: ]project-open[ Workflow Developer Tutorial Part 2

]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:

Page 11: ]project-open[ Workflow Developer Tutorial Part 2

]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]

Page 12: ]project-open[ Workflow Developer Tutorial Part 2

]project-open[ 2010, Frank Bergmann / 12

Simple Workflow Wizard: Enter Name

The first step consists of entering the name of the new workflow

Page 13: ]project-open[ Workflow Developer Tutorial Part 2

]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

Page 14: ]project-open[ Workflow Developer Tutorial Part 2

]project-open[ 2010, Frank Bergmann / 14

Simple Workflow Wizard: Add Loops

Define yes/no questions for every transition to define loops

Page 15: ]project-open[ Workflow Developer Tutorial Part 2

]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.

Page 16: ]project-open[ Workflow Developer Tutorial Part 2

]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

Page 17: ]project-open[ Workflow Developer Tutorial Part 2

]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”.

Page 18: ]project-open[ Workflow Developer Tutorial Part 2

]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.

Page 19: ]project-open[ Workflow Developer Tutorial Part 2

]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.

Page 20: ]project-open[ Workflow Developer Tutorial Part 2

]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.

Page 21: ]project-open[ Workflow Developer Tutorial Part 2

]project-open[ 2010, Frank Bergmann / 21

Testing the WF Interactively

Page 22: ]project-open[ Workflow Developer Tutorial Part 2

]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)”.

Page 23: ]project-open[ Workflow Developer Tutorial Part 2

]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”.

Page 24: ]project-open[ Workflow Developer Tutorial Part 2

]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

Page 25: ]project-open[ Workflow Developer Tutorial Part 2

]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.