JAX-WS. Java API for XML Web Services. Massimo Martinelli

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "JAX-WS. Java API for XML Web Services. Massimo Martinelli Massimo.Martinelli@isti.cnr.it"

Transcript

1 29/05/2010, Area Ricerca CNR, Pisa JAX-WS Java API for XML Web Services Massimo Martinelli Consiglio Nazionale delle Ricerche - CNR Istituto di Scienza e Tecnologie della Informazione - ISTI

2 Il corso di Java Web Services in 1 Minuto! import... Scriviamo una classe Java con un metodo Aggiungiamo public class MioWebService public String ciao(string nome) { return Ciao + nome; Finito!...

3 RIPARTIAMO :-) JAX-WS Java API for XML Web Services Massimo Martinelli Consiglio Nazionale delle Ricerche - CNR Istituto di Scienza e Tecnologie della Informazione - ISTI

4 Sommario Cosa è JAX-WS? Implementazione di Web Service e di Client Tipi di dato supportati da JAX-WS JAXB Esercizi da svolgere durante il corso

5 Secondo il W3C... Un Web Service è un sistema software designato a supportare interazioni interoperabili macchina-macchina su una rete. Ha una interfaccia descritta in un formato elaborabile da una macchina (specificamente WSDL). Altri sistemi interagiscono con il Web Service in un modo prescritto dalla sua descrizione usando messaggi SOAP, tipicamente convogliati usando HTTP con una serializzazione XML insieme ad altri standard Web.

6 Cosa è JAX-WS acronimo di Java API for XML Web Services Tecnologia per realizzare Web Service e client in Java che comunicano utilizzando messaggi SOAP-XML L implementazione di riferimento (JAX-WS for Reference Implementation) è un progetto open source e fa parte del progetto GlassFish, un application server Java EE. Fa parte della distribuzione Metro

7 Web Services semplificati Da Java 5 (Java 1.5) introdotte le annotazioni ovvero dei Metadati sul codice Java Esempio di Annotazioni: Possono essere trattate a livello di compilazione Possono essere trattate anche tempo di esecuzione

8 Annotazioni nei Web Service Per sviluppare un Web Service con JAX-WS è necessario utilizzare l'annotazione javax.jws.webservice Ovvero: la classe che implementa il Web Service deve essere annotata con la annotazione javax.jws.webservice (o con javax.jws.webserviceprovider)

9 Service Endpoint Interface (SEI) Una interfaccia service endpoint (SEI) è una interfaccia Java che dichiara i metodi che un client può invocare sul servizio SEI non necessaria quando si implementa un endpoint JAXWS: la classe di implementazione del Web Service (SIB Service Implementation Bean) definisce implicitamente una SEI può riferire esplicitamente una SEI tramite l elemento endpointinterface dell

10 Preparazione agli esercizi Creare una directory LINUX ~home/java-pgm/ C:/java-pgm/ dove installeremo i programmi che seguono...

11 Strumenti che utilizzeremo: Java SE 6 Java Standard Development Kit versione 6 (Se non è già installata eseguire da terminale il comando java version ) Scaricare da

12 Strumenti che utilizzeremo: Netbeans Netbeans è un ambiente di sviluppo realizzato da SUN Scaricare da (versione Java o All )

13 Strumenti che utilizzeremo: Glassfish Application server open source realizzato da Sun di riferimento per Java EE 5/6. Incluso con NetBeans Supporta: EJB 3.1 JPA 2 JAXB 2.x JAX-WS 2.x

14 Per utilizzare con Tomcat scaricare ant da scaricare metro da java -jar metro*.jar ant -Dtomcat.home=<DirectorydiTomcat> -f metro-ontomcat.xml install V

15 Implementazione di un Web Service A partire da: una classe Java un documento WSDL

16 Implementazione di un Web Service (classe Java): Passi Base 1. Codificare la classe che implementa il servizio 2. Compilare tale classe 3. Dispiegare (deploy) il file WAR 4. Codificare la classe per il client 5. Utilizzare wsimport per generare e compilare gli artefatti 6. Compilare la classe client 7. Eseguire il client

17 Codifica della classe SIB (1/2) package serviziociao; import public class Ciao { private String messaggio = new String("Ciao, "); public void Ciao() public String saluto(string nome) { return messaggio + nome + ".";

18 Codifica della classe SIB (2/2) La classe implementata, Ciao, è annotata come web service utilizzando Ciao dichiara un singolo metodo chiamato saluto, annotato con La classe implementata deve anche definire un costruttore di default public senza argomenti

19 JAX-WS Endpoint I metodi della classe che implementa il Web Service devono essere public, e non devono essere dichiarati ne static ne final I metodi di Business esposti ai client dei Web service devono: essere annotati con javax.jws.webmethod avere tipi di parametri compatibili con JAX-B Le classi che implementano i Web Service Non devono essere dichiarate abstract Devono avere un costruttore di default public Non devono definire il metodo finalize Possono usare le annotazioni javax.annotation.postconstruct o javax.annotation.predestroy sui propri metodi per gestire il loro ciclo di vita Il è chiamato dal container prima che la classe di implementazione inizi a rispondere ai client del Web Service Il è chiamato dal container prima che l'endpoint sia rimosso dall'operazione

20 Esercizio (Guidato) Realizzare un Web Service che fa la somma di due numeri interi Da Netbeans creare un nuovo progetto Web Creare un nuovo Web service Dispiegare, eseguire e provare (Test)

21 Non vi avevo detto che bisognava importare anche... package serviziociao.endpoint; import javax.jws.webservice; import public class Ciao { private String messaggio = new String("Ciao, "); public void Ciao() public String saluto(string nome) { return messaggio + nome + ".";

22 @WebService V Attributi name: nome del wsdl:porttype (per difetto il nome della classe Java senza package) portname: nome del wsdl:portname (per difetto è il nome del WebService concatenato a Port) servicename: nome del servizio (wsdl:service) (per difetto il nome della classe concatenato alla Stringa Service ) endpointinterface: (es. endpointinterface = "package.miowebserviceinterface") specifica il nome completo della SEI (per difetto la classe java,comprensiva del package, concatenata alla Stringa ServicePortType ) targetnamespace: namespace di riferimento per il WSDL e gli XML generati (per difetto è il nome del package java) wsdllocation: l'indirizzo documento WSDL del Web Service. L'indirizzo può essere relativo o assoluto. (servicename = "NomeServizio", endpointinterface = "it.cnr.nomeservizioserviceporttype", targetnamespace="http://.../", portname="nomeservizioserviceport")

23 @WebMethod V Per difetto tutti i metodi public di una classe annotata vengono esposti nel Web Service Per personalizzare un metodo esposto come operazione WS si Attributi action definisce l'azione per l'operazione. (per difetto = al nome del metodo ) exclude specifica se il metodo va escluso dalla pubblicazione del Web Service. (per difetto= false ) (Booleano) operationname specifica il nome di wsdl:operation per il metodo (per difetto = nome del public int = "i") int = "j") int j) { int k = i + j; return k;

24 @WebParam V personalizzazione dei parametri di e di di un metodo del Web Service Attributi header: Specifica se il parametro si trova in un'intestazione di messaggio anziché nel corpo. Per difetto è false. (Booleano) mode: WebParam.mode.IN parametro, WebParam.mode.OUT, WebParam.mode.INOUT che rappresentano parametri in input, in output e parametri ripetuti sia in input che in output name: nome del parametro. targetnamespace: spazio dei nomi XML dell'elemento XML per il parametro

25 @SOAPBinding In caso i metodi del Web Service utilizzino tipi semplici come String o int è possibile utilizzare la seguente In caso di utilizzo di tipi complessi lo stile da utilizzare corrisponde a quello di Nel secondo caso vedremo più avanti come utilizzare il mapping (da oggetti Java in XML e viceversa) con JAXB

26 @SOAPBinding Indipendenza dal Protocollo e dal specifica come avviene il mapping a livello SOAP Attributi style stile di codifica per messaggi inviati e ricevuti. Valori: DOCUMENT (default), RPC. use formattazione per messaggi inviati e ricevuti. Valori LITERAL(default). ENCODED (non WS-I standard) parameterstyle valori Wrapped (default) o BARE (utilizzabile solo in stile DOCUMENT) = "http://...", name = = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL)

27 Personalizzazione tramite SistemaInformativoService, targetnamespace= ) public class SistemaInformativo getpersona ) public Persona codicefiscale ) String codicefiscale) { //... codice di implementazione...

28 Implementazione del Servizio (da classe Java) Al momento dell'esecuzione Netbeans genera automaticamente gli artefatti, compila tutte le classi, dispiega il servizio e attiva l application server Dietro le quinte il Web Service (endpoint) viene generato dal tool wsgen wsgen cp./build -keep -s./src -d./build package.class

29 Artefatti Il tool wsimport a partire dal WSDL crea le classi di supporto (artefatti): Service Endpoint Interface (SEI) Service Exception class a partire da wsdl:fault Oggetti generati a partire dagli schemi XML (JAXB...) Per invocare una operazione WS è necessario istanziare la classe service ed ottenere il proxy mediante chiamata al metodo: get<servicename>port CalculatorService svc = new CalculatorService(); Calculatorproxy = svc.getcalculatorport( ) ; int answer = proxy.somma(35, 7);

30 wsimport Parametri: wsdl: percorso del file wsdl (es: /home/massimo/servizio.wsdl, destdir: destinazione dei compilati generati sourcedestdir: destinazione dei sorgenti generati keep: se indicata mantiene i sorgenti generati verbose: dettaglio verboso delle operazioni svolte binding: specifica il tipo di collegamento package: nome del package per le classi generate

31 Prova del Servizio...senza un Client Aprire Admin Console collegandosi col browser all'indirizzo Fornire utente e password per effetturare il login Cliccare su Web Services nel panello a sinistra Cliccare Hello Cliccare Test (http://localhost:8080/esempiowsciao/ciaoservice?tester)

32 Prova del metodo sayhello in Methods, scrivere un nome come parametro per il metodo sayhello Cliccare il pulsante sayhello

33 Analisi dei Messaggi SOAP

34 Client a partire da un WSDL

35 Implementazione di un servizio a partire da un WSDL Netbeans genera un Web Service (bozza) a partire da un WSDL Dietro le quinte esegue per noi il comando wsimport wsimport -keep s <directory_sorgenti> -d <classi_generate_compilate> <percorso_documento_wsdl> -keep non cancella i file sorgenti generati Il comando genera eventuali artefatti JAXB per gestire tipi non di base

36 Codifica del Client 1. Utilizzare l annotazione javax.xml.ws.webserviceref per riferire un Web Service L attributo wsdllocation specifica l URI del documento 080/EsempioWSCiao/CiaoService?wsdl 2. Invocare il metodo del Web Service utilizzando il proxy (port) del service Hello port = service.getciaoport(); 3. Invocare il metodo (saluto ) del proxy (port)

37 ClientCiao package simpleclient; import javax.xml.ws.webserviceref; import helloservice.endpoint.helloservice; import serviziociao.endpoint.ciao; public class ClientCiao static CiaoService service = new CiaoService(); public static void main(string[] args) { try { ClientCiao client = new ClientCiao(); client.dotest(args); catch(exception e) { e.printstacktrace(); public void dotest(string[] args) { try { System.out.println( Recupero il proxy (port) dal servizio: " + service); Ciao port = service.getciaoport(); System.out.println("Invoco l operazione saluto sul proxy (port)"); String name; if (args.length > 0) { nome= args[0]; else { nome = Nessun nome"; String response = port.saluto(nome); System.out.println(response); catch(exception e) { e.printstacktrace();

38 Esercizio Preparare un client che chiami il metodo registranome del Web Service WSnominativo descritto dal WSDL che trovate all indirizzo il metodo richiede in input un parametro di tipo String Test: Controllo accessi:

39 Tipi Supportati da JAX-WS Per essere indipendenti dal linguaggio i tipi supportati sono limitati a quelli descritti nelle specifiche: tipi atomici (es. int, boolean, ecc.) String array e List semplici JavaBean usati come strutture (con costruttore public) JAX-WS delega a JAXB il collegamento tra tipi Java e XML (e viceversa). Sviluppatori non devono preoccuparsi del collegamento (in generale)

40 JAXB Java API XML Binding Librerie che consentono di collegare (binding) oggetti Java a documenti XML A partire da un documento XML schema si può creare una classe Java corrispondente le cui istanze possono leggere/scrivere documenti XML e viceversa

41 Marshalling / Serializzazione Il procedimento detto marshalling si riferisce alla possibilità di serializzare (..trasformare..) oggetti Java in documenti XML. A partire da un oggetto Java, schemagen crea un documento XML corrispondente schemagen [-opzioni...] [sorgenti_java] Le istanze di queste classi possono essere collegate ai relativi documenti XML

42 Unmarshalling / Deserializzazione Il procedimento detto unmarshalling si riferisce alla possibilità di deserializzare (..trasformare..) documenti XML (schema) in oggetti Java. A partire da un documento xjc crea un oggetto Java corrispondente XML Schema xjc [-opzioni...] <schema> xjc biblioteca.xsd Le istanze di questa classe possono essere collegate a documenti XML

43 public class Persona () { private String nominativo; private String identificatore; public Persona() { public void getnominativo(){ return nominativo; public void setnominativo(string nominativo){ this.nominativo=nominativo; public int getidentificativo() { return // identificatore attributo dell'elemento radice public void setid(int identificatore) { this.identificatore = identificatore;

44 JAXB Serializzare e Deserializzare // Serializzare un oggetto in XML Persona persona= new Persona(); persona.setnominativo("salvo Montalbano"); persona.setidentificatore( slvmnt); // creiamo il contesto JAXB e un marshaller (serializzatore) JAXBContext contesto = JAXBContext.newInstance(Persona.class); Marshaller serializzatore = contesto.createmarshaller(); // Impostiamo un formato pretty serializzatore.setproperty(marshaller.jaxb_formatted_output, true); // serializzaimo serializzatore.marshal(persona, new File("/output.xml")); // Deserializzare (Ottenere l'oggetto dall'xml // creiamo il contesto JAXB e un unmarshaller (deserializzatore) JAXBContext contesto = JAXBContext.newInstance(Persona.class); Unmarshaller deserializzatore = contesto.createunmarshaller(); // otteniamo l'oggetto Message msg = (Persona)deserializzatore.unmarshal(new File("/persona.xml"));

45 public class Persona () { private String nominativo; private String public Dipendente() { Persona persona;

46 Esempio public class Persona () { private String nominativo; private String public Persona() { public void getnominativo(){ return nominativo; public void setnominativo(string nominativo){ this.nominativo=nominativo; public int getidentificativo() { return // identificatore attributo dell'elemento radice public void setid(int identificatore) { this.identificatore = identificatore;

47 Gestire gli allegati (attachment): = public class WSUpload { public void fileupload(string DataHandler data) { try { DataHandler dh = data; File file = new File(nomeFile); FileOutputStream outputstream = new FileOutputStream(file); dh.writeto(outputstream); catch (Exception e) { throw new WebServiceException(e);

48 Gestire gli allegati (attachment): Client WSUploadService service = new WSUploadService(); // classe generata MTOMFeature feature = new MTOMFeature(); WSUpload port = service.getwsuploadport(feature); //classe generata URL url = new URL("file:///home/massimo/prova.png"); DataHandler dh = new DataHandler(url); String nomefile = "prova.png"; port.fileupload(nomefile, dh);

49 Esercizio Preparare un client che chiami il metodo YYYYY del Web Service XXXX descritto dal WSDL che trovate all indirizzo il metodo richiede in input un parametro di tipo String e un parametro file corrispondente ad una immagine jpg o gif o png che avete sul vostro disco

50 Novità introdotta con in Java SE 6 //pubblicazione di un POJO (Plain Ordinary Java public class Calcolatore WebServiceContext context; // ottiene dal server il contesto dei WS public int somma(int a, int b) { return a+b; // crea e pubblica un endpoint Calcolator calculatore = new Calcolatore(); Endpoint endpoint=endpoint.publish( // WSDL creato e pubblicato al volo: // assegnazione di protocollo (per difetto è HTTP) // Endpoint endpoint=endpoint.create(soapbinding.soap12http_binding,calcolatore); //endpoint.publish( );

51 Client Asincroni (nonblocking) class AmazonAsyncClient { public static void main(string[ ] args) { // Usage if (args.length!= 1) { System.err.println("Usage: java AmazonAsyncClient <access key>"); return; final String access_key = args[0]; // Create service and get porttype reference. AWSECommerceService service = new AWSECommerceService(); AWSECommerceServicePortType port = service.getawsecommerceserviceport(); // Create request. ItemSearchRequest request = new ItemSearchRequest(); // Add details to request. request.setsearchindex("books"); request.setkeywords("quantum gravity"); ItemSearch item_search= new ItemSearch(); item_search.setawsaccesskeyid(access_key); // The handler class implements handleresponse, which executes item_search.getrequest().add(request); // if and when there's a response. port.itemsearchasync(item_search, new MyHandler()); static class MyHandler implements AsyncHandler<ItemSearchResponse> { // In this case, just sleep to give the search process time. public void handleresponse(response<itemsearchresponse> future) { // In a production application, other useful tasks could be try { // performed and the application could run indefinitely. ItemSearchResponse response = future.get(); try { List<Items> item_list = response.getitems(); Thread.sleep(400); for (Items next : item_list) for (Item item : next.getitem()) catch(interruptedexception e) { System.err.println(e); System.out.println(item.getItemAttributes().getTitle()); catch(interruptedexception e) { System.err.println(e); catch(executionexception e) { System.err.println(e);

52 Bibliografia Metro User Guide https://metro.dev.java.net/guide/index.html Java Web Services Developer Pack 2.0 Java EE 5 Developing using Glassfish Application Server. David R. Heffelfinger Packt Publishing Create stand-alone Web services applications with Eclipse and Java SE 6. Fiona Lam, John Robertson, IBM developerworks Documentazione di WebSphere Application Server topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/rwbs_jaxwsannotatio ns.html RESTful Web services: The basics. Alex Rodriguez - IBM developerworks Web Services con Java5. MokaByte 127, Marzo Aprile 2008 (http://www.mokabyte.it/) Java & XML. Brett McLaughlin O'Reilly Java Web Services Up adn Running O'Reilly Corso Comune Livorno Web Services. M.Martinelli Corso Comune Livorno AXIS 2.1. M.Martinelli Corso Comune Livorno Java e XML. M.Martinelli

53 Grazie!

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

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

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

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

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

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

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

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

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

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

Web Services Dogane LINEE GUIDA

Web Services Dogane LINEE GUIDA Web Services Dogane LINEE GUIDA Pagina 1 di 17 Indice Indice... 2 1. INTRODUZIONE... 3 2. TEST FUNZIONALI SUI WEB SERVICES... 8 3. SICUREZZA... 14 4. FIRMA... 14 5. TRASFORMAZIONE CERTIFICATO DI FIRMA...

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

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

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

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

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

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 services. 25/01/10 Web services

Web services. 25/01/10 Web services Web services Tecnologia per il computing distribuito standard W3C non dissimile da RMI, CORBA, EJB... Relazione con il Web Websites for humans, Web Services for software :-) un Web service ha un indirizzo

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

Web Service: Introduzione. Algoritmi e sistemi di elaborazione - Vittorio Maniezzo - Università di Bologna

Web Service: Introduzione. Algoritmi e sistemi di elaborazione - Vittorio Maniezzo - Università di Bologna Web Service: Introduzione 1 Contenuti Background.NET Framework ASP.NET Web Service Concetti e architetture Progettazione e sviluppo di Web Service Utilizzo di Web Service 2 Sezione 1: Introduzione Inquadramento

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

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni, persistenza, distribuzione oggetti (location

Dettagli

DEL SENDER GUIDA INTEGRATIVA ALL INSTALLAZIONE. Versione N.1.0. Data 11/05/2009. Sender - Guida integrativa alla installazione

DEL SENDER GUIDA INTEGRATIVA ALL INSTALLAZIONE. Versione N.1.0. Data 11/05/2009. Sender - Guida integrativa alla installazione GUIDA INTEGRATIVA ALL INSTALLAZIONE DEL SENDER Versione N.1.0 Data 11/05/2009 Versione 1.0, Data emissione 11/05/2009 Pag. 1 di 15 Revisione Capitolo Modifica Data 1.0 Prima Emissione 11/05/2009 Versione

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Interfaccia SOAP del FUSC. Versione 3.10

Interfaccia SOAP del FUSC. Versione 3.10 Interfaccia SOAP del FUSC Versione 3.10 Indice 1 Introduzione... 4 2 Descrizione... 5 2.1 Condizioni per l utilizzo del web service... 5 2.2 Il server SOAP... 5 2.3 Attivazione del web service... 5 2.3.1

Dettagli

Le command line di Java

Le command line di Java Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,

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

Prova d Esame 07.04.2006 Compito B

Prova d Esame 07.04.2006 Compito B DOMANDA 1 (6 punti) Si analizzi il codice seguente e si scriva l output prodotto dai metodi main public class General { public static String s1 = "ciao"; protected int n; public General() { n = 3; public

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-2011 Link.it s.r.l. iii Indice 1 Introduzione 1 2 Modalità d integrazione trasparente 1 3 Modalità d integrazione tramite

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

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

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

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

Rimando ai vari tutorial che ci sono sulla rete per la configurazione dei componenti.

Rimando ai vari tutorial che ci sono sulla rete per la configurazione dei componenti. Questo è un tutorial BASICO, scritto pensando anche a chi non ha mai avuto a che fare con lo sviluppo di Wss. Per questo motivo le definizioni di alcuni concetti potrebbero essere approssimative in quanto

Dettagli

Tecnologie Web L-A. Java e HTTP. Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi. Java e TCP/IP in a Nutshell

Tecnologie Web L-A. Java e HTTP. Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi. Java e TCP/IP in a Nutshell Tecnologie Web L-A Java e HTTP Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi Java e TCP/IP in a Nutshell! java.net.inetaddress: rappresenta un indirizzo IP e

Dettagli

1 SAP Netweaver e Adobe BlazeDS http://desvino.altervista.org. Framework Flex

1 SAP Netweaver e Adobe BlazeDS http://desvino.altervista.org. Framework Flex 1 SAP Netweaver e Adobe BlazeDS http://desvino.altervista.org J2EE e Adobe BlazeDS Java EE è una piattaforma completa per lo sviluppo di applicazioni enterprise; Adobe Flex è leader nel mondo delle RIA

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

19. Introduzione al multi-threading

19. Introduzione al multi-threading 19. Introduzione al multi-threading Marco Faella Dip. Ing. Elettrica e Tecnologie dell'informazione Università di Napoli Federico II Corso di Linguaggi di Programmazione II I thread I thread, o processi

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

RESTful Web Service. Andrea Pinazzi. 10 Maggio 2010

RESTful Web Service. Andrea Pinazzi. 10 Maggio 2010 RESTful Web Service Andrea Pinazzi 10 Maggio 2010 Che cos è REST? REST, Representational State Transfer, è uno stile architetturale per sistemi software distribuiti. Il termine è stato introdotto e definito

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

AXIS2 Quick Start Pagina 1 AXIS2 QUICK START

AXIS2 Quick Start Pagina 1 AXIS2 QUICK START AXIS2 Quick Start Pagina 1 1. Introduzione AXIS2 QUICK START Apache-Axis2 implementa le API di JAX-WS (javax.jws.*) per semplificare lo sviluppo e la distribuzione di Java Web Services (JWS) basati sul

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

BizTalk server fa parte dell offerta di Microsoft per la grande azienda.

BizTalk server fa parte dell offerta di Microsoft per la grande azienda. Web Service Dopo le applicazioni desktop e quelle per Internet, i servizi Web sono la terza componente essenziale delle applicazioni.net. I Web Service sono una nuova tecnologia che permette la realizzazione

Dettagli

Progetto di Laboratorio di Reti: chat-0.1

Progetto di Laboratorio di Reti: chat-0.1 Progetto di Laboratorio di Reti: chat-0.1 Federico Fortini 13 aprile 2006 1 Descrizione dei requisiti Sviluppare un servizio di messaggistica (chat) su connessione cifrata con SSL. La chat deve avere una

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

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati Activation In generale i Sistemi ad oggetti distribuiti sono progettati per lavorare con oggetti persistenti. Dato che questi sistemi saranno composti da migliaia (forse milioni) di tali oggetti, sarebbe

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

Nicolò Carandini HTTP, Web Services e RestSharp (II parte) 1

Nicolò Carandini HTTP, Web Services e RestSharp (II parte) 1 Nicolò Carandini HTTP, Web Services e RestSharp (II parte) 1 HTTP, Web Services e RestSharp Dopo aver descritto nella prima parte di quest articolo 1 le basi su cui poggia la comunicazione nel Word Wide

Dettagli

Corso Eclipse. Prerequisiti. 3 Window Builder

Corso Eclipse. Prerequisiti. 3 Window Builder Corso Eclipse 3 Window Builder 1 Prerequisiti Conoscenza elementare ambiente Eclipse Conoscere la nomenclatura dei componenti delle interfacce grafiche Conoscere attributi e metodi dei principali componenti

Dettagli

Programmazione su Reti

Programmazione su Reti Programmazione su Reti Esempio di applicazione Client Server su protocollo Soap Fabio Donatantonio Applicazione Applicazione Client-Server per la gestione di un elenco di persone con relativi dati. Viene

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corsi di Laurea in Ingegneria Informatica ed Automatica ed Ingegneria

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

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

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

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-2011 Link.it s.r.l. iii Indice 1 Introduzione 1 2 Ambiente di sviluppo 1 3 Presentazione degli scenari di esempio 2 4 Comunicazione

Dettagli

Corso di Laurea in Informatica e Comunicazione Digitale. a.a. 2006-2007. Interazione Uomo-Macchina. Introduzione a Java.

Corso di Laurea in Informatica e Comunicazione Digitale. a.a. 2006-2007. Interazione Uomo-Macchina. Introduzione a Java. Corso di Laurea in Informatica e Comunicazione Digitale a.a. 2006-2007 Interazione Uomo-Macchina Introduzione a Java Seconda Parte Irene Mazzotta Giovanni Cozzolongo Vincenzo Silvetri 1 Richiami: Java

Dettagli

Introduzione ai connettori

Introduzione ai connettori Luca Cabibbo Architetture Software Dispensa ASW 810 ottobre 2014 Le relazioni tra elementi sono ciò che dà valore aggiunto ai sistemi. Eberhardt Rechtin 1 -Fonti [Shaw] Mary Shaw, Procedure Calls are the

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

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

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

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 8 Java Server Pages Java Server Pages è essenzialmente un modo più comodo per il programmatore dell applicazione web di scrivere una Servlet.

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

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

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

Introduzione al linguaggio Java. Applicazioni ed Applets: come scriverli e farli girare. Caratteristiche originali e differenze con C / C++.

Introduzione al linguaggio Java. Applicazioni ed Applets: come scriverli e farli girare. Caratteristiche originali e differenze con C / C++. Introduzione al linguaggio Java Cosa c è di nuovo in Java? Java ed Internet. Applicazioni ed Applets: come scriverli e farli girare. Caratteristiche originali e differenze con C / C++. Dove trovare informazioni?

Dettagli

ProgettoSMS. Manuale Gateway Web Services

ProgettoSMS. Manuale Gateway Web Services ProgettoSMS Manuale Gateway Web Services Indice Indice... 2 Introduzione... 3 http Web Services... 4 Risposta... 4 Descrizione delle costanti... 5 AnswerRecipientType... 5 ErrorID... 5 ProtocolType...

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

Cifratura simmetrica

Cifratura simmetrica Cifratura Cifratura simmetrica Alice canale insicuro Bob 2 Cifratura simmetrica m Algoritmo di decifratura m Alice canale insicuro Algoritmo di cifratura Bob 3 Cifrari simmetrici chiave privata k chiave

Dettagli

Sommario. Introduzione... xvii. 1 Che cosa sono i servizi Web?... 1

Sommario. Introduzione... xvii. 1 Che cosa sono i servizi Web?... 1 Sommario Introduzione................................................... xvii Benvenuti!......................................................... xvii Questo libro fa al caso vostro?..........................................

Dettagli

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans

Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Prima di tutto va installato il compilatore, ottenibile scaricando ed installando MinGW o CygWin. MinGW: http://www.mingw.org/download.shtml CygWin:

Dettagli

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

WebServices. Distribuire una computazione. Sistemi che usano RPC Sun RPC RPC. Il Web usato dai programmi. Vincenzo Gervasi 1 Distribuire una computazione WebServices Il Web usato dai programmi Vincenzo Gervasi Dipartimento di Informatica Università di Pisa L idea di distribuire una computazione è vecchia quasi quanto l informatica

Dettagli

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina

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

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

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

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

La serializzazione e deserializzazione nel formato SOAP. A cura del docente Giuliano Pellegrini Parisi - 2009

La serializzazione e deserializzazione nel formato SOAP. A cura del docente Giuliano Pellegrini Parisi - 2009 La serializzazione e deserializzazione nel formato SOAP A cura del docente Giuliano Pellegrini Parisi - 2009 Il protocollo SOAP SOAP ossia Simple Object Access Protocol è un protocollo standard basato

Dettagli

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern Organizzazione della lezione 15. Java Remote Method Invocation (3) Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Il design pattern

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Prova d Esame 07.04.2006 Compito A

Prova d Esame 07.04.2006 Compito A DOMANDA 1 (6 punti) Si analizzi il codice seguente e si scriva l output prodotto dai metodi main public class General { public static String s1 = "Ciao"; protected int n; public General() { n = 1; public

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

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

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

Specifica i tipi di oggetti a creare, utilizzando un istanza prototipo, e crea nuove istanze tramite la copia di questo prototipo.

Specifica i tipi di oggetti a creare, utilizzando un istanza prototipo, e crea nuove istanze tramite la copia di questo prototipo. Prototype 28 4. Prototype (GoF pag. 117) 4.1. Descrizione 4.2. Esempio Specifica i tipi di oggetti a creare, utilizzando un istanza prototipo, e crea nuove istanze tramite la copia di questo prototipo.

Dettagli

Programmazione Java Avanzata Concetti su Java

Programmazione Java Avanzata Concetti su Java Programmazione Java Avanzata Concetti su Java Ing. Giuseppe D'Aquì Testi di Riferimento Java ( R. Liguori, P. Liguori), O'Reilly Hops Tecniche Nuove (2008) Java Virtual Machine Il codice scritto in Java

Dettagli

Riccardo Solimena e Stefano Dellafiore Javaday IV Roma 30 gennaio 2010

Riccardo Solimena e Stefano Dellafiore Javaday IV Roma 30 gennaio 2010 Applicazioni RESTful con Jersey Come realizzare un microblog in 10 minuti About us Senior Consultant @ Milano About us Senior Consultant @ Lugano JIP Java Italian Portal Sito Internet - http://www.javaportal.it/

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Tutorial web Application

Tutorial web Application Tutorial web Application Installazione della JDK: Java viene distribuito con la jdk e il jre acronimi di Java Development Kit e Java Runtime Environment rispettivamente. La jdk è l'ambiente di sviluppo

Dettagli

Unità B3 Strutture di controllo

Unità B3 Strutture di controllo (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: I/O su console Package Blocco di controllo Oggetto System.out Oggetto System.in Oggetto Tastiera Metodo readline() Strutture

Dettagli

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA A.A. 2007/08 Tutor: Barbara Pettazzoni barbara.pettazzoni@studio.unibo.it Java: Compilazione e Traduzione Editing, compilazione, esecuzione

Dettagli

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); } import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO

Dettagli

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE IDROID 86 LAB pagg 12-13 23-04-2007 14:57 Pagina 12 I-D01 LAB UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE PROGRAMMAZIONE Alcuni comportamenti predefiniti attivabili su I-Droid01 sono facilmente riproducibili

Dettagli

Web Services. Ing. Enrico Oliva Phd student, DEIS eoliva@deis.unibo.it

Web Services. Ing. Enrico Oliva Phd student, DEIS eoliva@deis.unibo.it Web Services Ing. Enrico Oliva Phd student, DEIS eoliva@deis.unibo.it 1 Web Services I servizi Web permettono alle applicazioni di invocare operazioni direttamente sulla rete da diversi sistemi fornendo

Dettagli

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2)

Gestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2) Gestione di errori e situazioni eccezionali Gestione delle eccezioni Una procedura (utente o di libreria) deve poter segnalare l impossibilità di produrre un risultato significativo o la propria terminazione

Dettagli

Architetture Web I Server Web e gli Standard della Comunicazione

Architetture Web I Server Web e gli Standard della Comunicazione Architetture Web I Server Web e gli Standard della Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 27 Marzo 2012 Architetture Architetture Web Protocolli di Comunicazione Il Client Side

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

Dettagli

Componenti (middleware)

Componenti (middleware) Luca Cabibbo Architetture Software Componenti (middleware) Dispensa ASW 850 ottobre 2014 Le interfacce dei componenti devono essere progettate in modo che ciascun componente possa essere implementato in

Dettagli

Application Server per sviluppare applicazioni Java Enterprise

Application Server per sviluppare applicazioni Java Enterprise Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente

Dettagli