Service Oriented Architectures e Web Services



Documenti analoghi
Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche

Introduzione ai Web Services Alberto Polzonetti

Un introduzione ai Web service

Definizione di Web service (2) Un introduzione ai Web service. Caratteristiche dei Web service. Valeria Cardellini Università di Roma Tor Vergata

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

Introduzione alle griglie computazionali LEZIONE N. 10. Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno

Ministero del Lavoro e delle Politiche Sociali

Seminario di Sistemi Distribuiti RPC su SOAP

fornitore di servizi utente all interazione tra utenti e sistemi

Presentazione di Cedac Software

Siti web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications)

Architetture Informatiche. Dal Mainframe al Personal Computer

Web Services Security

Architetture Informatiche. Dal Mainframe al Personal Computer

Introduzione alle applicazioni di rete

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML

Introduzione a Service Oriented Architecture e Web Service

POR Calabria FSE 2007/2013 Asse II Occupabilità Obiettivo operativo D1

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA

Modelli per la descrizione di protocolli

Sistemi informativi secondo prospettive combinate

1 Vincenzo de Stefano SAP e Servizi Web

Web Service Architecture

DOCFINDERWEB SERVICE E CLIENT

Reti di Telecomunicazione Lezione 6

Interoperabilità e cooperazione applicativa tra sistemi informativi

Protocolli applicativi: FTP

Appendice D. D. Web Services

Service Oriented Architectures (SOA)

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Integration Software S.r.l.

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Progetto di Applicazioni Software

Progetto di Applicazioni Software

Approfondimento. Web Services

Architetture software

API e socket per lo sviluppo di applicazioni Web Based

Framework. Impianti Informatici. Web application - tecnologie

Reti di Telecomunicazione Lezione 8

JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

Corso di Informatica Modulo T3 B2 - Database in rete

Il Web-Service SDMX dell ISTAT

Lo scenario: la definizione di Internet

Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP

BPEL: Business Process Execution Language

19. LA PROGRAMMAZIONE LATO SERVER

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Distributed Object Computing

Reti di Calcolatori. Il Livello delle Applicazioni

Composizione e Coreografia di Web Services

Concetti base. Impianti Informatici. Web application

Il Protocollo HTTP e la programmazione di estensioni Web

Client e Server comunicano tramite il protocollo SOAP.

Lezione 1 Introduzione

B.P.S. Business Process Server ALLEGATO C10

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3,

Web services. 25/01/10 Web services

Laboratorio di RETI DI CALCOLATORI

Implementazione di MVC. Gabriele Pellegrinetti

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A

Seminario di Sistemi Distribuiti: RPC su SOAP

Dal protocollo IP ai livelli superiori

8. Sistemi Distribuiti e Middleware

Programmazione dei socket con TCP #2

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Architetture orientate ai servizi

TCP/IP: INDIRIZZI IP SIMBOLICI

Service Oriented Architecture and Web Services

Distributed Training Facility

Costruire il futuro il valore delle scelte tecnologiche

C Cloud computing Cloud storage. Prof. Maurizio Naldi

Creare client statici

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Protocolli e architetture per WIS

WebServices. Distribuire una computazione. Sistemi che usano RPC Sun RPC RPC. Il Web usato dai programmi. Vincenzo Gervasi

RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO

MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte

OpenSPCoop Un Implementazione Open Source della specifica SPCoop di Cooperazione Applicativa

MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte

Database e reti. Piero Gallo Pasquale Sirsi

Java Remote Method Invocation

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL

Programmazione Web. Introduzione

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

Single Sign On sul web

Le Reti Informatiche

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

PROGRAMMAZIONE ANNUALE ITI "G. FALCONE" COLLEFERRO (RM) Classe V Sez. B ITI Informatica - Anno scolastico

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1

Introduzione ad Architetture Orientate ai Servizi e Web Service

Transcript:

Service Oriented Architectures e Web Services Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.17 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Evoluzione delle applicazioni in rete Client- Server 3-Tier Web Application Web Services 1

