Usare Apache Axis.

Slides:



Advertisements
Presentazioni simili
XmlBlackBox La presentazione Alexander Crea 11 Aprile 2010 La presentazione Alexander Crea 11 Aprile 2010.
Advertisements

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Programmazione in Java
Web Services Mario Arrigoni Neri.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Sistema di gestione flussi documentali
Web Services.
Java Enterprise Edition (JEE)
Connessione con MySQL.
Università degli Studi di Modena e Reggio Emilia Facoltà dIngegneria - sede di Modena Corso di Laurea in Ingegneria Informatica Interoperabilità di componenti.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
IN QUESTA PRESENTAZIONE…
OUTLINE Riprogettazione del database del portale Web della Facoltà di Ingegneria Sviluppo di una applicazione WEB DB : HOMEPAGE DOCENTI Architettura multilivello.
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Tecnologie di Sviluppo per il Web
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
Cagliari 4 Ottobre 2002 Krenesiel ESPERIENZA e LINEE KRENESIEL Workshop NAME Alessandra Spada
XmlBlackBox La presentazione Alexander Crea 7 Giugno 2010 La presentazione Alexander Crea 7 Giugno 2010.
Corso JSF Java Server Faces Mauro Sanfilippo 02/09/2010.
REST Il paradigma REST è basato su un protocollo di comunicazione stateless, client-server, chacheable e scalabile, tipicamente HTTP (ma non necessariamente,
EJB Enterprise Java Beans B. Pernici. Approccio Java.
Ambiente di Invocazione Dinamica dei Servizi Enrico Mussi - WP2.
Hadoop: introduzione (1)
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
CORSO DI INFORMATICA LAUREA TRIENNALE-COMUNICAZIONE & DAMS
Un framework per il pattern MVC
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
ASP Lezione 1 Concetti di base. Introduzione ad ASP ASP (che è la sigla di Active Server Pages) è un ambiente di programmazione per le pagine web. La.
JDBC(TM) Database Access
Elaborazione di Franco Grivet Chin
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Corso Java/J2EE per PM/software architect Servlet
Struttura di un progetto eclipse
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Architettura Java/J2EE
Argomenti della lezione
Corso di PHP.
PROGETTAZIONE E REALIZZAZIONE DI UN MIDDLEWARE CLIENT-SERVER
LNL M.Biasotto, Bologna, 13 dicembre Installazione automatica Massimo Biasotto – INFN LNL.
Chinosi Michele – matr.: La seconda release di Virtuose basata su database XML La seconda release di Virtuose basata su.
Page 1. Page 2 Gestione Rendite La soluzione Kirey Architettura.
Guida IIS 6 A cura di Nicola Del Re.
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
Criniti Brunino Misale Claudia OBIETTIVO APPLICAZIONE: Integrazione di risorse ampiamente utilizzate nel campo della ricerca biomedica:
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Fondamenti di JSP: Introduzione
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati.
Ingegneria del software Modulo 3 -Tecniche dimplementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 4 – Le transazioni.
1 Applet ed HTML Fondamenti di Informatica Corso D.
Ant Che cos’è Come si utilizza Funzionalità principali
Java Enterprise Edition
Java Enterprise Edition
Java Enterprise Edition
Java Enterprise Edition
Vannucci Roberto (5BM), De Nardin Axel (5AM)
Università degli Studi di Bologna FACOLTA’ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica I web services come soluzione per l’interoperabilità.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Java Enterprise Edition
Fabrizio Felici LAMP workshop GROsseto Linux Users Group.
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Protocolli e architetture per WIS. Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 1 – Introduzione.
Eprogram informatica V anno.
Architetture software
Eprogram informatica V anno. Programmare in rete.
Transcript della presentazione:

Usare Apache Axis

Sviluppare e Installare un Web Service Scrivere una implementazione in Java Scrivere un deployment descriptor (WSDD) per il servizio Verrà usato da Axis per gestire le chiamate SOAP Usato per indicare i metodi Java che si vogliono esporre come servizio Usare AdminClient di Axis per installare il file WSDD Comunica alla servlet axis di caricare la classe e ridirigere ad esse le richieste SOAP Finito Axis genera automaticamente il file WSDL per il web service

WSDD di prova <deployment name="EseguiComando" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="EseguiComando" provider="java:RPC"> <parameter name="scope" value="request"/> <parameter name="className" value="SoapTest.ECwsImp"/> <parameter name="allowedMethods" value="execLocalCommand"/> </service> </deployment>

Spiegazione Usare AdminClient da riga di comando per installare il servizio sul server java org.apache.axis.client.AdminClient deploy.wsdd axis.jar nel classpath. Axis creerà un servizio chiamato http://localhost:8080/services/EseguiComando WSDL del servizio http://localhost:8080/services/EseguiComando?wsdl Lista di tutti i servizi http://localhost:8080/services

Scrivere un client SOAP Dopo il deploy del servizio si programma il client per invocarlo Si possono utilizzare direttamente le API SOAP di Axis

Esempio SOAP Axis Service service = new Service(); Call call = (Call) service.createCall(); //Settare il target Endpoint al giusto indirizzo call.setTargetEndpointAddress( new URL(“http://localhost:8080/axis/services) ); //Invocare l'operazione call.setOperationName(new QName(“EchoService",“echo")); call.addParameter( “in0", XMLType.XSD_STRING, ParameterMode.IN ); call.setReturnType(XMLType.XSD_STRING); Object ret = call.invoke(new Object[] {in0}); //ret è String o RemoteException in caso di errore.

Un altro metodo Axis puo' generare automaticamente il codice necessario a partire dal file WSDL

Usare WSDL2Java Ottenere il file WSDL del servizio Usare il comando http://localhost:8080/axis/services/Echo?wsdl Usare il comando java org.apache.axis.wsdl.WSDL2Java Echo.wsdl

File generati Vengono generati 4 file: Echo.java: interfaccia EchoService.java: interfaccia client-side EchoServiceLocator.java: locator che implementa l'interfaccia EchoSoapBindingStub.java: utilizza Call di SOAP come nel primo esempio Scrivere il programma Java utilizzando i file

Stub di esempio /**Crea un client per Echo */ Echo myEcho = new EchoServiceLocator().getEcho(new URL(http://localhost:8080/axis/services/Echo)); /** Usare il metodo come in locale */ String risposta= myEcho.echo(“Ciao!”);

Usare gli Stub Il client visto prima può essere impiegato in qualsiasi codice Java per eseguire un servizio remoto GUI Swing, programmi da riga di comando, JSP, ecc. Attenzione al classpath I jar di Axis sono necessari sia per il client che per il web service In Tomcat, bisogna caricare axis tra le librerie del server. tomcat-5.5.x/webapps/app/WEB-INF/lib

Eclipse WTP http://eclipse.org/webtools Due principali sottoprogetti WST (Web Standard Tools) HTML, XML, CSS, JS, WSDL, SOAP, UDDI, SQL JST (J2EE Standard Tools) Servlet, JSP, EJB, JAX-RPC, JDBC, JAXP Tools per HTML, XML, Web Services, J2EE, Data Server tools per application servers: Tomcat, JBOSS, WebSphere, WebLogic, ecc.

Screencast / Demo

Cosa fa il Wizard Installa il motore SOAP di Axis nel progetto Genera lo scheletro Java bean per il servizio e le classi per XML data binding nella cartella src Copia test.wsdl in WebContent/wsdl/testSOAP.wsdl e imposta l'endpoint per la Web application creata Crea il descrittore wsdd di Axis in WebContent/WEB-INF/server- config.wsdd Crea file per deploy e undeploy del Web service in una sottocartella di WebContent/WEB-INF Avvia Tomcat

Axis e oltre IBM SOAP4J -> Apache SOAP -> Axis -> Axis2 SUN JAXWS Codehaus Xfire JbossWS webMethods Glue SOAPpy, ZSI, wsdl2py SOAP::Lite, XMLRPC::Lite, UDDI::Lite C# System.Web.Services; phpxmlrpc, WSO2

THE END Grazie per l'attenzione