Top Banner
Quando SOA incontra l'Enterprise 2.0 Alcune linee Guida
26

Quando SOA Incontra Enterprise 2.0

Jul 05, 2015

Download

Technology

Con l'evoluzione del web, le aziende stanno iniziando ad introdurre al loro interno applicazioni in ottica Enterprise 2.0. Tali applicazioni, a fronte di interfacce ricche e interattive, richiedono, lato server, la presenza di servizi altamente affidabili e performanti. Tali servizi possono essere introdotti all'interndo di una Service Oriented Architecture. Ma quale relazione esiste fra SOA e Enterprise 2.0? Quali linee guida adottare per introdurre correttamente SOA in azienda? Questa presentazione, esposta durante l'Enterprise 2.0 conference 2009 a Roma (edita da Technology Transfer con la partecipazione di Colin White ed Ed Yourdon) cerca di rispondere, in modo sintetico, a queste domande.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra l'Enterprise 2.0

Alcune linee Guida

Page 2: Quando SOA Incontra Enterprise 2.0

2© Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0

Agenda• SOA e Enterprise 2.0• Definizione di SOA• Reference Model e

Reference Architecture

• Architettura di integrazione SOA

• 10 Best Practices per l'introduzione di SOA e Enterprise 2.0 in azienda

• Approfondimenti

Page 3: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 3© Tecnet Dati s.r.l.

SOA e Enterprise 2.0

• Sui concetti di SOA e di Enterprise 2.0 c'è molta confusione• Definizioni discordanti sulla rete• Si identificano SOA e Enterprise 2.0 con

delle tecnologie• Si seguono i “miti” raccontati sulla rete

• Enterprise 2.0 è l'argomento della conference... in questa presentazione ci occupiamo principalmente di SOA

Page 4: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 4© Tecnet Dati s.r.l.

Definizione OASIS (da reference model)

“Un paradigma per l’organizzazione e l’uso di funzioni distribuite che possono 

essere usate all’interno di domini applicaAvi diversi, fornendo un modo 

uniforme per offrirle, rilevarle, interagirvi ed uAlizzarle per produrre effeC 

prestabiliA e conformi a determinate esigenze e condizioni misurabili”

Page 5: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 5© Tecnet Dati s.r.l.

OASIS SOA Reference Model

• Il reference model descrive gli oggetti che compongono il modello della reference architecture e le relazioni che intercorrono fra gli stessi

• Fornisce il vocabolario necessario per la definizione della reference architecture

Page 6: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 6© Tecnet Dati s.r.l.

OASIS SOA Reference Architecture

• E’ la proposta di OASIS per uno “standard” architetturale per SOA

• La reference architecture di OASIS può essere scaricata dai seguenti indirizzi:• OASIS Reference model

http://docs.oasis-open.org/soa-rm• OASIS Reference Architecture

http://docs.oasis-open.org/soa-rm/soa-ra

Page 7: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 7© Tecnet Dati s.r.l.

Attenzione

“In theory, theory and practice, are the same. In practice, they are not.”

Laurence Peter “Yogy” Berra

• Nell'implementazione di una SOA, spesso, è necessario raggiungere un compromesso fra teoria e pratica in modo da:• Ottimizzare le prestazioni • Migliorare la sicurezza• Ridurre gli impatti sulle applicazioni esistenti• ...

Page 8: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 8© Tecnet Dati s.r.l.

Relazione fra SOA e Enterprise 2.0

• Enterprise 2.0 fornisce nuovi modi per la fruizione delle applicazioni e dei dati

• Le applicazioni Enterprise 2.0 possono comunicare fra loro tramite:• Esposizione e richiamo di servizi• Scambio di messaggi

• Generazione di eventi

• SOA può essere utilizzata come:• Infrastruttura di comunicazione per le

applicazioni Enterprise 2.0• Strumento per la governance dell'Enterprise 2.0

Page 9: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 9© Tecnet Dati s.r.l.

Scenario di integrazione SOA – Enterprise 2.0

SOA

Legacy e Client Server ApplicaAon

Applicazioni Web DB

Rich Internet ApplicaAon

Applicazioni e serviziEnterprise 2.0

Servizi riusabili SOA

InfrastruBura Governance

Page 10: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 10© Tecnet Dati s.r.l.

Nuovi strumenti e nuove tecnologie

