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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 Facoltà di Ingegneria - Università degli studi di Catania Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Giovanni Morana

2 Agenda Web Services Service Oriented Architecture SOA XML (cenni) Simple Object Access Protocol - SOAP Web Services Description Language -WSDL Universal Description, Discovery and Integration UDDI (cenni) Busine Proces Execution Language for WS - BPEL4WS Sun Java WS API J2EE J5EE Glassfish and METRO project Apache AXIS Architettura Deploy dei servizi Invocazione dei servizi

3 Service-Oriented Architecture In computing, the term service-oriented architecture expresses a perspective of software architecture that defines the use of loosely coupled software services to support the requirements of the business processes and software users. In an SOA environment, resources on a network are made available as independent services that can be accessed without knowledge of their underlying platform implementation. Migrating to a service-oriented architecture, IBM DeveloperWorks

4 SOA: caratteristiche base Interfacce indipendenti dall implementazione ogni servizio deve essere descritto in maniera indipendente dal linguaggio e dalla piattaforma utilizzati per la sua realizzazione Reperibilità e binding dinamico un servizio deve poter essere ricercato tramite gli elementi dell interfaccia esposta e richiamato a run time Accessibilità da rete garantisce la trasparenza rispetto alla locazione

5 SOA: caratteristiche base Loosely coupled services servizi debolmente accoppiati garantiscono semplicità di gestione Aggragabilità più servizi possono essere composti per portare a termine un particolare task Gestione dei Fault ogni servizio dovrebbe essere in grado di rilevare eventuali errori e notificarli e/o intraprendere azioni correttive

6 SOA: attori Service Provider rende disponibile il servizio, ne espone l interfaccia e la pubblica su uno specifico registry Service Requestor/Consumer utilizza il servizio tramite l interfaccia esposta dal provider, ottenuta tramite queries ad un service registry Service Registry/Broker, colleziona le informazioni relative ai servizi/provider e le mette a disposizione dei requestor/consumer

7 SOA: funzionalità Descrizione del servizio illustra le operazioni che il servizio puo svolgere, le inquadra in specifici end-point e fornisce le modalità per l accesso Ricerca del servizio meccanismo per la pubblicazione e la ricerca delle informazioni. Scambio di messaggi protocollo per la codifica ed il trasporto dei dati

8 SOA REGISTRY CONSUMER PROVIDER

9 Web Services Secondo la definizione del W3C: Web Services are a software applications identified by a URI, whose interface and bindings are capable of being identified, described and discovered by XML artifacts and supports direct interactions with other software applications using XML based messages via Internet-based protocols Costituiscono una particolare incarnazione SOA di cui mantengono le principali proprietà

10 WS: tecnologie di base XML (extensible Markup Language) Utilizzato per la definizione delle interfacce e la codifica dei messaggi SOAP (Simple Object Access Protocol) Protocollo utilizzato per lo scambio di messaggi WSDL (Web Service Description Language) Utilizzato per la descrizione formale delle interfacce WS UDDI (Universal Description Discovery and Integration) Registry utilizzato per la registrazione, catalogazione e ricerca dei WS BPEL (Business Process Execution Language) Linguaggio per la descrizione di interazioni tra ws multipli

11 WS: tecnologie di base REGISTRY UDDI SOAP SOAP CONSUMER SOAP WSDL PROVIDER

12 XML L extensible Markup Language è un metalinguaggio che permette di definire informazioni di tipo strutturale e semantico. Descrive le interfacce dei WS, ne codifica i messaggi e determina la validità dei dati. SOAP, WSDL, UDDI e BPEL sono XML-based E in formato testuale: -garantisce l interoperabilità tra piattaforma eterogenee -necessità di un parser per l interpretazione di tag non standard che ne inficia le prestazioni

13 XML Intestazione standard <?xml version="1.0"?> Definizione di componente strutturato <dottorando> <nome>giovanni</nome> <cognome>morana</cognome> <indirizzo_ > </indirizzo_ > </dottorando> Definizione di componente composto <Lista XXI ciclo> <dottorando> <nome>giovanni</nome> <cognome>morana</cognome> <indirizzo_ > </indirizzo_ > </dottorando> <dottorando> <nome>daniele</nome> <cognome>zito</cognome> <indirizzo_ > </indirizzo_ > </dottorando> </Lista XXI ciclo>

14 XML Permette all'utente di definire TAG specifici per il contesto applicativo. I TAG utente vengono definiti in documenti detti DTD I DTD sono utilizzati per garantire che ogni entità in gioco abbia una rappresentazione coerente della struttura del documento analizzato. L'utilizzo rigoroso dei TAG permette di definire se un documento è well formed definire se un documento è valido

15 XML: XML Schema & namespaces XML Schema E una collezione di elementi definiti in XML che definisce la grammatica di un documento XML specificando i tag utilizzati, gli attributi e i valori associabili ai tag e le relazioni tra tag diversi. XML Namespace Permette l utilizzo contemporaneo di più XML Schema nello stesso documento risolvendo a priori qualsiasi problema di collisione dovuto a elementi omonimi.

16 SOAP Simple Object Access Protocol è un protocollo di comunicazione basato sullo scambio di messaggi unidirezionale e stateless utilizzato per l integrazione di sistemi distribuiti eterogenei. Si fonda su tecnologie molto diffuse quali HTTP, SMTP, FTP per il trasporto e XML per la codifica dei dati. SOAP è molto potente ed è uno strumento fondamentale per lo sviluppo dei WS ma può essere utilizzato stand alone per lo scambio di messaggi (JAXM) SOAP 1.2 [raccomandazione W3C]

