La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

SERVICE ORIENTED ARCHITECTURE SOA:. SOA…overview La parola dordine delle situazioni di sviluppo applicativo odierne è integrazione. Le applicazioni sviluppate.

Presentazioni simili


Presentazione sul tema: "SERVICE ORIENTED ARCHITECTURE SOA:. SOA…overview La parola dordine delle situazioni di sviluppo applicativo odierne è integrazione. Le applicazioni sviluppate."— Transcript della presentazione:

1 SERVICE ORIENTED ARCHITECTURE SOA:

2 SOA…overview La parola dordine 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… Necessità di definire un formato comune di scambio di dati. La seconda questione è il riutilizzo delle componenti software... Gli sviluppi di nuove applicazioni richiedono funzionalità sempre più complesse da integrate con i sistemi operativi. La pressione sui costi e sul ritorno dinvestimento. Da queste osservazioni si avverte la necessità… 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 linterfaccia utente sia verso altre componenti e applicazioni.

3 … parliamo di Service Oriented Architecture… SOA

4 GLI OBIETTIVI Lintroduzione 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

5 GLI OBIETTIVI Lintroduzione 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

6 Tecniche di design Design e analisi orientate a oggetti… considerare un problema di dominio e una soluzione logica dalla prospettiva di oggetti. Design basato a componenti … unevoluzione del paradigma a oggetti; forniscono funzionalità ben definite da un insieme coesivo di oggetti; sono un meccanismo per impacchettare, gestire e esporre servizi; Design orientato a servizi… servizio è implementato come unentità 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.

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

8 …perché SOA Lidea fondamentale è che nelle architetture a servizi il patrimonio informativo di unazienda 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 uninfrastruttura 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.

9 GLI OBIETTIVI Lintroduzione 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

10 SOA… LA TEORIA Larchitettura service oriented è unarchitettura 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.

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

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

13 4Service Contract specifica il formato di richiesta e risposta. 5Service 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. 6Service Lease specifica il tempo per cui il contratto è valido.

14

15 CARATTERISTICHE DI SOA I servizi devono essere: 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. Auto-contenuto e modulare : la modularità è associata alla progettazione di servizi, quindi i servizi possono essere più facilmente aggregati in unapplicazione con dipendenze note. Interoperabilità : la capacità del sistema di usare diverse piattaforme e linguaggi per comunicare.

16 …e ancora… 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. Interfaccia di rete indirizzabile: un consumer su una rete deve essere capace di invocare un servizio attraverso la rete. Interfacce a grana grossa: un metodo di servizio che ritorna più dati, meno specifici.

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

18 GLI OBIETTIVI Lintroduzione 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

19 WEB SERVICE I web service sono una tecnologia ben soddisfatta implementando unarchitettura 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.

20 Caratteristiche i web service sono auto contenuti… Dal lato client non è richiesto software addizionale. Dal lato server, sono richieste solo web service e ingegneria a servlet. i web service sono auto descritti… 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… 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… Linterazione 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 linterfaccia 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, linteroperabiltà è un dato di fatto.

21 …e ancora I web service sono aperti e basati sugli standard. 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. Gli standard richiesti per fare questo sono: Web Service Description Language (WSDL) Simple Object Access Protocol (SOAP) Universal Description, Discovery, and Integration (UDDI)

22 WSDL…UTILIZZO Il Web Service Description Language (WSDL) costituisce una base per i web service. La figura presenta lutilizzo 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 come 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.

23 WSDL 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: 1.Definizioni… generalmente espressi in XML includono sia le definizioni dei data type, che quelle dei messaggi. 2.Operazioni… descrivono le azioni per i messaggi supportati dai web service. Ci sono quattro tipi di operazioni: 2.1) One-way -> i messaggi vengono inviati senza una risposta di ritorno. 2.2) Request/response -> il sender invia un messaggio e quando lo riceve invia un risposta. 2.3) Solicit response -> si richiede una risposta. 2.4) Notification -> i messaggi inviati a più receiver. Le operazioni sono raggruppate in port type, ovvero un insieme di operazioni supportate dai web service. 3.Legami tra i servizi… consente la connessione tra port type e port.

24 SOAP Tutti i messaggi mostrati nella figura vengono inviati usando SOAP. SOAP essenzialmente fornisce limbustamento 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.

25 UDDI Un UDDI registry è utilizzato con il significato di scoperta dei web service descritti usando WSDL. Lidea è che lUDDI registry può essere cercato in vari modi per ottenere il contatto dellinformazione e la disponibilità dei web service per varie organizzazioni. LUDDI potrebbe essere un modo di tenere aggiornato il web service che lorganizzazione ha appena utilizzato.

26 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.

27 GLI OBIETTIVI Lintroduzione 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

28 L Enterprise Service Bus L Enterprise Service Bus rappresenta una pratica architetturale migliore per implementare unarchitettura service oriented. Si stabilisce un bus per i messaggi che combina linfrastruttura 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.

