Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developing Software For Business Processes

Developing Software For Business Processes

My Journey to Business Process Modeling and Notation with Live Demonstration of Camunda.

Avatar for Jeffrey Hicks

Jeffrey Hicks

November 09, 2016
Tweet

More Decks by Jeffrey Hicks

Other Decks in Programming

Transcript

  1. DEVELOPING SOFTWARE FOR BUSINESS PROCESSES My Journey to Business Process

    Modeling and Notation and Live Demonstration of Camunda
  2. Common Causes Poor Communication •  Hand Waiving •  Hard to

    visualize requirements Risky Approach •  No intermediate results Inflexible Architectures •  Monolithic Frameworks
  3. Common Solutions Improve Communication With Models •  UML Diagrams • 

    Entity Relationship Diagrams •  User Experience Prototypes •  User Interface Mockups •  ….. Adopt Iterative Approaches •  SCRUM •  Kanban Flexible Architectures •  …
  4. BPM & SOA Improve Communication With Models •  UML Diagrams

    •  Entity Relationship Diagrams •  User Experience Prototypes •  User Interface Mockups •  Business Process Models Adopt Iterative Approaches •  SCRUM •  Kanban Flexible Architectures •  SOA – Service Oriented Architecture
  5. 2009: Oversight consultants introduced process models While being audited by

    an oversight company I was exposed to their methods to elicit and capture business processes. http://www.pixnio.com/people/technical-staff-review-audit-findings
  6. 2010: Developers and early adopters embrace Models Process Models Embraced

    by: •  Development Team •  Data Managers •  Documentation Team Photo of my team on large on-site development project
  7. 2016: Embedded Models in End User Applications Accelerated user adoption

    by presenting process models to end users, complete with video tutorials for any given task.
  8. Human Tasks, Timers, and Scripted Tasks “Clock In” and “Clock

    Out” are human tasks. Timer events can trigger additional flows. In this case, triggering an automated scripted task to notify the manager should the employee be tardy.
  9. Interrupting vs Non Interrupting Events The Clock In Timer Event

    is non- interrupting. The Clock In task is still expected even though the manager has been notified. The Employee Excused message received event is interrupting. The Clock In task is no longer expected.
  10. Sub Process Activities Update Payroll Records is presented as a

    Collapsed Sub process. Collapsed sub processes encapsulate additional activities.
  11. Learn More BPMN 2.0 •  BPMN 2.0 By Example • 

    http://www.omg.org/cgi-bin/doc?dtc/10-06-02 •  Poster •  http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf •  Free 6 Week Online Course •  https://open.hpi.de/courses/bpm2016/ •  Enterprise Architect •  http://www.sparxsystems.com/products/ea/ •  Free BPMN 2.0 Modeler •  https://bpmn.io/
  12. BPMN 2.0 Modeler Modeler– Desktop application to draw BPMN 2.0

    diagrams. •  Export XML files designed for BPMN 2.0 Engines https://camunda.org/bpmn/tool/
  13. BPMN 2.0 Engine Engine – Executes deployed processes and stores

    instance data, status and history. •  Executes Processes •  Store State •  Establishes Tasks •  Triggers Automation •  Maintains History Photo Licensed by ralphbijker for commercial use with attribution. Original, un-cropped photo available on Flickr titled “motion gears team force”
  14. Task List Webapp Task List – Web interface where process

    participants can locate & complete their tasks. •  Filters •  Claim / Release •  Set Follow-ups •  Deadlines •  Task View https://docs.camunda.org/manual/7.5/webapps/tasklist/dashboard/
  15. Cockpit Webapp Cockpit– Web interface where process operators can manage

    processes and monitor performance. •  Duration Reports •  Process Instance Views •  Process Definition Views •  Migrations https://docs.camunda.org/manual/7.5/webapps/cockpit/
  16. Admin Webapp Admin– Configure access. •  Users •  Groups • 

    Permissions https://docs.camunda.org/manual/7.5/webapps/admin
  17. REST API Rest Api – Comprehensive and documented access to

    all the relevant interfaces of the engine. Enables Custom End User Applications https://docs.camunda.org/manual/7.5/reference/rest/
  18. Custom Applications Existing Applications Bring end user tasks and operational

    management features directly into existing custom applications. Enhanced User Experiences Innovate on user tasks. For example, display geo-coded tasks on a map.
  19. Services Services Web end points where automated scripts can perform

    tasks on a users behalf. Internal Services A service developed by your company to enable automation. External Services Hosted, vendor, partner or client endpoints.
  20. Architecture Overview BPM Solution •  Modeler •  Engine •  Rest

    Api •  Task List •  Custom Apps •  Cockpit •  Admin •  Services https://camunda.org/features/