17 SOAP: specifiche Le specifiche SOAP stabiliscono: Come XML deve essere codificato per rappresentare il contenuto del singolo messaggio Come HTTP e SMTP possono utilizzare messaggi SOAP per comunicare Come due messaggi devono essere combinati per ottenere uno scambio di tipo request-replay Le regole necessarie al ricevente per il processamento del contenuto XML del messaggio

18 SOAP: specifiche Remote Procedure Call. I WS possono essere invocati come chiamata a procedura remota. Il messaggio associato contiene informazioni relative al nome e ai parametri della procedura. Utilizzato per applicazioni sincrone. Richiesta e risposta sono realizzati tramite lo scambio di due messaggi distinti Document Oriented. Il messaggio trasporta un insieme di dati codificati in XML che vanno processati come parte di un unico documento. Usato per messaggi asincroni di notifica.

19 SOAP: message SOAP envelope SOAP header SOAP header block SOAP header block SOAP body SOAP body block SOAP body block SOAP fault envelope:identifica il documento XML come un messaggio soap header (?): contiene informazioni specifiche per l applicazione a cui viene destinato body: contiene tutte le informazioni scambiate fault (?): gestisce eventuali errori in fase di decodifica del messaggio Nessun collegamento a DTD/Nessuna istruzione di processamento XML Elementi definiti nel namespace XML soap-envelope del W3C.

20 SOAP: message envelope header body fault <SOAP-ENV:Envelope xmlns:soap-env= xmlns:xsi= xmlns:xsd= > <SOAP-ENV:Header> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:metodoxy-z xmlns:m= provider:servizio SOAP-ENV:encodingStyle= > <Param1>X</Param1> <Param2>Y</Param2> </m:nomemetodo> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

21 SOAP: elemento header E opzionale Contiene informazioni utili alla gestione del messaggio: sicurezza, gestione di credenziali, routing, identificativi di transazioni Permette al messaggio di essere riconosciuto senza che sia necessario la lettura del contenuto. Può contenere SOAP-ENV:MustUnderstand, elemento booleano che impone al ricevente di generare un errore nel caso non sia in grado di interpretare uno specifico elemento <xs: elemento SOAP-ENV: MustUnderstand= true >

22 SOAP: elemento body Contiene il messaggio vero e proprio Poiché le specifiche SOAP definiscono per body il solo elemento figlio fault, è necessario definire un namespace al suo interno. Solitamente tale namespace è associato al file wsdl del web service invocato in quanto gli elementi definiti all interno di body sono quelli contenuti nel wsdl. Può contenere una richiesta, una risposta o l indicazione di errore Può contenere un insieme di body block e un solo body fault

23 SOAP: elemento body public class Prova {public int MetodoXY-Z(int X, int Y){return Z=f(X;Y);}} <SOAP-ENV:Body> <m:metodoxy-z xmlns:m= provider:prova SOAP-ENV:encodingStyle= > <Param1>X</Param1> <Param2>Y</Param2> </m:metodoxy-z> </SOAP-ENV:Body>

24 SOAP: elemento <fault> E opzionale Viene utilizzato per notificare errori <fault> <faultcode> <faultstring> <faultactor> <details> <faultcode> (namespace qualified) contiene indicazione di errori interpretabili automaticamente dagli algoritmi. (<faultstring> contiene le stesse informazioni in formato umano ) <faultactor> identifica il nodo che ha generato l errore (URI) <details> contiene informazioni dettagliate sugli errori generati durante il processamento dei blocchi body

25 SOAP: invio messaggio su HTTP POST /MyApplication HTTP/1.1 Host: Content-Type: text/xml text/xml; charset= utf-8 SOAPAction: urn:provider:prova#metodo <SOAP-ENV:Envelope <SOAP-ENV:Header> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:metodoxy-z xmlns:m= provider:prova SOAP-ENV:encodingStyle= > <Param1>X</Param1> <Param2>Y</Param2> </m:metodoxy-z> </SOAP-ENV:Body> </SOAP-ENV:Envelope> SOAPAction è l elemento di congiunzione.

26 WSDL Web Services Description Language è un linguaggio XML-based utilizzato per descrivere un servizio e le modalità per accedere ad esso. (what) Descrizione servizio. Descrive le funzionalità e il tipo di servizio offerto. (how) Binding concreto. Descrive come viene realizzato il collegamento dell interfaccia con i protocolli concreti (where) Implementazione. Descrive attraverso quale porta si realizza il binding. Porta = punto di accesso

27 WSDL: elementi principali <types> definizione dei tipi di dato utilizzati <message> definizione/descrizione dei messaggi usati nella comunicazione <porttype> definisce le operazioni che il ws può eseguire e i messaggi coinvolti in queste operazioni <binding> definisce il formato del messaggio e i dettagli di protocollo per ogni PortType definito <operation> descrizione delle singole operazioni supportate dal ws <service> collezione di end-point associate ai porttype <port> singolo end-point espresso come coppia binding-indirizzo di rete

28 WSDL: elementi principali WSDL types messages porttype binding service operation operation port

29 WSDL: elementi principali WSDL types messages porttype binding service what? operation operation port

30 WSDL: elementi principali WSDL types messages porttype binding service what? operation operation port how?

31 WSDL: elementi principali WSDL types messages porttype binding service what? operation operation port how? where?

32 WSDL: elementi principali WSDL types messages porttype binding service operation operation port descrizione astratta descrizione concreta

33 WSDL: <types> All interno del tag <types> vengono definiti tutti i tipi di dato coinvolti nelle operazioni esposte dal ws. Per facilitare le definizioni ed essere platform independent, WSDL utilizza l XML Schema syntax

