Скачать презентацию SOA SERVICE ORIENTED ARCHITECTURE SOA overview n n Скачать презентацию SOA SERVICE ORIENTED ARCHITECTURE SOA overview n n

80b11910efb3d8cb4dd8fbb0d196b80e.ppt

  • Количество слайдов: 35

SOA: SERVICE ORIENTED ARCHITECTURE SOA: SERVICE ORIENTED ARCHITECTURE

SOA…overview n n n La parola d’ordine delle situazioni di sviluppo applicativo odierne è SOA…overview n n n La parola d’ordine delle situazioni di sviluppo applicativo odierne è integrazione. Le applicazioni sviluppate si trovano a condividere flussi di dati già realizzati in diverse altre applicazioni esistenti. La prima questione è lo scambio di informazioni strutturate tra diversi ambienti applicativi… n n La seconda questione è il riutilizzo delle componenti software. . . n n n Gli sviluppi di nuove applicazioni richiedono funzionalità sempre più complesse da integrate con i sistemi operativi. La pressione sui costi e sul ritorno d’investimento. Da queste osservazioni si avverte la necessità… n n n Necessità di definire un formato comune di scambio di dati. Uno standard indipendente dalla piattaforma applicativa. Protocollo di dialogo tra chiamante e componente applicativa indipendente dal trasporto, dal punto di vista semantico completo, e sicuro. Seguendo le linee di questa evoluzione, oggi nelle architetture applicative si ragiona in termini di componenti che offrono servizi applicativi, sia verso l’interfaccia utente sia verso altre componenti e applicazioni.

… parliamo di Service Oriented Architecture… SOA … parliamo di Service Oriented Architecture… SOA

GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi che regolano SOA Cosa rappresentano i Web Service per SOA Cosa si intende per Enterprise Service Bus

GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi che regolano SOA Cosa rappresentano i Web Service per SOA Cosa si intende per Enterprise Service Bus

Tecniche di design n Design e analisi orientate a oggetti… considerare un problema di Tecniche di design n Design e analisi orientate a oggetti… considerare un problema di dominio e una soluzione logica dalla prospettiva di oggetti. Design basato a componenti… n un’evoluzione del paradigma a oggetti; n forniscono funzionalità ben definite da un insieme coesivo di oggetti; n sono un meccanismo per impacchettare, gestire e esporre servizi; n n n Design orientato a servizi… n n servizio è implementato come un’entità software a granatura fluibile; esiste come una singola istanza e interagisce con applicazioni ed altri servizi attraverso un modello di comunicazione debolmente accoppiata, basata sui messaggi.

Differenze tra orientazione a servizio e orientazione a componente n n n Enfasi sulle Differenze tra orientazione a servizio e orientazione a componente n n n Enfasi sulle descrizioni di servizi Separazione tra “cosa” e “come” Durante l’assemblaggio è disponibile solo la descrizione Integrazione a priori o durante l’esecuzione Availability dinamica Composizione astratta n n n Enfasi sulla vista esterna della componente Nessuna Durante l’assemblaggio è disponibile la componente fisica Integrazione in fase di assemblaggio No availability dinamica Composizione strutturale

…perché SOA n n L’idea fondamentale è che nelle architetture a servizi il patrimonio …perché SOA n n L’idea fondamentale è che nelle architetture a servizi il patrimonio informativo di un’azienda non è più un insieme di applicazioni tra loro isolate e che comunicano attraverso tecnologie di integrazione di applicazioni. E’ invece organizzato in una collezione di servizi pubblicati su un’infrastruttura di comunicazione (enterprise service bus (ESB)) e che, quando ce n’è bisogno, possono essere utilizzati da più applicazioni. I web services sono un fattore chiave per la pubblicazione dei servizi in modo standard. Riusabilità, integrazione dei sistemi, flessibilità e sviluppo incrementale, sono questi i benefici maggiormente percepiti dalle aziende che cominciano a utilizzare tecnologie e metodologie che si richiamano a SOA.

GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi che regolano SOA Cosa rappresentano i Web Service per SOA Cosa si intende per Enterprise Service Bus

SOA… LA TEORIA n n L’architettura service oriented è un’architettura software con diverse caratteristiche. SOA… LA TEORIA n n L’architettura service oriented è un’architettura software con diverse caratteristiche. Il più importante aspetto è la separazione del servizio dalla sua interfaccia. Si divide il “cosa” dal ”come”. SOA consiste delle seguenti sei entità configurate insieme per supportare il paradigma ‘find, bind, e execute’.

n n n 1 2 3 4 5 6 Service Service Consumer Provider Registry n n n 1 2 3 4 5 6 Service Service Consumer Provider Registry Contract Proxy Lease

