SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Candidato:
Massimiliano Mattetti
SOA Governance e Monitoraggio
di Servizi basato su ESB
Relatore:
Chiar.mo Prof. Ing. Paolo Bellavista
Correlatori:
Chiar.mo Prof. Ing. Antonio Corradi
Dott. Ing. Fabrizio Grisoli
A.A. 2010/2011
UniversitĂ  degli Studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Tesi di Laurea in Sistemi Distribuiti M
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Sommario
• Introduzione alla Service-Oriented Architecture (SOA)
• La SOA Governance
• L’Enterprise Service Bus eXistBus
• La console di monitoraggio
• Risultati dei test
• Conclusioni
2
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Cos’è la SOA?
Paradigma architetturale basato sui concetti di:
• Servizio
Insieme di componenti software che implementa una funzionalità
• Disaccoppiamento (loosely-coupled)
Condizione di dipendenza ridotta o assente fra diversi componenti di un
sistema distribuito
• Alta interoperabilità
Capacità di sistemi diversi di comunicare fra loro
3
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Servizio
È un’astrazione logica delle funzionalità offerte da sistemi fisici
4
Sistemi Fisici
Processo di Business
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Servizio
Un Servizio viene formalizzato
mediante la definizione di:
1. Un’interfaccia che ne descrive le
funzionalitĂ 
2. Un contratto che ne definisce le
responsabilitĂ  verso chi lo utilizza
5
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Disaccoppiamento
Il disaccoppiamento è un elemento fondamentale per aumentare la
flessibilitĂ , la scalabilitĂ  e la tolleranza ai guasti delle infrastrutture IT.
1. FlessibilitĂ  intermediario per la comunicazione fra client e server
2. ScalabilitĂ  controllo distribuito
3. Tolleranza ai guasti isolamento dei sistemi
6
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Alta InteroperabilitĂ 
7
Nelle architetture IT enterprise c’è la necessità di far comunicare fra loro
sistemi altamente eterogenei (applicazioni J2EE, .Net, legacy, DBMS,
sistemi di messaging, ecc.)
Approccio Punto-Punto Approccio Indiretto
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
La EAI prima della SOA
8
Col tempo presenta:
• alti costi di mantenimento
• rigidità (applicazioni tightly-coupled)
• prestazioni insoddisfacenti (scarsa scalabilità)
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Enterprise Service Bus
1. Architettura altamente distribuita
2. Gestisce la comunicazione fra i sistemi
3. Garantisce il completo disaccoppiamento ed isolamento dei sistemi
9
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
FunzionalitĂ  ESB
FunzionalitĂ  base:
• Fornire la connettività
• Trasformazione dei messaggi
• Routing
• Sicurezza
FunzionalitĂ  accessorie:
• Gestione dei servizi (registry + repository)
• Monitoraggio e logging
• Orchestrazione
10
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
SOA Governance
La Service-Oriented Architecture è oggi il modello architetturale di
riferimento per le soluzioni IT aziendali grazie ai benefici promessi in
termini di:
• Agilità
• Flessibilità
• Riduzione dei costi
Tuttavia questi benefici possono non essere raggiunti se all’adozione della
SOA non fa seguito l’applicazione di una strategia di governo efficace.
Tale strategia prende il nome di SOA Governance e definisce tutte le
iniziative, sia organizzative che tecnologiche, che devono essere
attuate al fine di garantire il successo della SOA.
11
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Ciclo di vita della SOA Governance
12
Output:
- Ruoli e ResponsabilitĂ 
- Processi
- Architettura
Input:
- Requisiti della Business Unit
- Best Practices
- Modello organizzativo della SOA
- Strategia Aziendale
- Evoluzioni Tecnologiche
Operations
Strategy &
Policy
Architecture &
Lifecycle
Usage and
Reuse
GuideLines
SLA and
expected
Performaces
Coordination inside
and outside the
Coorporation
Products and
Standards
GuideLines
Distributed
Requirements
Coordination
Quality
assurance
Service
lifecycle/
provisioning
Support and
helpdesk
Products
Configuration
Monitoring of
SLA
System
management
Budgetting &
Prioritization
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Strategy & Policy
13
Usage and
Reuse
GuideLines
SLA and
expected
Performaces
Coordination inside
and outside the
Coorporation
Budgetting &
Prioritization
Nelle prime quattro fasi della SOA Governance
vengono definiti:
1. Le linee guida per la gestione dei servizi
2. I contratti di Service Level Agreement
3. Il modello di finanziamento dei servizi
4. Le politiche che rafforzano la cooperazione
fra i soggetti interessati dalla SOA
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Architecture & Lifecycle
14
Products and
Standards
GuideLines
Distributed
Requirements
Coordination
Quality
assurance
Service
lifecycle/
provisioning
Nelle successive quattro fasi vengono definiti:
1. Gli standard che devono essere utilizzati per
l’implementazione della SOA
2. Le linee guida per una gestione efficace dei
requisiti
3. I test che devono essere effettuati al fine di
garantire la qualitĂ  dei servizi
4. Come gestire il ciclo di vita dei servizi
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Operations
15
Support and
helpdesk
Products
Configuration
Monitoring of
SLA
System
management
Le ultime quattro fasi della SOA Governance definiscono infine:
1. Chi è il responsabile di un servizio
2. Come effettuare le operazioni di gestione dei servizi a run-time
3. Come configurare i servizi
4. Le metriche che devono essere controllate nella fase di monitoraggio
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Reply
Reply è una società di Consulenza, System Integration, Application
Management e Business Process Outsourcing.
Fondata nel 1997 a Torino, ha sedi in tre nazioni europee ed ha seguito
nel corso del tempo una crescita costante sia in termini di fatturato che in
numero di dipendenti.
16
Torino
Milano
Roma
Parma
Treviso
GĂźtersloh
DĂźsseldorf
Hamburg
Frankfurt
Munich
Londra
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
eXistBus
eXistBUS è un framework di Enterprise Service Bus (ESB) basato su
tecnologia industry standard open (J2EE, XML, Web Services) e modello
architetturale SOA, che permette di implementare un’architettura di
integrazione distribuita orientata ai servizi di business aziendali.
• Abilita un’integrazione “loosely-coupled” tra sistemi aziendali (intranet) ed extra-
aziendali (extranet) utilizzando le piĂš disparate tecnologie e paradigmi di
comunicazione (JMS, RMI, SOAP, HTTP, …)
• Sfrutta le potenzialità e le funzionalità di gestione delle risorse (Scalabilità,
Transazionalità, Alta Disponibilità, Sicurezza) del container J2EE all’interno del
quale viene eseguito
• È basato su un’architettura a plug-in che permette di estenderne le funzionalità in
maniera semplice e rapida
• Permette di definire flussi operativi multi-step (workflow) che implementano
processi di business aziendale
17
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
L’architettura di eXistBus
18
• Core features
– General purpose workflow/routing per la costruzione di
workflow complessi che coinvolgono piĂš di due sistemi
– Supporto transazioni globali (XA)
– Data transformation
– Data Crypting/decripting
– Data compression
– Data aggregation
– Statistics
– High configurability
– Estendibilità tramite plugin
– Advanced log facilities
• Connectivity
– RMI, JMS, JCA, SAP, JDBC, SOAP/HTTP(S)
– Le tecnologie in inbound possono essere
utilizzate direttamente dalle applicazioni client
– Virtual Middleware per l’astrazione dalle
tecnologie outbound
– Pluggability
• Consoles
– Econ: editing e gestione configurazione
– Workbench: amministrazione e test
– Visualizzazione statistiche e produzione
report
– Accesso sottoposto ad autenticazione
– Access control list
• Web Services
– Definizione delle interfacce dei servizi di
business
– Generazione automatica dei WSDL
– WSDL disponibili on-line per le applicazioni
client
– Registrazione dei servizi su un UDDI
registry esterno od interno
– Supporto per protocolli criptati
– Access control list per l’accesso ai servizi
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
I plug-in di eXistBus
Un plug-in è un componente software che estende le funzionalità di
eXistBus permettendogli di:
• interagire con i sistemi esterni (DBMS, code JMS, Web Service, sistemi
legacy, ecc.)
• effettuare operazioni sui messaggi (validazioni XML, trasformazioni XSLT,
estrazione dei dati tramite espressioni XPath, ecc.)
La configurazione di un plug-in, come per ogni altro componente in
eXistBus, è XML-based.
Tra i plug-in ed il core di eXistBus viene frapposto un layer di astrazione
detto Virtual Middleware che consente di separare la logica di business
dei servizi dalla loro reale implementazione.
19
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Il Virtual Middleware
Il Virtual Middleware non è altro che una gerarchia di interfacce.
20
• Un plug-in deve implementare
una delle tre sotto-interfacce di
Operation
• L’operazione effettuata dal
plug-in è completamente
trasparente al core di eXistBus
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Il progetto della console di monitoraggio
Requisiti Utente:
1. Monitorare i messaggi che eXistBus scambia con i sistemi esterni, sia
client che server
2. Consentire l’accesso ai dati di monitoraggio via Web
21
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Problematiche
1) Che granularitĂ  deve avere il monitoraggio?
22
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Problematiche (2)
2) Come applicare il monitoraggio ai processi di business?
Intercettori:
• Sono particolari plug-in di eXistBus che vengono richiamati dall’ESB
prima o dopo l’invocazione di un servizio
• Hanno accesso ai dati in ingresso o in uscita da un servizio
• Possono essere applicati ad un processo di business esistente senza
che sia necessario modificarne il workflow
23
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Intercettori
24
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Problematiche (3)
3) Come gestire gli errori di esecuzione dei servizi?
Il comportamento di default di eXistBus era quello di terminare
l’esecuzione del flusso in caso di errore nell’invocazione di un servizio.
Soluzione: modificare il core di eXistBus in modo che il plug-in di
monitoraggio applicato all’output del servizio possa intercettare
l’eccezione restituita prima che il flusso venga terminato.
25
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Test di carico
Tre processi di business di test:
1. Test_CallDB_CallEmail_CallFileWriter: esegue un test su un campo
del messaggio contenente la richiesta di servizio ricevuta. In base al
valore assunto da questo campo viene:
Effettuata una query su un database
Inviata un’email contente il corpo del messaggio
Memorizzato il corpo del messaggio in un file
2. Test_TrasformazioneXSL_ChiamataWebService: viene applicata
una trasformazione XSLT al contenuto del messaggio di ingresso ed il
risultato viene poi utilizzato come parametro per l’invocazione di un
Web Service
3. Test_All_System: invoca in cascata i sistemi utilizzati negli altri due
processi di business
Il test di carico ha previsto l’invocazione parallela dei 3 processi di
business configurati con e senza l’utilizzo del plug-in di monitoraggio.
26
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Risultati senza il plug-in di monitoraggio
27
Test T.R.M. (ms)
Test1 15,3
Test2 23,6
Test3 36,0
Tempo di risposta (ms)
Invocazioni dei processi di business
Test3
Test1
Test2
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Risultati con il plug-in di monitoraggio
28
Test T.R.M. (ms)
Test1 56,7
Test2 62,7
Test3 87,0
~ 𝟒
~ 𝟑
~ 𝟐
Tempo di risposta (ms)
Invocazioni dei processi di business
Test3
Test1
Test2
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
La Web Console
29
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
La Web Console
30
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
La Web Console
31
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Conclusioni
• La soluzione di monitoraggio realizzata soddisfa in pieno i requisiti
espressi dal cliente sia in termini di funzionalitĂ  che di flessibilitĂ  di utilizzo
• I risultati dei test indicano come il plug-in di monitoraggio riesca ad
operare correttamente anche quando il sistema è sottoposto a carichi
di lavoro elevati
• Un’estensione del lavoro svolto in questa testi potrebbe consistere
nell’implementazione di altre due funzionalità richieste dal cliente:
Rilevare eventuali utilizzi anomali delle risorse di sistema (ram in uso,
connessioni TCP attive, livello di utilizzo della CPU, ecc.) da parte dei processi
di business
Utilizzare i dati di monitoraggio per eseguire dei test di non regressione
32
Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB
Tesi di Laurea - A.A. 2010/2011
UniversitĂ  degli studi di Bologna
FacoltĂ  di Ingegneria
Corso di Laurea Magistrale in Ingegneria Informatica
Grazie per l’attenzione
33

