EasySOA: A New Approach to SOA

34
SOA Governance A new approach with EasySOA Marc Dutoo, R&D leader Open Wide Thierry Delprat, CTO - Nuxeo

description

 

Transcript of EasySOA: A New Approach to SOA

Page 1: EasySOA: A New Approach to SOA

SOA Governance A new approach with EasySOA

Marc Dutoo, R&D leader – Open Wide Thierry Delprat, CTO - Nuxeo

Page 2: EasySOA: A New Approach to SOA

Overview

Overview Why

What

Use Case

Nuxeo for EasySOA

Open Wide Technologies 2

Page 3: EasySOA: A New Approach to SOA

A middleware architecture pushing forward a model of

application interactions Keywords : agility, loose coupling, modularity, dependencies, service

level

CONCEPTS OF SOA

Open Wide Technologies 3

Information systems

Business processes

Applications

Policies

Contracts

Operational requirements

Schemas

Messages

States Services

Service components

Operational systems

Protocols

made of

share

structure

manage governed by

require

compliant with

diffusés via

orchestrate

executed on

constrained by

contain describe

exchange

Services registries

refer to

Page 4: EasySOA: A New Approach to SOA

Contraintes de

réalisation

SOA – STATE OF THE ART

Information  Systems,  getting  open  and  interconnected… Growing awareness in IT departments

Democratization of message and data exchanges

Acknowledgement of architectural best practices

…however… SOA projects are complex

► Different actors with various 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 4

Besoins Métier

Exigences d’‛exploitatio

n

Page 5: EasySOA: A New Approach to SOA

EASYSOA

An SOA governance administration solution A critical tool for Information System Architects…

…to  keep  business process consistency in check…

…all  while maintaining service lifecycle management…

…  from  specification to development and up to service operation

Open Wide Technologies 5 Information System Architect

Business User

Developer

IT Staff Documentation management

Completion management

Consistency management

Page 6: EasySOA: A New Approach to SOA

EASYSOA – MAIN FEATURES

Open Wide Technologies 6

Business User

Developer

IT Staff

Information System

Architect

Cloud Platform

Registry

Core�

Service development : “traditional” but also scripting Testing

Automated service discovery (parsing)

Page 7: EasySOA: A New Approach to SOA

EASYSOA – TOOLS

Open Wide Technologies 7

Business User

Developer

IT Staff

Information System

Architect

• Apache Tomcat • Apache HTTP Client • Nuxeo (IHM) • FraSCAti • Scarbo

• Nuxeo DM • PostgreSQL

Core�

• Apache CXF • SCA / OSGi • FraSCAti Studio • Talend ESB

• EasyWSDL • Qdox • SoapUI • Node.js

Page 8: EasySOA: A New Approach to SOA

EASYSOA – GOALS

To  ease  up  SOA  governance… Add a lighter, non-intrusive layer over « traditional » SOA in order to provide governance overview

Keep changes to a minimum on existing services and applications while maximizing 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 enterprise and its partners Open Wide Technologies 8

Page 9: EasySOA: A New Approach to SOA

Light

Core

«  Traditional » SOA Middleware architecture

Integration

A light, non-intrusive solution

THE EASYSOA PLATFORM

Open Wide Technologies 9

An additional, non-intrusive layer over the enterprise’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 SOA information, coming from automated extraction as well as manual input by SOA actors, in a Document Management (DM) solution and its indexed database, enabling 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 enterprise’s SOA architecture, built on « traditional » and well-known solutions is not impacted by using EasySOA

Page 10: EasySOA: A New Approach to SOA

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 10

Page 11: EasySOA: A New Approach to SOA

EASYSOA – ADOPTION STEPS & SERVICE OFFERING

Open Wide Technologies 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 services 3

Governance Custom dashboard generation within continuous integration process

Impact analysis on service signature change

4

Page 12: EasySOA: A New Approach to SOA

USE CASE

ANCV (National Agency for Holiday Vouchers) Two different businesses, done by separate departments, 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 12

Page 13: EasySOA: A New Approach to SOA

Focusing on Pivotal call to APV, with address checking Open Wide Technologies 13

Page 14: EasySOA: A New Approach to SOA

UI Web

Pivotal CRM

Commercial AXXX

SI DCV SI DPS Partenaires sociaux

APV Web

Uniserv

checkAddress

? How to provide checked information from Pivotal to APV ?

Simple: some service plumbing between both and Uniserv!

But how to separate ITs share (in)formal specifications? Design them together without over-meeting? With each having 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 and test 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 on the other end?

All  without  burdening  teams  with  tasks  or  tools  they  won’t  use? Open Wide Technologies 14

Page 15: EasySOA: A New Approach to SOA

1. Specifications phase How can separate ITs share specifications? => Nuxeo collaborative platform!

► SOA concepts as well as office documents and images

► Tree navigation, search ► Document comments, web preview &

publishing ► Social features: like, follow, wall

APV Web

UI Web

Pivotal CRM

Commercial SI DCV SI DPS Partenaires sociaux

Uniserv

checkAddress

Cré_Précpte

OLA

TdrWebServic

e

SLA OLA

BAM_ Pré_ Cpte

Métrique business précompte

Orc

hest

rati

on

_DC

V WSDL WS

DL

WSDL

Open Wide Technologies 15

Page 16: EasySOA: A New Approach to SOA

1. Specifications phase ► Business layer – “Why”  :  Business Service, Actor, Service Level Agreement…

UI Web

Pivotal CRM

Commercial SI DCV SI DPS Partenaires sociaux

