eclipsecon2008_swordfish

29
Swordfish The Eclipse SOA Runtime Framework Copyright © SOPERA GmbH, 2008. Content is made available under the EPL v1.0.

Upload: zubin67

Post on 28-Jun-2015

341 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EclipseCon2008_Swordfish

Swordfish

The Eclipse SOA Runtime Framework

Copyright © SOPERA GmbH, 2008. Content is made available under the EPL v1.0.

Page 2: EclipseCon2008_Swordfish
Page 3: EclipseCon2008_Swordfish

SOA

Architecture and Features

Usage Scenarios

Past, present, and future

Your questions

Page 4: EclipseCon2008_Swordfish

SOAService Oriented Architecture

Page 5: EclipseCon2008_Swordfish

Application landscapes in large enterprises tend to evolve in uncontrolled ways.

Page 6: EclipseCon2008_Swordfish

Ad-hoc integration increases complexity and leads to maintenance nightmares.

Page 7: EclipseCon2008_Swordfish

Hub-and-Spoke approaches often fail to deliver significant business value.

Page 8: EclipseCon2008_Swordfish

EAI = Octopus

Page 9: EclipseCon2008_Swordfish

SOA is a structured approachto defining a sound Enterprise Architecture.

Page 10: EclipseCon2008_Swordfish

Services encapsulate business functionalityand share common characteristics

Services can be composed into more complex services

Standardized Contract Common contract design standards within the same service inventory

Loosely coupled Contracts impose low consumer coupling requirements

Information about services is limited to what is published in service contracts

Abstract

Service logic is agnostic and reusableReusable

Services exercise a high level of control over their underlying runtime execution environment.

Autonomous

Services defer the management of state information when necessary.

Stateless

Services are supplemented with meta data by which they can be discovered and interpreted.

Discoverable

Composable

Page 11: EclipseCon2008_Swordfish

Architecture and Features

Page 12: EclipseCon2008_Swordfish

OSGi services alone are not sufficient for enterprise-scale SOA

Four tenets of SOA* OSGi/Equinox SOA

!

!

!

!

!

!

Service boundaries are explicitfunctionality can only be accessed through the service boundary

Services are autonomousno hard dependencies on other services

Services expose schema and contract, not class and typeinterface is defined in a platform and language neutral way

Services negotiate using policycapabilities and requirements must match, negotiation is dynamic

* Source: http://msdn.microsoft.com/msdnmag/issues/04/01/Indigo/default.aspx

Page 13: EclipseCon2008_Swordfish

Swordfish is based on all three relevant standards in the SOA space

OSGi

JBI

SCA

Component modelModule deployment mechanismClassloading

Messaging abstractionMessage routing

Programming modelAssembly description format

Page 14: EclipseCon2008_Swordfish

Swordfish is built on top of a bundelizedJBI runtime environment

Equinox

JBISE

JAX-WS

JBI components deployed as OSGi bundles

ApacheServiceMix

ServiceDiscovery

JBISE

Java

JBISE

BPEL

JBIBCJMS

JBIBC

HTTP

...JBINMR

MessageProcessor

AdvancedMgmt.

FrameworkController

RemoteConfig.

...

Framework plug-ins Framework core

Page 15: EclipseCon2008_Swordfish

Dynamic service discovery

SOARegistry/

Repository

Provider1

Provider2

ServiceDiscovery

Logical service name + policy

physical endpoint address

JBIBC

HTTP

JBISE

Java

?

Page 16: EclipseCon2008_Swordfish

Policy-driven message processing

Processingplanner

Policy

Processor1

Processor2

Processorn

...Message

processed Message

current runtimeconfiguration

create

processing chain

Page 17: EclipseCon2008_Swordfish

The SOA Tools Platform Project (STP) will provide extensive tool support for Swordfish

Create Service definitions following a contract-first (WSDL-first) approach

Create Services based on annotated Java code (JAX-WS)

