Liferay European Symposium 2011 - Building complete workflow solutions

16
Building complete workflow solutions with Liferay Tomek Lipski Chief of R&D, BlueSoft, Poland @tomeklipski

description

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.

Transcript of Liferay European Symposium 2011 - Building complete workflow solutions

Page 1: Liferay European Symposium 2011 - Building complete workflow solutions

Building complete workflow solutions with LiferayTomek LipskiChief of R&D, BlueSoft, Poland

@tomeklipski

Page 2: Liferay European Symposium 2011 - Building complete workflow solutions

Agenda

•BlueSoft – 60 second introduction

•Aperte Workflow – more than just BPM

•Choosing right tools

• The frontend – focus on usability and user experience

• The platform – where modularity is #1 goal

• The backend – BPM engine, persistence, integration

•How do these tools combine into a complete workflow solution

• The process

• Automated steps

• Human tasks

• Other mechanisms

•Seeing the benefits

•Demo and Q&A

Page 3: Liferay European Symposium 2011 - Building complete workflow solutions

BlueSoft

Who are we?•One of the largest independent software vendors in Poland

•Mostly Java-based solutions

•Largest enterprise integration team in Poland

•We support biggest companies in Poland: telecoms, financial, logistic, etc.

BlueSoft as a Liferay partner•We use Liferay as a platform for our solutions since 2006

•We became Liferay Service Partner in 2011

•In 2011, we have released some of our Liferay based products under GNU LGPL

Page 4: Liferay European Symposium 2011 - Building complete workflow solutions

Aperte Workflow

More than just BPM•Built on top of a compilation of Open Source frameworks and libraries

•Business processes built from reusable components

•Multiple BPM implementations supported

•Liferay 6.0 as a base

•Plugin mechanism backed by OSGi stack

•Enterprise integration ready

•Rich User Interface

Aperte Workflow is available under GNU Lesser GPL:

https://github.com/bluesoft-rnd/aperte-workflow-core

Page 5: Liferay European Symposium 2011 - Building complete workflow solutions

Choosing right tools

Prefer Open Source where possible• Access to source codes

• Stable and clean relashionship with tools’ vendors

• Open Source communities provide great aid and feedback

Use existing tools, try not to create new ones• Existing tools/frameworks/libraries are

constantly verified and tested by their users

• They provide features you might never think of

• It is easier and safer for potential users to learn and use a solution based on components they are already familiar with

… but when no good tool exists,

do not hesitate to develop one!

Page 6: Liferay European Symposium 2011 - Building complete workflow solutions

The frontend

Liferay - enhances user experience• Any application can be functionally

divided into portlets

• Introduce new portlets and features

• Out of the box features

Rich User Interface is provided by • Pluggable controls („widgets” and „actions”)

• No HTML/CSS/JavaScript hassle in most cases

• Great for plugins – management, development, etc.

• Security and control

• We can use JSR-223 scripting languages too (Scala, Clojure, Jython, JRuby, etc.)

Page 7: Liferay European Symposium 2011 - Building complete workflow solutions

The platform

OSGi service platform• Industry standard for modularity

• Ready to use and complete plugin system

• Classloader safety for plugins

Plugins deliver over 90% of the solution• Widgets and actions

• Automated steps

• Process definitions

• Internationalization (I18N)

• Custom mechanisms

• And many more...

Page 8: Liferay European Symposium 2011 - Building complete workflow solutions

The backend

Common BPM API• jBPM4, jBPM5, Activiti, Aris, …

• Pick your favorite BPM implementation

Mule ESB as an embedded OSGi plugin• Powerful and flexible MuleClient is available for other plugins

• Simple Mule services can be deployed as Aperte Workflow OSGi plugins

• Put your processes in the Cloud with Mule iON

Persistence is provided by Hibernate/JPA• Data model can be extended by plugins using JPA API

annotations

• Hibernate makes us slightly more RDBMS vendor indepenent

Page 9: Liferay European Symposium 2011 - Building complete workflow solutions

The process

Standard BPM API•The process flow is controlled by currently deployed BPM engine

•Every implementation of BPM interface fulfills simple API with basic operations

•Human tasks, process state, process history, etc. are all available to other compenents/plugins

•Process data available outside of BPM implementation

•Aperte Workflow grants the reusability of components applied in process – on every level possible

Page 10: Liferay European Symposium 2011 - Building complete workflow solutions

Automated steps

Modular and reusable•Automated steps are provided and invoked as OSGi plugins

•Each OSGi plugin has seperate classloader, which resolves most of the dependency conflicts

•The output from automated step can be used to guide process execution

Sample automated steps:

• Invoke Drools rule• Generate a document from

process data • Invoke Web Service using Axis

• Use MuleClient to invoke Web Service

• Use MuleClient to invoke internal Mule service operating on JMS

Page 11: Liferay European Symposium 2011 - Building complete workflow solutions

Human tasks

A GUI that meets business requirements•Aperte Workflow provides dedicated Liferay portlets for human tasks management

•User interface is composed from widgets and action buttons provided as plugins

•Widgets can perform different roles:

• Arrange other widgets

• Provide generic operations on process data

• Integrate with external systems (e.g. LDAP or ECM)

•Action buttons allow the user to make a decision in a process

•Process decision can require additional UI logic

Page 12: Liferay European Symposium 2011 - Building complete workflow solutions

Sample widgets & buttons

CMIS WIDGET

Access an ECM folder using CMIS(Alfresco, Nuxeo, Sharepoint, ...)

PROCESS DATA WIDGET

Universal forms, capable of displaying and editing process instance’s attributes.

USERDATA WIDGET

Select a user for a dedicated role from differnt source (e.g. LDAP or Liferay)

SUPPLIER WIDGET

Custom widget dedicated for a procurement process in a large company

COMMENTS ACTION BUTTONA button that requires an explanation of user’s decision.User provided input is stored as a comment.

(...)

PROCESS HISTORY WIDGET

Widget displaying process history entries

TABSHEET WIDGET

Widget arranging its subwidgets in tabs.

Page 13: Liferay European Symposium 2011 - Building complete workflow solutions

Other mechanisms

Build any features you require•The Aperte Workflow manages plugins and connects them to its API

•The plugins can be used to provide process components

•Other mechanisms can be introduced, for example:

EMAIL CAPTURE

Start process instance or propagate its execution when certain email is received.

PROCESS STATE NOTIFICATION

Notify task owner or any other recipient that a certain process instance has entered designated process step.

REST API

Provide access to Aperte Workflow’s API using REST.

(...)

Page 14: Liferay European Symposium 2011 - Building complete workflow solutions

Seeing the benefits

More than BPM•No need to construct yet another application around your BPM

•Use a set of pre-built features and plugins

•Build only processes and plugins you need

Construct processes from reusable components•Simple, process-agnostic plugins

•Provide any feature you require

•Maintain control over your implementedprocesses

Well-known, open technologies•Stable foundation for any solution

•Existing user base and communities

•It is easy to learn and use Aperte Workflow

Page 15: Liferay European Symposium 2011 - Building complete workflow solutions

Demo

Page 16: Liferay European Symposium 2011 - Building complete workflow solutions

Questions & Answers

http://www.bluesoft.net.pl/aperte-workflow

https://demo.aperteworkflow.org/

https://github.com/bluesoft-rnd/aperte-workflow-core

http://www.bluesoft.net.pl

More information: