La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia.

Presentazioni simili


Presentazione sul tema: "Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia."— Transcript della presentazione:

1

2 Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia dell'Informazione 13 novembre 2003 ICT Center of Excellence For Research, Innovation, Education, and life-long Learning Politecnico di Milano Tecnologie per e-service Web services

3 Sommario Web service Service oriented architecture SOAP UDDI WSDL

4 Virtual Enterprise: Scenario

5 Conseguenze Si possono......dare in outsourcing servizi (es. dove non si è competitivi)...offrire servizi (es. Guadagnare con funzioni e servizi effettuate per altri) I servizi vanno da...funzioni semplici......a processi di business completi, cioè funzioni complesse

6 Contesto Introduzione SOC Service-Oriented Computing Realizzare applicazioni distribuite collaborative inter aziendali Servizi: Component capable of performing a task (W3C) Qualcosa che ha dei parametri in ingresso ed in uscita Realizzazione tramite architettura SOA

7 O.K., Ma come accedere ai servizi? I firewalls sono ostacoli per laccesso ai servizi Ampia varietà di linguaggi di programmazione, paradigmi di programmazione, ambienti,... rendono difficile lorchestrazione Serve un meccanismo di invocazione generale!

8 Web services Servizi che possono essere chiamati da altri programmi in rete Decentralizzazione dellelaborazione (Sun, 1990) Def: Web Service: raccolta di funzioni packaged e pubblicate in rete per essere utilizzate da altri programmi client i dati vengono scambiati tra le applicazioni in maniera standardizzata (testuale attraverso XML)

9 Vantaggi interfacciamento a un web service di un partner: non è necessario conoscere niente di quello che sta dal suo lato, si devono esclusivamente chiedere a lui i parametri per connettersi a quel particolare web service che serve senza preoccuparsi della piattaforma hardware, del linguaggio di programmazione o del pacchetto applicativo usato.

10 Esempio B2C Prenotazioni aeree Si vuole prenotare un viaggio con soggiorno in albergo Situazione tradizionale Airline.com HTTP Server Hotel.com HTTP Server Client

11 Problemi Lutente deve più volte interagire con i server e cercare di trovare la combinazione giusta di voli A/R e alberghi Tempo perso Processo a volte lungo Interfacce web non standard Problemi di comunicazione

12 Soluzione web services Fornire allutente un servizio Web Input: Intervallo di arrivo, partenza Categoria di albergo (tipo di stanza etc. etc.) Output Prenotazione Booking Web server

13 Soluzione web services Al posto del HTTP server della compagnia aerea Web Server Input Data e luogo di partenza Data e luogo di arrivo Output Schedule costi Airline.com Web Server

14 Soluzione Web Services Al posto del HTTP server dellhotel Web Server Input Data di arrivo Data di partenza Tipo di stanza Output Tipologia di stanza costi Hotel.com Web Server

15 Soluzione Web Services Hotel.com HTTP Server Airline.com Web Server Booking Web server

16 Soluzione Web Service Il booking web server cerca un primo possibile schedule dialogando con il web server della compagnia aerea In base allo schedule il web server dialoga con lhotel per trovare la stanza Se non esiste soluzione si cambia schedule e così via Al client finale solo due tipi di risposta Schedule e la prenotazione Impossibile completare il servizio.

17 Vantaggi Lutente vede solo i risultati finali Interoperabilità I web server dialogano usando degli standard Automazione La comunicazione è automatica Generalità Il server booking può dialogare con QUALSIASI web server di compagnie aeree e hotel che realizzino linterfaccia descritta precedentemente.

18 Problematiche Linguaggi di descrizione delle interfacce e del comportamento di un servizio rivolto a chi realizza e pubblica il servizio Rivolto a chi lo cerca e utilizza; Componenti per la memorizzazione e il reperimento di servizi Interrogabili secondo diversi criteri Linguaggi di specifica per la conversazione tra diversi servizi Linguaggi di specifica di composizione di servizi a valore aggiunto partendo da servizi di base Per ogni problema sono stati proposti diversi standard

19 Ciclo di vita I 4 problemi indicati precedentemente rispecchiano il seguente ciclo di vita

20 Service Oriented Architecture (SOA)

21 Ingredienti Descrizione servizi (WSDL) Archivio servizi (registry, UDDI) Meccanismi di invocazione (SOAP)

22 WSDL

23 Come definire nuovi servizi? Riferimenti a modelli definiti da altri (= tModels)...ma se voglio pubblicare i miei servizi es. Semplici funzioni utili a altri o processi di business completi che offro a altri...senza creare uno standard! WSDL (Web Services Description Language) Abbiamo bisogno di un linguaggio per secificare i servizi e descrivere come gli altri possono collegarsi a esso!

24 WSDL Ingredients Message OperationPort Type Port Binding Service Input & Output Supports Formats & Protocols How to invoke How to encode Implements Provides

25 o3 o4 pt Port Types: Graphical Representation Request -Response One-Way Notification o1 o2 -Response Solicit

26 Rendere disponibili i servizi Message Operation Port Type Input & Output Supports Binding Formats & Protocols How to invoke How to encode PortService Implements Provides How To Do Business With Me (Widely Accepted) Abstract Service What Business You Can Do With Me

27 WSDL WSDL propone una struttura in cui: lentità types permette di definire un tipo di dato utilizzato nel resto della descrizione; lentità message i messaggi trasmessi; lentità portType definisce un servizio in termini di operazioni (operation) messe a disposizione; lentità port ridefinisce le operation di una portType legandole ad una particolare tecnologia di comunicazione; lentità service definisce il Web Service realmente fruibile come insieme di port.

28 WSDL - message

29 WSDL portType e operation

30 WSDL - binding

