Eclipse Con2009 Practical Process Orchestration
Upcoming SlideShare
Loading in...5
×
 

Eclipse Con2009 Practical Process Orchestration

on

  • 2,679 views

The Business Process Execution Language for Web Services (BPEL) is frequently used to implement business processes on a technical level. BPEL allows describing long-running workflows using graphical ...

The Business Process Execution Language for Web Services (BPEL) is frequently used to implement business processes on a technical level. BPEL allows describing long-running workflows using graphical editors to present workflows on human-friendly diagrams.
Recently open source implementations like the Orchestration Director Engine (ODE) developed from the Apache Foundation and the Eclipse BPEL project have reached a maturity level which enables their use in a productive environment.
Advanced integration features like dynamic endpoint resolution or policy driven configuration require a SOA runtime framework. We present the integration of ODE and the Eclipse BPEL editor with Eclipse Swordfish. Our extensions to the eclipse BPEL editor support the whole process development cycle including both visual and textual process design, deployment and testing. Web service meta data can be imported from the Swordfish service registry, orchestrated services can directly be registered as service providers and used by other services. Sample projects and wizards reduce the required familiarization effort.

Statistics

Views

Total Views
2,679
Views on SlideShare
2,664
Embed Views
15

Actions

Likes
2
Downloads
72
Comments
0

2 Embeds 15

http://www.slideshare.net 10
http://jisi.dreamblog.jp 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Eclipse Con2009 Practical Process Orchestration Eclipse Con2009 Practical Process Orchestration Presentation Transcript

  • Practical Process Orchestration using Eclipse SOA Dr. Dietmar Wolz Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 2 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 3 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • What is Swordfish?  Swordfish is the codename of the Eclipse SOA Runtime Framework Project (under the Runtime top level project)  Mission: Create a flexible and modular SOA runtime framework that can be complemented by other components – both open source and commercial – to create a full-fledged Enterprise Service Bus.  Swordfish builds upon existing proven open source SOA technology and extends it with enterprise features such as service registry integration, remote configuration and monitoring capabilities. 4 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Swordfish builds upon proven open source ESB technology, extending it with enterprise features . 5 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • How to implement Services in Swordfish?  Swordfish is a framework – there's no single way to implement services with Swordfish  The options currently available include:  BPEL (requires the Apache ODE BPEL Engine to be installed as a plugin)  Java using JAX-WS (requires Apache CXF to be installed as a plugin)  Java using low-level JBI APIs  Swordfish is based on Equinox, so everything you deploy into Swordfish must be packaged into an OSGi bundle. 6 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 7 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Composite Services in Swordfish 8 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Why to use BPEL?  Industry standard language for expressing business processes  Business services can be designed to be process-agnostic  The BPEL process manages and coordinates the state  Designed to fit naturally into the Web services stack  Uses and extends WSDL 1.1  Expressed entirely in XML  Provides and consumes Web services in an abstract way, using WSDL to define service interfaces 9 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • BPEL features  Parallel processing  Delayed execution - persisting process state  Concurrent/selective event processing  Asynchronous execution  Message correlation  Data manipulation - XPath based  Data validation  Scoped error handling / compensation handlers  Dynamic Endpoint Resolution  Extendable - for example XSLT transformations 10 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Swordfish features (will be extended)  Events / Monitoring  The Swordfish Event API builds upon the OSGi EventAdmin Service  Configuration (local/remotely)  The Configuration API builds upon the OSGi ConfigurationAdmin service  A ConfigurationAgent receives configurations from a ConfigurationSource (possibly a remote one) and provides them to other components through the OSGi Configuration Admin service  A component that implements ConfigurationConsumer receives updated configurations as they become available  Dynamic Endpoint Resolution / Service Discovery  The Service Resolver API builds upon the general interceptor API  The ServiceResolverInterceptor is reponsible for translating the (logical) service interface name carried inside a message exchange into a physical endpoint 11 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Dynamic Service Discovery 12 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Process-Tooling Service Registry/ Service Discovery/ File System WSDL Import Eclipse BPEL Editor Deployment Apache ODE JBI Service Unit 13 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Swordfish-Tooling 14 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • BPEL Editor for Ganymede/Gallileo - check the Swordfish Wiki http://wiki.eclipse.org/Swordfish_Documentation:_Installing_BPEL_Editor_in_Ganymede 15 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • BPEL – WSDL - PartnerLinks BPEL-Process Partner Partner Service Process Link Link Provider Consumer invokes inbound outbound calls import abstract abstract WSDL WSDL inbound outbound 16 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Process Execution Process BPEL-Process Execution calls Process Consumer invokes Service Provider replies 17 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Standard JBI deployment Inbound Swordfish/ http-binding SMIX 4 JBI Service Unit Apache ODE NMR external internal JBI Service Unit endpoints endpoints Outbound http-binding JBI Service Unit 18 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Alternative deployment Inbound http-binding Swordfish/ JBI Service Unit SMIX 4 Apache ODE NMR external internal JBI Service Unit endpoints endpoints Swordfish ServiceResolverInterceptor 19 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 20 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Flight Reservation Service Process Reservation Service BPEL-Process Partner Partner Reservation Reservation Storage Link Link Service Service invokes Reservation Storage Consumer calls Provider import WSDL WSDL Reservation Storage 21 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Flight Reservation Service WSDLs invokes 22 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Physical Endpoints are not specified in the Process Description  Physical Endpoints are either  defined in the http-binding SU  or are provided dynamically by the Swordfish Service Resolver Interceptor 23 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 24 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • The Reservation Process in the BPEL Editor 25 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • The BPEL source view 26 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • The missing view  missing: a (really) human readable process DSL  Intalio developed such a DSL called SimPEL  a SimPEL compiler translates SimPEL code into BPEL  Disadvantage: textual representation is not standardized 27 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Import a WSDL 28 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Receive the Process Parameters 29 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • The providerRequest Variable 30 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • The providerResponse Variable 31 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • The consumerRequest Variable 32 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • The consumerResponse Variable 33 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • The Inbound PartnerLink 34 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • The Outbound PartnerLink 35 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Assigning Data 36 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Invoke an External Web Service 37 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Deployment to Apache ODE 38 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Customizing ODE log output 39 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Debugging / Tracing service calls  Tracing outgoing service calls using httptracer 40 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0
  • Agenda  Introduction  Process Orchestration in Swordfish  Sample scenario  Eclipse BPEL Editor  Demo 41 Practical Process Orchestration using Eclipse SOA | © 2009 by SOPERA ; made available under the EPL v1.0