BPEL & OSGi at EclipseCon 2010

Post on 10-May-2015

1.793 views 2 download

Tags:

description

Presentation supporting the speech of Andrea Zoppello, Spagic Architect, at EclipseCon 2010. The speech was centred around the integration of the Open Source BPEL engine Apache ODE with OSGi services, within the embedded container Equinox. The presentation refers to the core of Spagic platform, with a particular focus on the new orchestration features for OSGi services and connectors and on the support offered to the governance of SOA projects through the web console Spagic Monitor.

Transcript of BPEL & OSGi at EclipseCon 2010

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