34 WSDL : <message> Definisce i messaggi scambiati tra ws e cliente. <wsdl:message name= Metodo1Request"> <wsdl:part name="x" type="xsd:int"/> </wsdl:message> <wsdl:message name= Metodo1Response"> <wsdl:part name= valritorno" type="xsd:int"/> </wsdl:message> Il tag <part> descrive il nome ed il tipo di variabili utilizzati dallo specifico messaggio (parametri funzione). Poiché ogni messaggio è una composizione dei tipi definiti in <types>,e necessario che ogni variabile descritta in part sia specificata all interno di <types>

35 WSDL : <porttype> E l elemento più importante perché definisce: -le operazioni disponibili -i messaggi coinvolti nelle singole operazioni Concettualmente simile ai file.h (header) in C. <wsdl:porttype name= servclass"> <wsdl:operation name= Metodo1" /> <wsdl:input message="impl:metodo1request" name= Metodo1Request"/> <wsdl:output message="impl:metodo1response" name="metodo1response"/> </wsdl:operation> </wsdl:porttype>

36 WSDL : <porttype> Il WSDL permette quattro tipi di operazioni: One-way: Request- Response: Sollicit- Response: il servizio riceve un messaggio ma non prevede l invio di una risposta. il servizio riceve una richiesta a cui risponde con un messaggio di risposta Il servizio invia un messaggio e attende una risposta Notification: il servizio invia un messaggio ma non attende messaggi di risposta Ogni operazioni può essere costituita da un messagio di input (one-way) di output (notification) o da entrambi: in quest ultimo caso è possibile specificare un ulteriore massaggio di fault

37 WSDL : <Binding> Lega la descrizione del WS (porttype) con il protocollo SOAP, definendo, per ogni operazione, lo stile e il protocollo utilizzato per la fruizione del servizio. <wsdl:binding name= servclasssoapbinding" type="impl:servclass"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name= Metodo1"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="parirequest"> <wsdlsoap:body encodingstyle="http:// /soap/encoding/" namespace="http://defaultnamespace" use="encoded"/> </wsdl:input> <wsdl:output name="pariresponse"> <wsdlsoap:body encodingstyle="http:// /soap/encoding/" namespace="http://localhost:8080/axis/service.jws" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding>

38 WSDL : <Binding> Lega la descrizione del WS (porttype) con il protocollo SOAP, definendo, per ogni operazione, lo stile e il protocollo utilizzato per la fruizione del servizio. <wsdl:binding name= servclasssoapbinding" type="impl:servclass"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name= Metodo1"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="parirequest"> <wsdlsoap:body encodingstyle="http:// /soap/encoding/" namespace="http://defaultnamespace" use="encoded"/> </wsdl:input> <wsdl:output name="pariresponse"> <wsdlsoap:body encodingstyle="http:// /soap/encoding/" namespace="http://localhost:8080/axis/service.jws" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding>

39 WSDL : <Binding> Lega la descrizione del WS (porttype) con il protocollo SOAP, definendo, per ogni operazione, lo stile e il protocollo utilizzato per la fruizione del servizio. <wsdl:binding name= servclasssoapbinding" type="impl:servclass"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name= Metodo1"> <wsdlsoap:operation soapaction=""/> <wsdl:input name= Metodo1Request"> <wsdlsoap:body encodingstyle="http:// /soap/encoding/" namespace="http://defaultnamespace" use="encoded"/> </wsdl:input> <wsdl:output name= Metodo1Response"> <wsdlsoap:body encodingstyle="http:// /soap/encoding/" namespace="http://localhost:8080/axis/service.jws" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding>

40 WSDL : <services> & <port> Descrive i dettagli relativi alle relazioni tra servizio : end points : locazione <wsdl:service name= ProvaService"> <wsdl:port binding="impl:provasoapbinding" name= MetodoXY-Z"> <wsdlsoap:address location="http://localhost:8080/axis/prova.jws"/> </wsdl:port> </wsdl:service>

41 UDDI L UDDI (Universal Description, Discovery and Integration) è un registry XML based su cui è possibile la pubblicazione (server), la ricerca e l interrogazione (client) di Web Services. - Gestisce i dati contenuti nel WSDL dei diversi servizi - Interagisce con provider/requestor attraverso messaggi SOAP White pages: fornisce informazioni relative ai provider Yellow pages: fornisce una catalogazione basata su caratteristiche specifiche dei servizi Green pages: fornisce informazioni tecniche sui servizi offerti dallo specifico provider

42 UDDI Informazioni gestite dall UDDI BusinessEntity Informazioni non tecniche relative al provider. Utilizzata dai servizi white pages BusinessService Informazioni non tecniche relative ai servizi implementati da un daterminato provider. Contiene il nome del servizio, la descrizione e un eventuale costo. Utilizzato dai servizi yellow pages BindingTemplate Mantiene associazioni Service-tModel, fornendo informazioni su come accedere ad un servizio con un determinato tmodel (green pages) tmodel (technical Model) Contiene le informazioni tecniche, come il wsdl del servizio associato (green pages)

43 BPEL Business Process Execution Language Nasce da OASIS nel 2003 dalla standardizzazione di un linguaggio nato dall'integrazione delle ricerche svolte da IBM (WSFL) e Microsoft (XLANG) E' un linguaggio utilizzato per la descrizione formale dei compiti assolti dai componenti costitutivi di processi distribuiti. BPEL un linguaggio XML-based che supporta tutte le tecnologie dello stack WS quali SOAP, WSDL, UDDI, WS-Reliable Messaging, WS-Addressing, WS-Coordination e WS-Transaction. Utilizzato nelle applicazioni tipo programming in the large Nei sistemi WS based, tale standard prende il nome di BPEL4WS o WSBPEL