• Per consentire l'integrazione ottimale delle applicazioni Enterprise 2.0, SOA dovrebbe fornire il supporto per nuove tecnologie e protocolli:• Mashup• Feed (RSS e Atom)• REST • JSON• …

• Introduzione di “Presentation Services”

Page 11: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 11© Tecnet Dati s.r.l.

Alcune Best Practices per la corretta introduzione di SOA e Enterprise 2.0

1) Attenzione alle leggende metropolitane2) Non pensare solo alle tecnologie3) Porre il focus sui servizi4) Non volere tutto e subito5) Scegliere il giusto approccio6) I servizi non sono locali7) Attribuire le giuste responsabilità8) Poche tecnologie ma scelte bene9) La governance non è un optional10) SOA non è la soluzione a tutti i problemi

Page 12: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 12© Tecnet Dati s.r.l.

Regola 1: Attenzione alle leggende metropolitane su SOA e Enterprise 2.0• Enterprise 2.0 non è solo Rich Internet

Application• SOA non vuol dire utilizzare Web

Services• SOA non vuol dire utilizzare un

Enterprise Service Bus (ESB)• SOA non vuol dire utilizzare strumenti di

Business Process Management (BPM)

Page 13: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 13© Tecnet Dati s.r.l.

SOA e Web Services

• Le SOA basate su web services si fondano su un insieme di standard, ufficiali, ufficiosi, de facto, presunti,… nota come Web Services Acronym Hell (WS-AH)

XMLXML

ebXMLebXML

DIMEDIME

JabberJabberWSDLWSDL XSDXSD

XML‐RPCXML‐RPCXML‐ENCXML‐ENC

SAMLSAML

SOAPSOAPSOAP‐SOAP‐SECSEC

SOAP‐RPSOAP‐RP

XMLPXMLP

XLANGXLANG

DISCODISCO

DSMLDSML

UDDIUDDI

CPP‐CPACPP‐CPAWSFLWSFL WSELWSEL

P3PP3P

OWL‐SOWL‐SWSBPELWSBPEL

PKIPKI

...... ......

Page 14: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 14© Tecnet Dati s.r.l.

Regola 2: Non pensare solo dal punto di vista tecnologico• Spesso durante l'introduzione in azienda di una infrastruttura SOA o

Enterprise 2.0:• Si pensa subito alla scelta delle tecnologie• Si costruiscono SOA e Enterprise 2.0 sulle tecnologie selezionate• L'introduzione di SOA e Enterprise 2.0 viene quasi sempre gestita e

coordinata dai gruppi IT• Si tralasciano invece aspetti importanti quali:

• La definizione degli obiettivi di business• La variazione delle linee guida aziendali per l'interoperabilità fra le

applicazioni• L'adattamento del processo di sviluppo del software, a partire dall'analisi dei

requisiti fino al testing• ...

• Un fattore di successo è la creazione di un gruppo, formato da persone di aree eterogenee (management, tecnici, analisti, progettisti,...) che guida l'azienda durante l'introduzione di SOA e Enterprise 2.0 → creazione di un centro di competenza

Page 15: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 15© Tecnet Dati s.r.l.

Regola n. 3: porre il focus sui servizi

• La progettazione di applicazioni in ottica SOA deve porre l'attenzione principale sui servizi:• Riuso degli stessi• Progettazione guidata dal business e non

dalla tecnologia• I servizi come black-box• Servizi censiti e facilmente ricercabili• L'importanza del “contratto di servizio”

Page 16: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 16© Tecnet Dati s.r.l.

Esempio di template per un contratto

Template generico per il contratto di servizio

Requisiti funzionali

Requisiti non funzionali

Descrizione del servizio

Operazioni del servizio

Tipologie binding

Namespace

Classificazione

...

Sicurezza

Versioning

Transazionalità Business Rule Testing

Messaging Exchange Pattern

Requisiti di governance del servizio

...

Page 17: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 17© Tecnet Dati s.r.l.

Regola n. 4: non volere tutto e subito

• Spesso si tende a voler introdurre SOA e Enterprise 2.0 “di botto” in tutta l'azienda ma:• I costi iniziali di introduzione possono essere molto elevati• Si tende, erroneamente, a ridurre il budget dei progetti già

nelle prime fasi di introduzione di SOA• Il ritorno di investimento dovuto al riutilizzo è calcolabile in

anni e non in giorni

• E' meglio partire con un obiettivo più limitato:• Operare in modo incrementale• Introdurre inizialmente solo “ciò di cui si ha bisogno”• Riattualizzare il concetto di prototipo• Ricordarsi che l'introduzione di SOA e Enterprise 2.0 sono