…PIU’ DA VICINO n 1 n 2 n 3 Service Consumer localizza il servizio …PIU’ DA VICINO n 1 n 2 n 3 Service Consumer localizza il servizio nel registro. Service Provider accetta, esegue le richieste del consumer. Service Registry directory contenente i servizi disponibili.

specifica il formato di richiesta e risposta. n 4 Service Contract n 5 Service specifica il formato di richiesta e risposta. n 4 Service Contract n 5 Service Proxy Il service provider fornisce un service proxy al service consumer. Il service consumer esegue la richiesta. Il service proxy cerca un contratto e un riferimento nel registro. Si forma il messaggio di richiesta. Si esegue la richiesta per conto del consumer. n 6 Service Lease specifica il tempo per cui il contratto è valido.

CARATTERISTICHE DI SOA I servizi devono essere: n Ricercabili e dinamicamente legati : il CARATTERISTICHE DI SOA I servizi devono essere: n Ricercabili e dinamicamente legati : il service consumer non conosce il formato del messaggio di richiesta e/o di risposta, o la locazione del servizio finché il servizio risulta utile. n Auto-contenuto e modulare: la modularità è n Interoperabilità: la capacità del sistema di usare associata alla progettazione di servizi, quindi i servizi possono essere più facilmente aggregati in un’applicazione con dipendenze note. diverse piattaforme e linguaggi per comunicare.

…e ancora… n Debolmente accoppiati: il consumer di un servizio non ha dettagliate conoscenze …e ancora… n Debolmente accoppiati: il consumer di un servizio non ha dettagliate conoscenze del servizio prima di invocarlo, perciò il consumer e il provider sono debolmente accoppiati. n Interfaccia di rete indirizzabile: un consumer su una rete deve essere capace di invocare un servizio attraverso la rete. n Interfacce a grana grossa: un metodo di servizio che ritorna più dati, meno specifici.

…infine n Allocazione trasparente: riducono le dipendenze n Componibilità: è correlato alla sua struttura …infine n Allocazione trasparente: riducono le dipendenze n Componibilità: è correlato alla sua struttura modulare, n Auto-riparazione: capacità realizzabile solo se il client attraverso l’utilizzo di legami dinamici, per cui l’allocazione del servizio irrilevante; quindi il service consumer non ha dirette dipendenze sul service contract, l’implementazione del contratto può muoversi da locazione in locazione. che abilita il servizio ad essere assemblato in applicazioni, lo sviluppatore non ha nozione di quando progettare il servizio. interagisce con le interfacce dei servizi e non con la sua implementazione.

GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi che regolano SOA Cosa rappresentano i Web Service per SOA Cosa si intende per Enterprise Service Bus

WEB SERVICE n n n I web service sono una tecnologia ben soddisfatta implementando WEB SERVICE n n n I web service sono una tecnologia ben soddisfatta implementando un’architettura service oriented. I web service sono applicazioni auto-descrittivi e modulari. Espone nella logica di business come i servizi che possono essere pubblicati, scoperti e invocati. Basato su standard XML. I web service possono essere sviluppati come applicazione debolmente accoppiate usando alcuni linguaggi di programmazione, protocolli, o piattaforme. Questo facilita il rilascio di applicazioni di business e la consegna di un servizio accessibile da chiunque, ogni qualvolta necessario e usando qualsiasi piattaforma.

Caratteristiche n i web service sono auto contenuti… n n i web service sono Caratteristiche n i web service sono auto contenuti… n n i web service sono auto descritti… n n Né il client né il server conoscono o si preoccupano di nulla al di là del formato e del contenuto di richieste e i messaggi di risposta (integrazione di applicazioni debolmente accoppiate). La definizione del formato dei messaggi viaggi con il messaggio. Non sono richiesti repository di metadati esterni o tool di generazione di codice. i web service sono modulari… n n Dal lato client non è richiesto software addizionale. Dal lato server, sono richieste solo web service e ingegneria a servlet. I web service sono una tecnologia per spiegare e fornire accesso alle funzioni di business sul web. i web service sono linguaggi indipendenti e interoperabili… n L’interazione tra un service provider e un service consumer è progettato per essere completamente indipendente dalla piattaforma e dal linguaggio. Questa interazione richiede un documento WSDL per definire l’interfaccia e descrivere il servizio, solo con un protocollo di rete (solitamente HTTP). Poiché il service provider e il service consumer non hanno idea di quale piattaforma o linguaggio si sta usando, l’interoperabiltà è un dato di fatto.