44 BPEL Il BPEL è un linguaggio per il WS Orchestration. WS Orchestration Viene utilizzato per l'implementazione di procedure di esecuzione di processi distribuiti. Definisce la sequenza delle operazioni. WS Choreography Viene utilizzato per la specifica della sequenza di messaggi scambiati per l'esecuzione di processi distribuiti. Definisce il protocollo.

45 BPEL Il BPEL specifica l'ordine esatto con cui i WS che partecipano al processo coordinato devono essere invocati. Ogni processo può contenere variabili, cicli, istruzioni condizionali e meccanismi per la gestione dei fault. Combinando tutti questi costrutti è possibile definire un processo quanto si voglia complesso in modo simile a quello che avviene nella costruzione di algoritmi nei linguaggi di programmazione tradizionali Un tipico Processo BPEL consiste in un messaggio di request mandato dal client dell'intero processo al sistema di coordinamento. Il sistema si occupa di invocare in modo trasparente all'utente tutti i WS coinvolti e restituire il valore dell'intero processo di elaborazione

46 BPEL Ogni processo BPEL è diviso in step. Ogni step è detto attività. Basic activity: attività semplice composta da una singola istruzione <invoke> invocazione WS <receive> attesa di uuna request da un WS client <reply> risposta per processi sincroni <throw> permette di gestire eccezioni <assign> manipolazione variabili Structured Activity: permette di combinare più attività semplici per la risoluzione di compiti complessi. <sequence> permette l'esecuzione in sequenza delle attività elencate <flow> permette l'esecuzione in parallelo delle attività elencate <switch> esecuzioni sottoposte a condizioni <while> gestione dei cicli <pick> permette di poter selezionare differenti path di esecuzione

47 BPEL Variabili <variables> Permettono di trasformare i WS stateless in statefull. Memorizzano lo stato dei valori scambiati ra i vari WS coinvolti nel processo distribuito. Partner Links <partnerlinks> Rappresentano le entità con cui ogni componente del processo interagisce.

48 BPEL : esempio <?xml version="1.0" encoding="utf-8"?> <process name="insuranceselectionprocess" targetnamespace="http://packtpub.com/bpel/example/" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ins="http://packtpub.com/bpel/insurance/" xmlns:com="http://packtpub.com/bpel/company/" > <partnerlinks> <partnerlink name="client" partnerlinktype="com:selectionlt" myrole="insuranceselectionservice"/> <partnerlink name="insurancea" partnerlinktype="ins:insurancelt" myrole="insurancerequester" partnerrole="insuranceservice"/> <partnerlink name="insuranceb" partnerlinktype="ins:insurancelt" myrole="insurancerequester" partnerrole="insuranceservice"/> </partnerlinks>...

49 BPEL : esempio... <variables> <!-- input for BPEL process --> <variable name="insurancerequest" messagetype="ins:insurancerequestmessage"/> <!-- output from insurance A --> <variable name="insurancearesposne" messagetype="ins:insuranceresponsemessage"/> <!-- output from insurance B --> <variable name="insurancebresposne" messagetype="ins:insuranceresponsemessage"/> <!-- output from BPEL process --> <variable name="insuranceselectionresponse" messagetype="ins:insuranceresponsemessage"/> </variables>...

50 BPEL : esempio <sequence> <!-- Receive the initial request from client --> <receive partnerlink="client" porttype="com:insuranceselectionpt" operation="selectinsurance" variable="insurancerequest" createinstance="yes" /> <!-- Make concurrent invocations to Insurance A and B --> <flow> <!-- Invoke Insurance A web service --> <invoke partnerlink="insurancea" porttype="ins:computeinsurancepremiumpt" operation="computeinsurancepremium" inputvariable="insurancerequest" outputvariable="insurancearesponse" /> <!-- Invoke Insurance B web service --> <invoke partnerlink="insuranceb" porttype="ins:computeinsurancepremiumpt" operation="computeinsurancepremium" inputvariable="insurancerequest" outputvariable="insurancebresponse" /> </flow>

51 BPEL : esempio <!-- Select the best offer and construct the response --> <switch> <case condition="bpws:getvariabledata('insurancearesponse', 'confirmationdata','/confirmationdata/amount') <= bpws:getvariabledata('insurancebresposne', 'confirmationdata','/confirmationdata/amount')"> <!-- Select Insurance A --> <assign> <copy> <from variable="insurancearesposne" /> <to variable="insuranceselectionresponse" /> </copy> </assign> </case> <otherwise> <!-- Select Insurance B --> <assign> <copy> <from variable="insurancebresposne" /> <to variable="insuranceselectionresponse" /> </copy> </assign> </otherwise> </switch>

52 BPEL : esempio <process> sequence>... <!-- Send a response to the client --> <reply partnerlink="client" porttype="com:insuranceselectionpt" operation="selectinsurance" variable="insuranceselectionresponse"/> </sequence> </process>

53 BPEL BPEL Engine: Oracle Process Manager IBM Process Choreographer (BPELJ) ActiveBPEL (Open Source)

