quando soa incontra enterprise 2.0
DESCRIPTION
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.TRANSCRIPT
Quando SOA incontra l'Enterprise 2.0
Alcune linee Guida
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
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
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”
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
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
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• ...
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
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
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”
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
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)
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
...... ......
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
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”
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
...
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
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
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
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?...)
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
Quando SOA incontra Enterprise 2.0 22© Tecnet Dati s.r.l.
Enterprise Service Bus
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
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
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
Grazie per l'attenzione
Questa presentazione è rilasciata sotto licenza Creative Commons
Per usi commerciali contattare Tecnet Dati s.r.lhttp://www.tecnetdati.com