Camunda & Liferay
Wie Sie BPMN 2.0 mit Portaltechnologie kombinieren
Jan Roth
 Senior Developer and Architect at Ancud IT
jan.roth@ancud.de
Bernd Rücker
 Co-Founder of Camunda
 10+ years experience with workflow and Java
 Evangelist & Head of Consulting
@berndruecker | bernd.ruecker@camunda.com
Your speakers today
camunda: BPMN + Embeddability
BPMN-based Business-IT-Alignment Developer-Friendlyness
camunda BPM components
Engine
Tasklist
Custom
Application
Cockpit
Cycle
Eclipse
Modeler
Business
Modeler
Business User
Operations
(technical
/business)
Business
Analyst
Developer
Database
File Repository
REST / Java API
REST RESTREST / Java
Design Time Runtime
About Ancud IT
Aprox. 60 employees
Net-centric, agile IT
OpenSource
Integration
Collaborative
Process-Portals
Founded 2002,
Nuremberg / Germany
Enterprise 2.0
 The Leading Open Source Portal for the Enterprise
−Proven real world performance
−4 million downloads, 350-500k installations
 All-in-one Package
−Content & Document Management
−Web Publishing
−Enterprise Collaboration
 Market Leader
Liferay Portal
 Liferay Platinum Service Partner
 Liferay Customer Excellence Award 2014
 Selected Customers:
−Olympus
−OBI
−Ehrmann
−Deutsche Bahn
−AUDI AG
Ancud IT is Liferay Partner
Ancud IT – Solutions and Partners
Service-Oriented Architecture
Enterprise Portal
DMS Collaboration Bi&ESBE-Commerce BPM
Live
Demo
 Portlet Modes
−View (default mode)
−Edit (Reserved for changing the Portlet‘s settings)
−Help (providing information about the portlet)
−etc.
 Request Modes
−Rendering (default mode for viewing the Portlet‘s contents)
−Action (normally used for state changing actions)
−Resource (used for serving resources)
Portlet Rendering
 Portlet MVC Architecture
−Configuration is usually done using singleton Beans
−Model is defined as Entities (not used here)
−Controllers are configured using annotations, using beans via CDI
−View is configured by the viewResover, selected by the controller
Spring Model
Code
Walkthrough
 Build Java services, and deploy within the Portlet
−Pro: still hot deployable Processes using WebForm
−Con: still only deployed services are usable
 Improved error handling
−Think of timeout escalation, tasks already done, but page not
refreshed, etc.
 Use Liferay Users for Camunda
 Assign Processes to Users/Groups
 Substitute Kaleo (the default Liferay Workflow Engine) with Camunda
Possible improvements
Process Applications vs. „Kaleo“
Use Liferay as UI for
Process Application
Internal Workflows in
Liferay (e.g. release
content)
vs.
Hot Deployment of processes?
Process Application
(Deployment Artifact)
Java Classes
BPMN 2.0
Processes
…
Camunda DB
BPMN 2.0
Processes
Manual
deploy
via API
Forms
Auto-
Deploy
Process application
My process application
process
engine (jar)
Java Classes
BPMN 2.0
Processes
…
Process applications
Process Engine
Container
My process
application2
Java
classes
BPMN 2.0
processes
JPA, EJB, JTA …
My process
application1
Java
classes
BPMN 2.0
processes
…
My process application2
Process
Engine
Java
classes
BPMN 2.0
processes
…
Supported on:
Tomcat, JBoss AS, Glassfish, WebSphere and
WebLogic
My process application
Process
Engine
Java
classes
BPMN 2.0
processes
…
Process Engine Modes Embedded Process Engine
Shared Process Engine
Remote Process Engine
tasklist.war
generic form
portlet
Portlet Design
generic form
portlet
Decision 1: Generic Portlet or specific Task Form Portlets
pa1.war
tasklist.war
generic form
portlet
Decision 2: Deployment Artifacts
…
pa2.war
tasklist.war
pa1.war
generic form
portlet
load HTML
Camunda Task Form Types
Embedded
Task Form
Generated
Task Form
Generic
Task Form
External Task Form
HTML-Form
provided by
Process
Application
(HTML File)
Rendered in
Tasklist
Form Data
Metadata
provided by
Process
Application
(BPMN 2.0
XML)
Rendered in
Tasklist
Completely
generic,
shows all
process
variables
Rendered in
Tasklist
Forwards to
external URL
handing over
parameters
(e.g. taskId)
E.g. HTML5,
JSF, PHP, …
HTML to be
embedded in
tasklist
Liferay Deployment Scenarios
Container
Liferay
(multiple WAR‘s)
Camunda Portlet /
Process Application
Camunda
Engine
Container
Liferay
(multiple
WAR‘s)
Camunda
Shared
Engine
Liferay Distribution or
Naked Container + Liferay Liferay Distribution + camunda or
Camunda Distribution + Liferay or
Naked Container + camunda & Liferay
Camunda Portlet /
Process Application
Camunda Portlet /
Process Application
Camunda Portlet /
Process Application
…and real-life?
 Migration from big vendors BPMS
 Technology Stack
−JBoss EAP 6
−Camunda BPM 7 EE (shared engine)
−Liferay 6 EE
−Java EE 6: EJB, JPA, CDI, JSF
 Already went live - awesome feedback!
 Why Portal?
−User Management
−Customizing of UI by user
−Existed with old solution
Real-life project example
Tasklist
Task-Form
Monitoring
Process Instance View
Roadmap?
Start now and give us feedback!
Open Source Edition
• Download:
www.camunda.org
• Docs, Tutorials etc.
• Forum
• Meetings
Enterprise Edition
• Trial:
www.camunda.com
• Additional Features
• Support, Patches etc.
• Consulting, Training
http://camunda.com/bpm/consultation/
info@camunda.com | US +1.415.800.3908 | DE +49 30 664040 900
Thank you!
Questions?

Webinar: Camunda und Liferay

  • 1.
    Camunda & Liferay WieSie BPMN 2.0 mit Portaltechnologie kombinieren
  • 2.
    Jan Roth  SeniorDeveloper and Architect at Ancud IT jan.roth@ancud.de Bernd Rücker  Co-Founder of Camunda  10+ years experience with workflow and Java  Evangelist & Head of Consulting @berndruecker | bernd.ruecker@camunda.com Your speakers today
  • 3.
    camunda: BPMN +Embeddability BPMN-based Business-IT-Alignment Developer-Friendlyness
  • 4.
    camunda BPM components Engine Tasklist Custom Application Cockpit Cycle Eclipse Modeler Business Modeler BusinessUser Operations (technical /business) Business Analyst Developer Database File Repository REST / Java API REST RESTREST / Java Design Time Runtime
  • 5.
    About Ancud IT Aprox.60 employees Net-centric, agile IT OpenSource Integration Collaborative Process-Portals Founded 2002, Nuremberg / Germany Enterprise 2.0
  • 6.
     The LeadingOpen Source Portal for the Enterprise −Proven real world performance −4 million downloads, 350-500k installations  All-in-one Package −Content & Document Management −Web Publishing −Enterprise Collaboration  Market Leader Liferay Portal
  • 7.
     Liferay PlatinumService Partner  Liferay Customer Excellence Award 2014  Selected Customers: −Olympus −OBI −Ehrmann −Deutsche Bahn −AUDI AG Ancud IT is Liferay Partner
  • 8.
    Ancud IT –Solutions and Partners Service-Oriented Architecture Enterprise Portal DMS Collaboration Bi&ESBE-Commerce BPM
  • 9.
  • 10.
     Portlet Modes −View(default mode) −Edit (Reserved for changing the Portlet‘s settings) −Help (providing information about the portlet) −etc.  Request Modes −Rendering (default mode for viewing the Portlet‘s contents) −Action (normally used for state changing actions) −Resource (used for serving resources) Portlet Rendering
  • 11.
     Portlet MVCArchitecture −Configuration is usually done using singleton Beans −Model is defined as Entities (not used here) −Controllers are configured using annotations, using beans via CDI −View is configured by the viewResover, selected by the controller Spring Model
  • 12.
  • 13.
     Build Javaservices, and deploy within the Portlet −Pro: still hot deployable Processes using WebForm −Con: still only deployed services are usable  Improved error handling −Think of timeout escalation, tasks already done, but page not refreshed, etc.  Use Liferay Users for Camunda  Assign Processes to Users/Groups  Substitute Kaleo (the default Liferay Workflow Engine) with Camunda Possible improvements
  • 14.
    Process Applications vs.„Kaleo“ Use Liferay as UI for Process Application Internal Workflows in Liferay (e.g. release content) vs.
  • 15.
    Hot Deployment ofprocesses? Process Application (Deployment Artifact) Java Classes BPMN 2.0 Processes … Camunda DB BPMN 2.0 Processes Manual deploy via API Forms Auto- Deploy
  • 16.
    Process application My processapplication process engine (jar) Java Classes BPMN 2.0 Processes …
  • 17.
    Process applications Process Engine Container Myprocess application2 Java classes BPMN 2.0 processes JPA, EJB, JTA … My process application1 Java classes BPMN 2.0 processes … My process application2 Process Engine Java classes BPMN 2.0 processes … Supported on: Tomcat, JBoss AS, Glassfish, WebSphere and WebLogic My process application Process Engine Java classes BPMN 2.0 processes …
  • 18.
    Process Engine ModesEmbedded Process Engine Shared Process Engine Remote Process Engine
  • 19.
    tasklist.war generic form portlet Portlet Design genericform portlet Decision 1: Generic Portlet or specific Task Form Portlets pa1.war tasklist.war generic form portlet Decision 2: Deployment Artifacts … pa2.war tasklist.war pa1.war generic form portlet load HTML
  • 20.
    Camunda Task FormTypes Embedded Task Form Generated Task Form Generic Task Form External Task Form HTML-Form provided by Process Application (HTML File) Rendered in Tasklist Form Data Metadata provided by Process Application (BPMN 2.0 XML) Rendered in Tasklist Completely generic, shows all process variables Rendered in Tasklist Forwards to external URL handing over parameters (e.g. taskId) E.g. HTML5, JSF, PHP, … HTML to be embedded in tasklist
  • 21.
    Liferay Deployment Scenarios Container Liferay (multipleWAR‘s) Camunda Portlet / Process Application Camunda Engine Container Liferay (multiple WAR‘s) Camunda Shared Engine Liferay Distribution or Naked Container + Liferay Liferay Distribution + camunda or Camunda Distribution + Liferay or Naked Container + camunda & Liferay Camunda Portlet / Process Application Camunda Portlet / Process Application Camunda Portlet / Process Application
  • 22.
  • 23.
     Migration frombig vendors BPMS  Technology Stack −JBoss EAP 6 −Camunda BPM 7 EE (shared engine) −Liferay 6 EE −Java EE 6: EJB, JPA, CDI, JSF  Already went live - awesome feedback!  Why Portal? −User Management −Customizing of UI by user −Existed with old solution Real-life project example
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
    Start now andgive us feedback! Open Source Edition • Download: www.camunda.org • Docs, Tutorials etc. • Forum • Meetings Enterprise Edition • Trial: www.camunda.com • Additional Features • Support, Patches etc. • Consulting, Training http://camunda.com/bpm/consultation/ info@camunda.com | US +1.415.800.3908 | DE +49 30 664040 900
  • 34.