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=" <wsdl:operation name= Metodo1"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="parirequest"> <wsdlsoap:body encodingstyle=" /soap/encoding/" namespace=" use="encoded"/> </wsdl:input> <wsdl:output name="pariresponse"> <wsdlsoap:body encodingstyle=" /soap/encoding/" namespace=" 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=" <wsdl:operation name= Metodo1"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="parirequest"> <wsdlsoap:body encodingstyle=" /soap/encoding/" namespace=" use="encoded"/> </wsdl:input> <wsdl:output name="pariresponse"> <wsdlsoap:body encodingstyle=" /soap/encoding/" namespace=" 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=" <wsdl:operation name= Metodo1"> <wsdlsoap:operation soapaction=""/> <wsdl:input name= Metodo1Request"> <wsdlsoap:body encodingstyle=" /soap/encoding/" namespace=" use="encoded"/> </wsdl:input> <wsdl:output name= Metodo1Response"> <wsdlsoap:body encodingstyle=" /soap/encoding/" namespace=" 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=" </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=" xmlns=" xmlns:ins=" xmlns:com=" > <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 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 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

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

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

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

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

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

Dettagli

Seminario di Sistemi Distribuiti RPC su SOAP

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

Dettagli

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

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

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

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

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

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

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

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

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

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

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

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

Introduzione alle applicazioni di rete

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

Dettagli

Presentazione di Cedac Software

Presentazione di Cedac Software Agenda Presentazione di Cedac Software SOA ed ESB Analisi di un caso studio Esempi Q&A Presentazione di Cedac Software 1 2 Presentazione di Cedac Software S.r.l. Divisione Software Azienda nata nel 1994

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

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

Gestione Richieste Patenti Web

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

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

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

JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa

JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa Andrea Leoncini JBoss Stefano Linguerri - Pro-netics Agenda JBoss ESB le SOA e la Porta di Dominio Le specifiche CNIPA

Dettagli

MODELLO 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 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

Dettagli

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

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

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

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

Progettazione ed implementazione di un tool per lo sviluppo di applicazioni in Esperanto

Progettazione ed implementazione di un tool per lo sviluppo di applicazioni in Esperanto Università degli studi di Napoli Federico II Facoltà di Ingegneria Corso di laurea in Ingegneria Informatica Capri Feb. 2004 Progettazione ed implementazione di un tool per lo sviluppo di applicazioni

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

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

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

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale della Logistica e della Produzione Una piattaforma per la negoziazione di servizi business to

Dettagli

Il Web-Service SDMX dell ISTAT

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

Dettagli

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

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

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Architetture software

Architetture software Corso di Laurea Magistrale in Ingegneria Informatica Corso di Ingegneria del A. A. 2013-2014 Architettura software 1 Architetture software Sommario Definizioni 2 Architettura Definizione. L architettura

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

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

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

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

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

Corso di Informatica Modulo T3 B2 - Database in rete

Corso 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

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

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

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

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2 Docente: prof.silvio Salza Candidato: Protocollo di metadata harvesting OAI-PMH Open Archive Initiative OAI (Open Archive Initiative) rendere facilmente fruibili gli archivi che contengono documenti prodotti

Dettagli

Programmazione dei socket con TCP #2

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

Dettagli

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso 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

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

SERVICE BROWSER. Versione 1.0

SERVICE 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:

Dettagli

Università degli studi di Ferrara. Sviluppo di un Web Service per la classificazione del suolo e sua integrazione sul Portale SSE

Università degli studi di Ferrara. Sviluppo di un Web Service per la classificazione del suolo e sua integrazione sul Portale SSE Università degli studi di Ferrara Facoltà di scienze MM.FF.NN. Corso di Laurea Specialistica in Informatica Sviluppo di un Web Service per la classificazione del suolo e sua integrazione sul Portale SSE

Dettagli

RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO

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

Dettagli

RMI Remote Method Invocation

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

Dettagli

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO SOMMARIO 1 Oggetto della Fornitura... 3 2 Composizione della Fornitura... 3 2.1 Piattaforma

Dettagli

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

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

Dettagli

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page» Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti

Dettagli

Java: Compilatore e Interprete

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

Dettagli

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

Simple & Efficient. www.quick-software-line.com

Simple & Efficient. www.quick-software-line.com Cosa è XML? extensible Markup Language Linguaggio è una definizione limitativa XML serve a descrivere con precisione qualsiasi informazione XML è estensibile. Ovvero non ha tag predefiniti come HTML XML

Dettagli

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

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

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita Architettura client/ stazioni utente Basi di ati Architetture /Server B locali M BG Architettura centralizzata Un architettura è centralizzata quando i dati e le (programmi) risiedono in un unico Tutta

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

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

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

Dettagli

E.S.B. Enterprise Service Bus ALLEGATO C11

E.S.B. Enterprise Service Bus ALLEGATO C11 E.S.B. Enterprise Service Bus ALLEGATO C11 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

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

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

Dettagli

Application Server per sviluppare applicazioni Java Enterprise

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

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

appunti delle lezioni Architetture client/server: applicazioni client

appunti delle lezioni Architetture client/server: applicazioni client Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente

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

ZTL Firenze Inserimento Automatico

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

Dettagli

Web Service medra per la gestione DOI

Web Service medra per la gestione DOI Web Service medra per la gestione DOI Versione documento: 1.0 Data creazione: 23 dicembre 2010 Data ultima modifica: 14 maggio 2012 1. Introduzione...2 2. medra WS...2 2.1. Operation UPLOAD...2 2.2. Operation

Dettagli

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

Dettagli

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3,

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, Emergency healthcare process automation using workflow technology and web services M. Poulymenopoulou, F. Malamateniou, G. Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, 195 207 Processo

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

Architettura MVC-2: i JavaBeans

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

Dettagli

Lezione 1 Introduzione

Lezione 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

Dettagli

The Enterprise Service BUS. Manuale utente - VulCon

The Enterprise Service BUS. Manuale utente - VulCon The Enterprise Service BUS Manuale utente - VulCon G R E E N V U L C A N O Manuale utente - VulCon GreenVulcano S.r.l. Viale Regina Margherita, 302-00198 Roma, Italia P.IVA 06459481005 Sommario Descrizione

Dettagli

<utente> <nome>mario</nome> <cognome>rossi</cognome> <saldo>1230</saldo> </utente> Tag di chiusura dato. Tag di apertura

<utente> <nome>mario</nome> <cognome>rossi</cognome> <saldo>1230</saldo> </utente> Tag di chiusura dato. Tag di apertura Interoperabilità e linguaggio XML Nel laboratorio precedente abbiamo visto come tramite BPMN sia possibile istruire un sistema informatico a gestire i flussi di attività. Si tratta però di attività interne

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

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

DOCFINDERWEB SERVICE E CLIENT

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

Dettagli

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

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

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

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

A2A Specifiche Web Services

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

Dettagli

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

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