13. We‘re on a mission
“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.”
14. Swordfish is based on all three relevant
standards in the SOA space
Programming model
SCA
Assembly description format
Messaging abstraction
JBI Message routing
Component model
OSGi Module deployment mechanism
Classloading
15. What‘s that buzz about JBI?
I thought it was dead?
Then Apache, ow2 and Java.net are hosting zombies!
16. ServiceMix provides the routing facility and
loads of components...
JAX-WS SE HTTP BC
BPEL SE JMS BC
ServiceMix 4
SCA Java SE Normalized Message SMTP BC
Router
Scripting SE FTP BC
... ...
Swordfish
core
Configuration
Management
Interceptors
Monitoring
Resolver
Security
Service
...and Swordfish adds a framework for the
missing parts.
17. The boundaries between API, implementation
and plug-ins are clearly defined
Core API
<<interface>> <<interface>> <<interface>>
PlannerStrategy Interceptor ServiceResolver
+plan() +process() +resolve()
Core
Planner ServiceResolvingInterceptor
+plan() +process()
Plug-ins
PolicyPlannerStrategy SomeInterceptor WSDLFileServiceResolver
+plan() +process() +resolve()
18. Service registry lookup
Registry/
Logical service name +
policy Repository
physical endpoint
Service address Provider
Resolver 1
?
Provider
2
JBI JBI
SE BC
Java HTTP
20. Exemplary plug-ins Your own plugins
org.eclipse.swordfish.api
org.eclipse.swordfish.core
ServiceMix 4
Spring OSGi Event Admin Configuration Admin
SMX4 dependencies org.eclipse.osgi
21. My own plugin org.eclipse.swordfish.core OSGi Registry
register MyInterceptor
as org.eclipse.swordfish.api.Interceptor
notify framework of
newly registered service
pick up implementation class
.
.
.
process()
22. 5 committers
(3 full time)
2 contributors
1.0M3 out
release planned for
end of December
plan to be in Galileo
in June 2009
23. Where we‘re heading:
Adding the SCA layer on top
SU SU
BPEL Java
SE SE
BPEL
JBI NMR
Java
HTTP
BC
Service Units deployed as bundles SU
SU SU SU SU
STP Intermediary Model?
Java JBI BPEL HTTP
SE NMR SE BC