EasySOA business case and real world use case 20130220

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

description

Nuxeo EasySOA Webinar slides : EasySOA pitch and offering, retelling of the story of the AXXX use case from start to finish using screenshots takend from the latest EasySOA release, Nuxeo's contributions

Transcript of EasySOA business case and real world use case 20130220

Page 1: 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

Page 2: EasySOA business case and real world use case 20130220

Overview

Overview

Why

What

Use Case

Nuxeo for EasySOA

Open Wide Technologies l Janvier 2013 2

Page 3: EasySOA business case and real world use case 20130220

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

Page 4: EasySOA business case and real world use case 20130220

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

Page 5: EasySOA business case and real world use case 20130220

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

Page 6: EasySOA business case and real world use case 20130220

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)

Page 7: EasySOA business case and real world use case 20130220

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

Page 8: EasySOA business case and real world use case 20130220

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

Page 9: EasySOA business case and real world use case 20130220

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

Page 10: EasySOA business case and real world use case 20130220

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

Page 11: EasySOA business case and real world use case 20130220

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

Page 12: EasySOA business case and real world use case 20130220

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

Page 13: EasySOA business case and real world use case 20130220

Focusing on Pivotal call to APV, with address checking

Page 14: EasySOA business case and real world use case 20130220

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 ?

Page 15: EasySOA business case and real world use case 20130220

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

Page 16: EasySOA business case and real world use case 20130220

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

Page 17: EasySOA business case and real world use case 20130220

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

Page 18: EasySOA business case and real world use case 20130220

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

Page 19: EasySOA business case and real world use case 20130220

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

Page 20: EasySOA business case and real world use case 20130220

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

Page 21: EasySOA business case and real world use case 20130220

2. Development phase

Service implementations and their extracted documentation

Service consumptions

Artifact dependencies

Page 22: EasySOA business case and real world use case 20130220

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

Page 23: EasySOA business case and real world use case 20130220

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

Page 24: EasySOA business case and real world use case 20130220

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

Page 25: EasySOA business case and real world use case 20130220

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

Page 26: EasySOA business case and real world use case 20130220

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

Page 27: EasySOA business case and real world use case 20130220

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

Page 28: EasySOA business case and real world use case 20130220

EASYSOA – GOALS

Improve Automation

Java Bean binding (5.7)

simplify data structures for easy mapping

playground

Open Wide Technologies l Janvier 2013 28

Page 29: EasySOA business case and real world use case 20130220

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

Page 30: EasySOA business case and real world use case 20130220

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

[email protected]

http://technologies.openwide.fr

http://www.easysoa.org

http://www.improve-foundations.com Open Wide Technologies l Juin 2012

Registry

Page 31: EasySOA business case and real world use case 20130220

BONUS

Page 32: EasySOA business case and real world use case 20130220

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

Page 33: EasySOA business case and real world use case 20130220

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