Web Service Architecture



Похожие документы
1 Vincenzo de Stefano SAP e Servizi Web

Introduzione ai Web Services Alberto Polzonetti

Seminario di Sistemi Distribuiti RPC su SOAP

Lezione 1 Introduzione

Reti di Telecomunicazione Lezione 6

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

Il Paradigma REST per lo sviluppo di applicazioni Web 2.0

Introduzione alle applicazioni di rete

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

Protocolli applicativi: FTP

Reti di Calcolatori. Il Livello delle Applicazioni

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

Architetture Informatiche. Dal Mainframe al Personal Computer

sito web sito Internet

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

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

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

Le Reti Informatiche

Architetture Informatiche. Dal Mainframe al Personal Computer

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

Dal protocollo IP ai livelli superiori

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Hardware delle reti LAN

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

Presentazione di Cedac Software

Architettura client-server

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

Protocolli e architetture per WIS

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

Lo scenario: la definizione di Internet

Sistemi informativi secondo prospettive combinate

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

Standard di comunicazione

PRACTICAL DEVELOPMENT OF A WEB SERVICE

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Processi

Componenti Web: client-side e server-side

Versione 1. (marzo 2010)

Integration Software S.r.l.

Titolo. Verso il nuovo sito Istat: opportunità e innovazioni per potenziare l informazione sul web FORUM PA Maurizio Firmani Giulia Mottura

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

Architetture Applicative

Approccio stratificato

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services

Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici

Reti di calcolatori. Reti di calcolatori

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Un introduzione ai Web service

Come funziona internet

GAS.DV/WIN Front Office

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Client - Server. Client Web: il BROWSER

ESERCITAZIONE Semplice creazione di un sito Internet

SISTEMI OPERATIVI DISTRIBUITI

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

TERM TALK. software per la raccolta dati

Internet e il World Wide Web. Informatica di Base A -- Rossano Gaeta 1

Modelli e Sistemi di Elaborazione Peer-to-Peer

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

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

Reti di Telecomunicazione Lezione 8

Web Services Security

Siti interattivi e dinamici. in poche pagine

VMware. Gestione dello shutdown con UPS MetaSystem

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Un approccio innovativo per il delivery di servizi in infrastrutture di nomadic computing

Indice. Indice Premessa e scopo del documento Ambiente operativo Architettura di sistema... 5

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Cercare documenti Web

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

Firewall applicativo per la protezione di portali intranet/extranet

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

Ministero del Lavoro e delle Politiche Sociali

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

Sistemi centralizzati e distribuiti

Sicurezza nelle reti

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

Internet e il World Wide Web. Informatica Generale -- Rossano Gaeta 30

Office e Applicativi sw

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Il Web Server e il protocollo HTTP

Database e reti. Piero Gallo Pasquale Sirsi

Architetture e applicazioni web

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

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

B.P.S. Business Process Server ALLEGATO C10

TCP/IP: INDIRIZZI IP SIMBOLICI

OpenSPCoop Un Implementazione Open Source della specifica SPCoop di Cooperazione Applicativa

Soluzioni per l'integrazione e l'accesso alle informazioni. Visus RAD. Andrea Rocchini

Reti e Internet: introduzione

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

Транскрипт:

Giuseppe Della Penna Università degli Studi di L Aquila dellapenna@di.univaq.it http://dellapenna.univaq.it Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta Nous Informatica Regione Abruzzo SED Siemens Taiprora TIM Italia

Architetture Distribuite» Un sistema distribuito consiste di un insieme di agenti software distinti che lavorano insieme per implementare una determinata funzionalità.» Gli agenti di un sistema distribuito non operano nello stesso ambiente, quindi devono comunicare tramite protocolli di rete.» La comunicazione via rete è poco affidabile: i designer di sistemi distribuiti devono tener conto di elementi quali latenza, concorrenza, malfunzionamenti parziali e temporanei, ecc.

Architetture Distribuite Concorrenza Sistema 1 Sistema 2 Rete Latenza Sistema 3 Malfunzionamenti parziali

Service Oriented Architecture» La Service Oriented Architecture è un tipo di sistema distribuito in cui gli agenti sono servizi.» Un servizio è un agente che esegue un operazione ben definita ( fornisce un servizio ) e può venire invocato dall esterno del suo contesto, che può essere anche un applicazione di grandi dimensioni.» Anche se un servizio è implementato esponendo una particolare funzionalità di un applicazione complessa, i suoi utenti devono considerarne solo l interfaccia, non il contesto.» Nella definizione di SOA si sottolinea inoltre il fatto che i servizi hanno interfacce verso la rete e comunicano usando formati e protocolli standard.

Service Oriented Architecture Applicazione SOAP/ HTTP Sistema 1 Sistema 2 Applicazione Applicazione Rete MIME/ SMTP Applicazione Sistema 3

Elementi di una SOA» La SOA introduce, rispetto ai più generali sistemi distribuiti, il vincolo delle connessioni stateless, in cui tutti i dati relativi a una richiesta devono essere contenuti nella richiesta stessa (non si possono inviare dati correlati in richieste successive).» Per questo motivo, la descrizione di un servizio in una SOA è essenzialmente la descrizione dei messaggi scambiati.» Se la SOA è pubblicata, anche i descrittori pubblici dei servizi e dei messaggi diventano una sua parte integrante. Questi descrittori sono di solito in un formato comprensibile dal software, e costituiscono essi stessi dei messaggi (usati nella comunicazione con i sistemi di service discovery).

Elementi di una SOA» Riassumendo, i componenti chiave di una SOA sono: Gli agenti che forniscono e usano i servizi. I messaggi scambiati dai servizi. I meccanismi di comunicazione che permettono lo scambio dei messaggi. Opzionalmente, i descrittori dei servizi.» Per ciascuno di questi elementi esistono vari standard di implementazione/realizzazione, pubblici o proprietari. Ovviamente l enfasi attuale è sugli standard pubblici e aperti.

Vantaggi delle SOA» L enfasi data ai messaggi, piuttosto che alle azioni risultanti, rende le SOA particolarmente trasparenti : Il flusso dei messaggi può essere ispezionato per determinare quali servizi vengono invocati e quali sono le parti attive nella SOA in qualunque istante. I sistemi di sicurezza, come i firewall, possono ispezionare a fondo la comunicazione, fino a comprenderne la semantica, e prendere decisioni accurate basandosi sulle politiche di sicurezza del sistema.

Il WWW come una SOA» Il World Wide Web è una SOA che opera come un sistema informativo di rete. Rispetto alla SOA generica, il WWW impone altri vincoli: Gli agenti e le le risorse, cioè gli oggetti gestiti dagli agenti, sono identificati tramite Uniform Resource Identifiers (URI). Gli agenti manipolano o forniscono una rappresentazione delle risorse ottenuta tramite formati dati comuni (ad es. XML, HTML, CSS, JPEG, PNG). Gli agenti trasmettono le (rappresentazioni delle) risorse attraverso protocolli che usano gli URI per indirizzare altri agenti o risorse (ad es. HTTP).

La» I servizi web svolgono due principali funzioni: Manipolazione di risorse: si tratta di servizi che permettono di manipolare (ricevere/trasmettere) direttamente delle risorse. Gestione di oggetti distribuiti (operazioni via web): sono servizi che effettuano operazioni (anche molto complesse) su risorse che non sono sul web (ad es. database). In questo caso i messaggi XML contengono i dati necessari a invocare queste operazioni e comunicarne gli eventuali risultati.» Nel primo caso, i servizi sono solitamente implementati direttamente dai web server.» Nel secondo caso, quello che ci interessa maggiormente, i servizi sono costituiti da software esterno che viene attivato dai web server in risposta a particolari messaggi.

Definizione di Servizio Web A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards (W3C Web Services Architecture Spec.)

Interoperable m2m Interaction» Lo scopo primario di un servizio web è fornire una via estremamente semplice e versatile per far comunicare componenti software attraverso la rete.» L interoperabilità è la vera chiave: I servizi web sono descritti astrattamente. Non sono dipendenti da architetture software/hardware particolari (o, peggio ancora, proprietarie). Possono essere implementati praticamente con qualsiasi linguaggio. Il client e il server di un servizio web possono addirittura essere basati su linguaggi e tecnologie diverse, a patto che rispettino all interfaccia il semplice contratto di comunicazione definito dal servizio.

Abstract Interface» Un servizio è definito come un insieme astratto di funzionalità.» Il servizio web, quindi, è una nozione astratta, che deve essere opportunamente implementata da un agente.» L agente è l elemento software concreto che invia e riceve i messaggi che realizzano il servizio.» L agente che implementa il servizio può cambiare o esistere in diverse versioni, ma il servizio offerto rimane lo stesso.

SOAP Messages over HTTP» I servizi web possono usare vari noti protocolli di trasporto, ma HTTP è di gran lunga il preferito: HTTP è un protocollo semplice, leggero e robusto. E ben tollerato anche dai sistemi di sicurezza più avanzati.» I messaggi vengono codificati (anche qui, preferenzialmente) tramite SOAP, che è un protocollo XML aperto e altamente versatile.» Tipicamente, i servizi basati su SOAP utilizzano un particolare tipo di messaggi, detti SOAP-RPC, per far comunicare le componenti con delle chiamate stile remote procedure call.

XML» I servizi web sono basati su XML: Il protocollo SOAP è definito come linguaggio XML. I documenti di descrizione del servizio sono scritti in un linguaggio XML (WSDL). Le strutture di classificazione e pubblicazione dei servizi (UDDI) sono definite con XML.» Il risultato è una rapida diffusione del nuovo standard, un incredibile semplicità d uso e una grande diffusione di software di supporto, spesso gratuito.

Altri Standard per le WSA» I web services basati su HTTP/SOAP sono la tipologia di agente per WSA più complessa, versatile e potente.» Tuttavia, ci sono casi in cui è preferibile basare gli agenti su tecnologie e protocolli più leggeri o alternativi.» Tipicamente, nella WSA si usano correntemente altri due approcci per implementare agenti: XML- RPC per la codifica dei messaggi e SMTP per il trasporto.

XML-RPC» Lo standard XML-RPC è nato come alternativa alla RPC tramite SOAP.» Per alcuni tipi di applicazione, infatti, la complessa struttura dei messaggi SOAP (e quindi l elaborazione necessaria e crearli e interpretarli) continua ad essere eccessiva.» XML-RPC è un protocollo RPC basato su XML estremamente semplice e leggero.» Per questo, XML-RPC è facilmente implementabile su ogni piattaforma e in qualsiasi linguaggio (Java, PHP, Javascript, ), ed è un ottima alternativa per realizzare servizi web semplici.

Tecnologie Java per le WSA Sun JAXP Sun SAAJ Sun JAX-RPC Sun JAX-WS Sun JAXR Sun JAXB Apache SOAP Apache XML-RPC Apache AXIS Tecnologie XML di Base Servizi di basso livello (scambio messaggi) Servizi di livello intermedio (RPC) Servizi di alto livello Integrazione di Servizi