54 Librerie (J2EE) Copyright Sun Microsystems, Inc. Java API for XML-RPC (JAX-RPC) è un implementazione RMI-like per RPC over SOAP. SOAP with Attachments for Java (SAAJ ) permette la manipolazione a basso livello dei messaggi SOAP Java API for XML Messaging (JAXM ) fornisce alle applicazioni la possibilità di spedire/ricevere messaggi XML di tipo document oriented (basata su SAAJ) Java API for XML Registries (JAXR) fornisce i meccanismi di base per l accesso e la gestione di registry XML based Java API for XML Processing (JAXP) fornisce gli strumenti necessari al parsing di documenti XML Contenute nel Developer Pack. Le API di AXIS 1.4 si basano su queste librerie

55 Librerie (J5EE) Copyright Sun Microsystems, Inc. Enterprise Web Services Direttive per il modello di programmazione e l'architettura a runtime per l'implementazione dei web services in Java. Java API for XML-Based Web Services (JAX-WS) Diventa la libreria di riferimento per l'implementazione dello stack per i Web services. Integrated stack: include JAX-WS 2.0, JAXB 2.0 e SAAJ 1.3. Permette di implementare tutte le funzionalità Java per la gestione dei WS all'interno del WSDP. JAX-WS prende il posto di JAX-RPC. Java Architecture for XML Binding (JAXB) viene utilizzata per effettuare il binding tra oggetti specificati negli XML schema e codice Java. Permette di incorporare dati XML in applicazioni Java senza che sia necessario conoscere il linguaggio XML. Streaming API for XML (StAX) permette di implementare parser per la gestione in lettura e scrittura di documenti XML Web Services Metadata for the Java Platform definisce annotazioni standard per la creazione di web services all'interno dei container Java EE. Utilizza Java Language Metadata.

56 Java e Web Services - METRO Copyright Sun Microsystems, Inc. Transition to GlassFish: The Java WSDP is being superseded by Project GlassFish and its open-source Java EE 5-compatible application server. You can gain access to all of the latest versions of the Java WSDP's technology components at Project GlassFish with the added benefit of community-based visual development. Technology acquired through Project GlassFish has the additional benefit of clearer, less restrictive licensing. Web services are Web based applications that use open, XML-based standards and transport protocols to exchange data with clients. Web services are developed using Java Technology APIs and tools provided by an integrated Web Services Stack called Metro. The Metro stack consisting of JAX-WS, JAXB, and WSIT, enable you to create and deploy secure, reliable, transactional, interoperable Web services and clients. The Metro stack is part of Project Metro and as part of GlassFish, Java Platform, Enterprise Edition (Java EE), and partially in Java PlatForm, Standard Edition (Java SE). GlassFish and Java EE also support the legacy JAX-RPC APIs.

57 Librerie (METRO) Info from https://metro.dev.java.net/discover/ Copyright Sun Microsystems, Inc. Core Web Services Include le tecnologie per l'invocazione e il deply dei Ws, per la gestione dei documenti XML e la gestione dei messaggistica SOAP -Java API for XML-Based Web Services (JAX-WS) -Java Architecture for XML Binding (JAXB) Enhanced Web Services Tecnologie WS- based per la gestione di caratteristiche speciali quali, ad esempio, consegna affidabile dei messaggi o gestione di transazioni (atomicità) - Web Services Interoperability Technologies (WSIT) Permette la cooperazione tre JavaWeb services e Microsoft's Windows Communication Foundation. Secure Web Services Tecnologie per la gestione della sicurezza nei WS. -XML and Web Services Security (XWS-Security) permette la definizione di politiche per l'affidabilità delle operazioni request/response Legacy Web Services Fornisce le tecnologie per l'utilizzo di vecchie librerie (Jax-rpc) Web Services - Management Permette di definire specifici profili per la comunicazione tra il sistema di gestione e le risorse gestite.

