2010 06-b2b bypracticesummit


Published on

First Activiti presentation given at B2B by practice summit on June 17th 2010

Published in: Technology, Business
  • Be the first to comment

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

No notes for slide

2010 06-b2b bypracticesummit

  1. 1. Consolidating the BPM market<br />
  2. 2. Agenda<br />What is Business Process Management?<br />What is Activiti?<br />What can Activiti do for you?<br />As a business person<br />As a developer<br />As system admin<br />
  3. 3. What is BPM?<br />Management discipline<br />Software engineering<br />
  4. 4. BPM As A Management Discipline<br />Make your company more efficient<br />Analysing<br />Documenting<br />Optimising<br />Business processes<br />
  5. 5. What do you need for BPMAAMD?<br />Many tools<br />Napkin, Whiteboard, Word, Excel,…<br />Many model types<br />Process modeling<br />Good BPMN drawing<br />Descriptions<br />Notes<br />Versioning<br />Collaboration<br />
  6. 6. BPM As Software Engineering<br />Draw execution flow in a tool<br />Decorate diagram with technical details<br />Run process on BPMS<br />BPMS <br />Keeps track of state<br />Acts as central coordinator<br />Executes automatic pieces<br />Essentially a state machine<br />
  7. 7. What do you need for BPMASE?<br />Runtime engine<br />Executable processes as input<br />Coordinates executions<br />Keeps track of state<br />
  8. 8. Getting it wrong<br />Typical product<br />We can start from a business level diagram<br />And then execute it on a system<br />So many hidden options<br />Notation vs execution language<br />General purpose  complex language<br />Specific  simple language<br />Context<br />Web services / SOA / ESB<br />Java <br />ECM<br />Human tasks<br />Result<br />Graphical programming for business analysts<br />A lot of niche products<br />Fragmentation<br />
  9. 9. Activiti’s pragmatical approach<br />Business people don’t write software<br />Executable processes <br />Combines diagram and tech details<br />It’s software<br />Under control of developers <br />Inside software project<br />Facilitate collaboration<br />Diagram provides common language<br />Level of business people<br />
  10. 10. An example<br />var a = 1;<br />a = a + 1;<br />println(a);<br />
  11. 11. Deploy the executable process<br />var a = 1;<br />a = a + 1;<br />println(a);<br />BPMS Runtime Engine<br />
  12. 12. Start a new process instance<br />BPMS Runtime Engine<br />var a = 1;<br />startProcessInstance<br />a = a + 1;<br />println(a);<br />
  13. 13. BPMS as the central coordinator<br />
  14. 14. A human task activity<br />Create entry in task list<br />Wait<br />Store state in DB<br />When task completes<br />Send event to process instance<br />Process instance continues<br />var a = 1;<br />approve<br />println(a);<br />
  15. 15. A human task activity<br />BPMS Runtime Engine<br />Tasklist Manager<br />var a = 1;<br />startProcessInstance<br />John Doe | Approve<br />Process<br />Instance<br />approve<br />event<br />println(a);<br />
  16. 16. State machines and transactions<br />BPMS acts as coordinator<br />External actor means wait state for BPMS<br />Examples<br />Human tasks<br />Webservice principle: “I’ll call you back”<br />Wait for arrival of some asynchronous message<br />Approve<br />
  17. 17. State machines and transactions<br />Upon arrival of execution in wait state<br />Store current execution state <br />Position<br />Context variables<br />Commit transaction<br />While waiting<br />No blocked threads / resources<br />Upon resume<br />Load execution from DB<br />Continue executing<br />
  18. 18. Timers<br />Create a timer when activity is entered<br />Cancel timer when activity is left<br />Fire timer when duedate arrives<br />approve<br />escalate<br />
  19. 19. Asynchronous Continuations<br />Job<br />Executor<br />pdf-g<br />Transaction 1<br />Transaction 2<br />
  20. 20. Transactional Control Flow<br />Specify overal execution flow<br />Analyse where the external triggers are<br />Activiti wil juggle with <br />Execution state<br />Timers<br />Messages <br />And call your POJO beans where needed<br />
  21. 21. BPMS DB contents<br />Process definitions repository<br />Versioned<br />Process instances<br />Runtime state<br />History<br />Statistics<br />
  22. 22. A Process<br />
  23. 23. An Execution<br />Execution<br />
  24. 24. History<br />HISTORY_PROCESS_INSTANCE<br />ID<br />START<br />END<br />…<br />PROCESS<br />10:04<br />1<br />09:38<br />Order-1<br />09:39<br />1<br />09:38<br />1<br />Calculate Quote<br />2<br />09:39<br />1<br />Check Credit<br />09:42<br />3<br />09:42<br />1<br />Accept Quote<br />10:03<br />4<br />10:03<br />1<br />Charge Customer<br />10:04<br />HISTORY_ACTIVITY_INSTANCE<br />ID<br />START<br />END<br />…<br />HPI<br />ACTIVITY<br />
  25. 25. History<br />
  26. 26. What is Activiti<br />New project created by Alfresco<br />BPMN 2.0 BPMS<br />Lead by jBPM founders<br />Apache license<br />Run as independent project<br />
  27. 27. Who’s behind Activiti<br />Alfresco <br />SpringSource<br />Camunda<br />Signavio<br />Next Level Integration<br />Mimacom<br />MuleSoft<br />
  28. 28. Activiti<br />jBPM<br />
  29. 29. Your Application<br />Embedded BPM<br />Tasklist Manager<br />BPMS Runtime Engine<br />BPMS History<br />Your domain model<br />
  30. 30. Bring BPM to where it’s used<br />Activiti Engine<br />Enterprise<br />Apps<br />Cloud<br />ECM<br />
  31. 31. Activiti is a complete BPM Suite<br />Activiti Engine<br />Process repository<br />Process instances runtime state<br />Process execution history<br />Identity component<br />Tasklist component<br />Activiti Probe<br />Activiti Explorer<br />Activiti Cycle<br />
  32. 32. Activiti Explorer<br />End user task list<br />Manage my tasks<br />Execute workflows<br />
  33. 33. Activiti Probe<br />Management console for sys admins<br />Manage deployments<br />Manage versioning<br />See deployed process sources<br />View database tables<br />
  34. 34. Activiti Modeler<br />Activiti branded and powered by Signavio<br />Browser-based design and control tools<br />Targetted at Business Analysts<br />Easy to use AJAX tools<br />Customized file based model repository<br />Easy scripting<br />
  35. 35. Process In The Dev Cycle<br />Developer<br />Analyst<br />Sys Admin<br />Model<br />Repo<br />Alfresco<br />SVN<br />MVN<br />Tomcat<br />Activiti<br />Activiti Cycle<br />
  36. 36. Activiti Cycle (Mockup)<br />
  37. 37. Q&A<br />