investimenti a lungo periodo

Page 18: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 18© Tecnet Dati s.r.l.

Regola n. 5: Scegliere il giusto approccio

• Nelle linee guida per l'individuazione di processi si parla sempre di approccio• Top-Down: dai servizi esistenti ai processi• Bottom-Up: dai processi esistenti alla

definizione dei servizi

• Per quanto riguarda la realtà italiana:• L'approccio Bottom-Up sta fornendo migliori

risultati e in tempo più rapido• L'approccio Top-Down non sempre porta alla

definizione dei servizi ma si ferma ad un livello più alto

Page 19: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 19© Tecnet Dati s.r.l.

Regola n. 6: I servizi non sono locali

• In una SOA i servizi non sono locali ma sono “condivisi” fra più applicazioni:• Il malfunzionamento di un servizio potrebbe

bloccare l'intera azienda• L'uso fraudolento di un servizio da parte di un

fruitore può portare malfunzionamenti e rallentamenti ad altri fruitori

• High availability per i servizi critici• Porre molta attenzione all'analisi degli

impatti

Page 20: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 20© Tecnet Dati s.r.l.

Regola n. 7: Attribuire le giuste responsabilità

• Individuare correttamente l'applicazione o il sistema “responsabile” dell'erogazione di un servizio alcuni →servizi di un'applicazione potrebbero essere riallocati su un'altra

• Individuare la responsabilità della gestione dell'infrastruttura• Un ESB comune a tutta l'azienda?

• Un ESB per ogni singola area?

• Un motore BPM centralizzato?

• …

• Individuare le regole da adottare per l'implementazione di nuovi servizi (chi li implementa? Chi li eroga? Chi li gestisce?...)

Page 21: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 21© Tecnet Dati s.r.l.

Regola n. 8: poche tecnologie ma scelte bene

• La scelta delle tecnologie è importante ma:• Deve essere dettata da reali necessità (non solo

tecnologiche)

• Attenzione alla compatibilità (anche se basati su standard gli strumenti non sono sempre compatibili fra loro)

• Molti ESB non sono in realtà veri ESB

• Non obbligare ad utilizzare una determinata tecnologia (es. Non tutte le applicazioni traggono vantaggio dall'utilizzo di un ESB o di SOAP)

• Non farsi guidare dalle “mode del momento” ma basarsi sulle reali necessità dell'azienda

Page 22: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 22© Tecnet Dati s.r.l.

Enterprise Service Bus

Page 23: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 23© Tecnet Dati s.r.l.

Regola n. 9: La governance non è un optional

• SOA non esiste senza un processo di governance che la gestisce

• Governance dal primo giorno

• E' necessario applicare una governance minimale• Censimento/catalogo dei servizi

• Gestione dei contratti

• Fare rispettare le linee guida

• Fare rispettare le responsabilità

• Verificare gli obiettivi di business

• ...

• La verifica e il monitoraggio dell'infrastruttura tecnologica non rientra nel processo di governance ma è ad esso complementare

Page 24: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 24© Tecnet Dati s.r.l.

Regola n. 10: SOA non è la soluzione a tutti i problemi• Attenzione a non voler utilizzare le tecnologie

SOA per tutte le applicazioni

• In alcuni casi SOA può non essere la soluzione giusta, ad esempio bisogna porre molta attenzione per quanto riguarda:• La necessità di prestazioni spinte

• Il real-time

• La necessità di sicurezza elevata

• ...

• Inoltre, non tutte le aziende hanno la reale necessità di introdurre SOA e Enterprise 2.0 al loro interno

Page 25: Quando SOA Incontra Enterprise 2.0

Quando SOA incontra Enterprise 2.0 25© Tecnet Dati s.r.l.

Approfondimenti

• Per ulteriori approfondimenti su questi argomenti sono disponibili, sul catalogo Technology Transfer, i miei seminari• SOA Best Practices• SOA per l'integrazione delle applicazioni

aziendali• Web 2.0 – tecnologie e problematiche

• Per informazioni:• www.technologytransfer.it• www.tecnetdati.com

Page 26: Quando SOA Incontra Enterprise 2.0

Grazie per l'attenzione

Questa presentazione è rilasciata sotto licenza Creative Commons

Per usi commerciali contattare Tecnet Dati s.r.lhttp://www.tecnetdati.com