Weitere ähnliche Inhalte

Ähnlich wie SOA Governance e Monitoraggio di servizi basato su ESB

MS WINDOWS SERVER 2003 - Deploying ms windows rights management services - Sc...
MS WINDOWS SERVER 2003 - Deploying ms windows rights management services - Sc...MS WINDOWS SERVER 2003 - Deploying ms windows rights management services - Sc...
MS WINDOWS SERVER 2003 - Deploying ms windows rights management services - Sc...LEN Learning Education Network
 
Biznology presentazione azienda
Biznology presentazione aziendaBiznology presentazione azienda
Biznology presentazione aziendaAlberto Lagna
 
Modello economico del Cloud, Knowledge Intensive Business Services
Modello economico del Cloud, Knowledge Intensive Business ServicesModello economico del Cloud, Knowledge Intensive Business Services
Modello economico del Cloud, Knowledge Intensive Business Servicesciii_inginf
 
B Human Progetti di Stage 2009
B Human Progetti di Stage 2009B Human Progetti di Stage 2009
B Human Progetti di Stage 2009B Human Srl
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveEmanuele Della Valle
 
GianlucaBonifacioCV_ITA_240117
GianlucaBonifacioCV_ITA_240117GianlucaBonifacioCV_ITA_240117
GianlucaBonifacioCV_ITA_240117Gianluca Bonifacio
 
