]project-open[ Workflow Developer Tutorial Part 2


Published on

Creating a sample workflow for EDI message development

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

]project-open[ Workflow Developer Tutorial Part 2

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