JAX-WS. Java API for XML Web Services. Massimo Martinelli
|
|
- Michele Rubino
- 8 anni fa
- Visualizzazioni
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=" 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 somma(@webparam(name = "i") int = "j") int j) { int k = i + j; return k;
24 @WebParam V personalizzazione dei parametri di input(@webparam) e di output(@webresult) 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) = " name = = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL)
27 Personalizzazione tramite SistemaInformativoService, targetnamespace= ) public class SistemaInformativo getpersona ) public Persona getpersona(@webparam(name= 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 (
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 Java Web Services Developer Pack 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 ( 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 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
DettagliCreare 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
DettagliJava 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
DettagliRMI. 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
DettagliIl 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
DettagliSpring 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
DettagliJava 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
DettagliApplication 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
DettagliTale 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
DettagliJava: 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
DettagliProcessi 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:
DettagliWeb 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........................................................................................
DettagliPlus 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
DettagliTutorial 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:
DettagliClient 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
DettagliLa 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.
DettagliLe 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,
DettagliProgettAzione 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
DettagliIntroduzione 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
DettagliCorso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
DettagliLezione 1 Introduzione
Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software
DettagliJNDI. 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
DettagliTest 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
DettagliTecniche di progettazione e sviluppo di applicazioni mobile
Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy diegozabot@yahoo.it Android Introduzione diegozabot@yahoo.it
DettagliSeminario 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
DettagliGli 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
Dettagli1 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
DettagliIl 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...
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliWeb 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
DettagliUso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012
Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di
DettagliWeb 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...
DettagliEclipse. Avviare un progetto e compilare un semplice programma
Eclipse Avviare un progetto e compilare un semplice programma Descrizione di Eclipse Eclipse è un ambiente di sviluppo che facilita la scrittura ed il debug di programmi java Permette di: Scrivere il codice
DettagliIBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
DettagliSocket & 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
DettagliLa 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
Dettagliappunti delle lezioni Architetture client/server: applicazioni server
Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture /: applicazioni 1 La logica dei Abbiamo visto che un applicazione si connette e comunica con un applicazione mediante
DettagliWeb 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
DettagliCorso 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
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliProva 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
DettagliEsercitazione n 4. Obiettivi
Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:
Dettagli13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti
13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliSAPIENZA 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
DettagliGuida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724)
Guida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724) Procedo con un esempio: voglio proteggere una applicazione (nell esempio Blocco Note di Windows: notepad.exe) per distribuirla con
DettagliMobilità 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
Dettagli10.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
DettagliIl web server Apache Lezione n. 3. Introduzione
Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar
DettagliISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE
ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE Pag. 1 di 14 INDICE 1. Glossario... 3 2. il servizio SPCoop - Ricezione... 5 3. Il web-service RicezioneFatture... 8 3.1 Operazione RiceviFatture... 9 3.1.1
DettagliProgrammazione 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
DettagliGuida all utilizzo del compilatore lcc-win32 per creare una applicazione console
Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console Il compilatore per i linguaggi c e c++ chiamato lcc-win32 è un prodotto gratuito scaricabile dal sito http://www.cs.virginia.edu/~lcc-win32/
DettagliMONITORAGGIO UNITARIO PROGETTI 2007/2013 PROTOCOLLO DI COLLOQUI ANALISI ATTIVAZIONE SERVIZIO IGRUE IN SPCOOP. Link.it srl - Analisi Servizio IGRUE 1
MONITORAGGIO UNITARIO PROGETTI 2007/2013 PROTOCOLLO DI COLLOQUI ANALISI ATTIVAZIONE SERVIZIO IGRUE IN SPCOOP Link.it srl - Analisi Servizio IGRUE 1 Panoramica L'attuale sistema IGRUE è composto da: Il
DettagliIstruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)
Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza
DettagliAppunti di Informatica www.mimmocorrado.it 1
Installare Java Il programma può essere scaricato dal seguente indirizzo: http://www.java.com/it/download/windows_ie.jsp?locale=it&host=www.java.com Per installare la JDK è necessario: 1. scaricare il
DettagliIntroduzione all uso di Eclipse
Introduzione all uso di Eclipse Daniela Micucci Programmazione Outline Eclipse: concetti generali Definire un workspace Creare un project Importare un file Utilizzo 1 Introduzione Eclipse è un ambiente
DettagliIBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
DettagliBreve 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
DettagliIBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
Dettagli19. 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
DettagliSiti interattivi e dinamici. in poche pagine
Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata
DettagliQuando 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
DettagliCorso di Informatica Modulo T3 B2 - Database in rete
Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual
DettagliProgrammazione 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.
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 2 (svolta) Socket Java con connessione Luca Foschini Anno accademico 2009/2010 Esercitazione 2 1 Architettura
DettagliOggetto: 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
DettagliSicurezza 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
Dettagli11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE
DettagliSERVICE BROWSER. Versione 1.0
SERVICE BROWSER Versione 1.0 25/09/2008 Indice dei Contenuti 1. Scopo del documento... 3 2. Introduzione... 3 3. Accordi di Servizio... 4 4. Servizi... 5 5. Servizio: Schede Erogatori... 8 6. Servizio:
DettagliTecnologie 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
DettagliReflection 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
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
Dettagli1 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
Dettagli1 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
DettagliInterfaccia 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
DettagliGuida alla registrazione on-line di un DataLogger
NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso
DettagliATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE
ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE PREMESSA La presente guida è da considerarsi come aiuto per l utente per l installazione e configurazione di Atollo Backup. La guida non vuole approfondire
DettagliIl Paradigma REST per lo sviluppo di applicazioni Web 2.0
tesi di laurea Anno Accademico 2006/2007 Il Paradigma REST per lo sviluppo di applicazioni Web 2.0 relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Marcello Cinque candidato Antonio Alonzi Matr.
DettagliREOL-Services Quick Reference Ver. 1.1 Tecno Press Srl. 1
In questa semplice guida sono riportate tutte le informazioni relative alla prima registrazione e quelle relative alla configurazione dell ambiente di lavoro per poter utilizzare al meglio la nostra suite
DettagliSiti 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
DettagliProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete
ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete Compito in classe proposto Realizzare un applicazione C/S per trasferire al Client il contenuto
DettagliSpecifica 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.
DettagliProgrammazione 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
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili 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 Corso di
DettagliClient - Server. Client Web: il BROWSER
Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare
DettagliGli 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
DettagliIntegrazione 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
DettagliJava 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
DettagliTecnologie 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
DettagliEsempio di esecuzione di una pagina JSP: Il client chiede la pagina: http:// sdfonline.unimc.it/info/modulo.jsp;
JAVA SERVER PAGES Una pagina JSP (Java Server Pages), richiesta da un utente (client), viene eseguita dal server web nella propria memoria; generalmente il prodotto dell elaborazione è una pagina html
DettagliAmbienti di Sviluppo
Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il
DettagliIntroduzione 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
DettagliSVI08-0003 Nuovo Sistema Revisioni
>> Nuovo Sistema Revisioni - Specifiche Web Services Officina SVI08-0003 Nuovo Sistema Revisioni Servizio di Sviluppo Software RTI Indice dei contenuti 1 GENERALITA... 8 1.1 Lista di distribuzione...8
DettagliSITI-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
DettagliProgrammazione ad Oggetti Modulo A (Esame del 11/9/2015)
Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Esercizio 1 Considerate la seguente gerarchia di classi: class A { public void print(string s) { System.out.println(s); public void m1() { print("a.m1");
Dettagli2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.
ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione
DettagliNetwork Services Location Manager. Guida per amministratori di rete
apple Network Services Location Manager Guida per amministratori di rete Questo documento illustra le caratteristiche di Network Services Location Manager e spiega le configurazioni di rete per sfruttarne
DettagliArchitettura 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