…e ancora n n I web service sono aperti e basati sugli standard. n …e ancora n n I web service sono aperti e basati sugli standard. n Un larga parte delle tecnologie web service sono state costruite utilizzando progetti open source. I web service sono dinamici. I web service sono componibili. I web service possono essere pubblicati, allocati, e invocati attraverso il web. n Gli standard richiesti per fare questo sono: n Web Service Description Language (WSDL) n Simple Object Access Protocol (SOAP) n Universal Description, Discovery, and Integration (UDDI)

WSDL…UTILIZZO n n n n Il Web Service Description Language (WSDL) costituisce una base WSDL…UTILIZZO n n n n Il Web Service Description Language (WSDL) costituisce una base per i web service. La figura presenta l’utilizzo dei WSDL. I passi di fornitura e consumo dei servizi implicano… il service provider descrive il suo servizio usando WSDL. Questa definizione viene pubblicata nella directory dei servizi. un service consumer emette una o più query alla directory per localizzare un servizio e stabilire comunicare con quel servizio. Una parte del WSDL fornito dal service provider è passata al service consumer. La directory raccoglie le richieste e le risposte del service provider e le fornisce al service consumer. Il service consumer utilizza il WSDL per mandare una richiesta al service provider. Il service provider fornisce la risposta attesa al service consumer.

WSDL n n n 1. I Web Services Description Language è il formato utilizzato WSDL n n n 1. I Web Services Description Language è il formato utilizzato per descrivere le interfacce dei web service. Rappresentano un modo di descrivere servizi e come questi sono limitati a specifici indirizzi di rete. WSDL ha tre parti fondamentali: Definizioni… n 2. generalmente espressi in XML includono sia le definizioni dei data type, che quelle dei messaggi. Operazioni… n n descrivono le azioni per i messaggi supportati dai web service. Ci sono quattro tipi di operazioni: n n n 3. 2. 1) 2. 2) 2. 3) 2. 4) One-way -> i messaggi vengono inviati senza una risposta di ritorno. Request/response -> il sender invia un messaggio e quando lo riceve invia un risposta. Solicit response -> si richiede una risposta. Notification -> i messaggi inviati a più receiver. Le operazioni sono raggruppate in port type, ovvero un insieme di operazioni supportate dai web service. Legami tra i servizi… n consente la connessione tra port type e port.

SOAP n n n Tutti i messaggi mostrati nella figura vengono inviati usando SOAP SOAP n n n Tutti i messaggi mostrati nella figura vengono inviati usando SOAP essenzialmente fornisce l’imbustamento dei messaggi web service. SOAP generalmente utilizza HTTP, ma possono essere utilizzate anche altre forme di connessione. Per la definizione dei messaggi WSDL utilizza XML. Il formato del messaggio XML si basa sui tag, quindi sia il service provider che il service consumer utilizzano i tag.

UDDI n n n Un UDDI registry è utilizzato con il significato di scoperta UDDI n n n Un UDDI registry è utilizzato con il significato di scoperta dei web service descritti usando WSDL. L’idea è che l’UDDI registry può essere cercato in vari modi per ottenere il contatto dell’informazione e la disponibilità dei web service per varie organizzazioni. L’UDDI potrebbe essere un modo di tenere aggiornato il web service che l’organizzazione ha appena utilizzato.

n n Le tecnologie basate sulle web service stanno diventando le più usate nello n n Le tecnologie basate sulle web service stanno diventando le più usate nello sviluppo e integrazione di applicazioni aziendali. Una decisione critica è trovare un modo più efficiente e efficace di progettare, sviluppare e spiegare i web service basati su sistemi di business. Muovendosi dalle comunicazioni fondamentali punto a punto dei web service a più larghe applicazioni di queste tecnologie, ovvero i processi di business. In questo contesto, il modello Enterprise Service Bus (ESB) sta emergendo molto velocemente.

GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi GLI OBIETTIVI n n L’introduzione dei servizi nelle architetture odierne Quali sono i principi che regolano SOA Cosa rappresentano i Web Service per SOA Cosa si intende per Enterprise Service Bus

L’ Enterprise Service Bus n n L’ Enterprise Service Bus rappresenta una pratica architetturale L’ Enterprise Service Bus n n L’ Enterprise Service Bus rappresenta una pratica architetturale migliore per implementare un’architettura service oriented. Si stabilisce un bus per i messaggi che combina l’infrastruttura dei messaggi con la trasformazione dei messaggi, e il routing basato sul contenuto in un livello di integrazione logica tra service provider e service consumer.

