Liferay European Symposium 2011 - Building complete workflow solutions


Published on

This presentation was given at the Liferay European Symposium 2011 at Frankfurt am Main, Germany.

Aperte Workflow is an Open Source BPM-class solution delivering capability to quickly and easily implements business process in the enterprise. Aperte Workflow combines in a unique way agile BPM engines with rich user interface and state-of-the art integration with external applications. This combination allows to create BPM/Workflow solutions in the spirit of SOA.

Published in: Technology
  • Aperte Workflow 1.1 is available for download
    Are you sure you want to  Yes  No
    Your message goes here
  • Aperte Workflow 1.0 has been released - #BPM #Liferay suite with fantastic UI provided by #Vaadin.
    Are you sure you want to  Yes  No
    Your message goes here
  • Aperte Workflow BETA2 has been released (with an awesome modeler) - Open Source #BPM #Liferay suite with rich UI provided by #Vaadin.
    Are you sure you want to  Yes  No
    Your message goes here
  • Aperte Workflow beta is available for download:
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

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

No notes for slide

Liferay European Symposium 2011 - Building complete workflow solutions

  1. 1. Building complete workflow solutions with Liferay<br />Tomek Lipski<br />Chief of R&D, BlueSoft, Poland<br />@tomeklipski<br />
  2. 2. Agenda<br /><ul><li>BlueSoft – 60 second introduction
  3. 3. Aperte Workflow – more than just BPM
  4. 4. Choosing right tools
  5. 5. The frontend – focus on usability and user experience
  6. 6. The platform – where modularity is #1 goal
  7. 7. The backend – BPM engine, persistence, integration
  8. 8. How do these tools combine into a complete workflow solution
  9. 9. The process
  10. 10. Automated steps
  11. 11. Human tasks
  12. 12. Other mechanisms
  13. 13. Seeing the benefits
  14. 14. Demo and Q&A</li></li></ul><li>BlueSoft<br />Who are we?<br /><ul><li>One of the largest independent software vendors in Poland
  15. 15. Mostly Java-based solutions
  16. 16. Largest enterprise integration team in Poland
  17. 17. We support biggest companies in Poland: telecoms, financial, logistic, etc.</li></ul>BlueSoft as a Liferay partner<br /><ul><li>We use Liferay as a platform for our solutions since 2006
  18. 18. We became Liferay Service Partner in 2011
  19. 19. In 2011, we have released some of our Liferay based products under GNU LGPL</li></li></ul><li>Aperte Workflow<br />More than just BPM<br /><ul><li>Built on top of a compilation of Open Source frameworks and libraries
  20. 20. Business processes built from reusable components
  21. 21. Multiple BPM implementations supported
  22. 22. Liferay 6.0 as a base
  23. 23. Plugin mechanism backed by OSGi stack
  24. 24. Enterprise integration ready
  25. 25. Rich User Interface</li></ul>Aperte Workflow is available under GNU Lesser GPL:<br /><br />
  26. 26. Choosing right tools<br />Prefer Open Source where possible<br /><ul><li>Access to source codes
  27. 27. Stable and clean relashionship with tools’ vendors
  28. 28. Open Source communities provide great aid and feedback</li></ul>Use existing tools, try not to create new ones<br /><ul><li>Existing tools/frameworks/libraries are constantly verified and tested by their users
  29. 29. They provide features you might never think of
  30. 30. It is easier and safer for potential users to learn and use a solution based on components they are already familiar with</li></ul>… but when no good tool exists, <br />do not hesitate to develop one!<br />
  31. 31. The frontend<br />Liferay - enhances user experience<br /><ul><li>Any application can be functionallydivided into portlets
  32. 32. Introduce new portlets and features
  33. 33. Out of the box features</li></ul>Rich User Interface is provided by <br /><ul><li>Pluggable controls („widgets” and „actions”)
  34. 34. No HTML/CSS/JavaScript hassle in most cases
  35. 35. Great for plugins – management, development, etc.
  36. 36. Security and control
  37. 37. We can use JSR-223 scripting languages too (Scala, Clojure, Jython, JRuby, etc.)</li></li></ul><li>The platform <br />OSGi service platform<br /><ul><li>Industry standard for modularity
  38. 38. Ready to use and complete plugin system
  39. 39. Classloader safety for plugins</li></ul>Plugins deliver over 90% of the solution<br /><ul><li>Widgets and actions
  40. 40. Automated steps
  41. 41. Process definitions
  42. 42. Internationalization (I18N)
  43. 43. Custom mechanisms
  44. 44. And many more...</li></li></ul><li>The backend<br />Common BPM API<br /><ul><li>jBPM4, jBPM5, Activiti, Aris, …
  45. 45. Pick your favorite BPM implementation</li></ul>Mule ESB as an embedded OSGi plugin<br /><ul><li>Powerful and flexible MuleClient is available for other plugins
  46. 46. Simple Mule services can be deployed as Aperte Workflow OSGi plugins
  47. 47. Put your processes in the Cloud with Mule iON</li></ul>Persistence is provided by Hibernate/JPA<br /><ul><li>Data model can be extended by plugins using JPA API annotations
  48. 48. Hibernate makes us slightly more RDBMS vendor indepenent</li></li></ul><li>The process<br />Standard BPM API<br /><ul><li>The process flow is controlled by currentlydeployed BPM engine
  49. 49. Every implementation of BPM interface fulfills simple API with basic operations
  50. 50. Human tasks, process state, process history, etc. are all available to other compenents/plugins
  51. 51. Process data available outside of BPM implementation
  52. 52. Aperte Workflow grants the reusability of components applied in process – on every level possible</li></li></ul><li>Automated steps<br />Modular and reusable<br /><ul><li>Automated steps are provided and invoked as OSGi plugins
  53. 53. Each OSGi plugin has seperate classloader, which resolves most of the dependency conflicts
  54. 54. The output from automated step can be used to guide process execution</li></ul>Sample automated steps:<br /><ul><li> Invoke Drools rule
  55. 55. Generate a document from process data
  56. 56. Invoke Web Service using Axis
  57. 57. Use MuleClient to invoke Web Service
  58. 58. Use MuleClient to invoke internal Mule service operating on JMS</li></li></ul><li>Human tasks<br />A GUI that meets business requirements<br /><ul><li>Aperte Workflow provides dedicated Liferay portlets for human tasks management
  59. 59. User interface is composed from widgets and action buttons provided as plugins
  60. 60. Widgets can perform differentroles:
  61. 61. Arrange other widgets
  62. 62. Provide generic operations on process data
  63. 63. Integrate with external systems (e.g. LDAP or ECM)
  64. 64. Action buttons allow the user to make a decision in a process
  65. 65. Process decision can require additional UI logic</li></li></ul><li>Sample widgets & buttons<br />CMIS WIDGET<br />PROCESS DATA WIDGET<br />PROCESS HISTORY WIDGET<br />Access an ECM folder using CMIS<br />(Alfresco, Nuxeo, <br />Sharepoint, ...)<br />Universal forms, capable of displaying and editing process instance’s attributes.<br />Widget displaying process history entries<br />USERDATA WIDGET<br />SUPPLIER WIDGET<br />TABSHEET WIDGET<br />Select a user for a dedicated role from differnt source (e.g. LDAP or Liferay)<br />Custom widget dedicated for a procurement process in a large company<br />Widget arranging its subwidgets in tabs.<br />COMMENTS ACTION BUTTON<br />(...)<br />A button that requires an explanation of user’s decision.<br />User provided input is stored as a comment.<br />
  66. 66. Other mechanisms<br />Build any features you require<br /><ul><li>The Aperte Workflow manages plugins and connects them to its API
  67. 67. The plugins can be used to provide process components
  68. 68. Other mechanisms can be introduced, for example:</li></ul>EMAILCAPTURE<br />PROCESS STATE NOTIFICATION<br />RESTAPI<br />Start process instance or propagate its execution when certain email is received. <br />Notify task owner or any other recipient that a certain process instance has entered designated process step.<br />Provide access to Aperte Workflow’s API using REST.<br />(...)<br />
  69. 69. Seeing the benefits<br />More than BPM<br /><ul><li>No need to construct yet another application around your BPM
  70. 70. Use a set of pre-built features and plugins
  71. 71. Build only processes and plugins you need</li></ul>Construct processes from reusable components<br /><ul><li>Simple, process-agnostic plugins
  72. 72. Provide any feature you require
  73. 73. Maintain control over your implementedprocesses</li></ul>Well-known, open technologies<br /><ul><li>Stable foundation for any solution
  74. 74. Existing user base and communities
  75. 75. It is easy tolearn and use Aperte Workflow</li></li></ul><li>Demo<br />
  76. 76. Questions & Answers<br />More information:<br /><br /><br /><br /><br />