Tesi di Laurea Specialistica in Ingegneria Informatica
1. Università degli studi di Firenze
Facoltà di ingegneria - Corso di Laurea Specialistica in Ingegneria Informatica
Piattaforma per la composizione di servizi web e
di telecomunicazioni basata su BPMN e JSLEE
Tesi di Laurea di:
Lorenzo Paladini
Relatori:
Prof. Dino Giuli
Prof. Alessandro Fantechi
Anno Accademico 2012/2013
Correlatore:
Ing. Federica Paganelli
Ing. Terence Ambra
2. 2
Introduzione
Service Delivery Platform (SDP)
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
• L’analisi dei lavori presenti in letteratura ha evidenziato
differenti approcci che dimostrano tuttavia vincoli legati a scelte
tecnologiche obbligatorie (servizi di telecomunicazioni forniti da
ambienti IMS o JSLEE, Web Services).
Limiti
stato
dell’arte
• Piattaforma per l’integrazione di servizi Web e di
telecomunicazione.Cos’è
3. 3
Obiettivi della tesi
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
1. Realizzare una piattaforma che non
sia soggetta a nessun vincolo di
implementazione e svincolata da una
qualsiasi tecnologia in particolare.
2. Gestire la composizione di servizi
eterogenei (telecomunicazioni e
web) forniti da differenti providers.
3. Testare la piattaforma su un caso
specifico (Expert On Call service).
4. 4
Architettura piattaforma
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
Base Services
Service
Creation
Environment
Service
Execution
Environment
Workflow language
Workflow Engine Service Selector
Concrete Services Service Repository
5. 5
BPMN 2.0
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
1. BPMN 2.0 non è legato
a particolari
architetture a
differenza di BPEL (SOA)
ed è facilmente
utilizzabile dagli utenti
di business.
2. la notazione di BPMN
2.0 è
standardizzata, più
semplice e leggera.
3. Il trend di utilizzo
attuale premia
nettamente BPMN 2.0.
Base Services Workflow language
Workflow Engine Service Selector
Concrete Services Service Repository
6. 6
Workflow Engine
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
1. E’ stato scelto jBPM.
2. Basato su standard
BPMN 2.0.
3. Attività identificate
dai workitem.
4. jBPM è estendibile:
customizzazione
workitemhandler.
5. Leggero e orientato
a utenti di business
e sviluppatori.
Base Services Workflow language
Workflow Engine Service Selector
Concrete Services Service Repository
7. 7
Base Services
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
1. Servizi astratti:
definizione di
interfacce standard
per tipologia di
servizio.
2. Workitem come
servizio astratto che
non include le info di
binding (protocollo,
endpoint, ecc ..).
3. Definizione di un
Workitemhandler per
ogni tipologia di
servizio.
Base Services
Workflow Engine Service Selector
Concrete Services Service Repository
Workflow language
8. 8
QoS Selector & Service
Repository
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
1. Gestisce la QoS sulla
base dei requisiti
dell’utente
(priorità, tipo
utente) e dei
parametri di qualità
dei servizi
(affidabilità, durata).
2. Viene invocato dal
Workitemhandler.
3. Effettua una lookup
del servizio concreto
sul Service
Repository.
Base Services
Workflow Engine Service Selector
Concrete Services Service Repository
Workflow language
9. 9
Servizi concreti
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
1. Web Services
implementati con EJB e
JAXWS.
2. Servizi di
telecomunicazione
implementati con
Mobicents JSLEE (Third
party call e Messaging
SIP).
3. Ciascun servizio
concreto è registrato nel
Service Repository.
4. Ogni servizio è associato
a parametri di qualità.
Base Services
Workflow Engine Service Selector
Concrete Services Service Repository
Workflow language
10. 10
Obiettivi della tesi
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
1. Realizzare una piattaforma che non
sia soggetta a nessun vincolo di
implementazione e svincolata da una
qualsiasi tecnologia in particolare.
2. Gestire la composizione di servizi
eterogenei (telecom e web) forniti da
differenti providers.
3. Testare la piattaforma su un caso
specifico (Expert On Call service).
12. 12
Expert On Call - Ricerca
collega in Action
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
Utente che richiede il servizio Collega trovato
13. 13
Test prestazionali - Ambiente
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
Intel Core i7 2630QM
(4C/8T) 12GB DDR3
JBPM
Intel Core i7 860
(4C/8T) 8GB DDR3
MySQL
SLEE container
EJB container
• Testare le prestazioni della piattaforma
• Lo scenario di riferimento è la Ricerca del collega.
• Sono stati simulati 8 utenti che contemporaneamente
effettuano un numero crescente di richieste ( 650 max ).
14. 14
Test prestazionali -
orchestrazione statica
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
Media Deviazione Standard
# richieste
ms
~ 700 ms
350
richieste
> 350
richieste
15. 15
Test prestazionali - JBPM
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
Media Deviazione Standard
# richieste
ms
~ 1200ms
250
richieste
> 250
richieste
16. 16
Test prestazionali - VS
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
Workflow
GetMember
# richieste
Differenza
percentuale
17. 17
Smart Santander
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
Ricerca dei parcheggi disponibili
Controllo dei sensori di irrigazione
18. 18
Conclusioni
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
1. Realizzata una piattaforma che non sia soggetta a nessun vincolo di
implementazione legato ad un ambiente di esecuzione specifico per i servizi per
la convergenza del mondo TLC col Web.
1. Scelta di un linguaggio di workflow non legato a particolari architetture
(BPMN 2.0).
2. Scelta di un motore di workflow in grado di interpretare ed eseguire il
linguaggio scelto (jBPM).
3. Esteso il concetto di workitem a tipologia di servizio (astrazione).
4. Realizzati i servizi astratti attraverso la customizzazione dei
workitemhandler standard di jBPM.
5. Implementato ed integrato nel motore un QoS selector in grado di
selezionare i servizi concreti sulla base dei requisiti dell’utente (priorità, tipo
utente) e dei parametri di qualità dei servizi (affidabilità, durata).
2. Implementazioni varie: MySQL,Third Party Call ( RFC 3725 ) e SIP MESSAGE
( RFC 3428 ) (Mobicents JSLEE), Recupero utente, Ricerca collega, Aggiunta
utente, Cancellazione utente (EJB-JAXWS), Web Application per accedere ai
servizi di Expert On Call (JSP + Servlet).
19. 19
Sviluppi futuri
Lorenzo Paladini - Piattaforma per la composizione di servizi web e di telecomunicazioni basata su BPMN e JSLEE
• Indagare ulteriormente sul comportamento anomalo di jBPM riscontrato.
• Estensione del QoS selector per ampliare le possibilità di selezione dei
servizi concreti:
– Aggiunta di ulteriori metriche di QoS per la selezione dei servizi.
– Negoziazione con la rete per livelli di QoS adatti per il tipo di traffico.
• Test più approfonditi per definire meglio i limiti delle tecnologie utilizzate
(macchine di test migliori).
• Test di esercizio con l’utilizzo di un numero considerevole di dispositivi mobili.
• Test funzionali e prestazionali degli scenari di utilizzo implementati per il
progetto europeo Smart Cities ( Smart Santander ).