Leonardo Mariani Esercitazione di Sistemi Distribuiti. Interoperabilità Business-to-customer (B2C) Business-to-business (B2B)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Leonardo Mariani Esercitazione di Sistemi Distribuiti. Interoperabilità Business-to-customer (B2C) Business-to-business (B2B)"

Transcript

1 Web Services Leonardo Mariani Esercitazione di Sistemi Distribuiti 1 Scenario Interoperabilità Business-to-customer (B2C) Business-to-business (B2B) Applicazioni Inter-aziendali Service Oriented Computing 2

2 Web Services A Web Service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web Service in a manner prescribed by its definition, using XML-based messages conveyed by Internet protocols (W3C) 3 Service Oriented Architecture Service Description Discovery Service Service Requirements Query Publish Service Service Bind and Service Service Requestor Interact Provider Provider Request Response Service Description Service 4

3 WSDL Web Services Description Language (WSDL) Standard per la descrizione dei web services descrive: I servizi offerti da un Web Service I dati di input I dati di output Le modalità di invocazione dei servizi 2 parti abstract view descrizione delle operazioni permesse dal servizio, raggruppate come porttype concrete view informazione sull implementazione delle operation 5 Paradigmi RPC-based chiamate a metodo remote realizzate attraverso un protocollo basato su XML Document-based scambio di oggetti attraverso documenti XML Wrapped come document-based ma gli oggetti sono rappresentati attraverso i loro attributi costituenti invece che attraverso strutture complesse Message-based scambio di arbitrari documenti XML 6

4 Contenuti della lezione Sviluppo WS con AXIS e Tomcat Sviluppo WS con JAX-RPC e J2EE nota: AXIS e JAX-RPC possono essere integrati indifferentemente con Tomcat e J2EE JAXR interagire con l UDDI 7 Sviluppo di Web Services con AXIS (e Tomcat) 8

