OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
Andrea Zoppello, Software Architect Engineering Ingegneria Infomatica S.p.AMarch 25th 2010
OSGi & BPEL
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
Agenda
1. Context2. eBPM Project3. Orchestration Solutions within eBPM4. BPEL Integration5. Demo
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
OSGi is Great for SOA
Solid Foundation
� Module, Lifecycle, Service Layer
Service Composition
� Service Tracker� Service Component Models ( Declarative Service, OSGi Blueprint )
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
The needs for BPM…
Service Component Models are great but…
� Require to write code to realize business logic� We need to expose services through different protocols ( not
only SOAP )
Business Analysts think in terms of “processes”
� Analyst/Developer gap
Making SOA Projects is not only about development
� Governance & Management Tool are keypoints
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
eBPM ProjectBPM Platform for OSGi services
� Equinox/Swordfish
Core Framework� OSGi Declarative Services� Messaging Model� Event Admin / Distributed ( ECF )
Connectors & Services� Expose services to external world
through “connectors”� HTTP,SOAP,JMS,File,FTP,JDBC� Common Services ( XSLT, Script. )
ToolsProcess Modelling Tool IntegrationService Configuration/DeploymentMonitoring & Managament Tools
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
eBPM – Scope and Background
Will cover the “BPM stuff” in Eclipse SOA TLP
Creation review will be next week ( 7 April 2010 )
The initial code base comes from Spagic Project http://www.spagic.org
Solid foundation based on real projects
� Healthcare ( HL7 integration ) � Italy Public Administration � Industry� Finance/Banking
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
eBPM Core Framework – Messaging Model
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
eBPM Core Framework – Class Diagram
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
Orchestration
Two ways to realize services orchestration
The orchestration engine lives within the OSGi Container� “BPM Gateway” bundle
� Based on open source process engine ( adapted to work within OSGi)
The orchestration engine embeds the OSGi Container� BPEL
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
Tools
Service Configuration Editor� Does not overlap with PDE ( it works at a different level )� Visual Configuration of eBPM services� Easy Extensible with extension points
Process Development Tools� BPMN Modeler, Eclipse BPEL Designer� Extension to easily use eBPM/OSGi services within processes
Deployment Wizard� Provides facilities to deploy eBPM projects to the Equinox container
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
General Architecture
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
BPEL Architecture
OSGi & BPEL | © 2010 – Andrea Zoppello made available under the EPL v1.0
Apache ODE – eBPM Integration
Based on the “Equinox ServletBridge” approach
� eBPM Client API realizes the “bridge”� Implemented as OSGi bundle
Processes will use BPEL2.0 Standard Extension Syntax
� Standard Extension Implementation for ODE 2.0� Will use the eBPM API to interact with services