Create WS-Policy documents to specify non-functional requirements and capabilities of a service

Deploy Service implementations into Swordfish runtime

Create SCA composite applications both top-down and bottom-up

Page 18: EclipseCon2008_Swordfish

Usage scenarios

Page 19: EclipseCon2008_Swordfish

Scenario 1: RCP application acting as a web service consumer

Equinox

JBISE

Java

...

Bundles that make upyour RCP application

Your consumerimplementation

lives here!

JBINMR

JBIBC

HTTP

Swordfish bundles

Web Service

SOAP over

HTTP

Page 20: EclipseCon2008_Swordfish

Scenario 2: Swordfish as a server-side runtime hosting a service

Equinox

JBISE

Java

...

Your serviceimplementation

lives here!

JBINMR

JBIBC

HTTP

Swordfish bundles

Web Service

consumer

SOAP over

HTTPServ

let

Bri

dge

Tom

cat

OSGiRegistry

register

Page 21: EclipseCon2008_Swordfish

Scenario 3: Swordfish as a server-side runtime hosting a composite service

Equinox

JBISE

Java

...

Your BPEL processlives here!

JBINMR

JBIBC

HTTP

Swordfish bundles

Web Service

consumerSOAP over

HTTPTo

mcat

OSGiRegistry

register

JBISE

BPEL

Your Java service implementations live here!

HTTPService

externalWeb

Service

Page 22: EclipseCon2008_Swordfish

Past, present, and future

Page 23: EclipseCon2008_Swordfish

Swordfish timeline

Eclipserelease train Europa Ganymede ?

SCA support

Q1 Q2 Q3 Q4

2007

Q1 Q2 Q3 Q4

2008

Q1 Q2

2009

Proposalpublished

Proposalaccepted

Initialsubmission

1st production release 1.0

Production release 2.0Milestone

Incubation MaturationProposal

Bottom line: We won‘t make it for Ganymede, but we‘ll be part of the simultaneous release in 2009.

Milestone

Page 24: EclipseCon2008_Swordfish

Where we are now:The groundwork is done

Equinox

JBISE

JBINMR

JBIBC

Page 25: EclipseCon2008_Swordfish

What‘s next:Designing the framework

Milestone 1, mid of Q2 2008

Milestone 2, mid of Q3 2008

Release 1.0, end of Q4 2008

First draft of message processing framework

Hosting of JAX-WS services

Framework and exemplary implemetation done

Support for deployment from STP/WTP

Message processing done

Draft of other framework aspects (Service Discovery, Management Integration, Remote Configuration)

Page 26: EclipseCon2008_Swordfish

What‘s on the horizon:Adding the SCA layer on top

BPEL

Java

JBI NMR

BPELSE

JavaSE

HTTPBC

STP Intermediary Model?JavaSE

BPELSE

SU SU

JBI NMR

HTTPBC

SU SU

SU

SU

SU

Service Units deployed as bundles

Page 27: EclipseCon2008_Swordfish

Swordfish has a diverse community of committers and (future) contributors

Committers

Oliver WolfDietmar WolzGerald Preissler

Klaus Kiehne

James StrachanGuillaume NodetJonas LimAdrian Co

Future Contributors

Heiko Seeberger

Maybe you???

Contributors

Andrey Kopachevsky

Page 28: EclipseCon2008_Swordfish

Your questions

Page 29: EclipseCon2008_Swordfish

Legal noticesThe photos used in this presentation have been made available by the copyright holders under a Creative Commons License.

Photo 1 (Barrio in Caracas) by http://www.flickr.com/people/rooshv/, Photo 2 (Production plant) by Photo 3 (Cables) by http://www.flickr.com/photos/ryangreenberg/Photo 4 (Octopus) by http://www.flickr.com/people/ericasimone/Photo 5 (Brasilia) by http://www.flickr.com/photos/car_tav/Photo 6 (Lego blocks) by http://www.flickr.com/people/ppdigital/