MS windows server 2008 - Designing an application platform infrastructure - S...
MS windows server 2008 - Designing an application platform infrastructure - S...MS windows server 2008 - Designing an application platform infrastructure - S...
MS windows server 2008 - Designing an application platform infrastructure - S...LEN Learning Education Network
 
Architecting and designing J2EE applications - Scheda corso LEN
Architecting and designing J2EE applications - Scheda corso LENArchitecting and designing J2EE applications - Scheda corso LEN
Architecting and designing J2EE applications - Scheda corso LENLEN Learning Education Network
 
BPM e Cloud: la partnership ideale
BPM e Cloud: la partnership idealeBPM e Cloud: la partnership ideale
BPM e Cloud: la partnership idealeemanuelemolteni
 
Microservices power by unikernels
Microservices power by unikernelsMicroservices power by unikernels
Microservices power by unikernelsGabriele Baldoni
 
Sinibaldi soa-28.02.2008
Sinibaldi soa-28.02.2008Sinibaldi soa-28.02.2008
Sinibaldi soa-28.02.2008sinibaldi
 
Ms office live communications server 2005 implementing (sp1) - Scheda corso LEN
Ms office live communications server 2005 implementing (sp1) - Scheda corso LENMs office live communications server 2005 implementing (sp1) - Scheda corso LEN
Ms office live communications server 2005 implementing (sp1) - Scheda corso LENLEN Learning Education Network
 
Focus Group Open Source 28.4.2010 Roberto Di Mambro
Focus Group Open Source 28.4.2010 Roberto Di MambroFocus Group Open Source 28.4.2010 Roberto Di Mambro
Focus Group Open Source 28.4.2010 Roberto Di MambroRoberto Galoppini
 
Eng O ABI Costi Business 2010
Eng O ABI Costi  Business 2010Eng O ABI Costi  Business 2010
Eng O ABI Costi Business 2010gacorno
 
MS VISUAL STUDIO 2003 - Analyzing requirements and defining .net solution arc...
MS VISUAL STUDIO 2003 - Analyzing requirements and defining .net solution arc...MS VISUAL STUDIO 2003 - Analyzing requirements and defining .net solution arc...
MS VISUAL STUDIO 2003 - Analyzing requirements and defining .net solution arc...LEN Learning Education Network
 
Ruspantini_Andrea_Gen_FY16_IT
Ruspantini_Andrea_Gen_FY16_ITRuspantini_Andrea_Gen_FY16_IT
Ruspantini_Andrea_Gen_FY16_ITAndrea Ruspantini
 
Implementing and administering windows sharepoint services 3.0 in windows ser...
Implementing and administering windows sharepoint services 3.0 in windows ser...Implementing and administering windows sharepoint services 3.0 in windows ser...
Implementing and administering windows sharepoint services 3.0 in windows ser...LEN Learning Education Network
 
Regione Labict Presentazione Ictcollab 20080512 V02
Regione Labict Presentazione Ictcollab 20080512 V02Regione Labict Presentazione Ictcollab 20080512 V02
Regione Labict Presentazione Ictcollab 20080512 V02Gian Luca Matteucci
 

Ähnlich wie SOA Governance e Monitoraggio di servizi basato su ESB (20)

MS WINDOWS SERVER 2003 - Deploying ms windows rights management services - Sc...
MS WINDOWS SERVER 2003 - Deploying ms windows rights management services - Sc...MS WINDOWS SERVER 2003 - Deploying ms windows rights management services - Sc...
MS WINDOWS SERVER 2003 - Deploying ms windows rights management services - Sc...
 
Biznology presentazione azienda
Biznology presentazione aziendaBiznology presentazione azienda
Biznology presentazione azienda
 
Modello economico del Cloud, Knowledge Intensive Business Services
Modello economico del Cloud, Knowledge Intensive Business ServicesModello economico del Cloud, Knowledge Intensive Business Services
Modello economico del Cloud, Knowledge Intensive Business Services
 
