Integrazione di una piattaforma IPTV in un’architettura SOA Università degli studi Roma Tre Corso di laurea in Ingegneria Informatica Integrazione di una piattaforma IPTV in un’architettura SOA Candidata Sara Castellani Relatore Prof. Paolo Merialdo Università Roma Tre Correlatori Ing. Alessandro Balzarelli Microsoft Italia Prof. Alessandro Toscano Università Roma Tre Anno Accademico 2005/2006
Obiettivi Contesto: Piattaforma IPTV e livello di integrazione con i servizi Telecom per il contratto Alice Home TV Progettare e sviluppare un’architettura SOA di simulazione tramite lo studio e la sperimentazione degli standard: SOA, Web Services e protocolli SOAP, WSDL, Ws-Addressing e Ws- Security e delle tecnologie: Framework .NET 2.0 Framework .NET 3.0: Windows Comunication Foundation, Windows Workflow Foundation Microsoft Connected Services Framework 3.0 (CSF) Progettare e sviluppare il componente di Tracing per il monitoraggio del sistema reale con le tecnologie citate Studio e sperimentazione di SOA, Web Services, e protocolli Studio e sperimentazione del Framework .NET 2.0, e 3.0 in particolare Windows Comunication Foundation e Windows Workflow Foundation e di Microsoft Connected Services Framework 3.0 (CSF) per la connessione tra servizi Contesto: progetto Microsoft di realizzazione della piattaforma IPTV e del livello di integrazione con i servizi Telecom per la fornitura dei contenuti televisivi con il contratto Alice Home TV Studiare le tecnologie IPTV e la realtà d’interesse Progettare e sviluppare un’architettura SOA di simulazione del layer integrativo per ospitare il Tracing component tramite lo studio e la sperimentazione degli standard: SOA, Web Services e protocolli SOAP, WSDL, e WS-* e delle tecnologie: Framework .NET 2.0 Framework .NET 3.0: Windows Comunication Foundation, Windows Workflow Foundation Microsoft Connected Services Framework 3.0 (CSF) Progettare e sviluppare il componente di Tracing per il monitoraggio del sistema reale con le tecnologie citate
Vantaggi IPTV e sottoservizi Triple-play: Internet, televisione e telefono su un’unica rete IPTV: servizi video distribuiti su rete IP tramite il STB (Set-up-box) Live TV VoD(Video on Demand) Pay-per-view Applicazioni Vantaggi: interattività e integrazione tra servizi Il business delle aziende di telecomunicazioni si è spostato progressivamente dalla telefonia al traffico dati. La crescente disponibilità della banda larga ha aperto la possibilità di fornire attraverso Internet nuovi servizi come la tv digitale. Con un’unica tecnologia tre servizi. Descrizione del servizio Triple-play e del Quadruple play con l’aggiunta del traffico mobile Live TV: simile alla tradizionale TV; Vod: simile al video noleggio in qualsiasi istante della giornata su richiesta; PPV: eventi a pagamento; Applicazioni: visualizzazione dello stato della propria bolletta telefonica alla possibilità di “costruire” il proprio telegiornale con le notizie d’interesse, ai giochi on-line e alla possibilità di selezionare da quale angolazione vedere un’azione in una partita di calcio. Protocolli: IGMP, RTSP, mpeg-2 Migliore qualità dell’immagine segnale più pulito rispetto all’analogico grazie a tecniche di soppressione del rumore e dei disturbi, il video si vede o non si vede. Servizio solo su richiesta : contenuti Interattività e personalizzazione: guida ai programmi interattiva che permette agli spettatori di cercare contenuti per mezzo del titolo o del nome di un attore, di usufruire delle funzionalità così dette picture-in-picture che permette di cambiare canale senza lasciare il programma che si sta guardando; foto o musica dal pc alla tv Trasmissione di maggior quantità di dati (video sottotitoliprogrammazione) Servizi solo su richiesta: Nella televisione tradizionale o tramite il satellite i contenuti fluiscono nelle case degli utenti senza che ne abbiano fatto richiesta esplicita Integrazione: In ogni luogo o momento è possibile l’accesso ai contenuti attraverso la televisione, il pc, o il cellulare. Eliminazione barriere Non supporta HDTV Vantaggi Migliore qualità dell’immagine Interattività e personalizzazione (Electronic Program Guide) Integrazione e convergenza grazie a Internet Limitazioni
Architettura di riferimento Applicazioni e servizi comunicano tramite il service bus, Altri servizi come Dam, sc, stb devono interagire direttamente con la piattaforma per il caricamento dei contenuti
SOA - Service Oriented Architecture Composta da: Service: concetto centrale Front-end: elementi attivi di SOA Service repository per contattare i servizi Modello di integrazione: Service bus per connettere tutti i partecipanti di SOA Connettività Eterogeneità di modelli di comunicazione e tecnologie Servizi tecnici Migrazione dall’applicazione al servizio trasversale__> riusabilità Pattern di integrazione: service bus, Piattaforme IPTVe e shell sono service oriented Definizione formale applicabile sia alla tecnologia che ai domini aziendali: un paradigma per organizzare ed utilizzare capacità distribuite che possono essere sotto il controllo di diversi domini di potere. Essa fornisce un mezzo uniforme per offrire, scoprire, interagire con e usare capacità per produrre gli effetti desiderati consistenti con le precondizioni misurabili e le aspettative Astrazione: Le tipiche architetture orientate ai servizi introducono livelli di astrazione posizionando i servizi come unici punti di accesso a una varietà di risorse, nascondendo la logica di business ai servizi consumatori. Gli unici obiettivi su cui focalizzare l’attenzione diventano le funzionalità offerte delle interfacce dei servizi. Dalla logica di business e dalla tecnologia spostando l’attenzione solo sulle funzionalità fornite e non su come sono realizzate. Basso accoppiamento tra i servizi che devono conoscere per comunicare solo l’interfaccia agilità all’interno delle organizzazioni perché ogni servizio cresce in maniera autonoma e evoluzione indipendente. Autonomia: indipendenti nei cambiamenti sia della logica che delle tecnologie e auto contenuti nella logica. Un servizio dovrebbe poter essere riscritto senza determinare effetti negativi sui suoi consumatori La topologia di un sistema può evolvere nel tempo senza essere governata da una singola autorità ma per effetto dell’evoluzione dei singoli servizi. Interoperabilità: nell’ottica di integrazione con altri servizi e piattaforme eterogenee. Senza esporre l’implementazione, Indipendenza da infrastruttura tecnica e implementazione. Per scambiare messaggi specifici di una piattaforma occorre definire un modello intermediario. Il contratto che definisce cosa si può ricevere e cosa si può inviare deve essere definito chiaramente in uno schema. Schemi e contratti si auspica che rimangano stabili nel tempo poiché introducendo cambiamenti su di essi questi interesserebbero anche i consumatori --------------- Tutto ruota intorno al concetto di servizio, descrizione di esso e messaggio. Front-end: interfaccia grafica, applicazione Web, client diretto con l’utente finale, sono applicazioni che iniziano i processi di business e ne ricevono i risultati. Servizio: contratto, fornisce specifica informale dell’obiettivo delle funzionalità dei vincoli e dell’uso del servizio interfaccia ai client che sono connessi al servizio, parte del contratto e implementazione. Service repository: fornisce facilitazioni per individuare servizi e acquisire informazioni per usarli aggiuntive rispetto a quelle fornite dalla descrizione, ad esempio locazione fisica, sicurezza, contatti personali. Service bus: infrastruttura per istradamento dei messaggi e trasporto delle richieste ESB: centralizzazione del controllo e distribuzione dell’infrastruttura Connettività: Interconnettere i partecipanti di un’architettura SOA, invocando le funzionalità dei servizi coinvolti Eterogeneità di tecnologie: All’interno di un’azienda cooperano diversi protocolli di comunicazione e prodotti di middleware. Diverse tecnologie e piattaforme devono essere supportate. Eterogeneità dei modelli di comunicazione: fornendo funzionalità di base per la comunicazione sincrona e asincrona, deve abbracciare differenti modalità comunicative Servizi tecnici: gestione sicurezza, logging e trasformazione dei messaggi in transito. “Paradigma per organizzare ed utilizzare capacità distribuite che possono essere sotto il controllo di diversi domini di potere…“ (OASIS Reference Model)
Progettazione Architettura di simulazione Client Server Service Logic Servizio1 Servizio2 CSF 3.0 Client: invia le richieste Server: Interazione con il client Dà inizio alla Service Logic Service Logic: organizza il processo Servizio1, Servizio2: servizi elementari Tracing component CSF 3.0 Service bus Client Server Service Logic Servizio1 Tracing component DB Servizio2 Server(front end) Con l’obiettivo di sviluppo del contesto di inserimento per il componente di tracing, che andrà successivamente collocato nell’ambito del progetto, è stata progettata e sviluppata un’architettura di simulazione di alcune componenti per riprodurre il comportamento del sistema durante l’esecuzione di alcune operazioni. Può essere astratta la generale modalità di interazione comune alla maggior parte di operazioni da farsi sul sistema. Si prenda in esame Flusso di gestione di un account: creazione, attivazione, disattivazione, e rimozione di un account dalla piattaforma. Sorgente : PSSC invio richieste = Client Per soddisfare questo tipo di richiesta è necessario contattare più WS, in particolare L’interazione con il client è gestita dal Server= IPTVe SBE che si occupa di : ricevere le richieste del client di fornirgli le risposte di creare la sessione entro la quale soddisfare le richieste. contattare la Service Logic per far partire il flusso La Service Logic = IPTVe Service Logic si occupa di orchestrare le azioni da svolgere per soddisfare la richiesta.
Sviluppo Definizione di flussi di lavoro per modellare processi aziendali Rete di tre macchine sulla quale sono stati istallati i componenti sviluppati: Client: Windows Form (.NET 2.0) Server: Web Service (CSF) Servizio1 e Servizio2: Web Service (CSF) Service Logic: Web Service (.NET 3.0) Windows Comunication Foundation per la comunicazione Windows Workflow Foundation per il flusso
Approfondimenti con il simulatore Comunicazione sincrona Un canale per la richiesta e la risposta Attese passive Accoppiamento tra i servizi Gestione comunicazione asincrona Due canali: uno per la richiesta e uno per la risposta Più adatta ad ambienti distribuiti Maggior overhead nella comunicazione Gestione della concorrenza Implicita per i servizi ospitati dal Web Server Microsoft(IIS) Performance e scalabilità inversamente proporzionali Gestione della sicurezza e autenticazione Ws-Security Identity Manager Prove Modello di comunicazione Aspetti della concorrenza E della sicurezza
Tracing Component <Soap: Envelope> </Soap> Obiettivo: tracciare i messaggi scambiati nell’ambito delle sessioni sul service bus (CSF). Servizio .NET che: Riceve un generico messaggio SOAP Verifica se la soap-action è da monitorare Se è d’interesse invia le informazioni ad un altro servizio adibito alla storicizzazione Individuazione del modello di comunicazione Sorgente Service bus Destinazione Tracing component <Soap: Envelope> </Soap> Paragone: Passaggio da un protocollo unicast a uno multicast Fare un riassunto sul modello di comunicazione con il service bus, i messaggi scambiati sono soap etc..
User Interface Components PersistenceManagement Sviluppo Persistence Management: storicizzazione informazioni TracingService: servizio CSF Intercettazione messaggi Estrazione informazioni d’interesse Client User Interface Components Service Interfaces TracingService PersistenceManagement Data Source Configurazione dinamica delle operazioni da tracciare Riusabilità in qualsiasi ambiente SOA con service bus Client PersistenceService: si occupa di effettuare la connessione al DB e di interrogarlo con le query che via via sono richieste dal client NB: riusabilità in qualsiasi ambiente SOA
Conclusioni Studio di nuovi concetti, metodologie e tecnologie Esperienza di lavoro in team Utilizzo di tante tecnologie con meccanismi complessi di integrazione Architettura complessiva della soluzione molto articolata (televisione su ip, soa, service bus) Microsoft fa tante tecnologie che sono difficile da integrare --> sta cercando di semplificare con l’introduzione di nuove più semplici