58 JAX-WS: esempio servizio Info fromj5ee Tutorial Copyright Sun Microsystems, Inc. package helloservice.endpoint; import public class Hello { private String message = new String("Hello, "); public void Hello() {}//costruttore } //metodo da public String sayhello(string name) { return message + name + "."; } Nota: Per costruzione, la classe deve contenere la definizione di un costruttore pubblico senza argomenti

59 JAX-WS: esempio client Info fromj5ee Tutorial package simpleclient; Copyright Sun Microsystems, Inc. import javax.xml.ws.webserviceref; import helloservice.endpoint.helloservice; import helloservice.endpoint.hello; public class HelloClient static HelloService service; public static void main(string[] args) { try { HelloClient client = new HelloClient(); client.dotest(args); } catch(exception e) { e.printstacktrace(); } } } public void dotest(string[] args) {... Hello port = service.gethelloport();... String response = port.sayhello(name);...

60 Apache AXIS v1.4 AXIS (Apache Extensible Interaction System) è un framework open souce per lo sviluppo e la gestione di Web Services in Java. Rappresenta l estensione di Apache SOAP v2.0. In pratica si tratta di un SOAP engine, ovvero un software in grado di gestire la codifica/decodifica dei messaggi SOAP facendo da tramite tra utente e Web Service. Supporta RPC & message/document based provider WSx User AXIS WSy WSz

61 Apache AXIS: installazione Prerequisiti: J2SDK version>1.3 Apache ANT Xerces.jar parser XML Servlet container (Tomcat) Installato Tomcat, basta copiare la directory $AXIS_HOME/webapps/axis nella directory $CATALINA_HOME/webapps/axis. E importante che tutti i file *.jar di $AXIS_HOME/lib stiano anche in $CATALINA_HOME/webapps/axis/lib. Impostare $AXISCLASSPATH in modo tale che contenga tutte le librerie necessarie ad AXIS ($AXIS_HOME/lib, Xerces.jar, mail.jar, activation.jar)

62 Apache AXIS: installazione All indirizzo localhost:8080/axis cliccare sul link valitation La pagine associata verifica che siano soddisfatte tutte le richieste. La condizione è necessaria ma non sufficiente

63 Apache AXIS: architettura Ogni messaggio viene elaborato passando attraverso una serie di handler (chain-catene di handler). Ogni handler esegue uno specifico compito. Quali e quanti handler vengono utilizzati dipende dal tipo di servizio utilizzato (server-config.wsdd).

64 Apache AXIS: architettura MessageContext object: rappresenta il messaggio (in-out) Handler: transport handler dipendono dal protocollo di trasporto utilizzato global handler processano ogni tipo di messaggio service-specific handler processano solo messaggi diretti ad uno specifico ws Pivot-point: handler di passaggio tra percorso in e percorso out

65 Apache AXIS: architettura Message Context Pivot Point Specific WS

66 Apache AXIS: architettura Server path Client path

67 Apache AXIS: server/client path AXIS server: il messaggio SOAP viene inserito dal TrasportListener all interno di un messaggio Message l oggetto Message, insieme a informazioni come il protocollo di trasporto e il parametro SoapAction, viene inserito all interno di un MessageContext. Il MessageContext passa attraverso gli handler (chain) transport e global, arrivando al target service-specific handler che si occupa di passarlo al provider. Il provider (pivot point), anch esso handler, si occupa di mandare in esecuzione il WSn esecuzione il WS AXIS client: percorso speculare a logica invertita.

68 Apache AXIS: deploy dei servizi Axis mette a disposizione due tecniche per il deploy dei servizi: JWS deploy technique utilizzata per la gestione di WS semplici, molto veloce ma poco flessibile (drop-in) WSDD deploy technique utilizzata per la gestione di WS complessi, estremamente flessibile e personalizzabile, legata a file di configurazione

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

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

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

Web Services Security

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

Dettagli

Corso di Applicazioni Telematiche

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

Dettagli

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

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

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

fornitore di servizi utente all interazione tra utenti e sistemi

fornitore di servizi utente all interazione tra utenti e sistemi WEB SERVICES Successo del Web Negli anni passati il Web ha avuto un enorme successo principalmente per due motivi: Semplicità: Ubiquità Per un fornitore di servizi è semplice raggiungere un numero molto

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

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

Introduzione a Service Oriented Architecture e Web Service

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

Dettagli

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

Approfondimento. Web Services

Approfondimento. Web Services Approfondimento Web Services Esame di Programmazione per il Web Fedele Ladisa INDICE Capitolo 1. Introduzione 1.1 Introduzione ai Web Services 1.2 Architettura dei Web Services 1.3 Stack protocollare di

Dettagli

Griglie computazionali LEZIONE N. 14. Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno

Griglie computazionali LEZIONE N. 14. Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno Griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno LEZIONE N. 14 Web Services SOAP WSDL UDDI CE-CREAM SRM Griglie computazionali - a.a.

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

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

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

Service Oriented Architectures (SOA)

Service Oriented Architectures (SOA) Facoltà di Ingegneria dell Informazione Laurea Specialistica in Ingegneria Informatica Facoltà di Ingegneria dei Sistemi Laurea Magistrale in Ingegneria Biomedica Dipartimento di Elettronica e Informazione

Dettagli

Un introduzione ai Web service

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

Dettagli

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

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

Dettagli

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

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL)

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Corso di Sistemi Distribuiti Stefano

Dettagli

Service Oriented Architecture and Web Services

Service Oriented Architecture and Web Services Service Oriented Architecture and Web Services Note per il corso di Ingegneria del Software Università di Camerino Dipartimento di Matematica ed Informatica Andrea Polini 11 gennaio 2007 Queste note sono

Dettagli

REGIONE BASILICATA UFFICIO S. I. R. Standard Tecnologici dei Sistemi Informativi

REGIONE BASILICATA UFFICIO S. I. R. Standard Tecnologici dei Sistemi Informativi UFFICIO S. I. R. Standard Tecnologici dei Sistemi Informativi Autori: Dott.ssa Domenica Nardelli (P.O.C. Area Applicativa Ufficio SIR) Data di creazione: 03 Ottobre 2005 Ultimo aggiornamento: 03 Ottobre

Dettagli

Relazione sulla tecnologia. Giacomo Sacchetti Imad Zaza

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

Dettagli

Web 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

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

Deployment ed invocazione dinamica di Web Services. Stefano Schivo

Deployment ed invocazione dinamica di Web Services. Stefano Schivo Deployment ed invocazione dinamica di Web Services Stefano Schivo 15 settembre 2004 2 Indice 1 Introduzione 5 1.1 Un primo esempio......................... 5 1.2 Gli standard per i Web Services.................

Dettagli

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

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

Dettagli

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

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

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

Composizione e Coreografia di Web Services

Composizione e Coreografia di Web Services Composizione e Coreografia di Web Services Giusy Di Lorenzo Composizione Lo scopo della composizione è quello di comporre servizi esistenti al fine di definire un nuovo servizio a valore aggiunto Richiesta

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

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

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A. 2013-2014 Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 SISTEMI INFORMATIVI MODULO II SOA e Web Service Figure tratte dal testo di riferimento, Copyright

Dettagli

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

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

Dettagli

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

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

Framework. Impianti Informatici. Web application - tecnologie

Framework. Impianti Informatici. Web application - tecnologie Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione

Dettagli

Appendice D. D. Web Services

Appendice D. D. Web Services D. D.1 : cosa sono I cosiddetti sono diventati uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM,

Dettagli