Uniserv

SLA

BAM_ Pré_ Cpte

Métrique business précompte

Open Wide Technologies 16

Page 17: EasySOA: A New Approach to SOA

1. Specifications phase ► Information layer – “What”:  services, by actor, full WSDL support (type

extraction, preview), REST (JAXRS)-capable…

UI Web

Pivotal CRM

Commercial SI DCV SI DPS Partenaires sociaux

Uniserv

checkAddress

Cré_Précpte

TdrWebServic

e

SLA

BAM_ Pré_ Cpte

Métrique business précompte

WSDL WS

DL

WSDL

Open Wide Technologies 17

Page 18: EasySOA: A New Approach to SOA

1. Specifications phase ► Technical layer – “How”:  technical constraints (« Platforms »)

on Components to be developed, Operational Level Agreements…

APV Web

UI Web

Pivotal CRM

Commercial SI DCV SI DPS Partenaires sociaux

Uniserv

checkAddress

Cré_Précpte

OLA

TdrWebServic

e

SLA OLA

BAM_ Pré_ Cpte

Métrique business précompte

Orc

hest

rati

on

_DC

V WSDL WS

DL

WSDL

Platforms

Components

Open Wide Technologies 18

Page 19: EasySOA: A New Approach to SOA

1. Specifications phase How to set specifications in stone? => approval & locking

How to handle (unavoidable) changes? => versioning & diff comparison

APV Web

UI Web

Pivotal CRM

Commercial SI DCV SI DPS Partenaires sociaux

Uniserv

checkAddress

Cré_Précpte

OLA

TdrWebServic

e

SLA OLA

BAM_ Pré_ Cpte

Métrique business précompte

Orc

hest

rati

on

_DC

V

WSDL

Open Wide Technologies 19

Page 20: EasySOA: A New Approach to SOA

2. Development phase How  to  best  share  knowledge  about  what’s  being  developed, so one team can easily know, use and test earlier what the other team did? => source code discovery, automatically at build time

APV Web

UI Web

Pivotal CRM

Commercial SI DCV SI DPS Partenaires sociaux

Uniserv

checkAddress

Cré_Précpte

OLA

TdrWebServic

e

SLA OLA

BAM_ Pré_ Cpte

Métrique business précompte

Orc

hest

rati

on

_DC

V WSDL WS

DL

Registry

WSDL

Open Wide Technologies 20

Page 21: EasySOA: A New Approach to SOA

2. Development phase Service implementations, mocks and their extracted documentation

Service consumptions & tests

Artifact & dependencies

Open Wide Technologies 21

Page 22: EasySOA: A New Approach to SOA

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 Web

Pivotal CRM

Commercial SI DCV SI DPS Partenaires sociaux

Uniserv

checkAddress

Cré_Précpte

OLA

TdrWebServic

e

SLA OLA

BAM_ Pré_ Cpte

Métrique business précompte

Orc

hest

rati

on

_DC

V WSDL WS

DL

WSDL

Open Wide Technologies 22

Page 23: EasySOA: A New Approach to SOA

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 Web

Pivotal CRM

Commercial SI DCV SI DPS Partenaires sociaux

Uniserv

checkAddress

Cré_Précpte

OLA

TdrWebServic

e

SLA OLA

BAM_ Pré_ Cpte

Métrique business précompte

Orc

hest

rati

on

_DC

V WSDL WS

DL

WSDL

Open Wide Technologies 23

Page 24: EasySOA: A New Approach to SOA

3. Deployment phase And how can Pivotal users be really sure it went up on the other end? => end to end business service level indicators monitoring

Talend Service Activity

MonitoringDB

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 Web

Pivotal CRM

Commercial SI DCV SI DPS Partenaires sociaux

Uniserv

checkAddress

Cré_Précpte

OLA

TdrWebServic

e

SLA OLA

BAM_ Pré_ Cpte

Métrique business précompte

Orc

hest

rati

on

_DC

V WSDL WS

DL

WSDL

Registry Open Wide Technologies 24

Page 25: EasySOA: A New Approach to SOA

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 Open Wide Technologies 25

Page 26: EasySOA: A New Approach to SOA

EasySOA & Nuxeo

Building EasySOA registry was an interesting journey

new challenging use cases for Nuxeo Platform ► new services and features

study  “state  of  the  art”  SOA  architectures ► improve how Nuxeo Platform exposes services

Open Wide Technologies 26

Page 27: EasySOA: A New Approach to SOA

EasySOA Registry – EasySOA in Nuxeo Repository

Store SOA model inside Nuxeo Content Repository

Design specifications

Implementation info

Deployment architecture

Open Wide Technologies 27

Nuxeo Content

Repository

Page 28: EasySOA: A New Approach to SOA

EasySOA Registry – Nuxeo Repository

Store SOA model inside Nuxeo Content Repository

Manage configurations of the content tree ► tree snapshoting

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 28

nuxeo-tree-snapshot

nuxeo-platform-classification

nuxeo-diff

Page 29: EasySOA: A New Approach to SOA

Make SOA easy with Nuxeo

Improve Automation

Java Bean binding (5.7)

simplify data structures for easy mapping

playground

Open Wide Technologies 29

Page 30: EasySOA: A New Approach to SOA

Make SOA easy with Nuxeo

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 30

Page 32: EasySOA: A New Approach to SOA

BONUS

Open Wide Technologies 32

Page 33: EasySOA: A New Approach to SOA

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”)

Open Wide Technologies 33

Page 34: EasySOA: A New Approach to SOA

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

Open Wide Technologies 34