29 Overview Il principale scopo dellEnterprise Service Bus è quello di rendere virtuale le risorse aziendali, permettendo alla logica di business dellazienda di essere sviluppata e gestita indipendentemente dallinfrastruttura 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: comunicazione middleware, supportando una varietà di paradigmi di comunicazione (come sincrona, asincrona, request\reply, 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 lobiettivo di abilitare integrazione rapida di servizi; sistemi di gestione per applicazioni debolmente accoppiate e per le loro interazioni.

30 Caratteristiche dellESB 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.

31 Un esempio di ESB per IBM Infrastruttura distribuita denominata hub-and-spoke consente il controllo centralizzato di configurazione, come il routing di servizi, la localizzazione dei servizi, ecc.. LESB richiede alcune forme di service routing directory per fare routing delle richieste dei servizi. Si potrebbe anche avere una business service directory… potrebbe essere un catalogo di servizi design-time usato per ottenere il riuso dei servizi attraverso lattività 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 lESB e poi espone i processi come altri servizi disponibili ai client, di nuovo attraverso lESB. Lobiettivo della componente B2B 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 allESB, ma non sono parti di esso.

32 LESB per IBM

33 Concludendo… SOA è un concetto di grande appeal, ma non si può buttare tutto e riscrivere secondo la nuova ottica. Lapplicazione 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. Riusabilità 2. Integrazione dei sistemi 3. Flessibilità 4. Sviluppo incrementale.

34 REFERENCES [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-MaTe2006). [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 (ICEC03), pages 111–118, Pittsburgh, PA, ACM. [3]K. Mohan and B. Ramesh. Ontology-based support for variability management in product and service families. In Proceedings of the 36th Hawaii International Conference on System Sciences, Hawaii, [4] Special Issue on Applications and Services for the B3G/4G Era, October [5] A. Bertolino and W. Emmerich and P. Inverardi and V. Issarny. Softure: Adaptable, Reliable and Performing Software for the Future. Future Research Challenges for Software and Services (FRCSS), [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 [7] Z. Baida, J. Gordijn, B. Omelayenko, and H. Akkermans. A shared service terminology for online service provisioning. In Proceedings of the 6th international conference on Electronic commerce, p.1-10, [8]D. Sprott and L. Wilkes. Understanding Service-Oriented Architecture. Microsoft, [9] E. Christensen and F. Curbera and G. Meredith and S. Weerawarana. Web Services Description Language (WSDL) [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 [11] H. Cervantes and R. S. Hall. Autonomous Adaptation to Dynamic Availability Using a Service-Oriented Component Model. In Proceedings of the 26th International Conference on Software Engineering (ICSE 2004), Edinburgh, Scotland, May [12] IBM. Migration to a service-oriented architecture Part ibm.com/developerworks/library/ws-migratesoa, [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 3rd International Conference on Service Oriented Computing (ICSOC), Amsterdam, the Netherlands, December [14] M.Tivoli and M.Autili. Synthesis: a tool for synthesizing correct and protocolenhanced adaptors. RSTI, LOBJET JOURNAL 12/2006, pages 77 to 103, [15] OASIS. Reference Model for Service Oriented Architecture. Committee Draft 1.0, 7, 2006.

35 …e ancora… [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), [17] Chris Preist. A conceptual architecture for semantic web services. In Proceedings of the International Semantic Web Conference (ISWC), November [18]SUN. Service Oriented Architecture [19] W3CWorking Group. Web Services Architecture (WSA). February 2004.http://www.w3.org/TR/wsarch/ [20]Service-Oriented Architecture: A Primer By Michael S. Pallos; eAI Journal December [21]Bringing SOA Value Patterns to Life An Oracle White Paper June [22]Service Oriented Architecture Whitepaper Author: Duane Nickull – Adobe Systems, Inc. Contributors: Mike Connor, C. Matthew MacKenzie, Ben Watson, Mark Cowan, Ed Chase – Adobe Systems, Inc [23]THE SOA PLATFORM GUIDE:EVALUATE, EXTEND, EMBRACE White Paper February [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 [25]Chapter 2: Service-Oriented Architecture from the book: Java Web Services Architecture (ISBN: ) written by James McGovern, Sameer Tyagi, Michael Stevens, and Sunil Mathew, published by Morgan Kaufmann Publishers, [26]Software-aided Service Bundling Intelligent Methods & Tools for Graphical Service Modeling Ziv Baida, 29 mei [27]Consumer-Driven Contracts: A Service Evolution Pattern, Ian Robinson, 12 Jun [28]O. Zimmermann, P. Krogdahl, C. Gee "Elements of Service-Oriented Analysis and Design: An interdisciplinary modeling approach for SOA projects" [29] Ali Arsanjani "Service-oriented modeling and architecture: How to identify, specify, and realize services for your SOA" [30] Thomas Erl "Service-Oriented Architecture: Concepts, Technology, and Design" Prentice Hall [31] [32]IBM, Patterns: Service-Oriented Architecture and Web Services, Copyright IBM Corp [33]http://www.service-architecture.com/


Scaricare ppt "SERVICE ORIENTED ARCHITECTURE SOA:. SOA…overview La parola dordine delle situazioni di sviluppo applicativo odierne è integrazione. Le applicazioni sviluppate."

Presentazioni simili


Annunci Google