Overview n n n Il principale scopo dell’Enterprise Service Bus è quello di rendere Overview n n n Il principale scopo dell’Enterprise Service Bus è quello di rendere virtuale le risorse aziendali, permettendo alla logica di business dell’azienda di essere sviluppata e gestita indipendentemente dall’infrastruttura della rete, e dalla fornitura di questi servizi. Implementare un Enterprise Service Bus richiede un insieme integrato di servizi middleware. I servizi middleware forniti da un Enterprise Service Bus devono includere: n n comunicazione middleware, supportando una varietà di paradigmi di comunicazione (come sincrona, asincrona, requestreply, one-way, call-back), qualità di servizi (come security, rilasci garantiti, performance), piattaforme, e protocolli standard; un meccanismo per introdurre rapidi processi intelligenti di richieste di servizi e risposte dentro la rete; tool basati sugli standard con l’obiettivo di abilitare integrazione rapida di servizi; sistemi di gestione per applicazioni debolmente accoppiate e per le loro interazioni.

Caratteristiche dell’ESB n n n Trasformazione (sintattica e semantica) e mapping dei messaggi da Caratteristiche dell’ESB n n n Trasformazione (sintattica e semantica) e mapping dei messaggi da un formato all'altro. Delivery dei messaggi con autenticazione, autorizzazione; in generale deve essere garantito il supporto middleware alla comunicazione asincrona. Gestione avanzata del routing dei messaggi, ad esempio sulla base del contenuto del messaggio stesso (questo permette a un servizio di mandare un messaggio senza conoscerne la destinazione). Funzionalità di amministrazione per la gestione e configurazione del BUS. Esposizione di servizi middleware di supporto alla logica di business. Utilizzo di più protocolli di comunicazione (tramite appositi Adapter) per facilitare l'integrazione.

Un esempio di ESB per IBM n n n Infrastruttura distribuita denominata hub-and-spoke n Un esempio di ESB per IBM n n n Infrastruttura distribuita denominata hub-and-spoke n consente il controllo centralizzato di configurazione, come il routing di servizi, la localizzazione dei servizi, ecc. . L’ESB richiede alcune forme di service routing directory per fare routing delle richieste dei servizi. Si potrebbe anche avere una business service directory… n potrebbe essere un catalogo di servizi design-time usato per ottenere il riuso dei servizi attraverso l’attività di sviluppo. Il ruolo del Business Service Choreographer è quello di comporre diversi servizi di business in processi di business; quindi esso invocherà i servizi attraverso l’ESB e poi espone i processi come altri servizi disponibili ai client, di nuovo attraverso l’ESB. L’obiettivo della componente B 2 B Gateway è quello di rendere il servizio di due o più organizzazioni disponibili ad ogni altro in maniera controllata e sicura. Osservazione: le componenti sono connesse all’ESB, ma non sono parti di esso.

L’ESB per IBM L’ESB per IBM

Concludendo… n n n SOA è un concetto di grande appeal, ma non si Concludendo… n n n SOA è un concetto di grande appeal, ma non si può buttare tutto e riscrivere secondo la nuova ottica. L’applicazione della SOA aumenta la qualità, semplifica le architetture e quindi riduce i costi di gestione e di sviluppo e migliora i livelli di servizio. Le difficoltà sono in rapporto con le dimensioni che una architettura orientata ai servizi presenta, visto che spesso si tratta di realizzare e mettere in rete centinaia di servizi. I servizi possono essere utilizzati da più applicazioni. I benefici percepiti dalle aziende che cominciano a utilizzare tecnologie e metodologie basate su SOA… 1. 2. 3. 4. Riusabilità Integrazione dei sistemi Flessibilità Sviluppo incrementale.