5 Tecnologie AXIS implementazione di SOAP + supporto per WS si integra come WebApp su Application/Web server compatibile con JAX-RPC seguire le istruzioni sul sito web per installarlo Plugin per l integrazione di Eclipse con AXIS: si installa automaticamente Java to WSDL (per server) WSDD to deployment (per server) nota: il deployment di JWS può essere fatto copiando il file WSDL to Java proxy (per client) 9 Primo WS servizio di echo: risponde con la stringa che riceve in ingresso implementazione Java public class Echo { public String echoservice(string msg) { return msg; creazione del corrispondente Web Service: rinominare il file Echo.java come Echo.jws copiare il file nella cartella <web-app-root>/axis FINITO!!! axis automaticamente compila la classe e trasforma le chiamate SOAP in invocazioni a metodo NOTA: questa procedura va bene solo per WS molto semplici esempio: la classe non può contenere dichiarazioni di package 10

6 WSDL del servizio 1/2 axis genera dinamicamente anche il WSDL <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:apachesoap=" xmlns:impl=" xmlns:intf=" xmlns:soapenc=" xmlns:wsdl=" xmlns:wsdlsoap=" xmlns:xsd=" <!--WSDL created by Apache Axis version: 1.2 Built on May 03, 2005 (02:20:24 EDT)--> <wsdl:message name="echoserviceresponse"> <wsdl:part name="echoservicereturn" type="xsd:string"/> </wsdl:message> <wsdl:message name="echoservicerequest"> <wsdl:part name="msg" type="xsd:string"/> </wsdl:message> <wsdl:porttype name="echo"> <wsdl:operation name="echoservice" parameterorder="msg"> <wsdl:input message="impl:echoservicerequest" name="echoservicerequest"/> <wsdl:output message="impl:echoserviceresponse" name="echoserviceresponse"/> </wsdl:operation> </wsdl:porttype> 11 WSDL del servizio 2/2 axis genera dinamicamente anche il WSDL <wsdl:binding name="echosoapbinding" type="impl:echo"> <wsdlsoap:binding style="rpc" transport=" <wsdl:operation name="echoservice"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="echoservicerequest"> <wsdlsoap:body encodingstyle=" namespace=" use="encoded"/> </wsdl:input> <wsdl:output name="echoserviceresponse"> <wsdlsoap:body encodingstyle=" namespace=" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="echoservice"> <wsdl:port binding="impl:echosoapbinding" name="echo"> <wsdlsoap:address location=" </wsdl:port> </wsdl:service> </wsdl:definitions> 12

7 Primo Client public class TestClient { public static void main(string [] args) { String endpoint = " Service service = new Service(); try { Call call = (Call) service.createcall(); call.settargetendpointaddress(new URL(endpoint)); call.setoperationname("echoservice"); String ret = (String) call.invoke(new Object[] {"Hello!"); System.out.println("Sent 'Hello!', got '" + ret + "'"); catch... Call e Service sono i metadati che descrivono il servizio da invocare DEMO WEB-INF/src/immediateWS/Echo.java client/client1/testclient.java 13 Chiamate SOAP La classe Call genera automaticamente le richieste SOAP per il Web Service <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:xsd=" xmlns:soap-env=" xmlns:xsi=" <SOAP-ENV:Body> <ns1:echoservice xmlns:ns1=" <arg0 xsi:type="xsd:string">hello!</arg0> </ns1:echoservice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 14

8 Nomi dei parametri Nelle chiamate SOAP i nomi dei parametri sono indicati con arg0, arg1,... invocando call.addparamater(<nomepar>, <tipo>, <IN/OUT>) call.setreturntype(<tipo>) è possibile definire nomi e tipi delle variabili setreturntype è necessario nei casi in cui la risposta SOAP non riporti l indicazione del tipo ritornato, ad es., <result>hello!</result> invece di <result xsi:type= xsd:string >Hello!</result> 15 Web Service Deployment Descriptor (WSDD) 1/2 WSDD è un file XML che indica i servizi da esportare su AXIS ad esempio <deployment xmlns=" xmlns:java=" <service name="myservice" provider="java:rpc"> <parameter name="classname value="samples.userguide.example3.myservice"/> <parameter name="allowedmethods" value="*"/> </service> </deployment> 16

9 Web Service Deployment Descriptor (WSDD) 2/2 Altri elementi elemento in service <parameter name= scope value=... > request una nuova istanza del servizio per ogni richiesta (default) application singolo oggetto condiviso da tutte le richieste session un oggetto per ogni sessione nuovo elemento al livello principale <handler name= <id> type= <classe> > <parameter.../> </handler> elemento in service <requestflow> <handler type= <id> > </requestflow> 17 Esempio WSDD <deployment xmlns=" xmlns:java=" <handler name="track" type="java:samples.userguide.example4.loghandler"> <parameter name="filename" value="myservice.log"/> </handler> <service name="logtestservice" provider="java:rpc"> <requestflow> <handler type="track"/> </requestflow> <parameter name="classname" value="samples.userguide.example4.service"/> <parameter name="allowedmethods" value="*"/> </service> </deployment> DEMO deployment ed uso del servizio WEB-INF/src/example4 18

10 Stili Gli esempi visti sino ad ora sono RPC-baced <service... style= RPC > se si vuole generare un servizio di tipo document <service... style= document > nel caso del wrapped <service... style= wrapped > nel caso message <service... style= wrapped > 19 Servizi Message-Based Un servizio basato su messaggio può implementare una di queste signature public Element[] method(element [] bodies); public SOAPBodyElement [] method (SOAPBodyElement [] bodies) public Document method(document body) public void method(soapenvelope req, SOAPEnvelope resp); 20

11 Esempio Servizio Message-Based implementazione public class MessageService{ public Element[] echoelements(element [] elems) { return elems; public void process(soapenvelope req, SOAPEnvelope resp) throws javax.xml.soap.soapexception { SOAPBody body = resp.getbody(); Name ns0 = resp.createname("testns0", "ns0", " Name ns1 = resp.createname("testns1", "ns1", " SOAPElement bodyelmnt = body.addbodyelement(ns0); SOAPElement el = bodyelmnt.addchildelement(ns1); el.addtextnode("test RESPONSE"); 21 Esempio Servizio Message-Based - WSDD <deployment name="test" xmlns=" xmlns:java=" xmlns:xsi=" <service name="messageservice" style="message"> <parameter name="classname value="samples.message.messageservice" /> <parameter name="allowedmethods" value="echoelements" /> </service> <service name="messageservice2" style="message"> <parameter name="classname" value="samples.message.messageservice" /> <parameter name="allowedmethods" value="process" /> </service> </deployment> 22

12 Esempio Servizio Message-Based - DEMO WEB-INF/src/MessageService 23 Interoperabilità in teoria, diverse implementazioni SOAP possono interagire in pratica, sono necessari degli accorgimenti molti articoli in Internet discutono questo tema gran parte dei problemi di interoperabilità sono legati alla corrispondeza tra i tipi WSDL e i tipi specifici del linguaggio adottato 24

13 Corrispondenza tra tipi 1/3 WSDL Java oggetti che possono assumere valori null sono mappati sulle corrispondenti classi wrapper : Boolean, Double, Corrispondenza tra tipi 2/3 Eccezioni RemoteExceptions sono mappate su SOAP fault Exceptions sono mappate su WSDL fault sottoclassi delle classi base possono essere generate solo se l implementazione è condivisa tra chiamante e servizio, oppure l eccezione è descritta nel WSDL del servizio 26

14 Corrispondenza tra tipi Non si possono inviare oggetti per i quali non esista un AXIS Serializer registrato AXIS fornisce il Bean Serializer per la serializzazione dei JavaBean dobbiamo costruire e registrare altri Serializer per poter trasmettere oggetti arbitrari SOAP non supporta il passaggio di riferimenti remoti 27 BeanSerializer 1/2 classi che rispettano la specifica JavaBean possono essere serializzate automaticamente metodi get/set per tutti i parametri ad esempio: public class Order { private String customername; private String shippingaddress; public String getcustomername() { return customername; public void setcustomername(string name) { customername = name; public String getshippingaddress() { return shippingaddress; public void setshippingaddress(string address) { shippingaddress = address; 28

15 BeanSerializer 1/2 Bisogna specificare il mapping tra un XML QName e il JavaBean perché AXIS riesca a serializzarlo il mapping si specifica con li seguente elemento del WSDD <beanmapping qname= ns:local xmlns:ns= somenamespace languagespecifictype= java:my.java.thingy /> l associazione realizzata è la seguente my.java.thingy <-> somenamespace:local 29 CustomSerializer bisogna implementare un Serializer ed un Deserializer devono essere indicati nel WSDL attraverso l elemento <typemapping...> non li prenderemo in considerazione 30

16 Integrazione di WSDL con AXIS scaricare il WSDL il WSDL che descrive un servizio può essere ottenuto automaticamente aggiungendo?wsdl all URL del WS ad esempio, 31 Integrazione di WSDL con AXIS generare lo STUB dal WSDL java org.apache.axis.wsdl.wsdl2java AddressBook.wsdl PROCESSO DI GENERAZIONE per ogni tipo => 1 classe statetype -> StateType Phone -> Phone Address -> Address per ogni porttype => 1 interfaccia AddressBook -> AddressBook per ogni binding => 1 classe stub AddressBookSOAPBinding -> AddressBookSOAPBindingStub per ogni servizio => 1 implementazione del servizio AddressBookService -> AddressBookService (interfaccia) AddressBookServiceLocator (impl) 32

17 Integrazione di WSDL con AXIS usare lo STUB Il Locator ritorna tutte le porte definite nel WSDL AddressBookService service = new AddressBookServiceLocator(); AddressBook port = service.getaddressbook(); Le porte sono usate per eseguire le operazioni Address address = new Address(...); port.addentry( Russel Butek, address); Lo STUB è usato in modo trasparente nel codice generato I tipi sono usati come parametri nelle operazioni 33 Integrazione di WSDL con AXIS generare lo skeleton 1/2 java org.apache.axis.wsdl.wsdl2java server-side --skeletondeploy true AddressBook.wsdl PROCESSO DI GENERAZIONE per ogni tipo => 1 classe statetype -> StateType Phone -> Phone Address -> Address per ogni porttype => 1 interfaccia AddressBook -> AddressBook per ogni binding => 1 classe stub, 1 skel, e 1 template impl AddressBookSOAPBinding -> AddressBookSOAPBindingStub AddressBookSOAPBinding -> AddressBookSOAPBindingSkeleton AddressBookSOAPBinding -> AddressBookSOAPBindingImpl per ogni servizio => 1 implementazione del servizio AddressBookService -> AddressBookService (interfaccia) AddressBookServiceLocator (impl) per tutti i servizi => deploy.wsdd e undeploy.wsdd 34

18 Integrazione di WSDL con AXIS generare lo skeleton 2/2 java org.apache.axis.wsdl.wsdl2java -- server-side AddressBook.wsdl (non c è l opzione --skeletondeploy true ) => non viene generato lo skeleton, ma l implementazione dovrà essere installata direttamente come WS 35 Integrazione di WSDL con AXIS implementazione del servizio basta implementare i metodi di AddressBookSOAPBindingImpl!! i metodi sono già stati generati con implementazione vuota nota: la procedura di generazione automatica dello skeleton non sovrscrive l implementazione se già esistente 36

19 Integrazione di WSDL con AXIS Java -> WSDL public interface WidgetPrice { public void setwidgetprice(string widgetname, String price); public String getwidgetprice(string widgetname); java org.apache.axis.wsdl.java2wsdl o wp.wsdl l -n urn:example6 -p samples.userguide.example6 urn:example6 samples.userguide.example6.widgetprice -o nome del file WSDL di output -l URL di accesso al servizio -n namespace del WSDL -p mapping tra namespace e package associato la classe/interfaccia del servizio [consultare la guida per altre opzioni] le classi per il binding WS<->Java possono essere ottenute con il seguente comando (analogo a quello visto in precedenza) java org.apache.axis.wsdl.wsdl2java o. d Session s S true Nurn:Example6 samples.userguide.example6 wp.wsdl 37 JAX-RPC e J2EE 38

20 JAX-RPC 1/2 Java API for XML-based RPC tecnologia per costruire web services e clients che usano RPC e XML messaggi SOAP (XML) su HTTP JAX-RPC semplifica il lavoro degli sviluppatori lato server: l interfaccia da esporre è implementata in Java => il WS è generato automaticamente lato client => si implementa in Java un proxy del WS => le chiamate al WS sono generate automaticamente 39 JAX-RPC 2/2 Java può essere portato su piattaforme diverse => JAX-RPC può essere adottato su qualsiasi piattaforma JAX-RPC usa rappresentazioni indipendenti dal linguaggio (HTTP, SOAP,...) => client e WS non devono necessariamente essere implementati in Java client usa JAX-RPC per accedere un WS non-java un client non-java accede ad un WS generato tramite JAX-RPC 40

21 Interazione con un WS Client Program STUB JAX-RPC Runtime SOAP Servizio TIES JAX-RPC Runtime 41 Passi principali 1. Implementare l interfaccia, il servizio ed il file di configurazione 2. genera il WS 3. crea il package WAR 4. deploy del package 5. genera lo stub con wscompile 6. implementa il client ed il WSDL 7. esegui il cliente 42

22 (1) Implementazione dell Interfaccia estendere java.rmi.remote NO dichiarazioni del tipo public final static i metodi generano java.rmi.remoteexception (o una delle sue sottoclassi) tipi dei parametri e dei valori di ritorno devono essere supportati da JAX- RPC (tabella analoga ai tipi AXIS) Esempio public class HelloImpl implements HelloIF { public String message = Hello ; package helloservice; import java.rmi.remote; import java.rmi.remoteexception; public String sayhello(string s) { return message + s; public interface HelloIF extends Remote { public String sayhello(string s) throws RemoteException; 43 (2) Generazione del WS 1/2 wscompile define mapping build/mapping.xml d build nd build classpath build config-interface.xml -define, creazione file WSDL e mapping -mapping, specifica il nome del file mapping -d, -nd, specificano le cartelle in cui memorizzare le classi e il file WSDL, rispettivamente -classpath, specifica il classpath config-interface.xml, file di configurazione 44

23 (2) Generazione del WS 2/2 file di configurazione di esempio <?xml version= 1.0 encoding= UTF-8?> <configuration xmlns= > <service name= MyHelloService targetnamespace= urn:foo typenamespace= urn:foo packagename= helloservice > <interface name= helloservice.helloif /> </service> </configuration> viene creato il file MyHelloService.wsdl helloservice.helloif è il service endpoint interface l attributo package specifica che le classi devono essere memorizzate nel package helloservice 45 (3) Creazione package deploytool File -> New -> Web Component Create new Stand-Alone WAR module WAR file field-> cartella del progetto File Name -> nome File WAR contents -> aggiungere i file della cartella build context-root -> /hello-jaxrpc Component Type -> Web Service Endpoint Service Dialog -> specificare file WSDL e mapping Component General Properties service endpoint implementation -> specificare helloservice.helloimpl Web Service Endpoint dialog service endpoint interface -> specificare helloservice.if Namespace -> urn:foo LocalPart -> HelloIFPort FINITO aprire il package con il deploytool MyHelloService->HelloImpl => settare gli alias -> aggiungere /hello Il Web Service risponderà al seguente indirizzo: 46

24 (4) Deploy del package Selezionare nel deploytool il WAR creato al passo 3 Tools -> deploy NOTA: se l implementazione del WS estraesse un riferimento ad un componente EJB attraverso il servizio JNDI avremmo ottenuto l integrazione tra WS e J2EE 47 (5) Generazione Stub wscompile gen:client d build classpath build config-wsdl.xml -gen:client, generazione dello stub -d cartella di output -classpath, specifica il classpath config-wsdl, file di configurazione File config-wsdl <?xml version="1.0" encoding="utf-8"?> <configuration xmlns=" <wsdl location="myhelloservice.wsdl packagename="staticstub"/> </configuration> location, file wsdl di input (può essere anche un URL) packagename, package di output 48

25 (6) Implementazione Client package staticstub; import javax.xml.rpc.stub; public class HelloClient { private String endpointaddress; public static void main(string[] args) { System.out.println("Endpoint address = " + args[0]); try { Stub stub = createproxy(); stub._setproperty (javax.xml.rpc.stub.endpoint_address_property, args[0]); HelloIF hello = (HelloIF)stub; System.out.println(hello.sayHello("Duke!")); catch (Exception ex) { ex.printstacktrace(); private static Stub createproxy() { return (Stub) (new MyHelloService_Impl().getHelloIFPort()); args[0] deve essere 49 Tipi supportati da Jax-RPC java.lang.boolean java.lang.byte java.lang.double java.lang.float java.lang.integer java.lang.long java.lang.short java.lang.string java.math.bigdecimal java.math.biginteger java.net.uri java.util.calendar java.util.date boolean byte double float int long short array di tipi supportati da JAX-RPC Value Types implementare il costruttore di default non implementare java.rmi.remote tutti i campi devono essere tipi supportati da JAX-RPC i campi pubblici non possono essere final o transient campi non pubblici devono avere i corrispondenti get/set implementati JavaBeans 50

26 Invocazioni Dinamiche JAX-RPC supporta anche creazione dinamica di STUB usando un WSDL estratto a run-time invocazione dinamica di metodi in modo simile alla reflection per classi Java Integrazione con J2EE I Web Service si possono registrare sul server JNDI I componenti locali possono ottenere un riferimento diretto al Web Service 51 JAXR Java API for XML Registry 52

27 JAXR Fornisce API per accedere ad XML registry pubblicare info sui propri Web Service interrogare un registry Ci sono diverse specifiche di registry ebxml, UDDI JAXR offre una astrazione comune per accedere ai registri indipendentemente dalla specifica attualmente ebxml, e UDDI (2.0) 53 Classi principali di JAXR Connection rappresenta una connessione tra un client ed un registry RegistryService interfaccia lato client per l accesso al registry BusinessQueryModel interfaccia lato client per effetuare ricerche nel registry DeclarativeQueryManager ricerche basate su SQL BusinessLifeCycleManager interfaccia lato client per la modifica delle informazioni nel registry 54

28 Implementazione di un client JAXR Passi eseguiti dal Client Creazione della connessione con il registry Interrogazione del registry 55 (1) Creazione della Connessione 1/2 Creazione di un ConnectionFactory in J2EE Context context = new InitialContext(); ConnectionFactory connfactory = (ConnectionFactory) context.lookup("java:comp/env/eis/jaxr"); in J2SE ConnectionFactory connfactory = ConnectionFactory.newInstance(); Definizione delle proprietà della connessione Properties props = new Properties(); props.setproperty("javax.xml.registry.querymanagerurl", " props.setproperty("javax.xml.registry.lifecyclemanagerurl", " Moltissime opzioni disponibili, vedi specifica e J2EE tutorial 56

29 (1) Creazione della Connessione 2/2 Creazione della connessione connfactory.setproperties(props); Connection connection = connfactory.createconnection(); Estrazione dell interfaccia lato client RegistryService rs = connection.getregistryservice(); BusinessQueryManager bqm = rs.getbusinessquerymanager(); BusinessLifeCycleManager blcm = rs.getbusinesslifecyclemanager(); 57 (2) Interrogazione del Registry BusinessQueryManager implementa molti medodi find... I principali findorganizations findservices findservicebindings Tutti i registry implementano almeno le seguenti tassonomie NAICS (North American Industry Classification) UNSPSC (Universal Standard Products and Services Classification) ISO 3166 country codes JAXR supporta l aggiunta di nuove tassonomie (user-defined) Vedere J2EE tutorial per esempio di uso di metodi find 58

30 Modifica dei dati sul registry Per modificare i dati di un registry bisogna essere autorizzati String username = "myusername"; String password = "mypassword"; PasswordAuthentication passwdauth = new PasswordAuthentication(username, password.tochararray()); Set creds = new HashSet(); creds.add(passwdauth); connection.setcredentials(creds); Bisogna pubblicare sia una descrizione della propria organizzazione che dei Web Service forniti 59 Esempi Diversi esempi disponibili sul J2EE Tutorial 60

Leonardo Mariani Esercitazione di Sistemi Distribuiti. Interoperabilità Business-to-customer (B2C) Business-to-business (B2B)

Leonardo Mariani Esercitazione di Sistemi Distribuiti. Interoperabilità Business-to-customer (B2C) Business-to-business (B2B) Web Services Leonardo Mariani Esercitazione di Sistemi Distribuiti 1 Scenario Interoperabilità Business-to-customer (B2C) Business-to-business (B2B) Applicazioni Inter-aziendali Service Oriented Computing

Dettagli

Java Web Services. Uso di Eclipse e Apache Axis

Java Web Services. Uso di Eclipse e Apache Axis Java Web Services Uso di Eclipse e Apache Axis 1 Gli strumenti utili per iniziare Axis (Web Service tool) Eclipse (IDE di sviluppo) Tomcat (servlet/jsp container) N.B. Eclipse e Tomcat possono essere sostituiti

Dettagli

Client e Server comunicano tramite il protocollo SOAP.

Client e Server comunicano tramite il protocollo SOAP. In questo tutorial implementeremo un semplice SOAP web service in PHP che un client Java richiamerà. In questo modo mostreremo l'interoperabilità fra linguaggi diversi che SOAP permette di avere. La struttura

Dettagli

Classificazione dei Web Services

Classificazione dei Web Services Web Services Programmazione in ambienti distribuiti Anno 2004-2005 Claudio Zunino Classificazione dei Web Services Interattiva il client è umano ed utilizza tipicamente un web browser Sviluppati usando

Dettagli

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

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Sommario Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Introduzione.................................................................................. 1 SOAP........................................................................................

Dettagli

ZTL Firenze Inserimento Automatico

ZTL Firenze Inserimento Automatico ZTL Firenze Inserimento Automatico Introduzione In seguito alla variazione dell ordinanza del giugno 2011 che regola la modalità di rilascio dei permessi portale per le categorie abilitate, non è più possibile

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento

Dettagli

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com Web Service SOAP e WSDL Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com SOAP Originariamente: Simple Object Access Protocol E poi evoluto in un Framework per lo scambio di messaggi in XML 2

Dettagli

Creare client statici

Creare client statici Client statico Creare client statici Un client statico crea, a partire dal WSDL di un servizio, un insieme di classi di supporto client-side (stub) Sono necessari solo 2 passi: 1. parsing del WSDL pubblicato

Dettagli

1 EJB e Portal Component Object http://desvino.altervista.org

1 EJB e Portal Component Object http://desvino.altervista.org 1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un

Dettagli

SOAP e Web Services. SOAP: introduzione

SOAP e Web Services. SOAP: introduzione SOAP e Web Services 1 SOAP: introduzione Attualmente le applicazioni distribuite rappresentano una grossa parte della produzione software. Inoltre lo sviluppo di Internet e delle Intranet rende utile creare

Dettagli

PRACTICAL DEVELOPMENT OF A WEB SERVICE

PRACTICAL DEVELOPMENT OF A WEB SERVICE PRACTICAL DEVELOPMENT OF A WEB SERVICE 1 JAX-WS 2.0 Java API for XML Web Services Specifica basata su annotazioni Applicata su classi ed interfacce in modo da definire e gestire automaticamente il protocollo

Dettagli

JNDI. Massimo Merro Programmazione di Rete 214 / 229

JNDI. Massimo Merro Programmazione di Rete 214 / 229 JNDI Abbiamo già visto come i registri RMI espletino un servizio di Naming attraverso cui vengono associati nomi simbolici a referenze a server remoti. Esistono comunque altri servizi di naming: COS (Common

Dettagli

RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO

RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO 1)d ALLEGATO 14 RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO TRA IL SISTEMA INFORMATICO DEL COMUNE ED IL SISTEMA INFORMATICO DELLA SOCIETA PREPOSTA AL SERVIZIO DI REFEZIONE vers. 2.2 Indice 1. SCOPO

Dettagli

Programmazione di Web Services

Programmazione di Web Services Luca Cabibbo Architetture Software Programmazione di Web Services Dispensa ASW 860 ottobre 2014 La scelta tra architetture può ben dipendere da quali sono gli svantaggi che il cliente può gestire meglio.

Dettagli

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità: 7 Esercitazione (svolta): due possibilità: Java RMI: callback Molte applicazioni richiedono un meccanismo publish/subscribe I partecipanti (client) necessitano di notifiche da parte del coordinatore (server)

Dettagli

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it Java Remote Method Invocation -- RMI G. Prencipe prencipe@di.unipi.it RMI RMI è una tecnologia JAVA che permette a una JVM di comunicare con un altra JVM per farle eseguire metodi È possibile che oggetti

Dettagli

Spring WS Sviluppare WebService in Java

Spring WS Sviluppare WebService in Java Spring WS Sviluppare WebService in Java 1.1 Introduzione Nell ambito della programmazione Java è particolarmente utile avere una certa familiarità con i WebService e la tecnologia che li supporta. In particolare

Dettagli

Socket & RMI Ingegneria del Software - San Pietro

Socket & RMI Ingegneria del Software - San Pietro Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

Relazione sulla tecnologia. Giacomo Sacchetti <sacchetti@nepero.net> Imad Zaza <slackzaza@gmail.com>

Relazione sulla tecnologia. Giacomo Sacchetti <sacchetti@nepero.net> Imad Zaza <slackzaza@gmail.com> Relazione sulla tecnologia Giacomo Sacchetti Imad Zaza 22 ottobre 2006 2 Indice 1 Gli Web Services 7 1.1 Introduzione............................... 7 1.2 World

Dettagli

Web Service. Massimo Martinelli Massimo.Martinelli@isti.cnr.it

Web Service. Massimo Martinelli Massimo.Martinelli@isti.cnr.it 29/05/2010, Area Ricerca CNR, Pisa Web Service Introduzione Massimo Martinelli Massimo.Martinelli@isti.cnr.it Consiglio Nazionale delle Ricerche - CNR Istituto di Scienza e Tecnologie della Informazione

Dettagli

Web Service Architecture

Web Service Architecture 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

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Laboratorio di Sistemi Distribuiti Leonardo Mariani

Laboratorio di Sistemi Distribuiti Leonardo Mariani Laboratorio di Sistemi Distribuiti Leonardo Mariani ELECTION ALGORITHMS In molti sistemi distribuiti un processo deve agire da (o svolgere un ruolo particolare) per gli altri processi. Spesso non è importante

Dettagli

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org 1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org Prefazione. Da Hello World a Hello World Wide Web. Hello World è la prima frase stampata a video dal primo programma di esempio scritto

Dettagli

Web Services Servizio Telematico Dogane

Web Services Servizio Telematico Dogane Web Services Servizio Telematico Dogane MANUALE PER L'UTENTE Pagina 1 di 21 Indice 1 Introduzione... 3 2 Test funzionale dei web services... 6 3 Creazione del client... 10 3.1 Soluzioni Open Source...

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 05/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Creazione dell esempio d uso...

Dettagli

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano

Dettagli

Esercitazione di Sistemi Distribuiti: Java RMI

Esercitazione di Sistemi Distribuiti: Java RMI Esercitazione di Sistemi Distribuiti: Java RMI Anno Accademico 2007-08 Marco Comerio comerio@disco.unimib.it Richiami Teorici Oggetti distribuiti 2-16 Usuale organizzazione di un oggetto remoto con un

Dettagli

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino

Dettagli

INF-1: Specifiche Tecniche di Interfaccia

INF-1: Specifiche Tecniche di Interfaccia INF-1: Specifiche tecniche di Interfaccia INF-1: Specifiche Tecniche di Interfaccia Versione 1.1 Nome doc.: INF-1 Specifiche Interfaccia v1.0.doc Edizione: 1.0 Data emissione: 12/1/2007 INDICE Modifiche

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Service Oriented Architectures e Web Services Corso di Applicazioni Telematiche A.A. 20010-11 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos è un Web Service?

Dettagli

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.

SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l. Progetto SITI Manuale Utente SITI-Reports ABACO S.r.l. ABACO S.r.l. C.so Umberto, 43 46100 Mantova (Italy) Tel +39 376 222181 Fax +39 376 222182 www.abacogroup.eu e-mail : info@abacogroup.eu 02/03/2010

Dettagli

A2A Specifiche Web Services

A2A Specifiche Web Services A2A Specifiche Web Services Contenuti 1 CONTENUTI...1 1 INTRODUZIONE...3 2 UPLOAD SEGMENTATO...5 2.1 RICHIESTA UPLOAD SEGMENTATO...5 2.1.1 Input del WS...5 2.1.2 Output del WS...6 2.2 UPLOAD SEGMENTATO...7

Dettagli

Plus srl :: www.conplus.it :: info@conplus.it :: Via Morgagni, 4/A 37135 Verona :: Tel. +39 045 580 491 :: Fax 045 82 78 722

Plus srl :: www.conplus.it :: info@conplus.it :: Via Morgagni, 4/A 37135 Verona :: Tel. +39 045 580 491 :: Fax 045 82 78 722 PMF Web-Service Quick-Start Guide Guida Introduttiva Cliente Redatto da Francesco Buratto Redatto il 01 gennaio 2011 Riferimento PMF 2011 Introduzione PMFWS è un web-service HTTP che espone un interfaccia

Dettagli

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

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL Pag. 1 di 17 Progetto SIRPE De-materializzazione personalizzati CIL per la cooperazione Versione 1.0 INDICE Pag. 2 di 17 1 INTRODUZIONE 4 1.1 Scopo del documento 4 1.2 Riferimenti 4 2 GENERALITÀ 4 2.1

Dettagli

Gestione Richieste Patenti Web

Gestione Richieste Patenti Web >> Specifiche Integrazione Web Services RTI Gestione Richieste Patenti Web Servizio di Sviluppo SVI Versione 1.0-07 Dicembre 2009 Indice dei contenuti 1 GENERALITA... 6 1.1 Lista di distribuzione...6 1.2

Dettagli

Integrazione InfiniteCRM - MailUp

Integrazione InfiniteCRM - MailUp Integrazione InfiniteCRM - MailUp La funzionalità della gestione delle campagne marketing di icrm è stata arricchita con la spedizione di email attraverso l integrazione con la piattaforma MailUp. Creando

Dettagli

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

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security

Dettagli

Seminario di Sistemi Distribuiti RPC su SOAP

Seminario di Sistemi Distribuiti RPC su SOAP Seminario di Sistemi Distribuiti RPC su SOAP Massimiliano Vivian [777775] Massimiliano Vivian 1 Introduzione La comunicazione delle informazioni è l elemento fondamentale per lo sviluppo dei sistemi. SOAP

Dettagli

1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages

1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages 1 http://desvino.altervista.org JSPDynPage, componenti portale e Java Server Pages Le JSP DynPages sono un utile strumento, fornito da SAP Netweaver, per una gestione più evoluta di event handling e session

Dettagli

Web Services Security

Web Services Security Web Services Security Introduzione ai Web Services Davide Marrone Sommario Cosa sono i web services Architettura dei web services XML-RPC SOAP (Simple Object Access Protocol) WSDL (Web Services Description

Dettagli

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144 Mobilità di Codice Abbiamo già visto come un dato host possa trasmettere un oggetto (serializzabile) ad un altro host. Quest ultimo potrà eseguire l oggetto pur non possedendo il bytecode della classe

Dettagli

Processi BPEL. Obiettivi

Processi BPEL. Obiettivi Università degli studi di Roma Tor Vergata Facoltà di Ingegneria Processi BPEL Corso di Sistemi Distribuiti Stefano Iannucci Anno accademico 2009/10 Email: sd@chmod.it Obiettivi Esercitazione pratica su:

Dettagli

Un introduzione ai Web service

Un introduzione ai Web service Un introduzione ai Web service Valeria Cardellini Università di Roma Tor Vergata Definizione di Web service Definizione fornita del W3C http://www.w3.org/tr/ws-arch/ A Web service is a software system

Dettagli

RMI: metodi equals e hashcode

RMI: metodi equals e hashcode RMI: metodi equals e hashcode Per verificare se due oggetti remoti contengono gli stessi dati, la chiamata indirizzata al metodo equals() avrebbe bisogno di contattare i server dove si trovano gli oggetti

Dettagli

Mappare il DB senza XML. Introduzione alle annotation di Hibernate3

Mappare il DB senza XML. Introduzione alle annotation di Hibernate3 Introduzione alle annotation di Hibernate3 a cura di Lucio Benfante Hibernate Hibernate è un framework che realizza un object/relational mapping (ORM) fra oggetti Java e strutture di un database relazionale

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 Prerequisiti per

Dettagli

Programmazione di sistemi distribuiti

Programmazione di sistemi distribuiti Programmazione di sistemi distribuiti I Sistemi Distribuiti, per loro natura, prevedono che computazioni differenti possano essere eseguite su VM differenti, possibilmente su host differenti, comunicanti

Dettagli

Il Registro dei Servizi di OpenSPCoop i. Il Registro dei Servizi di OpenSPCoop

Il Registro dei Servizi di OpenSPCoop i. Il Registro dei Servizi di OpenSPCoop i Il Registro dei Servizi di OpenSPCoop ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Visualizzazione del registro dei servizi HTTP 1 3 Visualizzazione del registro dei servizi UDDI

Dettagli

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Reflection in Java 1 Reflection Riflessione

Dettagli

SSO Specifiche Funzionali

SSO Specifiche Funzionali SSO Specifiche Funzionali oggetto... : SSO Siti Istituzionali Class abbonamenti data ultimo aggiornamento... : 29/01/2014 N Data Descrizione Approvato da: 1.0 11-03-2013 Versione 1.0 Roberto Santosuosso

Dettagli

Introduzione a Java Remote Method Invocation (RMI)

Introduzione a Java Remote Method Invocation (RMI) Introduzione a Java Remote Method Invocation (RMI) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi E risuona il mio barbarico yawp sopra i tetti del mondo ( I sound my barbaric

Dettagli

DOCFINDERWEB SERVICE E CLIENT

DOCFINDERWEB SERVICE E CLIENT DOCFINDERWEB SERVICE E CLIENT Specifiche tecniche di interfacciamento al Web Service esposto da DocPortal Versione : 1 Data : 10/03/2014 Redatto da: Approvato da: RICCARDO ROMAGNOLI CLAUDIO CAPRARA Categoria:

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Java Servlet Parte a versione 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca

Dettagli

PROGETTO TESSERA SANITARIA SERVIZI DI COMUNICAZIONE ATTIVAZIONE E REVOCA DELLE TS-CNS

PROGETTO TESSERA SANITARIA SERVIZI DI COMUNICAZIONE ATTIVAZIONE E REVOCA DELLE TS-CNS PROGETTO TESSERA SANITARIA Pag. 2 di 13 INDICE 1. INTRODUZIONE 4 2. CANALI DI COMUNICAZIONE DEI SISTEMI REGIONALI CON IL SISTEMA TS 5 3. SERVIZIO DI COMUNICAZIONE ATTIVAZIONE/REVOCA CNS 6 3.1 DESCRIZIONE

Dettagli

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare

Dettagli

Laboratorio di RETI DI CALCOLATORI

Laboratorio di RETI DI CALCOLATORI Laboratorio di RETI DI CALCOLATORI A.A. 2009-2010 I WEB SERVICES Carlo Mastroianni Laboratorio di Reti di Calcolatori - Orario lunedì, 11:30-13:30, aula 40B mercoledì, 10:00-11:30, laboratorio settimo

Dettagli

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31

Dettagli

Programmazione dei socket con TCP #2

Programmazione dei socket con TCP #2 I Il Server e il Client si scambiano messaggi attraverso la rete mediante un dell API (Application Programming Interface) Telematica II 10. Esercitazione/Laboratorio 3 Server ports Clients user space Socket

Dettagli

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop i Tutorial di configurazione e programmazione di OpenSPCoop ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : Tutorial di configurazione e programmazione di OpenSPCoop AZIONE NOME DATA FIRMA

Dettagli

Programmazione a Oggetti Lezione 10. Ereditarieta

Programmazione a Oggetti Lezione 10. Ereditarieta Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare

Dettagli

Web Services in Eclipse. Sistemi Informativi Aziendali A.A. 2011/2012

Web Services in Eclipse. Sistemi Informativi Aziendali A.A. 2011/2012 Web Services in Eclipse Outline Apache Axis Web Service Clients Creating Web Services 2 Creating Web Services Web Services in Eclipse At the core of a web service The methods of any(*) Java class may be

Dettagli

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Regione Toscana Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Stato del documento Definitiva Versione del documento 1.8 Data 29/05/13 Documento Acronimo del documento Specifiche

Dettagli

Non si deve fare ALCUN riferimento alla parte specifica di JDBC.

Non si deve fare ALCUN riferimento alla parte specifica di JDBC. Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si

Dettagli

Registri RMI. Massimo Merro Univ. Verona Programmazione di Rete 90 / 247

Registri RMI. Massimo Merro Univ. Verona Programmazione di Rete 90 / 247 Registri RMI Per poter interagire con un server remoto, un client deve essere in possesso di una sua referenza remota (ovvero un oggetto stub). Un servizio di Naming è una risorsa centralizzata che può

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Programmazione distribuita

Programmazione distribuita Programmazione distribuita 1 Architettura client-server È il modo classico di progettare applicazioni distribuite su rete Server offre un servizio "centralizzato" attende che altri (client) lo contattino

Dettagli

Introduzione a Service Oriented Architecture e Web Service

Introduzione a Service Oriented Architecture e Web Service Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Introduzione a Service Oriented Architecture e Web Service Corso di Sistemi Distribuiti e Cloud Computing

Dettagli

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

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

Dettagli

Test di unità con JUnit4

Test di unità con JUnit4 Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso

Dettagli

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

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1 Gli XML Web Service Prof. Mauro Giacomini Medica 2008/2009 1 Definizioni i i i Componente.NET che risponde a richieste HTTP formattate tramite la sintassi SOAP. Gestori HTTP che intercettano richieste

Dettagli

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication

Dettagli

Programmazione di servizi web SOAP

Programmazione di servizi web SOAP Luca Cabibbo Architettura dei Sistemi Software Programmazione di servizi web SOAP dispensa asw860 marzo 2017 What is elegance? Soap and water! Cecil Beaton 1 - Fonti The Java EE 7 Tutorial https://docs.oracle.com/javaee/7/tutorial/

Dettagli

QUALIFICAZIONE DELLA PORTA DI DOMINIO

QUALIFICAZIONE DELLA PORTA DI DOMINIO QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA Versione 1.0 Qualificazione della Porta di INDICE 1. PROCESSO DI QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA 3 2. DESCRIZIONE

Dettagli

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop i Guida alla programmazione e integrazione di servizi in OpenSPCoop ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : Guida alla programmazione e integrazione di servizi in OpenSPCoop AZIONE

Dettagli

1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org

1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org 1 Applicazione J2EE sul SAP WAS con SAP NWDS http://desvino.altervista.org Applicazione J2EE sul SAP WAS con SAP NWDS. Il SAP Web Application Server fornisce un framework integrato per lo sviluppo e l

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

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

Definizione di Web service (2) Un introduzione ai Web service. Caratteristiche dei Web service. Valeria Cardellini Università di Roma Tor Vergata Definizione di Web service Definizione fornita del W3C http://www.w3.org/tr/ws-arch/ Un introduzione ai Web service Valeria Cardellini Università di Roma Tor Vergata A Web service is a software system

Dettagli

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

Dettagli

Introduzione JDBC interfaccia java.sql driver caricare i driver

Introduzione JDBC interfaccia java.sql driver caricare i driver J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene

Dettagli

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni

Tomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni Tomcat & Servlet Programmazione in Ambienti Distribuiti V 1.2 Marco Torchiano 2005 Contenuti Tomcat Applicazioni Web Struttura Sviluppo Deployment Servlet JSP Uso delle sessioni 1 Tomcat Tomcat è un contenitore

Dettagli

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2 i Manuale SDK di OpenSPCoop2 ii Copyright 2005-2013 Link.it srl iii Indice 1 Introduzione 1 2 La Personalizzazione del Protocollo di Cooperazione 1 3 Il Software Development Kit 2 3.1 Gestione dei payload.................................................

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Enterprise @pplication Integration Software S.r.l.

Enterprise @pplication Integration Software S.r.l. SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

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

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Dettagli

Configurazione di base. Dott. Doria Mauro doriamauro@gmail.com

Configurazione di base. Dott. Doria Mauro doriamauro@gmail.com Hibernate Configurazione di base Dott. Doria Mauro doriamauro@gmail.com I file di configurazione Hibernate prevede l uso dei file di configurazione formato XML. I principali file sono: Un file di configurazione

Dettagli

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008

Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di

Dettagli

Rapporto tecnico sulle tipologie di agenti software definiti e implementati nell ambito del progetto

Rapporto tecnico sulle tipologie di agenti software definiti e implementati nell ambito del progetto Rapporto tecnico sulle tipologie di agenti software definiti e implementati nell ambito del progetto Indice 1 Introduzione 2 2 Piattaforma utilizzata nel progetto 2 2.1 Lato software...........................

Dettagli

Distributed Object Computing

Distributed Object Computing Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata

Dettagli

Java Web Services. Facoltà di Ingegneria - Università degli studi di Catania. Dipartimento di Ingegneria Informatica e delle Telecomunicazioni

Java Web Services. Facoltà di Ingegneria - Università degli studi di Catania. Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Facoltà di Ingegneria - Università degli studi di Catania Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Giovanni Morana Agenda Web Services Service Oriented Architecture SOA XML (cenni)

Dettagli

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli