ese2008 swordfish
DESCRIPTION
Swordfish Presentation.TRANSCRIPT
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!