B Human Progetti di Stage 2009
B Human Progetti di Stage 2009B Human Progetti di Stage 2009
B Human Progetti di Stage 2009
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
 
GianlucaBonifacioCV_ITA_240117
GianlucaBonifacioCV_ITA_240117GianlucaBonifacioCV_ITA_240117
GianlucaBonifacioCV_ITA_240117
 
MS windows server 2008 - Designing an application platform infrastructure - S...
MS windows server 2008 - Designing an application platform infrastructure - S...MS windows server 2008 - Designing an application platform infrastructure - S...
MS windows server 2008 - Designing an application platform infrastructure - S...
 
Architecting and designing J2EE applications - Scheda corso LEN
Architecting and designing J2EE applications - Scheda corso LENArchitecting and designing J2EE applications - Scheda corso LEN
Architecting and designing J2EE applications - Scheda corso LEN
 
BPM e Cloud: la partnership ideale
BPM e Cloud: la partnership idealeBPM e Cloud: la partnership ideale
BPM e Cloud: la partnership ideale
 
Microservices power by unikernels
Microservices power by unikernelsMicroservices power by unikernels
Microservices power by unikernels
 
Sinibaldi soa-28.02.2008
Sinibaldi soa-28.02.2008Sinibaldi soa-28.02.2008
Sinibaldi soa-28.02.2008
 
Ms office live communications server 2005 implementing (sp1) - Scheda corso LEN
Ms office live communications server 2005 implementing (sp1) - Scheda corso LENMs office live communications server 2005 implementing (sp1) - Scheda corso LEN
Ms office live communications server 2005 implementing (sp1) - Scheda corso LEN
 
Focus Group Open Source 28.4.2010 Roberto Di Mambro
Focus Group Open Source 28.4.2010 Roberto Di MambroFocus Group Open Source 28.4.2010 Roberto Di Mambro
Focus Group Open Source 28.4.2010 Roberto Di Mambro
 
Eng O ABI Costi Business 2010
Eng O ABI Costi  Business 2010Eng O ABI Costi  Business 2010
Eng O ABI Costi Business 2010
 
MS VISUAL STUDIO 2003 - Analyzing requirements and defining .net solution arc...
MS VISUAL STUDIO 2003 - Analyzing requirements and defining .net solution arc...MS VISUAL STUDIO 2003 - Analyzing requirements and defining .net solution arc...
MS VISUAL STUDIO 2003 - Analyzing requirements and defining .net solution arc...
 
Favore fulvia2
Favore fulvia2Favore fulvia2
Favore fulvia2
 
Italian CV
Italian CVItalian CV
Italian CV
 
Ruspantini_Andrea_Gen_FY16_IT
Ruspantini_Andrea_Gen_FY16_ITRuspantini_Andrea_Gen_FY16_IT
Ruspantini_Andrea_Gen_FY16_IT
 
Implementing and administering windows sharepoint services 3.0 in windows ser...
Implementing and administering windows sharepoint services 3.0 in windows ser...Implementing and administering windows sharepoint services 3.0 in windows ser...
Implementing and administering windows sharepoint services 3.0 in windows ser...
 
Regione Labict Presentazione Ictcollab 20080512 V02
Regione Labict Presentazione Ictcollab 20080512 V02Regione Labict Presentazione Ictcollab 20080512 V02
Regione Labict Presentazione Ictcollab 20080512 V02
 

