From Activiti to camunda fox: The SaaS Scenario

1,516 views
1,295 views

Published on

My talk on EVA Fallmanagement I held at the Activiti Community Day 2012, Berlin.

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

  • Be the first to like this

No Downloads
Views
Total views
1,516
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

From Activiti to camunda fox: The SaaS Scenario

  1. 1. Sven Jörges IHK-GfI From Activiti to camunda fox: The SaaS Scenario
  2. 2. IT center of the german Chambers of Industry and Commerce (Industrie- und Handelskammern, IHKs) and its Association (Deutscher Industrie- und Handelskammertag, DIHK) Since more than 40 years IHK-GfI mbH
  3. 3. The 80 Chambers of Industry and Commerce (IHKs) and their Association (DIHK). More than 8.000 employees of the IHKs each day throughout Germany. Customers
  4. 4. Integration
  5. 5. EVA Fallmanagement: Requirements
  6. 6. BPMN 2.0 SaaS Multi-Tenancy Performance and High Availability Support 6 Requirements
  7. 7. BPMN 2.0 SaaS Multi-Tenancy Performance and High Availability Support 7 Requirements
  8. 8. BPMN 2.0 SaaS Multi-Tenancy Performance and High Availability Support 8 Requirements
  9. 9. BPMN 2.0 SaaS Multi-Tenancy Performance and High Availability Support 9 Requirements
  10. 10. 10 Anforderungen BPMN 2.0 SaaS Multi-Tenancy Performance and High Availability Support
  11. 11. 11 Anforderungen BPMN 2.0 SaaS Multi-Tenancy Performance and High Availability Support
  12. 12. Selection and PoC
  13. 13. 13 BPMS: Selection and PoC Oracle BPM Suite IBM Business Process Manager Intalio activeVOS jBPM Bonita Open Solution Activiti
  14. 14. EVA Fallmanagement: Overview
  15. 15. 15 Architecture (logical)
  16. 16. Process Engine Database BPMN 2.0 Tool Process Data Process Definition
  17. 17. EVA Process Engine Database BPMN 2.0 TooleGovernment Infrastructure EVA.Mobile Process Data Process Definition HumanInteraction& ServiceOrchestration
  18. 18. EVA Process Engine Directory (LDAP) Database BPMN 2.0 TooleGovernment Infrastructure EVA.Mobile Process Data Process Definition HumanInteraction& ServiceOrchestration Authentication / Authorisation
  19. 19. EVA Process Engine Directory (LDAP) DMS Database Scan Client BPMN 2.0 TooleGovernment Infrastructure EVA.Mobile Process Data Process Definition HumanInteraction& ServiceOrchestration Authentication / Authorisation Authentication / Authorisation Documents Documents Process History
  20. 20. EVA Process Engine Directory (LDAP) DMS Database Scan Client BPMN 2.0 Tool EVA Analytics eGovernment Infrastructure EVA.Mobile Process Data Process Definition HumanInteraction& ServiceOrchestration Authentication / Authorisation Authentication / Authorisation ReportsDocuments Documents Process History
  21. 21. 21 Architecture (technical)
  22. 22. 24 Architecture (Process Engine)
  23. 23. 25 Client: EVA
  24. 24. 26 Client: EVA
  25. 25. 27 Client: EVA Desk My Tasks Group Tasks Process Instances
  26. 26. 28 Client: EVA
  27. 27. 29 Client: EVA
  28. 28. First Obstacles
  29. 29. 31 Multi-Tenancy Problem: No “out-of-the-box“ support for tenants in Activiti
  30. 30. IHK101 … IHK106 IHK106_05 Oracle DB … Glassfish Node 1 ENTW QS … Process Engine 101 Process Engine 106 Multi-Tenancy Tenant derivable from user name: 101joerges
  31. 31. 33 Multi-Tenancy Solution 1: ALTER SESSION SET CURRENT_SCHEMA and custom JDBC data source
  32. 32. 34 Multi-Tenancy Solution 1: ALTER SESSION SET CURRENT_SCHEMA and custom JDBC data source  Bad performance!
  33. 33. 35 Multi-Tenancy Solution 2: Use of database table prefixes in Activiti (ACT-565), since Activiti 5.10
  34. 34. 36 Multi-Tenancy <!– Tenant 101 --> <bean id="processEngineConfiguration101" class=… > <property name="processEngineName" value="101" /> <property name="dataSource" ref="containerDataSource" /> … <property name="databaseTablePrefix" value="IHK101." /> </bean> <!– Tenant 106 --> <bean id="processEngineConfiguration106" class=…> <property name="processEngineName" value="106" /> <property name="dataSource" ref="containerDataSource" /> … <property name="databaseTablePrefix" value="IHK106." /> </bean> activiti.cfg.xml:
  35. 35. 37 Multi-Tenancy ProcessEngineConfiguration config = ProcessEngineConfiguration .createProcessEngineConfigurationFromResource( "activiti.cfg.xml", "processEngineConfiguration101"); ProcessEngine engine101 = config.buildProcessEngine();
  36. 36. 38 Multi-Tenancy Solution 3: fox platform  Process engines do not have to be managed manually.
  37. 37. 39 Query API Problem: Activiti‘s on-board query API not suitable for our requirements
  38. 38. 40 Query API: Example taskService.createTaskQuery() .taskAssignee("101joerges") .taskPriority(50) .orderByDueDate() .asc() .list()
  39. 39. 41 Query API Disadvantage 1: Not all required queries could be constructed via the query API Example: All tasks with „101joerges“ being the owner or the assignee.
  40. 40. 42 Query API Disadvantage 2: Aggregate selections are expensive because multiple queries are required Bad performance Pagination difficult
  41. 41. 43 Query API Solution: Define custom MyBatis queries! (see Fox User Guide → „Performance Tuning with custom Queries“) Good performance (factor 10!) Pagination works Custom queries have to be maintained
  42. 42. fox platform
  43. 43. 45 Reasons for Changing Process Applications → JEE-style process deployment → Processes are collected in WARs → Services can be collected in dependent JARs
  44. 44. 46 Reasons for Changing Platform Job Executor → better configurability (job aquisition, multiple process engines) → application server integration (e.g. thread pools)
  45. 45. 47 Architecture (fox engine only)
  46. 46. 48 Architecture (with fox platform)
  47. 47. Conclusion
  48. 48. 50 Conclusion Activiti-based fox platform is a flexible BPM solution that is ready for enterprise scenarios
  49. 49. 51 Conclusion Thanks to open source: React to specific requirements by just doing it yourself.
  50. 50. 52 Conclusion Thanks to open source: React to specific requirements by just doing it yourself. Or by asking the community.
  51. 51. 53 Conclusion Thanks to open source: React to specific requirements by just doing it yourself. Or by asking the community. Or camunda.
  52. 52. 54 Next Steps Status of EVA Fallmanagement: Infrastructure is available First client (EVA) is realized “Show cases“ under construction Goal: Productive for first customers in early 2013
  53. 53. E-Mail: joerges@gfi.ihk.de Website: www.ihk-gfi.de Twitter: http://www.twitter.com/ihkgfi/ Facebook: http://www.facebook.com/ihkgfi 2011_V08 Thanks for your attention! IHK Gesellschaft für Informationsverarbeitung mbH Emil-Figge-Str. 86 44227 Dortmund Fon: 0231 / 9746 – 0 Fax: 0231 / 9746 – 111 E-Mail: info@gfi.ihk.de

×