EasySOA business case and real world use case 20130220
-
Upload
marc-dutoo -
Category
Technology
-
view
331 -
download
3
description
Transcript of EasySOA business case and real world use case 20130220
SOA Governance
A new approach with EasySOA
Marc Dutoo, R&D leader – Open Wide
Thierry Delprat, CTO - Nuxeo
Overview
Overview
Why
What
Use Case
Nuxeo for EasySOA
Open Wide Technologies l Janvier 2013 2
A middleware architecture
pushing forward a model of
applications interactions
Keywords : loose coupling,
modularity, dependencies, service
level
CONCEPTS OF SOA
Open Wide Technologies l Janvier 2013 3
Information
systems
Business
processes
Applications
Policies
Contracts
Operational
requirements
Schemas
Messages
StatesServices
Service
components
Operational
systems
Protocols
made of
share
structure
managegoverned by
require
compliant with
diffusés via
orchestrate
executed on
constrained by
containdescribe
exchange
Services
registries
refer to
Contraintes de
réalisation
SOA – STATE OF THE ART
Information Systems, getting open and interconnected…
Growing awareness in Information Systems
Democratization of message and data exchanges
Acknowledgement of architectural best practices
…however…
SOA projects are complex
► Different actors with different concerns & profiles (Business vs Technical)
► Technology heterogeneity (risk management)
► Different partners (internal vs external services)
► Not much knowledge sharing on how things are done
SOA needs are not always well understood
► A lot of services have been forgotten and are
waiting to be woken up
► New needs : Cloud, Mobility Open Wide Technologies l Janvier 2013 4
Besoins Métier
Exigences d’exploitatio
n
EASYSOA
An SOA governance administration solution
A critical tool for Information System Architects…
…to keep in check business process consistency…
…all along service lifecycle management…
… from specification to development and up to service
operation
Open Wide Technologies l Janvier 2013 5Information
System Architect
Business
User
Developer
IT StaffDocumentation management
Completion management
Consistency management
EASYSOA – MAIN FEATURES
Open Wide Technologies l Janvier 2013 6
Business
User
Developer
IT Staff
Information
System
Architect
Cloud Platform
Registry
Core
Rapid development
of services (scripting)
Automated service
discovery (parsing)
EASYSOA – TOOLS
Open Wide Technologies l Janvier 2013 7
Business
User
Developer
IT Staff
Information
System
Architect
• Apache Tomcat
• Apache HTTP Client
• Nuxeo (IHM)
• FraSCAti
• Scarbo
• Nuxeo DM
• PostgreSQL
Core
• SCA / OSGi
• FraSCAti Studio
• EasyWSDL
• Qdox
• SoapUI
• Apache CXF
• Node.js
EASYSOA – GOALS
To ease up SOA governance…
Add a lighter, non-intrusive layer over « traditional » SOA in order
to provide governance overview
Minimal changes on existing services and applications to maximize
extracted value (documentation, practices, uses)
Service quality analysis for SOA sanitization
Agile approach through extracted as well as collaborative
documentation and prototyping
Fosters emergence and evaluation of best and most urgent needs
to be implemented next using existing « traditional » SOA
Version management and impact analysis of service changes
(internal or external) on business processes
…to secure and optimize exchanges between services of
the entreprise and its partnersOpen Wide Technologies l Janvier 2013 8
Light
Core
« Traditional » SOA
Middleware
architecture
Integration
A light, non-intrusive solution
THE EASYSOA PLATFORM
Open Wide Technologies l Janvier 2013 9
An additional, non-intrusive layer over the entreprise’s
SOA allowing for Web tools that ease up gathering and
analysis of existing services, as well as developing simple
new services using scripting, RAD or Point-and-Click.
A consistent multimedia registry aggregating all
information, coming from automated extraction as well
as manual input by SOA actors, in a Document
Management (DM) solution and its indexed database,
for easy high volume information management
through the Web.
An ecosystem of solutions and extensions
allowing for compatibility with a large range of
« traditional » SOA architectures to further
empower them : business process modeling
and execution, monitoring…
The entreprise’s SOA architecture, built on
« traditional » and well-known solutions is not
impacted by using EasySOA
EASYSOA – PARTNERS
Partner list
Open Wide – Global architecture, BPM (Eclipse JWT / OW2
Scarbo), EasySOA community leader
Nuxeo – Collaborative document management platform (GED /
ECM) for SOA models, documents and deliverables
Talend – SOA and data connectors (ETL & ESB) with graphical
configuration
Bull – SOA Administration & Monitoring (OW2 Jasmine)
EasiFab – SOA Model (Eclipse SOA), Business monitoring
(Galaxy)
INRIA Labs – Light service engine (OW2 FraSCAti)
Open Wide Technologies l Janvier 2013 10
EASYSOA – SERVICE OFFERING
Open Wide Technologies l Janvier 2013 11
Business
User
Developer
Operator
Information
System
Architect
Cloud Platform
Registry
Core
1
Discovery
Gather existing services
through static (files and
source code) and / or
dynamic analysis
(messages and data
flows)
Cartography
Service modeling, design
and documentation in a
collaborative platform
2
Sanitization
Put availability and quality
of registered services
under control
Development of newly
specified services3
Governance
Custom dashboard
generation within
continuous integration
process
Impact analysis on
service signature change
4
USE CASE
ANCV (National Agency for Holiday Vouchers)
2 differents businesses, done by separate entities, each with
its own Information System (IS)
► Selling holiday vouchers, by the DCV entity
► Funding holidays for underpriviledged people, by the DPS entity
DPS has now decided for its IS to go beyond spreadsheets
► This use case is the real story of DPS IT being built from the ground
up, rewritten with EasySOA Registry, Talend ESB and OW2 Jasmine.
Existing applications
► SI DCV – Pivotal : management of ANCV social partners. Customized
MS .NET web CRM.
► Uniserv : online address checking service
New applications : SI DPS – APV
► Management of « holiday projects ». Subcontracted Java web
business application. Has to connect with Pivotal, using services.Open Wide Technologies l Janvier 2013 12
Focusing on Pivotal call to APV, with address checking
UI
We
b
Pivotal CRM
CommercialAXXX
SI DCV SI DPS Partenairessociaux
APV Web
Uniserv
checkAddress
?How to provide checked information from Pivotal to APV ?
Simple : some service plumbing between both and Uniserv !
But how can separate ITs share (in)formal specifications ? Design them
together without over-meeting ? Have each its own point of view ?
How to set them in stone, and still handle (unavoidable) changes ?
How to best share knowledge about what is being developed, so one
team can easily use what the other did ?
How to be sure that everything that should be developed and provided
has been ? And nothing more ?
And how can Pivotal users be really sure it went up to the other end ?
All without burdening teams with tasks or tools they won’t use ?
How to provide checked information from Pivotal to APV ?
Simple : some service plumbing between both and Uniserv !
But how can separate ITs share (in)formal specifications ? Design them
together without over-meeting ? Have each its own point of view ?
How to set them in stone, and still handle (unavoidable) changes ?
How to best share knowledge about what is being developed, so one
team can easily use what the other did ?
How to be sure that everything that should be developed and provided
has been ? And nothing more ?
And how can Pivotal users be really sure it went up to the other end ?
All without burdening teams with tasks or tools they won’t use ?
1. Specifications phase
How can separate ITs share
specifications ?
=> Nuxeo collaborative platform !
► Business concepts as well as office
documents and images
► Tree navigation, search
► Document comments, preview &
publishing
► Social features : like, follow, wall
APV Web
UI
We
b
Pivotal CRM
Commercial SI DCV SI DPS Partenairessociaux
Uniserv
checkAddress
Cré_Précpte
OLA
TdrWebServic
e
SLAOLA
BAM_Pré_Cpte
Métrique
business
précompte
Orc
he
str
ati
on
_D
CVWS
DL WS
DL
WS
DL
1. Specifications phase
► Business layer : Business Service, Actor, Service Level Agreement…
UI
We
b
Pivotal CRM
Commercial SI DCV SI DPS Partenairessociaux
Uniserv
SLA
BAM_Pré_Cpte
Métrique
business
précompte
1. Specifications phase
► Information layer: services, by actor, full WSDL support (type extraction,
preview), REST (JAXRS)-capable…
UI
We
b
Pivotal CRM
Commercial SI DCV SI DPS Partenairessociaux
Uniserv
checkAddress
Cré_Précpte
TdrWebServic
e
SLA
BAM_Pré_Cpte
Métrique
business
précompte
WS
DL WS
DL
WS
DL
1. Specifications phase
► Technical layer: technical constraints (« Platforms ») on
Components to be developed, Operational Level
Agreements…
APV Web
UI
We
b
Pivotal CRM
Commercial SI DCV SI DPS Partenairessociaux
Uniserv
checkAddress
Cré_Précpte
OLA
TdrWebServic
e
SLAOLA
BAM_Pré_Cpte
Métrique
business
précompte
Orc
he
str
ati
on
_D
CVWS
DL WS
DL
WS
DL
Platforms
Components
1. Specifications phase
How to set specifications in
stone ? => approval & locking
How to handle (unavoidable)
changes ? => versioning &
diff comparison
APV Web
UI
We
b
Pivotal CRM
Commercial SI DCV SI DPS Partenairessociaux
Uniserv
checkAddress
Cré_Précpte
OLA
TdrWebServic
e
SLAOLA
BAM_Pré_Cpte
Métrique
business
précompte
Orc
he
str
ati
on
_D
CV
WS
DL
2. Development phase
How to best share knowledge about what’s being
developed, so one team can easily know and use
what the other did ? => source code discovery,
automatically at build time
APV Web
UI
We
b
Pivotal CRM
Commercial SI DCV SI DPS Partenairessociaux
Uniserv
checkAddress
Cré_Précpte
OLA
TdrWebServic
e
SLAOLA
BAM_Pré_Cpte
Métrique
business
précompte
Orc
he
str
ati
on
_D
CVWS
DL WS
DL
Registry
WS
DL
2. Development phase
Service implementations and their extracted documentation
Service consumptions
Artifact dependencies
2. Development phase
How to be sure that all that should
be developed has been ? And
nothing more ? => matching
dashboard and guides
APV Web
APV Web
UI
We
b
Pivotal CRM
Commercial SI DCV SI DPS Partenairessociaux
Uniserv
checkAddress
Cré_Précpte
OLA
TdrWebServic
e
SLAOLA
BAM_Pré_Cpte
Métrique
business
précompte
Orc
he
str
ati
on
_D
CVWS
DL WS
DL
WS
DL
3. Deployment phase : discovery of endpoints
by web browsing, using HTTP Proxy or bookmarklet
or directly from integrated runtimes (Talend ESB, FraSCAti / CXF)
@ http://url@ http://url
@ http://url
APV Web
UI
We
b
Pivotal CRM
Commercial SI DCV SI DPS Partenairessociaux
Uniserv
checkAddress
Cré_Précpte
OLA
TdrWebServic
e
SLAOLA
BAM_Pré_Cpte
Métrique
business
précompte
Orc
he
str
ati
on
_D
CVWS
DL WS
DL
WS
DL
3. Deployment phase
And how can Pivotal users be really sure it went up to the other end ?
=> end to end business service level indicators monitoring
Talend
Service
Activity
Monitoring
DB
SAM Agent
SAM Agent
Technical
Monitoring
console
Business service level indicators
Probe
Adapter
REST
Business Rules
Bull OW2 Jasmine
@ http://url@ http://url
@ http://url
APV Web
UI
We
b
Pivotal CRM
Commercial SI DCV SI DPS Partenairessociaux
Uniserv
checkAddress
Cré_Précpte
OLA
TdrWebServic
e
SLAOLA
BAM_Pré_Cpte
Métrique
business
précompte
Orc
he
str
ati
on
_D
CVWS
DL WS
DL
WS
DL
Registry
All without burdening teams with tools
they won’t use ? => integrate EasySOA within their own, a few ideas :
Business design tool, such as Eclipse JWT up to full BPM solution, such
as OW2 Scarbo 2
Rapid online
service
prototyping in the
Cloud, such as
FraSCAti Studio
EASYSOA – GOALS
Store SOA model inside Nuxeo Content Repository
Design specifications
Implementation info
Deployment architecture
Open Wide Technologies l Janvier 2013 26
Nuxeo
Content
Repository
EASYSOA – GOALS
Store SOA model inside Nuxeo Content Repository
Manage configurations of the content tree
► tree snapshotting
Multi-dimensional content tree
► proxies and publishing faceted search
► custom classifications
Work on complex content
► quick preview
► diff between versions of SOA definitions
Open Wide Technologies l Janvier 2013 27
nuxeo-tree-snapshot
nuxeo-platform-classification
nuxeo-diff
EASYSOA – GOALS
Improve Automation
Java Bean binding (5.7)
simplify data structures for easy mapping
playground
Open Wide Technologies l Janvier 2013 28
EASYSOA – GOALS
Connect Nuxeo to ESB
expose Automation Operations to the service bus
► expose high level / business custom services
bridge Nuxeo event bus with the global service bus
Open Wide Technologies l Janvier 2013 29
30
Contacts
23-27 rue Daviel
75013 Paris
Tél. : 01 42 68 28 00
97, Rue Racine
69100 Villeurbanne
Tel : 04 26 68 95 00
http://technologies.openwide.fr
http://www.easysoa.org
http://www.improve-foundations.com Open Wide Technologies l Juin 2012
Registry
BONUS
Even more Light tools
EasySOA Proxy (“HTTP Mining”) :
listen to service exchanges to
► discover and register them
► record and replay them
► play alternative exchanges suggested
through correlation
► generate simulations or assertions
► trigger other services
SOAPUI integration (service testing) :
► generate SOAPUI configurations filled
with all EasySOA known WSDLs and
endpoints (“no more URL copy / paste”)
Even more - UIs
Indicators on the SOA model
► Amount of services without documentation,
► Without any implementation
► Or consumption
► Or endpoint
► Amount of unkown (« placeholder ») implementations
Service Browsing UI
► Service doc UI
► Tag them and browse by tags