SOA Governance e Monitoraggio di servizi basato su ESB

  • 1. Candidato: Massimiliano Mattetti SOA Governance e Monitoraggio di Servizi basato su ESB Relatore: Chiar.mo Prof. Ing. Paolo Bellavista Correlatori: Chiar.mo Prof. Ing. Antonio Corradi Dott. Ing. Fabrizio Grisoli A.A. 2010/2011 UniversitĂ  degli Studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Tesi di Laurea in Sistemi Distribuiti M
  • 2. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Sommario • Introduzione alla Service-Oriented Architecture (SOA) • La SOA Governance • L’Enterprise Service Bus eXistBus • La console di monitoraggio • Risultati dei test • Conclusioni 2
  • 3. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Cos’è la SOA? Paradigma architetturale basato sui concetti di: • Servizio Insieme di componenti software che implementa una funzionalitĂ  • Disaccoppiamento (loosely-coupled) Condizione di dipendenza ridotta o assente fra diversi componenti di un sistema distribuito • Alta interoperabilitĂ  CapacitĂ  di sistemi diversi di comunicare fra loro 3
  • 4. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Servizio È un’astrazione logica delle funzionalitĂ  offerte da sistemi fisici 4 Sistemi Fisici Processo di Business
  • 5. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Servizio Un Servizio viene formalizzato mediante la definizione di: 1. Un’interfaccia che ne descrive le funzionalitĂ  2. Un contratto che ne definisce le responsabilitĂ  verso chi lo utilizza 5
  • 6. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Disaccoppiamento Il disaccoppiamento è un elemento fondamentale per aumentare la flessibilitĂ , la scalabilitĂ  e la tolleranza ai guasti delle infrastrutture IT. 1. FlessibilitĂ  intermediario per la comunicazione fra client e server 2. ScalabilitĂ  controllo distribuito 3. Tolleranza ai guasti isolamento dei sistemi 6
  • 7. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Alta InteroperabilitĂ  7 Nelle architetture IT enterprise c’è la necessitĂ  di far comunicare fra loro sistemi altamente eterogenei (applicazioni J2EE, .Net, legacy, DBMS, sistemi di messaging, ecc.) Approccio Punto-Punto Approccio Indiretto
  • 8. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica La EAI prima della SOA 8 Col tempo presenta: • alti costi di mantenimento • rigiditĂ  (applicazioni tightly-coupled) • prestazioni insoddisfacenti (scarsa scalabilitĂ )
  • 9. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Enterprise Service Bus 1. Architettura altamente distribuita 2. Gestisce la comunicazione fra i sistemi 3. Garantisce il completo disaccoppiamento ed isolamento dei sistemi 9
  • 10. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica FunzionalitĂ  ESB FunzionalitĂ  base: • Fornire la connettivitĂ  • Trasformazione dei messaggi • Routing • Sicurezza FunzionalitĂ  accessorie: • Gestione dei servizi (registry + repository) • Monitoraggio e logging • Orchestrazione 10
  • 11. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica SOA Governance La Service-Oriented Architecture è oggi il modello architetturale di riferimento per le soluzioni IT aziendali grazie ai benefici promessi in termini di: • AgilitĂ  • FlessibilitĂ  • Riduzione dei costi Tuttavia questi benefici possono non essere raggiunti se all’adozione della SOA non fa seguito l’applicazione di una strategia di governo efficace. Tale strategia prende il nome di SOA Governance e definisce tutte le iniziative, sia organizzative che tecnologiche, che devono essere attuate al fine di garantire il successo della SOA. 11
  • 12. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Ciclo di vita della SOA Governance 12 Output: - Ruoli e ResponsabilitĂ  - Processi - Architettura Input: - Requisiti della Business Unit - Best Practices - Modello organizzativo della SOA - Strategia Aziendale - Evoluzioni Tecnologiche Operations Strategy & Policy Architecture & Lifecycle Usage and Reuse GuideLines SLA and expected Performaces Coordination inside and outside the Coorporation Products and Standards GuideLines Distributed Requirements Coordination Quality assurance Service lifecycle/ provisioning Support and helpdesk Products Configuration Monitoring of SLA System management Budgetting & Prioritization
  • 13. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Strategy & Policy 13 Usage and Reuse GuideLines SLA and expected Performaces Coordination inside and outside the Coorporation Budgetting & Prioritization Nelle prime quattro fasi della SOA Governance vengono definiti: 1. Le linee guida per la gestione dei servizi 2. I contratti di Service Level Agreement 3. Il modello di finanziamento dei servizi 4. Le politiche che rafforzano la cooperazione fra i soggetti interessati dalla SOA
  • 14. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Architecture & Lifecycle 14 Products and Standards GuideLines Distributed Requirements Coordination Quality assurance Service lifecycle/ provisioning Nelle successive quattro fasi vengono definiti: 1. Gli standard che devono essere utilizzati per l’implementazione della SOA 2. Le linee guida per una gestione efficace dei requisiti 3. I test che devono essere effettuati al fine di garantire la qualitĂ  dei servizi 4. Come gestire il ciclo di vita dei servizi
  • 15. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Operations 15 Support and helpdesk Products Configuration Monitoring of SLA System management Le ultime quattro fasi della SOA Governance definiscono infine: 1. Chi è il responsabile di un servizio 2. Come effettuare le operazioni di gestione dei servizi a run-time 3. Come configurare i servizi 4. Le metriche che devono essere controllate nella fase di monitoraggio
  • 16. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Reply Reply è una societĂ  di Consulenza, System Integration, Application Management e Business Process Outsourcing. Fondata nel 1997 a Torino, ha sedi in tre nazioni europee ed ha seguito nel corso del tempo una crescita costante sia in termini di fatturato che in numero di dipendenti. 16 Torino Milano Roma Parma Treviso GĂźtersloh DĂźsseldorf Hamburg Frankfurt Munich Londra
  • 17. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica eXistBus eXistBUS è un framework di Enterprise Service Bus (ESB) basato su tecnologia industry standard open (J2EE, XML, Web Services) e modello architetturale SOA, che permette di implementare un’architettura di integrazione distribuita orientata ai servizi di business aziendali. • Abilita un’integrazione “loosely-coupled” tra sistemi aziendali (intranet) ed extra- aziendali (extranet) utilizzando le piĂš disparate tecnologie e paradigmi di comunicazione (JMS, RMI, SOAP, HTTP, …) • Sfrutta le potenzialitĂ  e le funzionalitĂ  di gestione delle risorse (ScalabilitĂ , TransazionalitĂ , Alta DisponibilitĂ , Sicurezza) del container J2EE all’interno del quale viene eseguito • È basato su un’architettura a plug-in che permette di estenderne le funzionalitĂ  in maniera semplice e rapida • Permette di definire flussi operativi multi-step (workflow) che implementano processi di business aziendale 17
  • 18. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica L’architettura di eXistBus 18 • Core features – General purpose workflow/routing per la costruzione di workflow complessi che coinvolgono piĂš di due sistemi – Supporto transazioni globali (XA) – Data transformation – Data Crypting/decripting – Data compression – Data aggregation – Statistics – High configurability – EstendibilitĂ  tramite plugin – Advanced log facilities • Connectivity – RMI, JMS, JCA, SAP, JDBC, SOAP/HTTP(S) – Le tecnologie in inbound possono essere utilizzate direttamente dalle applicazioni client – Virtual Middleware per l’astrazione dalle tecnologie outbound – Pluggability • Consoles – Econ: editing e gestione configurazione – Workbench: amministrazione e test – Visualizzazione statistiche e produzione report – Accesso sottoposto ad autenticazione – Access control list • Web Services – Definizione delle interfacce dei servizi di business – Generazione automatica dei WSDL – WSDL disponibili on-line per le applicazioni client – Registrazione dei servizi su un UDDI registry esterno od interno – Supporto per protocolli criptati – Access control list per l’accesso ai servizi
  • 19. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica I plug-in di eXistBus Un plug-in è un componente software che estende le funzionalitĂ  di eXistBus permettendogli di: • interagire con i sistemi esterni (DBMS, code JMS, Web Service, sistemi legacy, ecc.) • effettuare operazioni sui messaggi (validazioni XML, trasformazioni XSLT, estrazione dei dati tramite espressioni XPath, ecc.) La configurazione di un plug-in, come per ogni altro componente in eXistBus, è XML-based. Tra i plug-in ed il core di eXistBus viene frapposto un layer di astrazione detto Virtual Middleware che consente di separare la logica di business dei servizi dalla loro reale implementazione. 19
  • 20. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Il Virtual Middleware Il Virtual Middleware non è altro che una gerarchia di interfacce. 20 • Un plug-in deve implementare una delle tre sotto-interfacce di Operation • L’operazione effettuata dal plug-in è completamente trasparente al core di eXistBus
  • 21. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Il progetto della console di monitoraggio Requisiti Utente: 1. Monitorare i messaggi che eXistBus scambia con i sistemi esterni, sia client che server 2. Consentire l’accesso ai dati di monitoraggio via Web 21
  • 22. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Problematiche 1) Che granularitĂ  deve avere il monitoraggio? 22
  • 23. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Problematiche (2) 2) Come applicare il monitoraggio ai processi di business? Intercettori: • Sono particolari plug-in di eXistBus che vengono richiamati dall’ESB prima o dopo l’invocazione di un servizio • Hanno accesso ai dati in ingresso o in uscita da un servizio • Possono essere applicati ad un processo di business esistente senza che sia necessario modificarne il workflow 23
  • 24. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Intercettori 24
  • 25. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Problematiche (3) 3) Come gestire gli errori di esecuzione dei servizi? Il comportamento di default di eXistBus era quello di terminare l’esecuzione del flusso in caso di errore nell’invocazione di un servizio. Soluzione: modificare il core di eXistBus in modo che il plug-in di monitoraggio applicato all’output del servizio possa intercettare l’eccezione restituita prima che il flusso venga terminato. 25
  • 26. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Test di carico Tre processi di business di test: 1. Test_CallDB_CallEmail_CallFileWriter: esegue un test su un campo del messaggio contenente la richiesta di servizio ricevuta. In base al valore assunto da questo campo viene: Effettuata una query su un database Inviata un’email contente il corpo del messaggio Memorizzato il corpo del messaggio in un file 2. Test_TrasformazioneXSL_ChiamataWebService: viene applicata una trasformazione XSLT al contenuto del messaggio di ingresso ed il risultato viene poi utilizzato come parametro per l’invocazione di un Web Service 3. Test_All_System: invoca in cascata i sistemi utilizzati negli altri due processi di business Il test di carico ha previsto l’invocazione parallela dei 3 processi di business configurati con e senza l’utilizzo del plug-in di monitoraggio. 26
  • 27. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Risultati senza il plug-in di monitoraggio 27 Test T.R.M. (ms) Test1 15,3 Test2 23,6 Test3 36,0 Tempo di risposta (ms) Invocazioni dei processi di business Test3 Test1 Test2
  • 28. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Risultati con il plug-in di monitoraggio 28 Test T.R.M. (ms) Test1 56,7 Test2 62,7 Test3 87,0 ~ 𝟒 ~ 𝟑 ~ 𝟐 Tempo di risposta (ms) Invocazioni dei processi di business Test3 Test1 Test2
  • 29. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica La Web Console 29
  • 30. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica La Web Console 30
  • 31. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica La Web Console 31
  • 32. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Conclusioni • La soluzione di monitoraggio realizzata soddisfa in pieno i requisiti espressi dal cliente sia in termini di funzionalitĂ  che di flessibilitĂ  di utilizzo • I risultati dei test indicano come il plug-in di monitoraggio riesca ad operare correttamente anche quando il sistema è sottoposto a carichi di lavoro elevati • Un’estensione del lavoro svolto in questa testi potrebbe consistere nell’implementazione di altre due funzionalitĂ  richieste dal cliente: Rilevare eventuali utilizzi anomali delle risorse di sistema (ram in uso, connessioni TCP attive, livello di utilizzo della CPU, ecc.) da parte dei processi di business Utilizzare i dati di monitoraggio per eseguire dei test di non regressione 32
  • 33. Massimiliano Mattetti - SOA Governance e Monitoraggio di Servizi basato su ESB Tesi di Laurea - A.A. 2010/2011 UniversitĂ  degli studi di Bologna FacoltĂ  di Ingegneria Corso di Laurea Magistrale in Ingegneria Informatica Grazie per l’attenzione 33