UFFICIO S. I. LICA R. S. TA

UFFICIO S. I. LICA R. S. TA REGI ONE BASI UFFICIO S. I. LICA R. S. TA Standard Tecnologici Pagina i di 11 Controllo del documento Identificazione documento Titolo Tipo Identificatore Nome file

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

Interoperabilità e cooperazione applicativa tra sistemi informativi

Interoperabilità e cooperazione applicativa tra sistemi informativi Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community

Dettagli

Le tecnologie software Internet

Le tecnologie software Internet Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B2_2 V1.5 Le tecnologie software Internet Microsoft/Web services Il contenuto del documento è liberamente utilizzabile

Dettagli

Web Services e Grid Services. OGSA e WSRF

Web Services e Grid Services. OGSA e WSRF Web Services e Grid Services OGSA e WSRF Sommario SOA Grid: Evoluzione OGSA - Open Grid Services Architecture WSRF Web Services Resource Framework Web services Servizi stateless Gestione dello stato Grid

Dettagli

Web Services e Grid Services. OGSA e WSRF. Sommario. Page 1

Web Services e Grid Services. OGSA e WSRF. Sommario. Page 1 Sommario Web Services e Grid Services OGSA e WSRF SOA Grid: Evoluzione OGSA - Open Grid Services Architecture WSRF Web Services Resource Framework Web services Servizi stateless Gestione dello stato Grid

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

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

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

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

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

Introduzione ai Web Services. Tito Flagella tito@link.it

Introduzione ai Web Services. Tito Flagella tito@link.it Introduzione ai Web Services Tito Flagella tito@link.it Web Services Beppe, secret 2 Web Services (2) I Web Services sono uno sforzo di standardizzazione teso a rendere interpretabili, in maniera indipendente

Dettagli

Architetture orientate ai servizi

Architetture orientate ai servizi Architetture orientate ai servizi 1 Web Service Nuovo paradigma di sistema informativo basato su componenti software distribuiti I Web Service sono applicazioni indipendenti, modulari, autodescrittive,

Dettagli

PARTE 11. Web Services

PARTE 11. Web Services PARTE 11 Web Services Parte 11 Modulo 1: Motivazioni Il miraggio dell informatica moderna Integrazione delle applicazioni Interoperabilità In pratica, ogni meccanismo che consenta a diversi sistemi software

Dettagli

UNIVERSITÀ DEGLI STUDI DI CAGLIARI

UNIVERSITÀ DEGLI STUDI DI CAGLIARI UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Specialistica in Tecnologie Informatiche Anno Accademico 25-26 Applicazioni Distribuite mediante Web

Dettagli

Università degli Studi di Roma "Tor Vergata" Facoltà di Scienze MFN

Università degli Studi di Roma Tor Vergata Facoltà di Scienze MFN Università degli Studi di Roma "Tor Vergata" Facoltà di Scienze MFN Corso di Laurea in Informatica Tesi di Laurea Analisi, progettazione e implementazione di un Infrastruttura di Comunicazione basata su

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

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support massimo_marasco@it.ibm.com Oriented Architecture (SOA) Servizio

Dettagli

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

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

Dettagli

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

Dipartimento di Sistemi e Informatica, University of Florence. Sistemi Distribuiti, Prof. Paolo Nesi

Dipartimento di Sistemi e Informatica, University of Florence. Sistemi Distribuiti, Prof. Paolo Nesi 1 Sistemi Distribuiti Corso di Laurea in Ingegneria Prof. Paolo Nesi Parte: 2a Web Services & REST Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze, Italy tel:

Dettagli

Introduzione ad Architetture Orientate ai Servizi e Web Service

Introduzione ad Architetture Orientate ai Servizi e Web Service Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci iannucci@ing.uniroma2.it Anno

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

(Service o Oriented Architecture)

(Service o Oriented Architecture) L Parliamo di SOA (Service o Oriented Architecture) Antonio Pintus, Marco Marongiu 1 Chi siamo Antonio Pintus è laureato in Informatica e studente di Dottorato di Ricerca in Informatica con argomenti relativi

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

Laboratorio di Sistemi Distribuiti

Laboratorio di Sistemi Distribuiti Laboratorio di Sistemi Distribuiti Bianchi Marco Univ. Roma Tor Vergata December 6, 2006 Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti December 6, 2006 1 / 29 SOAP (2/2) 1 Gestione

Dettagli

Enterprise @pplication Integration Software S.r.l.

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

Dettagli

QUALIFICAZIONE DELLA PORTA DI DOMINIO

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

Dettagli

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

SDK-CART. Versione 1.1

SDK-CART. Versione 1.1 SDK-CART Versione 1.1 20/04/2008 Indice dei Contenuti 1 INTRODUZIONE...2 2 L USO DEL COMPONENTE DI INTEGRAZIONE DELLA PORTA DI DOMINIO... 2 2.1 Modalità d'uso trasparente dei Servizi...3 2.2 Uso del Servizio

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

STATO IMPLEMENTAZIONE ONVIF SU TELECAMERE MUNDUS SECURUS

STATO IMPLEMENTAZIONE ONVIF SU TELECAMERE MUNDUS SECURUS IMPLEMENTAZIONE ONVIF SU TELECAMERE MUNDUS SECURUS 1. Ambiente di sviluppo Sono stati analizzati diversi linguaggi e framework differenti utilizzabili per implementare i WebServices ONVIF. Il risultato

Dettagli

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART

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

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

simplesoad SERVICE ENGINEER

