Date post: | 14-Jul-2015 |
Category: |
Software |
Upload: | camunda-services-gmbh |
View: | 484 times |
Download: | 1 times |
Camunda & Liferay
Wie Sie BPMN 2.0 mit Portaltechnologie kombinieren
Jan Roth
Senior Developer and Architect at Ancud IT
Bernd Rücker
Co-Founder of Camunda
10+ years experience with workflow and Java
Evangelist & Head of Consulting
@berndruecker | [email protected]
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 REST REST / 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&ESB E-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/
[email protected] | US +1.415.800.3908 | DE +49 30 664040 900
Thank you!
Questions?