31 Rendere disponibili i servizi Message Operation Port Type Input & Output Supports Binding Formats & Protocols How to invoke How to encode PortService Implements Provides How To Do Business With Me (Widely Accepted) Abstract Service What Business You Can Do With Me

32 Tipi di documenti WSDL

33 Struttura WSDL

34 UDDI

35 Repositories e registries systems storing and managing e-Service specifications e-service providers Alcune iniziative UDDI

36 UDDI accesso alla descrizione di servizi, di tipologie di servizi e di fornitori di servizi secondo una struttura dati ben definita; astrazione dalla tecnologia utilizzata nella realizzazione del servizio; la ricerca di un servizio secondo differenti chiavi di ricerca (tassonomie) Ricerca sia da utente che da programma Repository disponibile globalmente UDDI (Universal Description, Discovery & Integration)

37 How UDDI Works UDDI Marketplaces, search engines, and business apps query the registry to discover services at other companies 3.3. Service Type Registrations SW companies, standards bodies, and programmers populate the registry with descriptions of different types of services 1.1. Business Registrations Business uses this data to facilitate easier integration with each other over the Web 4.4. Businesses populate the registry with descriptions of the services they support 2.2.

38 Registry Data Businesses register public information about themselves White Pages Yellow Pages Green Pages Service Type Registrations Who am I? What do I offer? How to do business with me Standards bodies, Programmers, Businesses register information about their Service Types (tModels)

39 Standard: UDDI metodologia di ricerca possiede una forte analogia con quella offerta dagli elenchi telefonici Struttura del registro pagine bianche Nome azienda Descrizione testuale del servizio Lista multi lingua del servizio Dati di contatto Nome, numero di telefono, web site … Identificatori conosciuti

40 Standard: UDDI Registro pagine gialle Categorie di Business 3 tassonomie standard nella versione 1.0 Industria: Prodotti/servizi Localizazione geografica Coppie nome, valore per associazione con le pagine bianche possibile eseguire ricerche basate su: l ambito in cui si colloca il servizio; la localizzazione geografica dei fornitori; l ambito in cui si colloca il fornitore del servizio.

41 Standard: UDDI Pagine verdi Insieme di informazioni che le aziende usano per descrivere come sia possibile fare e-commerce insieme Create sulla base delle informazioni legate alla tecnologia Possibile trovare informazioni legate alla tipologia del servizio secondo criteri legati alla tipologia di invocazione, ai protocolli utilizzati e alle caratteristiche tecniche del servizio. Modello nidificato Processi di business Descrizione del servizio Informazioni sulla comunicazione I Servizi possono essere organizzati come un albero

42 tModel

43 Example of a Registration businessEntity TB993… Franks Flowershop Flowers for the world! contacts businessServices identifierBag categoryBag Boeblingen, Germany Frank Leymann businessService Key Name Description BindingTemplates businessService 23T701e54683nf… Online catalog Website where you can … BindingTemplates BindingTemplate 5E2D412E5-44EE-… tModelInstanceDetails tModelInstanceInfo 4453D6FC-223C-3ED0… keyedReference DFE-2B… DUNS keyedReference EE123… NAICS tModelKeys

44 IBM Ariba Microsoft other Registry Operation Peer nodes (websites) Companies register with any node Registrations replicated on a daily basis Complete set of registered records available at all nodes Common set of SOAP APIs supported by all nodes Compliance enforced by business contract UDDI.org queries

45 Architettura generale UDDI

46 SOAP

47 SOAP: Simple Object Access Protocol Fornire un (Object) RPC su Internet Interoperabilità tra un ampio numero di programi su un ampio numero di piattaforme Differenti linguaggi e paradigmi di programmazione, e di ambienti operativi Rendere i programmi esistenti disponibili a un numero elevato di utenti Utilizzare ove possibile la tecnologia esistente Uso di HTTP e XML (XML as HTTP payload) HTTP come RPC transport XML come RPC encoding scheme Nessuna API SOAP speciale, nessun ORB SOAP

48 HTTP POST: Invoking Code ClientServer POST /myFunctions/reverse HTTP/1.1 Host: Content-Type: text/plain Content-Length: 12 Hello, World 200 OK Content-Type: text/plain Content-Length: 12 dlroW,olleH Run Program A simple RPC

49 Tunneling The Firewall Client RMI IIOP HTTP

50 Approfondimenti

51 Example ...

52 Example ...

53 Example My first service

54 SOAP Request/Response Structure Object ID (Which object?) Interface ID (Which interface?) Method ID (Which method?) Extension Headers (What has been forgotten to be build into the protocol?) Parameter (In and inout parms) Request Status Code (Did it work?) Response Extension Headers (What has been forgotten to be build into the protocol?) Parameter (Out and inout parms) Endpoint Reference

55 SOAP Endpoint Reference POST /StockServer HTTP/1.1 Host: Content-Type: text/xml; charset=utf-8 Content-Length: nnnn... /StockServer/getLastTradePrice Object Endpoint ID 80 TCP Port No IP Host Address

56 A Simple SOAP RPC POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8 Content-Length: nnnn DIS Method Name Input Parameter

57 A Simple SOAP Response HTTP/ OK Content-Type: text/xml; charset="utf-8 Content-Length: nnnn 34.5 Standard Suffix

58 SOAP Header POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8 Content-Length: nnnn SOAPAction: Some-URI 5 DEF Protocol Extensions

59 Bibliografia Conallen, Building Web Applications with UML, Addison Wesley Professional; 2nd edition (October, 2002, vers. Ital. Nov. 2003) P. Plebani, Web service: tecnologie e piattaforme. Rapporto Fondazione Tronchetti Provera, 2002


Scaricare ppt "Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia."

Presentazioni simili


Annunci Google