Hinweis der Redaktion

  1. ... ed il titolo della tesi che presento è SOA Governance e Monitoraggio di Servizi basato su Enterprise Service Bus. Questo lavoro di tesi è stato svolto in azienda. In particolare ho effettuato un periodo di stage presso la società Sytel Roma appartenente al gruppo Reply.
  2. Inizierò con una breve descrizione dei concetti alla base della Service-Oriented Architecture, per poi passare ad analizzare cos’è e che scopo ha la SOA Governance. Introdurrò l’Enterprise Service Bus eXistBus e descriverò il progetto della console di monitoraggio che ho sviluppato per questo ESB. Infine illustrerò i risultati dei test effettuati su questa soluzione di monitoraggio e le conclusioni a cui sono giunto.
  3. Analizzando le iterazioni fra i diversi sistemi fisici è possibile identificare operazioni logiche ad un più alto livello di astrazione. Queste operazioni corrispondono al concetto di servizio e possono essere utilizzate come un’unità atomica per il design e l’implementazione di un processo di business.
  4. La flessibilità si ottiene utilizzando un intermediario per la comunicazione fra client e server, così è infatti possibile effettuare operazioni come il load balancing o il failover in maniera trasparente per il cliente. La scalabilità è frutto del controllo distribuito in quanto un controllo centralizzato rappresenta un collo di bottiglia per le performance dei sistemi distribuiti. Ed infine la tolleranza ai guasti viene garantita tramite l’isolamento dei sistemi, in questo modo il guasto di un sistema non pregiudica l’operatività degli altri.
  5. Le architetture IT enterprise sono solitamente composte da sistemi altamente eterogenei. Per consentire la comunicazione fra questi sistemi è possibile seguire due tipi di approcci, uno è l’approccio punto-punto in cui ogni sistema instaura una connessione diretta con gli altri, ciò comporta però un accoppiamento stretto tra i sistemi e la necessità di predisporre, nel caso peggiore, un numero di adattatori di protocollo pari al numero di connessioni. Oppure, un’altra possibile soluzione prevede l’utilizzo di un approccio indiretto in cui un intermediario gestisce la comunicazione fra i sistemi. In questo caso non c’è un accoppiamento stretto fra gli interlocutori e per ciascun sistema è necessario predisporre un solo adattatore che gli consenta di comunicare con l’intermediario.
  6. Seguendo l’approccio punto-punto ciò che si ottiene è un’architettura detta casuale. Questo tipo di rete è il risultato della composizione delle diverse soluzioni adottate nel corso degli anni.
  7. Oggi la soluzione architetturale di riferimento per la SOA è senza dubbio l’Enterprise Service Bus. Ha un’architettura altamente distribuita, funge da intermediario per la comunicazione fra i sistemi della rete e ne garantisce il completo disaccoppiamento ed isolamento.
  8. Le funzionalità base dell’ESB sono quelle di fornire la connettività ai sistemi, effettuare trasformazione dei messaggi da un formato all'altro, effettuare il routing dei messaggi e garantire la sicurezza della comunicazione. Inoltre molto spesso i vendor di questi sistemi forniscono funzionalità accessorie per la gestione dei servizi attraverso tool come registry e repository, per il monitoraggio e il logging e per l’orchestrazione ovvero la possibilità di comporre i servizi in processi di business.
  9. Una delle principali attività svolte durante il periodo di stage è stata quella di approfondire la tematica della SOA Governance sia tramite lo studio della letteratura inerente questo argomento, sia attraverso il confronto diretto con personale Reply avente anni di esperienza in materia. La SOA Governance può essere vista come un insieme di fasi che si susseguono in un ciclo senza soluzione di continuità. Questo ciclo riceve in ingresso i Requisiti della Business Unit, le Best Practice, il Modello organizzativo della SOA, la Strategia Aziendale e le Evoluzioni Tecnologiche e fornisce in output i ruoli con le relative responsabilità, i processi che devono essere applicati e le scelte architetturali che devono essere attuate per l’implementazione della SOA. Andrò adesso a descrivere brevemente le varie fasi di questo ciclo.
  10. Le prime quattro fasi che ricadono nella categoria così detta di strategy e policy definiscono i principi che guidano l’azienda nella gestione dei servizi. Ad esempio una linea guida fondamentale è quella che stabilisce di verificare se è possibile riutilizzare un servizio esistente prima di crearne uno nuovo. Vengono definiti i contratti di Service Level Agreement, il modello di finanziamento dei servizi e le politiche che rafforzano la cooperazione fra i soggetti interessati dalla SOA.
  11. Nelle successive quattro fasi vengono definiti gli standard che devono essere utilizzati per l’implementazione della SOA, le linee guida per una gestione efficace dei requisiti, i test che devono essere effettuati al fine di garantire la qualità dei servizi e come gestire il ciclo di vita dei servizi.
  12. Come è possibile intuire dal termine Operations, le ultime quattro fasi interessano aspetti operativi della SOA. In particolare vengono definiti i soggetti responsabili di un servizio, come debbano essere effettuate le operazioni di gestione dei servizi a run-time, come questi debbano essere configurati e le metriche che devono essere monitorate a run-time per verificare il rispetto dei livelli di performance stabiliti nei contratti di SLA.
  13. Come ho detto all’inizio la mia attività di tesi ha previsto un periodo di stage presso una delle società del gruppo Reply. Reply è un’azienda di consulenza …
  14. eXistBUS è un framework di Enterprise Service Bus (ESB) realizzato da Reply. È basato su standard industriali aperti, utilizza le più disparate tecnologie e paradigmi di comunicazione, sfrutta le funzionalità del container J2EE all’interno del quale viene eseguito, è basato su un’architettura a plug-in che permette di estenderne le funzionalità e consente di definire dei workflow che implementano processi di business aziendale.
  15. In questa immagine che mostrata l’architettura di eXistBus è possibile vedere i diversi protocolli di comunicazione che questo supporta come RMI, JMS, SOAP, le core features come la possibilità di cifrare e decifrare i dati, di trasformarli e di comprimerli. Le console che vengono messe a disposizione per la sua configurazione. E le funzionalità accessorie specifiche per la gestione dei Web Services come ad esempio la generazione automatica dei WSDL ossia dei file che descrivono l’interfaccia di un Web Service e ne consentono l’invocazione.
  16. Il Virtual Middleware non è altro che una gerarchia di interfacce. Un plug-in deve implementare una delle tre sotto-interfacce di Operation e l’operazione effettuata dal plug-in è completamente trasparente al core di eXistBus in quanto questo si limita ad invocare il metodo perform che contiene la logica di business.
  17. Conoscere le caratteristiche di eXistBus è un requisito necessario per poter proseguire nella descrizione del lavoro svolto. Oltre all’attività di ricerca sullo stato dell’arte della SOA Governance durante il periodo di stage ho avuto modo di confrontarmi con una reale problematica di SOA Governance qual è il monitoraggio dei servizi. In particolare questo problema è stato esternato da Poste Italiane che è uno dei principali clienti di Reply. Poste Italiane ha in dotazione l’ESB eXistBus e aveva la necessità di monitorare i messaggi che questo scambia con i sistemi esterni, sia client che server, inoltre i dati raccolti dal monitoraggio dovevano essere resi accessibili via Web. A partire da questi requisiti ho realizzato un plug-in di eXistBus che ne estende le funzionalità consentendogli di tenere traccia dei messaggi che vengono scambiati con i sistemi esterni.
  18. La prima problematica che si è presentata è stata quella di stabilire quale granularità doveva avere il monitoraggio ossia se è necessario monitorare parti di un flusso, i singoli nodi o i singoli servizi. Dato che il cliente richiedeva di controllare le iterazioni con i sistemi esterni, la scelta progettuale che ho fatto è stata quella di applicare il monitoraggio a livello di singoli servizi. Ad esempio nel caso del processo di business mostrato in questa immagine che recupera delle informazioni da un database, le elabora ed in basse al risultato termina il processo o invia un’email di notifica, il monitoraggio verrebbe applicato ai tre nodi evidenziati.
  19. La seconda problematica è stata quella di stabilire come applicare il monitoraggio ai processi di business. In questo caso la scelta che ho fatto è stata quella di implementare il sistema di monitoraggio come un intercettore. Gli intercettori sono particolari plug-in di eXistBus che vengono richiamati dall’ESB prima o dopo l’invocazione di un servizio, hanno accesso ai dati in ingresso o in uscita dal sevizio al quale vengono applicati ed inoltre possono essere aggiunti ad un processo di business esistente senza che sia necessario modificarne il flusso di esecuzione. L’intercettore che ho realizzato estende l’interfaccia CallOperation del Virtual Middleware e memorizza i dati in ingresso o in uscita al servizio al quale viene applicato in un database.
  20. Riprendendo l’esempio precedente, è quindi possibili applicare il monitoraggio sia ai dati di input che a quelli di output dei servizi ed inoltre il cliente è libero di scegliere in quali punti del flusso applicare il monitoraggio e in quali no, ad esempio può scegliere di non memorizzare il contenuto dell’email.
  21. Il cliente richiedeva inoltre di tenere traccia anche di eventuali errori che si verificassero durante l’esecuzione di un servizio. Il comportamento di default di eXistBus in questi casi era tuttavia quello di terminare l’esecuzione del flusso senza neanche invocare gli eventuali intercettori che seguono il servizio. Per soddisfare il requisito del cliente ho dovuto quindi mettere mano al codice del core di eXistBus e modificarlo in modo che in caso di errore nell’esecuzione di un servizio venga comunque richiamato il plug-in di monitoraggio applicato all’output, prima di terminare il flusso.
  22. Per testare il plug-in sono stati configurati 3 processi di business. Il primo processo esegue un test su un campo del messaggio contenente la richiesta di servizio ed in base al valore assunto da questo campo effettua o una query su un db o invia un’email contenente il corpo del messaggio oppure memorizza il contenuto del messaggio in un file. Il secondo processo applica una trasformazione XSLT al contenuto del messaggio in ingresso ed il risultato viene utilizzato come parametro per l’invocazione di un Web Service. Infine l’ultimo processo di business invoca in cascata i sistemi utilizzati dagli altri due processi. Il test di carico ha previsto l’invocazione parallela di questi 3 processi in due scenari. Nel primo la loro configurazione non prevede l’utilizzo del plug-in di monitoraggio, mentre nel secondo si.
  23. Questo grafico mostra i tempi di risposta delle invocazioni dei tre processi di business configurati senza l’utilizzo del plug-in di monitoraggio, mentre nella tabella a destra vengono riportati i tempi di risposta medi ottenuti per ciascun processo di business.
  24. Quest’altro grafico mostra invece l’andamento dei tempi di risposta nel caso in cui i tre processi di business utilizzino il plug-in di monitoraggio. Il sistema non ha avuto problemi nel gestire il carico ulteriore generato dal plug-in di monitoraggio e tutte le invocazioni sono andate a buon fine. Si potrebbero avere delle perplessità sul fatto che ci sia stato un aumento consistente dei tempi di esecuzione, tuttavia ciò è dovuto principalmente al fatto che questi processi eseguono operazioni non particolarmente complesse. È possibile vedere infatti, dalla tabella a destra, come all’aumentare della complessità del processo di business l’impatto del monitoraggio tenda ad essere meno evidente ed è ipotizzabile che con processi di business reali, che hanno solitamente un peso computazionale maggiore di quelli utilizzati per i test, l’overhead generato dal monitoraggio sia se non trascurabile, sicuramente meno rilevante. (se serve esempio Alitalia)
  25. Questa è l’interfaccia web che consente l’acceso ai dati di monitoraggio. È molto semplice ed è stata realizzata seguendo le indicazioni del cliente. In una tabella vengono mostrati i messaggi scambiati dai tre processi di business,
  26. e tramite appositi controlli è possibile effettuare delle ricerche su questi dati.
  27. Le righe in rosso mostrano eventuali errori che si sono verificati durante l’esecuzione di un servizio. Posizionando il cursore del mouse sulla relativa cella viene mostrata la descrizione dell’errore che si è verificato.
  28. In conclusione posso dire che la soluzione di monitoraggio realizzata soddisfa in pieno i requisiti espressi dal cliente sia in termini di funzionalità che di flessibilità di utilizzo. I risultati dei test indicano come il plug-in di monitoraggio riesca ad operare correttamente anche quando il sistema è sottoposto a carichi di lavoro elevati. Infine una possibile estensione del lavoro che ho svolto per questa testi potrebbe essere quello in realizzare altre due funzionalità accessorie richieste dal cliente. Una riguarda la possibilità di rilevare eventuali utilizzi anomali delle risorse di sistema da parte dei processi di business, ad esempio dovrebbe essere possibile rilevare che l’utilizzo della cpu ha raggiunto i massimi livelli durante l’esecuzione concorrente di due processi di business, magari perché questi vanno in deadlock accedendo ad una risorsa. L’altra funzionalità riguarda la possibilità di utilizzare i dati di monitoraggio per eseguire dei test di non regressione, in pratica deve essere possibile rieseguire una richiesta di servizio e verificare che la nuova esecuzione coincida con quella monitorata.