simplesoad SERVICE ENGINEER SIMPLE ENGINEERING simplesoad SERVICE ENGINEER TRAINING CYCLE SHEET SIMPLESOAD_SE_COURSE_SHEET_IT_2007032701 SIMPLE ENGINEERING 2007 - ALL RIGHTS RESERVED. SIMPLE ENGINEERING IS AN INDEPENDENT EUROPEAN

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

Web Services. [Papazoglou] Papazoglou, Web Services Principles and Technology, 2008

Web Services. [Papazoglou] Papazoglou, Web Services Principles and Technology, 2008 Luca Cabibbo Architetture Software Dispensa ASW 450 ottobre 2014 La cosa bella degli standard è che ce ne sono così tanti tra cui scegliere. Andrew S. Tanenbaum 1 -Fonti [Papazoglou] Papazoglou, Principles

Dettagli

Sperimentazione e confronto di alcuni Engine BPEL

Sperimentazione e confronto di alcuni Engine BPEL Università degli studi di Firenze Facoltà di Scienze Matematiche, Fisiche e Naturali Tesi di Laurea in Informatica Sperimentazione e confronto di alcuni Engine BPEL Relatore Prof. Rosario Pugliese Candidato

Dettagli

Implementazione di un. linguaggio di base. per servizi web

Implementazione di un. linguaggio di base. per servizi web Università degli Studi di Firenze FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Tesi di Laurea in Informatica Implementazione di un linguaggio di base per servizi web Relatore: Prof. Rosario Pugliese

Dettagli

Agenda. Seminario. Cedac Software - Hardware. Cedac Software S.r.l.

Agenda. Seminario. Cedac Software - Hardware. Cedac Software S.r.l. Seminario Architetture SOA in ambito bancario: Tecnologia ed applicazioni Agenda Cedac Software ed il suo Business SOA e Web Services Realizzazione di un Caso di Studio Nuove tecnologie WS-* Q&A Cedac

Dettagli

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

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

Dettagli

OpenSPCoop: un implementazione della Specifica di Cooperazione Applicativa per la Pubblica Amministrazione Italiana

OpenSPCoop: un implementazione della Specifica di Cooperazione Applicativa per la Pubblica Amministrazione Italiana UNIVERSITÀ DI PISA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Specialistica in Tecnologie Informatiche Tesi di Laurea Specialistica OpenSPCoop: un implementazione della Specifica

Dettagli

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA CORBA ( Common Object Request Broker Architecture ) consiste in un insieme di specifiche promosse e curate da OMG (Object Management Group). L OMG è un consorzio internazionale no-profit di industrie nel

Dettagli

Ministero del Lavoro e delle Politiche Sociali

Ministero del Lavoro e delle Politiche Sociali Ministero del Lavoro e delle Politiche Sociali Prospetto Informativo on-line Standard tecnici del sistema informativo per l invio telematico del Prospetto Informativo Documento: UNIPI.StandardTecnici Revisione

Dettagli

Un architettura innovativa per la Cooperazione Applicativa nel progetto OpenSPCoop

Un architettura innovativa per la Cooperazione Applicativa nel progetto OpenSPCoop UNIVERSITÀ DI PISA Facoltà di Scienze Matematiche, Fisiche e Naturali. Corso di Laurea Specialistica in Informatica. Tesi di Laurea Specialistica Un architettura innovativa per la Cooperazione Applicativa

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

Corso di Architetture Distribuite e Servizi di Rete. Web Services. Antonio Corradi & Paolo Bellavista. Web Services

Corso di Architetture Distribuite e Servizi di Rete. Web Services. Antonio Corradi & Paolo Bellavista. Web Services Università degli Studi di Bologna Master Integratori di Sistema Corso di Architetture Distribuite e Servizi di Rete Web Services Antonio Corradi & Paolo Bellavista Web Services 1 Web Services Differenza

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

Architettura Tecnica i. Architettura Tecnica

Architettura Tecnica i. Architettura Tecnica i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

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

Modelli per la descrizione di protocolli

Modelli per la descrizione di protocolli POLITECNICO DI MILANO Corso di Laurea in Ingegneria Informatica Modelli per la descrizione di protocolli asincroni basati sull usouso di servizi Web Relatore: Prof. Stefano Ceri Correlatori: Ing. Marco

Dettagli

Sempre di più viene avvertita l esigenza di framework di sviluppo applicativo che permettano di:

Sempre di più viene avvertita l esigenza di framework di sviluppo applicativo che permettano di: 1. Premessa Il rapido diffondersi delle tecnologie di networking ha stimolato, negli ultimi anni, una accresciuta esigenza di paradigmi adatti allo sviluppo di applicazioni distribuite. Tali paradigmi

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

MAX DOLGICER SOI. (Service Oriented Integration) CONCETTI, TECNOLOGIE E BEST PRACTICES

MAX DOLGICER SOI. (Service Oriented Integration) CONCETTI, TECNOLOGIE E BEST PRACTICES LA TECHNOLOGY TRANSFER PRESENTA MAX DOLGICER SOI (Service Oriented Integration) CONCETTI, TECNOLOGIE E BEST PRACTICES ROMA 27-29 MAGGIO 2009 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 info@technologytransfer.it

Dettagli

Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP

Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP Web Services I web services servono a rendere interoperabili le applicazioni e favoriscono la loro integrazione. I servizi web sono applicazioni software che possono essere scoperte, descritte e usate

Dettagli

Web service. A cura di Azzurra Ragone

Web service. A cura di Azzurra Ragone Web service A cura di Azzurra Ragone RPC (Remote Procedure Call) A type of protocol that allows a program on one computer to execute a program on a server computer. Using RPC, a system developer need not

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2015 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli