eclipsecon2008_swordfish
TRANSCRIPT
![Page 1: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/1.jpg)
Swordfish
The Eclipse SOA Runtime Framework
Copyright © SOPERA GmbH, 2008. Content is made available under the EPL v1.0.
![Page 2: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/2.jpg)
![Page 3: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/3.jpg)
SOA
Architecture and Features
Usage Scenarios
Past, present, and future
Your questions
![Page 4: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/4.jpg)
SOAService Oriented Architecture
![Page 5: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/5.jpg)
Application landscapes in large enterprises tend to evolve in uncontrolled ways.
![Page 6: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/6.jpg)
Ad-hoc integration increases complexity and leads to maintenance nightmares.
![Page 7: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/7.jpg)
Hub-and-Spoke approaches often fail to deliver significant business value.
![Page 8: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/8.jpg)
EAI = Octopus
![Page 9: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/9.jpg)
SOA is a structured approachto defining a sound Enterprise Architecture.
![Page 10: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/10.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/11.jpg)
Architecture and Features
![Page 12: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/12.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/13.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/14.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/15.jpg)
Dynamic service discovery
SOARegistry/
Repository
Provider1
Provider2
ServiceDiscovery
Logical service name + policy
physical endpoint address
JBIBC
HTTP
JBISE
Java
?
![Page 16: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/16.jpg)
Policy-driven message processing
Processingplanner
Policy
Processor1
Processor2
Processorn
...Message
processed Message
current runtimeconfiguration
create
processing chain
![Page 17: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/17.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/18.jpg)
Usage scenarios
![Page 19: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/19.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/20.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/21.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/22.jpg)
Past, present, and future
![Page 23: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/23.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/24.jpg)
Where we are now:The groundwork is done
Equinox
JBISE
JBINMR
JBIBC
![Page 25: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/25.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/26.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/27.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/28.jpg)
Your questions
![Page 29: EclipseCon2008_Swordfish](https://reader033.vdocument.in/reader033/viewer/2022052622/558fd0931a28ab4b1b8b46ab/html5/thumbnails/29.jpg)
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/