Ese2008 Swordfish

Post on 18-Dec-2014

439 views 0 download

description

Swordfish Presentation.

Transcript of Ese2008 Swordfish

Eclipse Swordfish — An Open Source SOA Runtime Framework for the Enterprise

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

SOA (not)

What makes Enterprise SOA...well..Enterprise SOA?

What Swordfish is and what it does

Where we are and where we are heading

Your questions

Do you like spaghetti?

That‘s what you‘llend up with JBOWS.

Or do you prefer to keep track of your services?

Use a service registry!

Are you happy with a static system?

It‘s hard to change direction if you need to.

Or do you prefer to keep things dynamic?

Go for Policies!

Do you feel good when you don‘t see what‘s going on?

You might need to dig a bit deeper.

Or do you prefer to keep in control?

Service monitoring is essential!

Registry

MonitoringPoliciesRemote configuration

OrchestrationRepository

“The goal of the Swordfish project is to provide an extensible SOA runtime framework based on the proven Eclipse Equinox runtime technology. The framework is designed to be complemented by additional open source components such as a service registry, a messaging system, a process engine etc. to form a comprehensive open source SOA runtime environment based on both established and emerging open standards.”

We‘re on a mission

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

What‘s that buzz about JBI?I thought it was dead?Then Apache, ow2 and Java.net are hosting zombies!

ServiceMix provides the routing facility and loads of components...

JAX-WS SE

BPEL SE

SCA Java SE

Scripting SE

...

HTTP BC

JMS BC

SMTP BC

FTP BC

...

ServiceMix 4Normalized Message

Router

...and Swordfish adds a framework for the missing parts.

Interceptors

Service Resolver

Monitoring

Security

Configuration

Managem

ent

Swordfishcore

The boundaries between API, implementation and plug-ins are clearly defined

Core API

Core

Plug-ins

<<interface>>Interceptor

+process()

<<interface>>PlannerStrategy

+plan()

PolicyPlannerStrategy

+plan()

Planner

+plan()

SomeInterceptor

+process()

ServiceResolvingInterceptor

+process()

<<interface>>ServiceResolver

+resolve()

WSDLFileServiceResolver

+resolve()

Service registry lookup

Registry/Repository

Provider1

Provider2

ServiceResolver

Logical service name + policy

physical endpoint address

JBIBC

HTTP

JBISE

Java

?

Policy-driven message processing

PlannerHints

Interceptor1

Interceptor2

Interceptorn

...Message

processed Message

current runtimeconfiguration

create

processing chain

org.eclipse.swordfish.api

org.eclipse.osgi

Event Admin Configuration Admin

SMX4 dependencies

ServiceMix 4

Spring OSGi

org.eclipse.swordfish.core

Exemplary plug-ins Your own plugins

OSGi Registryorg.eclipse.swordfish.coreMy own plugin

register MyInterceptor as org.eclipse.swordfish.api.Interceptor

notify framework of newly registered service

pick up implementation class

.

.

.process()

5 committers (3 full time)

2 contributors

release planned forend of December

plan to be in Galileoin June 2009

1.0M3 out

Where we‘re heading: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

Join us!