easysoa thanks to ow2 - ow2con 2011
DESCRIPTION
In this presentation, Marc Dutoo, R&D Lead at Open Wide, shows why and how the EasySOA project's architecture integrates OW2 components, notably FraSCAti and Nuxeo.TRANSCRIPT
Putting a collaborative twist
on SOA thanks to OW2Marc Dutoo, Open Wide
Use Case Track – Nov. 24th – OW2 Conference 2011
1
Marc Dutoo– Head of R&D at Open Wide
– EasySOA project leader
Alain Boulze– EasiFab Partner & Manager
– 25 years experience in IT for business
Cédric Carbone– Talend CTO
– OW2 & Eclipse Board member
Speakers
3
I. EasySOA in a nutshellII. Why and how FraSCAti in Nuxeo
- EasySOA Core & Light- Architecture
III. EasySOA Light scenarioIV. EasySOA-compatible ESB / TalendV. Roadmap - Questions
Agenda
EasySOA Facts– 5 partners– 2 years, started nov. 2010– 4m€ budget– System@tic label– And an ambitious aim…
Making Service Oriented Architectures (SOA) simple to use– Business use, development, production use, monitoring– And throttling up the SOA engine in the entreprise !
4
EasySOA - Factsheet
5
EasySOA - Goal
Add a lighter, agile SOA layer around “traditional” SOA
• thanks to an online, social and collaborative approach, involving all actors of the SOA process
– business users, SOA architects and developers, IT staff
• Enabling– ex nihilo service discovery, cartography and documentation, all
collaboratively
– sanitization and protection of existing SOAs by tracking changes of outside services
– help gathering and fast-prototyping business needs on top of existing applications, without hurting them
– reuse requirements, architectural shell, tests and mockups to ease the transition to final implementations within the existing SOA solution
6
EasySOA - Goal
Behind, French partners but also worldwide leaders
• INRIA labs : service engine (OW2 FraSCAti)
• EasiFab : SOA Modeling (Eclipse SOA), monitoring (Galaxy)
• Talend (ETL/ESB) : SOA and data connectors to connect to existing business – but also Data Quality and MDM
• Nuxeo (ECM) : document management platform, to manage the SOA model, documents and artifacts
• Bull (service provider and middleware) : SOA administration with OW2 Jasmine and use case
• Open Wide : leader, global architecture and integration, BPM (with Eclipse JWT / OW2 Scarbo), use case
7
EasySOA – Consortium
SOA is not only for technical people ! Business users
• are not interested in services on a technical point of view , but in how they impact business features, ex. :
– Which service failure cause a feature to be down
– Allow to evolve or develop new features
• On the other side, business users have the knowledge– on business needs, business data and how they map…
• most business users would like to have better visibility on how IT answers (or not) their business needs !
– No more “IT as a black box”
– Up to the business alignment of IT. SOA is a mean to this end !
813/12/2011
Business users… and services ?!
EasySOA Core is just the place for that :
• Rather than a formal, constrained, heavy process, provide the tools and the place for informal, social collaboration
– Around services and information about it (how they’re used & made…)
– Between all SOA actors, with each its own point of view and knowledge
And that for the most technically savvy of them, even
• Allows mockups, mashups and prototyping,
• in a sandboxed and monitored manner : EasySOA Light
• i.e. an embedded custom-tailored scripting and ESB platform
913/12/2011
EasySOA Core & Light
EasySOA Core is just the place for that :
• Rather than a formal, constrained, heavy process, provide the tools and the place for informal, social collaboration
– Around services and information about it (how they’re used & made…)
– Between all SOA actors, with each its own point of view and knowledge
=> OW2 Nuxeo
And that for the most technically savvy of them, even
• Allows mockups, mashups and prototyping,
• in a sandboxed and monitored manner : EasySOA Light
• i.e. an embedded custom-tailored scripting and ESB platform
=> OW2 FraSCAti
1013/12/2011
EasySOA Core & Light
SOA is actually first about documenting services
• Listing them & their definitions, specifications, uses, lifecycle
For EasySOA Core, we've chosen OW2 Nuxeo
• Collaborative document management platform with :
• extensible model
• Document classification : folders, relations, virtual trees
• collaborative platform : comments, workflows
• Access : customizable UI, REST web engine, Content Automation, CMIS, Talend (upcoming)
1113/12/2011
Why OW2 Nuxeo as Service Registry
For EasySOA Light, we've chosen OW2 FraSCAti
• model using SCA standard– What are the services, and what other services do they need to work
(kind of remote service dependencies injection)
– so can describe any possibly existing SOA
• middleware of middlewares, so will handle all– protocols (WS, REST, JMS),
– languages (Java, script)
– frameworks (OSGi, Spring)
• and lately, in part because of EasySOA, towards– scripting, modularity, Cloud
1213/12/2011
Why OW2 FraSCAti for Light platform
EasySOA – Architecture
2 platforms integrating the whole world !
• Al lot (100+) conflicting dependencies
• SCA composite parsing works well, starting not so
Some good news
• Happily both are getting OSGi-fied, already partly there
• Emerging, Nuxeo-free EasySOA API
14
13/12/2011
FraSCAti in Nuxeo – how
Nuxeo
Felix
OSGi
kernel
FraSCAti :
WS / CXF
Web / Servlet…
=> Start (parts of) FraSCAtiwithin an OSGi kernel started within Nuxeo(INRIA using a Nuxeopattern)
EasySOA
API on
Nuxeo
OW2 FraSCAti for Light
• “Proxies” :– Simple Service Scaffolder client,
– Fuse SLA proxy,
– Service discovery by monitoring exchanges using HTTP proxy…
• Service discovery from SCA
• FraSCAti Studio (in the works)
1513/12/2011
FraSCAti in Nuxeo – for what
Service discovery by architecture import
• Had been first implemented by parsing SCA as XML
By getting FraSCAti in more and more, we allowed for 3 use cases :
• The same but with full error checking– by parsing using an embedded FraSCAti instead (BindingInfoProvider)
• Service discovery at startup of remote FraSCAti runtime– by replacing going from local to remote EasySOA API and hooking SCA
import mechanism within FraSCAti (BindingScaVisitor)
• The same but for Light, so within Nuxeo,– thanks to modularity & OSGi (in the works)
1613/12/2011
OW2 FraSCAti for Light : Discovery
22/11/2011 17
« Light » service sandbox dev scenario
Discover Toolify DevelopDesign Release
Find the existing
service we want to use.
Let EasySOA protect
this service behind a
sandboxing tunnel.
a. Develop our business-
oriented service.
b. Create a Service
Scaffolder UI to use it.
Goal : To add a business-layer above an existing service.
22/11/2011 18
EasySOA Light scenario : Discover (1/3)
Existing
service
Existing
service
Existing
service
Master
EasySOA model
Deployed architecture
Implementations
Environments
22/11/2011 19
EasySOA Light scenario : Toolify (2/3)
Existing
service
Existing
service
Existing
service
Light Master
EasySOA model
Deployed architecture
Will protect every external service
called from this environmentImplementations
Environments
22/11/2011 20
EasySOA Light scenario : Develop (3/3) - a
New Light
service
Existing
service
Sandbox(= Fuse + Monitoring)
New Light
service
Existing
service
New Light
service
Existing
service
Light Master
EasySOA model
Deployed architecture
Implementations
Environments
22/11/2011 21
EasySOA Light scenario : Develop (3/3) - b
Scaffolder
UI
New Light
service
Existing
service
Default scaffolder
tunnel(= Monitoring)
Sandbox(= Fuse + Monitoring)
New Light
serviceImplementations
Environments
Scaffolded
UI
Existing
service
New Light
service
Scaffolded
UI
Existing
service
Light Master
EasySOA model
Deployed architecture
Service discovery and mashup - demo
22
And with a “classical” SOA solution ? Enter
Talend ESB !
Talend ESB Studio
Quickly and easily create data
services and complex message routes
without coding
Leverage existing skillsets with
Eclipse-based UI
Drag-and-drop message routes using
Enterprise Integration Patterns (EIPs)
Easily integrate distributed systems
Standards-based connectivity layer to integrate
distributed systems
Powered by Apache CXF, Camel, Karaf and
ActiveMQ
Includes messaging, Web services,
intelligent routing, failover, monitoring and security
Talend ESB with EasySOA Core & Light
13/12/2011 24
A « from the trenches », « guerilla » approach
• To help gather recurring use cases and needs, around the project core, at our clients’, our communities
• People we know, who trust us, that we ask to share their SOA issues
The idea : reciprocal sharing
• Share your issues with us,
• We’ll enrich EasySOA to address the most promising and useful ones, and share our developments back in Open Source
Pay only custom work
• If you want some : install, config, custom devs25
EasySOA – Entreprise Partner Program
Roadmap
Halfway there ! Still :
– API change detection (Partner X)
– SOA documentation (Partner Y)
– light cloud application platform (Partner Z)
– More EasySOA API
– More Light : FraSCAti Studio & on demand Proxies for recording, testing, prototyping…
– BPM with OW2 Scarbo, monitoring with OW2 Jasmine
26
27
www.easysoa.org
github.com/easysoa
EasySOA – Get involved