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.
2. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 2
3. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 3
4. Definizione OASIS (da reference model)
Unparadigmaperlorganizzazionee
lusodifunzionidistribuitechepossono
essereusateallinternodidomini
applicaAvidiversi,fornendounmodo
uniformepero鍖rirle,rilevarle,interagirvi
eduAlizzarleperprodurree鍖eC
prestabiliAeconformiadeterminate
esigenzeecondizionimisurabili
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 4
5. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 5
6. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 6
7. 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
...
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 7
8. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 8
9. Scenario di integrazione SOA
Enterprise 2.0
Applicazionieservizi RichInternet
ServiziriusabiliSOA
Enterprise2.0 ApplicaAon
InfrastruBura SOA Governance
LegacyeClientServer
ApplicazioniWeb DB
ApplicaAon
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 9
10. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 10
11. Alcune Best Practices per la corretta
introduzione di SOA e Enterprise 2.0
1) Attenzione alle leggende metropolitane
2) Non pensare solo alle tecnologie
3) Porre il focus sui servizi
4) Non volere tutto e subito
5) Scegliere il giusto approccio
6) I servizi non sono locali
7) Attribuire le giuste responsabilit
8) Poche tecnologie ma scelte bene
9) La governance non 竪 un optional
10) SOA non 竪 la soluzione a tutti i problemi
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 11
12. 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)
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 12
13. 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)
Jabber
WSDL XSD
XML SOAPRP
WSFL P3P
WSEL
CPPCPA
DISCO
SAML OWLS
WSBPEL
XMLENC DSML
XMLRPC
SOAP
SEC SOAP
DIME PKI
UDDI
XMLP ebXML
... XLANG ...
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 13
14. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 14
15. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 15
16. Esempio di template per un contratto
Template generico per il contratto di servizio
Requisiti funzionali
Descrizione del servizio Tipologie binding Classificazione
Operazioni del servizio Namespace ...
Requisiti non funzionali
Sicurezza Transazionalit Business Rule Testing
Versioning Messaging Exchange Pattern
Requisiti di governance del servizio
...
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 16
17. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 17
18. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 18
19. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 19
20. 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?...)
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 20
21. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 21
23. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 23
24. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 24
25. 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
息 Tecnet Dati s.r.l. Quando SOA incontra Enterprise 2.0 25
26. Grazie per l'attenzione
Questa presentazione 竪 rilasciata sotto licenza Creative Commons
Per usi commerciali contattare Tecnet Dati s.r.l
http://www.tecnetdati.com