Your SlideShare is downloading. ×
0
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Bejug - Activiti in Action (part 1)

2,958

Published on

Activiti In Action …

Activiti In Action
Bejug presentation (31/03/2011)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,958
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
211
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. by<br />for<br />
  • 2. Agenda<br />Introduction<br />Live coding<br />TechTalk<br />What do you get?<br />Demo<br />
  • 3. What is a business process?<br />3<br />A collection of related steps that produce value<br />
  • 4. What is a business process?<br />4<br /><ul><li>Business processes are often the differentiator between two companies doing the same thing </li></li></ul><li>What is a business process?<br />5<br /><ul><li>Business processes are often the differentiator between two companies doing the same thing </li></li></ul><li>What is a business process?<br />6<br /><ul><li>Business processes are often the differentiator between two companies doing the same thing </li></li></ul><li>What is a business process?<br />7<br /><ul><li>Often visualized using some kind of flowcharts
  • 5. Insight into business (mgmt perspective)
  • 6. Communication IT-business
  • 7. Business process Management is a HUGE field</li></li></ul><li>What is a business process?<br />8<br /><ul><li>Often visualized using some kind of flowcharts
  • 8. Insight into business (mgmt perspective)
  • 9. Communication IT-business
  • 10. Business process Management is a HUGE field</li></ul>Suppose 250 pages/book<br />2 612 500 pages on BPM<br />*<br />313 BPM trees<br />*http://wiki.answers.com/Q/How_much_paper_can_one_tree_produce<br />
  • 11. But technically…<br />9<br />
  • 12. BPMN 2.0<br />OMG standard<br />Shapes<br />Execution semantics<br />File format<br />First pure play BPM standard<br />With general endorsement<br />10<br />
  • 13. What does that mean?<br />11<br /><ul><li>Huge pool of BPMN skilled analysts
  • 14. Any BPMN 2.0 compliant editor
  • 15. MS Visio, Oracle, IBM, Aris, etc.
  • 16. Executable on Activiti engine</li></li></ul><li>But technically…<br />12<br />
  • 17. What is Activiti?<br />13<br />100% Java<br />100% oSS<br />Lightweight<br />Performant<br />Embeddable<br />
  • 18. What is Activiti?<br />14<br />
  • 19. Activiti<br />What is Activiti?<br />15<br />The diagram<br />API<br />runtimeService.startProcessInstance…<br />Forms<br />
  • 20. So technically …<br />16<br />Book flight <br />through<br /> webservice<br />Generate PDF<br />Check order <br />state in SAP<br />Activiti<br />HR needs to <br />approve<br />the expense<br />Select helpdesk <br />ticket<br />Joey needs<br />to call the customer<br />
  • 21. What does that mean for you?<br />Typical BPM attitude<br />
  • 22. What does that mean for you?<br /><ul><li>Developers are crucial for the success of a BPM project!
  • 23. Business processes practically always require automated steps and integrations
  • 24. Activiti gives the developer the power and flexibility he/she needs to be extremely productive</li></ul>Activiti<br />
  • 25. Release fast, release often<br />19<br /><ul><li>Serious # bugfixes / features every month</li></li></ul><li>Who contributes to Activiti?<br />
  • 26. Agenda<br />Introduction<br />Live coding<br />TechTalk<br />What do you get?<br />Demo<br />
  • 27. Live coding<br />22<br />Activiti + command line<br />Demonstrating the <br />simplicity and power <br />of Activiti<br />Activiti + Spring<br />In only 10 minutes!<br />Activiti + webapp<br />
  • 28. TechTalk<br />23<br />
  • 29. Unit testing business processes<br /><ul><li>With Activiti, your business processes are an integral part of your software project
  • 30. So they should be tested the same as regular code … with unit tests!
  • 31. Activiti supports JUnit 3 and JUnit4 style of unit tests
  • 32. + a lot of convience for testing</li></ul>Pic from http://silverbackapp.com<br />
  • 33. Unit testing business processes<br />Junit 3.X style<br />Pic from http://silverbackapp.com<br />
  • 34. Unit testing business processes<br />Junit 4 style<br />Pic from http://silverbackapp.com<br />
  • 35. Timers<br />27<br /><ul><li>Work is often time constrained
  • 36. A timer boundary event can be attached to the boundary of any step (or subprocess)</li></li></ul><li>Method expressions and JPA<br />28<br />Update JPA entity<br />Decision based on <br />JPA entity property<br />Spring bean<br />Process variables<br />
  • 37. Work in progress<br />29<br /><ul><li>CDI/Spring annotations</li></ul>&lt;serviceTask activiti:expression=“${myBean.doSomething()}”<br />Spring Bean<br />CDI Managed Bean<br />eg. EJB<br />
  • 38. Work in progress<br />30<br /><ul><li>CDI/Spring annotations</li></ul>@ProcessScope<br />Public class MyBean {<br />@StartProcess(“helloWorldProcess”)<br /> public void something(@ProcessVariable(“customerId”) long custId) {<br /> ..<br /> }<br />@CompleteTask(key=“theTask”)<br /> public void somethingElse() { … }<br />@State(“confirm-receipt”)<br /> public void confirmReceipt(@ProcessVariable(“myVar”) …<br />}<br />
  • 39. Agenda<br />Introduction<br />Live coding<br />TechTalk<br />What do you get?<br />Demo<br />
  • 40. What do you get?<br />World-class rock-solid BPM and workflow engine <br />32<br />32<br />
  • 41. Not only the engine?<br />Java Applications<br />Activiti Modeler<br />Activiti Designer<br />Activiti <br />Engine<br />Activiti Probe<br />Activiti Explorer<br />Activiti Cycle<br />REST interface<br />iPhone<br />Explorer<br />Android<br />Explorer<br />
  • 42. Activiti Modeler<br />Webbased BPMN 2.0 graphical editor <br />34<br />34<br />
  • 43. Activiti Explorer<br />Process end-users (task mgmt)<br />35<br />35<br />
  • 44. Activiti Probe<br />System admins<br />Status overview, stuck jobs, exceptions, logs, …<br />36<br />36<br />
  • 45. Activiti Cycle<br />Collaboration … done right<br />37<br />37<br />
  • 46. Activiti KickStart<br />38<br />38<br />
  • 47. Activiti REST API<br />39<br /><ul><li>Remote communication regardless of the technology</li></li></ul><li><ul><li>Activiti extension support, BPMN 2.0 validation, hierarchical modeling</li></ul>Activiti Eclipse designer<br />40<br />
  • 48. <ul><li>Pluggable activity support</li></ul>Activiti Eclipse designer<br />41<br />
  • 49. Mobile Activiti<br />42<br />
  • 50. Mobile Activiti<br />43<br />
  • 51. <ul><li>Grails convience capabilities
  • 52. Typical configuration
  • 53. Easy business archive deployment
  • 54. Generate controllers/view/example app</li></ul>Activiti &amp; Grails<br />44<br />
  • 55. Agenda<br />Introduction<br />Live coding<br />TechTalk<br />What do you get?<br />Demo<br />
  • 56. Real-life demo<br />46<br /><ul><li>Use case: banks shouldn’t lend money to just anybody
  • 57. Thorough analysis is needed
  • 58. All steps needs to be recorded in official documents
  • 59. Decisions are done based on Excel decision tables</li></li></ul><li>The mortgage process<br />47<br />
  • 60. The mortgage process<br />48<br />
  • 61. The mortgage process<br />49<br />= CMIS call <br />
  • 62. The power of Java<br />50<br />Out-of-the-box<br />Custom Java<br />
  • 63. The power of Java<br />51<br />public class CreateLoanApplicationDocument implements JavaDelegate {<br /> public void execute(DelegateExecution execution) {<br /> Session session = CmisUtil.createCmisSession(&quot;admin&quot;, &quot;admin&quot;, Constants.ALFRESCO_URL); <br /> Folder folder = CmisUtil.getFolder(session, Constants.LOAN_APPLICATION_STORAGE_FOLDER);<br /> Document document = createWordDocument(session, folder, execution); <br /> storeDocumentReferencesAsProcessVariables(execution, folder, document);<br /> session.save();<br /> }<br />

×