Web Computing Programming with distributed components on the Web: Heterogeneous Distributed Multi-language Cos è un Web Service? Le evoluzioni delle tecnologie Internet hanno due obiettivi principali: soddisfare i bisogni degli utenti integrare tra loro sistemi informativi tra loro eterogenei e sempre più complessi Web Service: Componenti software distribuiti ed accoppiati in modo lasco, che forniscono un servizio ben definito e sono accessibili da programmi mediante protocolli Internet standard Servizio inteso non necessariamente come un servizio finale ma come un componente indipendente che può essere usato per fornire un servizio finale 2

Web Service: Definitions Component for Web Programming Self-contained, self-describing, modular component that can be published, located, and invoked across the Web Caratteristiche dei Web Service Riutilizzabili Indipendenti da: piattaforma (Unix, Windows) implementazione (VB, C#, Java ) architettura sottostante (.NET, J2EE, ) Accessibili mediante un interfaccia standard selfdescribing Combinano gli aspetti migliori dello sviluppo basato sulle componenti e gli standard web 3

Benefici nell utilizzo dei WS Loose Coupling ( accoppiamento indipendente ) : ciascun servizio esiste indipendentemente dagli altri servizi che costituiscono l applicazione. Questo permette alle singole parti di un applicazione di essere modificate senza toccare le aree non interessate. Utilizza architetture orientate ai servizi: i processi business che costituiscono un applicazione sono separati in componenti indipendenti detti servizi. Questi servizi, interagendo con processi e macchine,riescono a creare una soluzione per i business problem. Le architetture SOA garantiscono una grande flessibilità perché è possibile modificare dinamicamente una parte di esse senza ridefinire l intero sistema. Facilita l integrazione: l integrazione tra business partners o ambienti diversi è garantita dall utilizzo di formati standard per lo scambio dei msg. Tali standard sono, inoltre, comprensibili all uomo e disponibili pubblicamente, e permetteno ad uno sviluppatore di vedere esattamente cosa sta accadendo nel sistema. Facilmente accessibile: WS utilizzano il protocollo di trasporto già esistente e notevolmente utilizzato come http, facendo leva su infrastrutture esistenti e permettendo alle info di essere richieste e ricevute in tempo reale. SOA System I WS si basano sulla Service Oriented Architecture (SOA). I tre componenti prncipali sono: 1. Service Provider,rende disponibile il servizio e pubblica il contratto che ne descrive l interfaccia(tramite il broker). 2. Service Requestor o Consumer,effettua le queries al service broker e questo cerca il servizio compatibile. 3. Service Registry o Broker,da info al consumer su quale servizio utilizzare e dove trovarlo. 4

What are Web Services? Application 1 Application 2 XML Scenario di richiesta di un Servizio Ricerca di un servizio Richiesta al registro Link verso il servizio Registro Registro Client Client Descrizione Richiesta della descrizione del servizio Descrizione del servizio Invocazione del servizio Chiamate Service Service Risposte 5

Is this New? Sun RPC (1985) CORBA (1992) DCE / RPC (1993) Microsoft COM (1993) Microsoft DCOM (1996) Java RMI (1996) Is this Different? Platform neutral Open Standards Interoperable Based on ubiquitous software XML Parsers HTTP Server 6

Evoluzione verso i Web Services EJB DCOM CORBA Web Services Proprietario Privato, statici Proprietario, binario Rete privata Definizione Definizionedell interfaccia Funzionalità Funzionalitàd accesso Formato Formato Protocollo Protocollo Standard Pubblici, dinamiche Standard, text Internet Web Services roles 7

Service-Oriented Architecture Service Service Provider Publish Bind Service Registry Find Service User Web Service Architecture Interactions: SOAP Data: XML Service Provider Communication: HTTP Publish UDDI Bind SOAP Service Broker UDDI/WSDL Find Service User 8

Web Service Scenario Provider builds and defines the service in WSDL Provider registers the service in UDDI User finds the service by searching UDDI registry User application binds to the Web service and invokes its operations via SOAP XML e i Web Services Un Servizio Web utilizza in modo sistematico XML con i namespace e la specifica XML Schema Descrizione dei meccanismi di trasporto Le richieste I risultati Gli errori Client Client XML Svantaggi Web Web Service Service Complessità del documento XML e il costo del suo trattamento Tempo di elaborazione per il trattamento dei dati XML XML Parser Web Web Service Service 9

Classificazione dei servizi Web 3 classi di servizi I servizi di comunicazione e di trasporto (SOAP) I servizi di base: per l indicizzazione e ricerca dei servizi (UDDI; WDSL) I servizi business: servizi specifici per certi settori d attività (ebxml, Biztalk, ) Applicazioni Applicazioni B2B, B2B, B2C B2C Servizi Servizi Business Business Web Web Services Services B2B, B2B, B2C B2C Comunicazione Comunicazionee trasporto trasportointernet TCP / IP - HTTP Servizi Servizi di di base base Stack di tecnologie per i web services UDDI (Universal Description, Discovery and Integration): le pagine gialle dei servizi Web WSDL (Web Services Description Language): descrizione dei messaggi SOAP (Simple Object Access Protocol): protocollo per lo scambio di messaggi XML (extensible Markup Language): formato per lo scambio dei dati Emerging layers UDDI WDSL SOAP Internet Protocols (Http, Ftp...) 10

Web Services Protocols Web Service Consumer Find a Service http://www.uddi.org Link to discovery document Discovery http://yourservice.com HTML with link to WSDL How do we talk? (WSDL) http://yourservice.com/?wsdl return service descriptions (XML) Let me talk to you (SOAP) http://yourservice.com/svc1 return service response (XML) UDDI Web Service Infrastructure Elements Directories central location to locate Web Services provided by other organizations (e.g. UDDI registry) Discovery locating WSDL for a particular Web Service Description defines what interactions the Web Service supports Wire Formats enable universal communication (e.g. SOAP) 11

Servizi di comunicazione e trasporto Strato di trasporto: XML è usato per descrivere la struttura dei messaggi scambiati tra servizi Web Il messaggio è costituito da: L identificativo Il destinatario Una lista di argomenti eventuali Il nome dell operazione invocata Una lista di valori di ritorno attesi Altri parametri SOAP SOAP HTTP HTTP TCP/IP TCP/IP Transport Transport HTTP POST is most common But other protocols such as FTP SMTP HTTP GET And other exotic ones: Jabber BEEP 12

SOAP Wire-protocol based on XML and HTTP that consists of: an envelope for describing what is in a message and how to process it a set of encoding rules for expressing instances of application-defined data types a convention for representing remote procedure calls and responses SOAP Protocollo leggero di scambio dei dati e strutture di dati tra i nodi della rete nato con l obiettivo di creare un meccanismo di RPC in ambiente distribuito, in modo trasparente al sistema operativo o linguaggio di programmazione Il payload di un messaggio SOAP è in formato XML SOAP lavora su protocolli applicativi esistenti (ad es. HTTP e SMTP) 13

SOAP La specifica SOAP definisce La busta SOAP (struttura del messaggio) Le regole di codifica dei tipi di dati (come rappresentare un intero, una tabella, un grafo, ecc.) Le convenzioni per la rappresentazione della chiamate a procedure remote e per l invio dei risultati o di messaggi d errore. Le regole per il trasporto dei messaggi SOAP sul protocollo HTTP Gli URL per l indirizzamento ed il routing Dialogo tra mittente e destinatario Messaggio SOAP <SOAP:Envelope La struttura dei messaggi SOAP La busta SOAP </SOAP:Header> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP:Header> <example:headerxmlns:example="www.y.com"></example:header> L header SOAP Busta SOAP Corpo del messaggio SOAP </SOAP:Body> Header SOAP </SOAP:Envelope> <example:bodyxmlns:example="www.y.com"></example:body> Corpo del messaggio SOAP<SOAP:Body> 14

Schema della comunicazione SOAP Applicazione Client Client SOAP XML API HTTP API HTTP Server SOAP XML API HTTP API Applicazione Server Chiamata al metodo remoto CLIENT Stack a=5 b=6 SERVER Stack a=5 b=6 SOAP XML <a>5 </a> <b>6 </b> HTTP SOAP 15

Invio del messaggio di risposta CLIENT Stack Result=30 SERVER Stack Result = 30 SOAP XML <Result>30 </Result> SOAP HTTP Sample SOAP request POST /CurrencyServer/CurrencyExchange.jws HTTP/1.1 Host: theseus Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: http://ws.x.com/webservices/euro <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi=http://www.w3.org/2001/xmlschema-instance xmlns:xsd=http://www.w3.org/2001/xmlschema xmlns:soap=http://schemas.xmlsoap.org/soap/envelope> <soap:body> <Euro xmlns=http://ws.x.com/webservices> <currency>string</currency> </Euro> </soap:body> </soap:envelope> 16

Sample SOAP reply HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:xsi=http://www.w3.org/2001/xmlschema-instance xmlns:xsd=http://www.w3.org/2001/xmlschema xmlns:soap=http://schemas.xmlsoap.org/soap/envelope> <soap:body> <EuroResponse xmlns=http://ws.x.com/webservices> <EuroResult>double</EuroResult> </EuroResponse> </soap:body> </soap:envelope> Servizi di base Gestiscono gli scambi tra servizi ed applicazioni XML è usato per: Descrivere ed identificare i servizi Rendere sicuro ed autenticare l accesso ai servizi Esprimere le relazioni tra i servizi Classificare e ricercare i servizi negli annuari UDDI UDDI Gli standard: WSDL(Web Service Description Language) per definire un servizio Web UDDI (Universal Description, Discovery and Integration) per creare ed interrogare dei registri DSML (Directory Process Modelling Language) per creare dei registri di risorse interne all impresa in XML (compatibile con LDAP) WSDL WSDL DSML DSML Servizi di base 17

WSDL WSDL: documento XML che contiene la descrizione dell interazione client-server Standard W3C basato su XML Schema Obiettivo: fornire L elenco dei servizi offerti da un servizio web I dati necessari al sevizio I dati di risposta Le modalità di invocazione del servizio Il linguaggio descrive il servizio a due livelli diversi Descrizione astratta (abstract view) Descrive un servizio sulla base delle operazioni che questo mette a disposizione Il servizio è identificato da un gruppo di porttype, che a loro volta sono costituite da un insieme di operation Descrizione concreta (concret view) Specializzazione, binding ports, services WSDL WSDL (Web Service Description Language) definisce le seguenti entità Tipi: definizione dei tipi di dati del Web Service (uso di XMLSchema) Messaggio: definizione dei messaggi che fanno riferimento ai tipi Tipo di porta: insieme di operazioni (action) implementate da un Web Service che fanno riferimento ai messaggi. Una porta è un punto di terminazione identificato in maniera unica da un identificativo (e.g. URL) e un binding. Binding WSDL/SOAP: un protocollo concreto d accesso a una porta e un formato dei messaggi e dei dati per questa porta Servizio: una collezione di porte (le instanze delle porte WSDL) <wsdl:definition> <wsdl:types> </wsdl:types> <wsdl:message> </wsdl:message> </wsdl:definition> <wsdl:service> </wsdl:service> <wsdl:porttype> </wsdl:porttype> <wsdl:service> </wsdl:service> <wsdl:binding> </wsdl:binding> 18

WSDL Structure Types Message Port Type Operation Binding Service Port Data type definitions Signature of request and reply for each method ( IDL) <service, protocol> operations method messages Protocol and data-format specification { Port binding } Address ( URL) Description WSDL Types Messages Operations Encoding Endpoint 19

Types <types> <schema targetnamespace=" IMessageService.xsd" xmlns=" /XMLSchema" xmlns:soapenc=" /soap/encoding/"/> </types> Messages <message name= purchase"> <part name= item" type="xsd:string"/> <part name= quantity" type="xsd:integer"/> </message> 20

Operations <operation name="setmessage"> </operation> <input name="setmessagerequest message="tns:setmessagerequest"/> <output name="setmessageresponse message="tns:setmessageresponse"/> Encoding <soap:operation soapaction="" style="rpc"/> <input name="setmessage0request"> </input> <soap:body use="encoded" namespace="messageservice" encodingstyle=" /soap/encoding/"/> 21

Endpoint <service name="messageservice"> <port name="messageserviceport" binding="tns:messageservicebinding"> <soap:address location="http://localhost:8080/setmessage/"/> </port> </service> WSDL example <message name="ratesoapin"> <part name="parameters" element="s0:rate" /></message> <message name="ratesoapout"> <part name="parameters" element="s0:rateresponse" /></message> <message name="eurosoapin"> <part name="parameters" element="s0:euro" /></message> <message name="eurosoapout"> <part name="parameters" element="s0:euroresponse" /></message> <message name="ratehttpgetin"> <part name="from" type="s:string" /> <part name="to" type="s:string" /></message> <message name="ratehttpgetout"> <part name="body" element="s0:double" /></message> <message name="eurohttpgetin"> <part name="currency" type="s:string" /></message> <message name="eurohttpgetout"> <part name="body" element="s0:double" /></message> <message name="ratehttppostin"><part name="from" type="s:string" /> <part name="to" type="s:string" /></message> <message name="ratehttppostout"> <part name="body" element="s0:double" /></message> <message name="eurohttppostin"> <part name="currency" type="s:string" /></message> <message name="eurohttppostout"> <part name="body" element="s0:double" /></message>... 22

UDDI UDDI (Universal Description, Discovery and Integration): insieme di specifiche che definiscono un modo di pubblicare e cercare servizi attraverso una repository centralizzata di servizi L obiettivo è fornire un elenco mondiale di servizi che permetta di ricercare i Servizi Web sullo stesso principio delle pagine gialle Definizione delle informazioni da fornire per ciascun servizio e tipo di codifica query e update API che descrivono come si può accedere e aggiornare le informazioni La riuscita di UDDI richiede che i diversi fornitori di Servizi Web si accordino sulla definizione di criteri comuni e di determinate categorie di servizi Operatori:Microsoft, IBM, SAP et HP Problematico Standard UDDI 23

Standard UDDI Le informazioni sono definite con XML Schema Quattro tipi fondamentali di informazioni Informazioni di business (chi fa cosa) Informazioni sul servizio (cosa fa per gruppo o categorie) Informazioni sul binding (come invocare) Informazioni sulla descrizione dei servizi (cosa invocare) Discovery UDDI Demonstration: https://uddi.ibm.com/ubr/registry.html 24

Discovery UDDI Inquiry UDDI Registry Publish Discovery UDDI Inquiry UDDI Registry Publish 25

UDDI Le specifiche UDDI definiscono le tre parti costituenti il registry Pagine Paginebianche Pagine Pagine gialle gialle Identità del fornitore, indirizzo fisico ed elettronico, qualificazioni che fanno riferimento a tassonomie industriali standard (e.g. DUNS) La descrizione dei servizi offerti Pagine Pagine verdi verdi Informazioni sui modelli di accesso al servizio e i differenti modelli di dati sottostanti Discovery UDDI Tipo di servizio: si definisce il servizio e si assegna a questo un identificatore unico chiamato tmodel. Un tmodel punta a una specifica che definisce una risorsa. Oltre al servizio si definisce un interfaccia astratta. Pagine bianche Service providers registra i businesses e tutti i servizi che offrono. Tramite il costrutto Template fornisce info sul binding e sul punto di accesso. Pagine verdi Categorizzazione: si usa una varietà di categorie per classificare le entità in base alla localizzazione geografica, al codice prodotto ecc. Pagine gialle 26

Discovery UDDI Ricerca. I service consumer possono ricercare il servizio effettuando queries al registro Uddi, questa ricerca può avvenire tramite tipo di servizio o service provides. Nel caso di una intranet,il broker può cercare prima i service provider interni e poi altri broker su Internet se tali servizi non esistono localmente. Binding : il collegamento tra client e servizio può avvenire sia in fase di compilazione che di runtime. Statico: La ricerca di un service viene effettuata una volta sola e se ne memorizza il risultato. Quindi la localizzazione dei servizi si conosce prima di iniziare l esecuzione del programma e si tratta di indirizzi assoluti. Dinamico: la ricerca viene effettuata in fase di runtime e di solito perché è stata modificata la posizione del servizio. Scoperta dinamica. Siccome Uddi è esso stesso un WS, un applicazione può fare richieste al servizio, trovare dinamicamente il servizio, localizzare il suo punto di accesso, recuperare il Wsdl e collegarsi ad esso tutto in runtime. Servizi Business Si tratta generalmente di funzioni legate al commercio elettronico Riproduzione in un mondo virtuale delle transazioni commerciali del mondo reale (transazioni, contratti, fatturazione, pagamenti, ecc.) I servizi Web Business mettono a disposizione degli sviluppatori un insieme di specifiche che facilitano lo sviluppo di applicazioni Web per settori applicativi specifici Per quanto riguarda gli aspetti tecnici, la specifica di alcuni Servizi Business è iniziata prima delle attività di standardizzazione del W3C 27

Servizi Business ebxml e RosettaNet: per formalizzare un infrastruttura completa per l e-commerce BitzTalk di Microsoft: formalizzazione dello scambio elettronico dei documenti professionali (fatture, ordini, ecc.) tra applicazioni Web distribuite WSFL (Web Services Flow Language) di IBM, XLANG di Microsoft e WSCL (Web Services Conversation Language) di HP per la specificazione della composizione di un applicazione Web per l esecuzione di processi business. BPML (Business Process Modeling Language) e BPQL del consorzio BPMI: una parte delle specifiche copre la sincronizzazione dei processi business in diverse aziende (ex: gestione delle relazioni con i clienti, logistica, ) WSUI (Web Service User Interface) di Epicentric, WSXL (Web Services Experience Language) di IBM e WSIA (Web Services Interactive Applications) di OASIS. Gestione dell accesso ai servizi Web ebxml ebxml RosettaNet RosettaNet tpaml tpaml BizTalk BizTalk WSFL WSFL XLANG XLANG WSUI WSUI BPML BPML WSXL WSXL BPQL BPQL WSIA WSIA Servizi Business Piattaforme di sviluppo e esercizio Web Service su piattaforma leggera Server HTTP e Parser XML Esempi: Apache SOAP, Apache Axis, SOAP::Lite (Perl), PHPSOAP (PHP), WhiteMesa SOAP (C++), SOAP for ADA, Smalltalk Web Services Web Service su Application Server Valori aggiunti: gestione dell accesso concorrente, gestione delle transazioni, sicurezza e autenticazione, infrastrutture, tool di sviluppo Classificazione dei fornitori: Basi di dati: DBMS tradizionale + infrastruttura XML per integrare l architettura UDDI/WSDL/SOAP: Oracle, IBM, Sybase Middleware: BEA, Vitia, IBM, Progress Sistemi operativi: SUN, IBM, Microsoft 28

Piattaforme di sviluppo e esercizio Sun J2EE Microsoft.NET JVM JVM Core Core APIs APIs JMX JMX JTS JTS JMS JMS Swing Swing JDBC JDBC EJ EJ B B Browser Browser JSP JSP / / Servlet Servlet JCA JCA Presentation Processing CLR CLR BCL BCL W M I I MSMQ MSMQ MTS/DTC MTS/DTC Winforms Winforms ADO.NET ADO.NET Browser Browser ASP.NET ASP.NET Webforms Webforms Enterprise Enterprise services+cbos services+cbos Host Host int. server int. server Presentation Processing RDBMS RDBMS Packages & Packages & Legacy apps Legacy apps SQL SQL server server Packages & Packages & Legacy apps Legacy apps Missing Pieces Security Single Sign-on, credentials Transactions Quality of service Timeliness guarantees Asynchronous operations Co-ordination, workflow 29

Real Examples Amazon Web Services API Google Web API HP & IBM online stores Conclusioni Web Service Nuova forma di componenti logici sul piano tecnico e di economia di sviluppo. Si tratta di un unità funzionale con interfaccia pubblica e implementazione privata. Meccanismi di assemblaggio di applicazioni sulla base delle interfaccie dei servizi. Caratteristiche di base: apertura, specifica basata su strati, meccanismi di estensione, riuso, autodescrizione, ricerca e classificazione dei servizi Soap è uno standard stabile, WSDL e UDDI sono stati specificati, ma non ancora stabili Gli altri standard sono in via di definizione 30