REFERENCES n n n n n [1] A conceptual model for adaptable context-aware services; REFERENCES n n n n n [1] A conceptual model for adaptable context-aware services; M. Autili, V. Cortellessa, A. Di Marco, P. Inverardi; International Workshop on Web Services Modeling and Testing (WS-Ma. Te 2006). [2] Z. Baida, H. Akkermans, and J. Gordijn. Serviguration: Towards online configurability of real-world services. In Proceedings of the Fifth International Conference on Electronic Commerce (ICEC 03), pages 111– 118, Pittsburgh, PA, 2003. ACM. [3] K. Mohan and B. Ramesh. Ontology-based support for variability management in product and service families. In Proceedings of the 36 th Hawaii International Conference on System Sciences, Hawaii, 2003. [4] Special Issue on Applications and Services for the B 3 G/4 G Era, October 2004. [5] A. Bertolino and W. Emmerich and P. Inverardi and V. Issarny. Softure: Adaptable, Reliable and Performing Software for the Future Research Challenges for Software and Services (FRCSS), 2006. [6] A. M. Sassen and C. Macmillan. The service engineering area: An overview of its current state and a vision of its future. Technical report, Euorepean Commission, July 2005. [7] Z. Baida, J. Gordijn, B. Omelayenko, and H. Akkermans. A shared service terminology for online service provisioning. In Proceedings of the 6 th international conference on Electronic commerce, p. 1 -10, 2004. [8] D. Sprott and L. Wilkes. Understanding Service-Oriented Architecture. http: //msdn. microsoft. com/architecture/soa/, Microsoft, 2004. [9] E. Christensen and F. Curbera and G. Meredith and S. Weerawarana. Web Services Description Language (WSDL) 1. 1. http: //www. w 3. org/TR/wsdl, 2001. [10] F. Mancinelli and P. Inverardi. A resource model for adaptable applications. In To apper, Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), (ICSE), May 2006. [11] H. Cervantes and R. S. Hall. Autonomous Adaptation to Dynamic Availability Using a Service-Oriented Component Model. In Proceedings of the 26 th International Conference on Software Engineering (ICSE 2004), Edinburgh, Scotland, May 2004. [12] IBM. Migration to a service-oriented architecture Part 1. http: //www- 128. ibm. com/developerworks/library/ws-migratesoa, 2003. [13] M. Colombo and E. Di Nitto and M. Di Penta and D. Distante and Maurilio Zuccalà. Speaking a Common Language: A Conceptual Model for Describing Service-Oriented Systems. In 3 rd International Conference on Service Oriented Computing (ICSOC), Amsterdam, the Netherlands, December 2005. [14] M. Tivoli and M. Autili. Synthesis: a tool for synthesizing “correct” and protocolenhanced adaptors. RSTI, L’OBJET JOURNAL 12/2006, pages 77 to 103, 2006. [15] OASIS. Reference Model for Service Oriented Architecture. Committee Draft 1. 0, 7, 2006.

…e ancora… n n n n n [16] P. Inverardi, L. Mostarda, M. Tivoli, …e ancora… n n n n n [16] P. Inverardi, L. Mostarda, M. Tivoli, and M. Autili. Synthesis of correct and distributed adaptors for component-based systems: an automatic approach. In Proceedings of Automated Software Engineering (ASE), 2005. [17] Chris Preist. A conceptual architecture for semantic web services. In Proceedings of the International Semantic Web Conference (ISWC), November 2004. [18] SUN. Service Oriented Architecture. http: //www. theserverside. com, 2003. [19] W 3 CWorking Group. Web Services Architecture (WSA). http: //www. w 3. org/TR/wsarch/, February 2004. [20] Service-Oriented Architecture: A Primer By Michael S. Pallos; e. AI Journal December 2001. [21] Bringing SOA Value Patterns to Life An Oracle White Paper June 2006. [22] Service Oriented Architecture Whitepaper Author: Duane Nickull – Adobe Systems, Inc. Contributors: Mike Connor, C. Matthew Mac. Kenzie, Ben Watson, Mark Cowan, Ed Chase – Adobe Systems, Inc. 2005. [23] THE SOA PLATFORM GUIDE: EVALUATE, EXTEND, EMBRACE White Paper February 2006. [24] Opening the door to a service oriented architecture IBM® Workplace™, Portal and Collaboration products for an SOA Dr. Barry Devlin Dublin Software Laboratory January 2006. [25] Chapter 2: Service-Oriented Architecture from the book: Java Web Services Architecture (ISBN: 1 -55860 -900 -8) written by James Mc. Govern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, published by Morgan Kaufmann Publishers, 2002. [26] Software-aided Service Bundling Intelligent Methods & Tools for Graphical Service Modeling Ziv Baida, 29 mei 2006. [27] Consumer-Driven Contracts: A Service Evolution Pattern, Ian Robinson, 12 Jun 2006. [28] O. Zimmermann, P. Krogdahl, C. Gee "Elements of Service-Oriented Analysis and Design: An interdisciplinary modeling approach for SOA projects" http: //www-128. ibm. com/developerworks/webservices/library/ws-soad 1/ [29] Ali Arsanjani "Service-oriented modeling and architecture: How to identify, specify, and realize services for your SOA" http: //www-128. ibm. com/developerworks/webservices/library/ws-soa-design 1/ [30] Thomas Erl "Service-Oriented Architecture: Concepts, Technology, and Design" Prentice Hall [31] http: //www. bpmi. org/ [32] IBM, Patterns: Service-Oriented Architecture and Web Services, Copyright IBM Corp. 2004 [33] http: //www. service-architecture. com/