Business Process Automation at CERN with Activiti

Business Process Automation at CERN with Activiti

CERN is using Activiti to automate as many as 60 administrative processes across all of our key business areas such as safety, procurement, finance, logistics, and training. Activiti is the workflow engine which is at the core of CERN’s Electronic Document Handling system (EDH) – an in-house developed application with more than 17’000 active users worldwide, which processes every year over 360’000 electronic documents and over 750’000 electronic signatures.

In this presentation, we will describe how we have integrated Activiti with EDH, for the execution, automatic testing, and monitoring of the aforesaid mission-critical processes.

Presented at the Global Activiti User Day, Paris, France.

C5f78263b6a7399d8370c32273fbef2f?s=128

João Silva

June 10, 2015
Tweet

Transcript

  1. Business Process Automation at CERN with Activiti João SILVA GLOBAL

    ACTIVITI USER DAY 10th of June, 2015 e-Business Section BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  2. Agenda 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN

    WITH ACTIVITI
  3. CERN • Founded in 1954 • 2500 Staff • ~1600

    other personnel • 12000 visiting scientists • 608 universities • 127 nationalities • Budget of ~€944 million 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  4. The Large Hadron Collider 10th of June, 2015 BUSINESS PROCESS

    AUTOMATION AT CERN WITH ACTIVITI 13 TeV
  5. Agenda 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN

    WITH ACTIVITI
  6. Business Computing Support Human Resources Materials Infrastructure Finance Projects &

    Experiment Support User Support Logistics Purchasing Inventory CERN Hotel Leave Admin Support Claims & Payroll Records Career Contracts Services Recruitment Training Roles Buildings Mail Reporting Project Management Team Codes Budget Accounting Payments Treasury Stores Planning Suppliers Contracts Processes Safety Intervention Management Medical data EU Reporting Access Safety Roles Phonebook Public Outreach Safety Equip. ePool 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  7. Electronic Document Handling 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  8. Electronic Document Handling • Over 60 official procedures – Safety,

    procurement, finance, HR, etc. • Over 360k documents per year • Over 750k electronic signatures • Developed in-house (1992) 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  9. From Purchase to Pay Some Case Studies 10th of June,

    2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  10. 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH

    ACTIVITI
  11. 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH

    ACTIVITI
  12. 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH

    ACTIVITI
  13. ********* 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN

    WITH ACTIVITI
  14. 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH

    ACTIVITI
  15. Payment cXML EDH 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  16. None
  17. EDH Architecture 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT

    CERN WITH ACTIVITI
  18. Agenda 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN

    WITH ACTIVITI
  19. Workflow Core Concepts • Human-centric BPM – Electronic Signature Collector

    • Signature Process (~BPMN’s User Task) – Role-based – Non-blocking • Integration with receiver systems via Transfer Processes 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  20. Workflow Core Concepts (cont.) • Streamline processes – Don’t ask

    for signature if person has already signed – Don’t ask for signature if someone with sufficient rights has already signed before 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  21. Integration with EDH 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  22. User’s ‘In Tray’ 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  23. Example: Fire Permit 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  24. Example: Review of Appointment Expiration 10th of June, 2015 BUSINESS

    PROCESS AUTOMATION AT CERN WITH ACTIVITI
  25. Example: Material Request 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  26. Signature Process • Role-based evaluation on signatories – GroupLeader(GS-AIS), SafetyOfficer(B4),

    Pool(FireBrigade), Right(MAG, 5K, CMS) • Automatic escalation of signatures – If signatory is absent – If signature expires • Adhoc workflow: Forwarding of signatures • Conflict of interest: Exclusion lists 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  27. Roles • Always assign to a Role, NEVER to a

    Person • Hierarchical • Maintained by departments • Multiple levels of delegation • Priorities 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  28. Pools • A pool is a group of persons •

    All pool members are notified • Any member of the pool can take a document and act on it • Dynamic • Managed by users 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  29. Transfer Task • Integration with other systems • Typically done

    through PL/SQL – Distributed tx managed by the RDBMS • Feedback from the receiver system EDH QUALIAC 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  30. Notification Service • Asynchronous delivery • Single or digest e-mails

    • Internationalization • Mail templates w/ expressions Dear ${$personName}, You are requested to approve the document ${$docId} "${title}" (expiry date ${$expiryDate}) for the following reason(s): ${$reasons} Please access this document on the Web at: https://edh.cern.ch/Document/${$docId} 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  31. Monitoring and Debugging Tools • Stuck Documents – Nobody to

    sign – Routing is incorrect – Data problems • Data extraction problems – People attached to wrong units • Transfer problems – e.g. Wrong parameters, invalid data, already transferred 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  32. Workflow History 1992 1998 Self-made Oracle Workflow 2006 ActiveVOS 2013

    ??? 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  33. BPMSs evaluated in 2013 • Informatica ActiveVOS • Oracle Business

    Process Management • Activiti 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  34. Workflow History 1992 1998 Self-made Oracle Workflow 2006 ActiveVOS 2013+

    10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  35. Agenda 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN

    WITH ACTIVITI
  36. Why Activiti? • Open-source • Lightweight • BPMN 2.0 •

    Written in Java • Spring integration • Unit tests 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  37. Migration Status • ActiveVOS and Activiti running in parallel •

    Re-engineering of processes and architecture • 46 documents migrated • 14 documents to be migrated • 5 external documents (e.g. FirePermit) • 775 unit tests 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  38. Workflow Architecture 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT

    CERN WITH ACTIVITI
  39. Root Process 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT

    CERN WITH ACTIVITI
  40. Document Process 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT

    CERN WITH ACTIVITI
  41. Signature Process 1) Evaluate Expression 2) Waiting for action 3)

    Process user action 4) Approve or Reject 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI FGSO(GS) ANTLR v3 Parser
  42. Integration with EDH Dynamic sub-processes (one per budget code and

    purchased item) CERN Signature Function (a subprocess with a Java backend) Transfer to a corporate ERP system (Java call) 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  43. Signature Parameters Parameter Description Example documentId Document in question NOTIFICATION

    signature Expression that determines the persons/groups that need to sign GroupLeader(GS) signatureType Determines if someone is required to sign or just needs to be informed NOTIFICATION/INFORMATION replacements Expression that determines the persons/groups that should sign in case the original signatory can’t forceResign Forces someone to re-sign false checkLeave Check if person is absent true delay Due date = Current date + delay (days) 3 exclusions Conflicts of interest .... 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  44. Accessing Document Data 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  45. EdhProcessEngineConfiguration

  46. Agenda 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN

    WITH ACTIVITI
  47. Tooling and Monitoring Requirements • Restart workflows • Go to

    certain steps (PC) • Edit variables • Visualization of a process – Variables – Result of evaluated expression (signatory) – Executed steps • List of stuck documents 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH ACTIVITI
  48. Oracle Workflow Admin Console 10th of June, 2015 BUSINESS PROCESS

    AUTOMATION AT CERN WITH ACTIVITI
  49. ActiveVOS Admin Console 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  50. Activiti Admin Console 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  51. Stuck Document List 10th of June, 2015 BUSINESS PROCESS AUTOMATION

    AT CERN WITH ACTIVITI
  52. 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN WITH

    ACTIVITI Appl. Perf. Mgmt. w/ Introscope
  53. Agenda 10th of June, 2015 BUSINESS PROCESS AUTOMATION AT CERN

    WITH ACTIVITI
  54. Thank you. @joaopcgsilva joao.p.silva@cern.ch 10th of June, 2015 BUSINESS PROCESS

    AUTOMATION AT CERN WITH ACTIVITI