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

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

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

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

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

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

Le caratteristiche di interoperabilità del Terrapack 32 M

Le caratteristiche di interoperabilità del Terrapack 32 M I T P E l e t t r o n i c a Le caratteristiche di interoperabilità del Terrapack 32 M M. Guerriero*, V. Ferrara**, L. de Santis*** * ITP Elettronica ** Dipartimento di Ingegneria Elettronica Univ. La Sapienza

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

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

Programmazione di rete in Java

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

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING

MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING UN BUON MOTIVO PER [cod. E603] L obiettivo del corso è fornire le competenze e conoscenze

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO

MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO Versione 1.1 INDICE 1. PREFAZIONE 3 1.1 Autori 3 1.2 Modifiche Documento 3 1.3 Riferimenti 4 1.4 Acronimi e Definizioni 4 2. OBIETTIVI E CONTESTO DI RIFERIMENTO

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti 1 Web conferencing software Massimiliano Greco - Ivan Cerato - Mario Salvetti Arpa Piemonte 2 Che cosa è Big Blue Button? Free, open source, web conferencing software Semplice ed immediato ( Just push

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

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

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

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Programmazione Java: Variabili membro, Metodi La parola chiave final

Programmazione Java: Variabili membro, Metodi La parola chiave final Programmazione Java: Variabili membro, Metodi La parola chiave final romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

Ultimo aggiornamento sett13

Ultimo aggiornamento sett13 Ultimo aggiornamento sett13 INDICE 1. Invio singolo SMS tramite richiesta POST/GET HTTP...3 1.1 - Messaggi singoli concatenati...4 2. Invio multiplo SMS tramite richiesta POST/GET HTTP...4 2.1 - Messaggi

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute DNS: Domain Name System I name DNS Persone: identificatori: CF, nome, Numero di Passaporto Host e router Internet: Indirizzo IP ( bit) - usato per instradare i pacchetti nome, per es., massimotto.diiie.unisa.it

Dettagli

Architettura SPC e porta di dominio per le PA

Architettura SPC e porta di dominio per le PA Libro bianco sulla SOA v.1.0 Allegato 2_1 Architettura SPC e porta di dominio per le PA vs 02 marzo 2008 Gruppo di Lavoro SOA del ClubTI di Milano Premessa L architettura SPC e la relativa porta di dominio

Dettagli

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE Pag. 1 di 14 INDICE 1. Glossario... 3 2. il servizio SPCoop - Ricezione... 5 3. Il web-service RicezioneFatture... 8 3.1 Operazione RiceviFatture... 9 3.1.1

Dettagli

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO REGIONE BASILICATA PROCEDURA NEGOZIATA PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, REALIZZAZIONE E GESTIONE DEL SISTEMA INTEGRATO SERB ECM DELLA REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06)

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza.

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza. Relazione tecnica Fibonacci ANDENA GIANMARCO Traccia: Creare un algoritmo che permetta, dato un valore intero e positivo, di stabilire la sequenza utilizzando la regola di fibonacci dei numeri fino al

Dettagli

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.Focardi Laboratorio di Ingegneria del Software 6. 1 Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream

Dettagli

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it Zabbix 4 Dummies Dimitri Bellini, Zabbix Trainer Quadrata.it Relatore Nome: Biografia: Dimitri Bellini Decennale esperienza su sistemi operativi UX based, Storage Area Network, Array Management e tutto

Dettagli

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it ISO 9001: 2008 Profilo Aziendale METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it Sede legale: * Viale Brodolini, 117-60044 - Fabriano (AN) - Tel. 0732.251856 Sede amministrativa:

Dettagli

Metadati e Modellazione. standard P_META

Metadati e Modellazione. standard P_META Metadati e Modellazione Lo standard Parte I ing. Laurent Boch, ing. Roberto Del Pero Rai Centro Ricerche e Innovazione Tecnologica Torino 1. Introduzione 1.1 Scopo dell articolo Questo articolo prosegue

Dettagli

Panoramica su ITIL V3 ed esempio di implementazione del Service Design

Panoramica su ITIL V3 ed esempio di implementazione del Service Design Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Panoramica su ITIL V3 ed esempio di implementazione del Service Design Lavoro pratico II Periodo didattico

Dettagli

La collaborazione come strumento per l'innovazione.

La collaborazione come strumento per l'innovazione. La collaborazione come strumento per l'innovazione. Gabriele Peroni Manager of IBM Integrated Communication Services 1 La collaborazione come strumento per l'innovazione. I Drivers del Cambiamento: Le

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Protocollo HTTP. Alessandro Sorato

Protocollo HTTP. Alessandro Sorato Un protocollo è un insieme di regole che permettono di trovare uno standard di comunicazione tra diversi computer attraverso la rete. Quando due o più computer comunicano tra di loro si scambiano una serie

Dettagli

Corso Base ITIL V3 2008

Corso Base ITIL V3 2008 Corso Base ITIL V3 2008 PROXYMA Contrà San Silvestro, 14 36100 Vicenza Tel. 0444 544522 Fax 0444 234400 Email: proxyma@proxyma.it L informazione come risorsa strategica Nelle aziende moderne l informazione

Dettagli

THUN con ARIS: dall'ottimizzazione dei processi verso l enterprise SOA

THUN con ARIS: dall'ottimizzazione dei processi verso l enterprise SOA SAP World Tour 2007 - Milano 11-12 Luglio 2007 THUN con ARIS: dall'ottimizzazione dei processi verso l enterprise SOA Agenda Presentazione Derga Consulting Enterprise SOA Allineamento Processi & IT Il

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam. Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 Dynamic Host Configuration Protocol fausto.marcantoni@unicam.it Prima di iniziare... Gli indirizzi IP privati possono essere

Dettagli

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL.

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL. Data: 8 Ottobre 2013 Release: 1.0-15 Feb 2013 - Release: 2.0 - Aggiunta procedura per inviare email da Windows con php Release: 2.1-20 Mar 2013 Release: 2.2-8 Ottobre 2013 - Aggiunta procedura per inviare

Dettagli

Pila.h versione 6. class Pila { private: int marker; int * contenuto; public:

Pila.h versione 6. class Pila { private: int marker; int * contenuto; public: 1 Pila.h versione 6 struct Pila { private: int size; int defaultgrowthsize; int marker; int * contenuto; void cresci(int increment); public: Pila(int initialsize) ; Pila(); ~Pila() ; void copy(pila * to)

Dettagli

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless La configurazione degli indirizzi IP Configurazione statica, con DHCP, e stateless 1 Parametri essenziali per una stazione IP Parametri obbligatori Indirizzo IP Netmask Parametri formalmente non obbligatori,

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Managed Services e Unified Communication & Collaboration: verso il paradigma del Cloud Computing

Managed Services e Unified Communication & Collaboration: verso il paradigma del Cloud Computing Managed Services e Unified Communication & Collaboration: verso il paradigma del Cloud Computing Claudio Chiarenza (General Manager and Chief Strategy Officer) Italtel, Italtel logo and imss (Italtel Multi-Service

Dettagli

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONNECTING FIRST AND SECOND LIFE Università degli studi di Catania Facoltà di Ingegneria 26 Gennaio 2009 Sommario 1 Introduzione 2 Middleware Middleware:

Dettagli

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone Paragrafo 1 Prerequisiti Definizione di applicazione server Essa è un servizio che è in esecuzione su un server 1 al fine di essere disponibile per tutti gli host che lo richiedono. Esempi sono: il servizio

Dettagli

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Routing (instradamento) in Internet Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Stub AS: istituzione piccola Multihomed AS: grande istituzione (nessun ( transito Transit AS: provider

Dettagli

Microsoft Innovation Center Roma. Pierluigi Del Nostro Stefano Paolozzi Maurizio Pizzonia

Microsoft Innovation Center Roma. Pierluigi Del Nostro Stefano Paolozzi Maurizio Pizzonia Microsoft Innovation Center Roma Pierluigi Del Nostro Stefano Paolozzi Maurizio Pizzonia Il MIC Roma Cos è Uno dei risultati dei protocolli di intesa tra il Ministero della Pubblica Amministrazione e l

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

PASSIONE PER L IT PROLAN. network solutions

PASSIONE PER L IT PROLAN. network solutions PASSIONE PER L IT PROLAN network solutions CHI SIAMO Aree di intervento PROFILO AZIENDALE Prolan Network Solutions nasce a Roma nel 2004 dall incontro di professionisti uniti da un valore comune: la passione

Dettagli

Classi ed Oggetti in JAVA

Classi ed Oggetti in JAVA Classi ed Oggetti in JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it www.dii.unisi.it/~rigutini/

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Web Conferencing and Collaboration tool

Web Conferencing and Collaboration tool Web Conferencing and Collaboration tool La piattaforma Meetecho Piattaforma di Web Conferencing e Collaborazione on line in tempo reale Caratteristiche generali Soluzione client-server progettata per essere

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

IT Service Management, le best practice per la gestione dei servizi

IT Service Management, le best practice per la gestione dei servizi Il Framework ITIL e gli Standard di PMI : : possibili sinergie Milano, Venerdì, 11 Luglio 2008 IT Service Management, le best practice per la gestione dei servizi Maxime Sottini Slide 1 Agenda Introduzione

Dettagli

Configurazione avanzata di IBM SPSS Modeler Entity Analytics

Configurazione avanzata di IBM SPSS Modeler Entity Analytics Configurazione avanzata di IBM SPSS Modeler Entity Analytics Introduzione I destinatari di questa guida sono gli amministratori di sistema che configurano IBM SPSS Modeler Entity Analytics (EA) in modo

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione Sede di Latina Corso di Laurea in Ingegneria dell Informazione Consorzio Nettuno La fase di realizzazione si occupa

Dettagli

Pronti per la Voluntary Disclosure?

Pronti per la Voluntary Disclosure? Best Vision GROUP The Swiss hub in the financial business network Pronti per la Voluntary Disclosure? Hotel de la Paix, 21 aprile 2015, ore 18:00 Hotel Lugano Dante, 22 aprile 2015, ore 17:00 Best Vision

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI Nome Indirizzo Laura Bacci, PMP Via Tezze, 36 46100 MANTOVA Telefono (+39) 348 6947997 Fax (+39) 0376 1810801

Dettagli

EMC Documentum xcp for Business Process Management

EMC Documentum xcp for Business Process Management Analisi dettagliata Abstract Oggi le aziende devono affrontare una sfida comune: ottimizzare i processi di business e la loro efficienza operativa. Per vincere questa sfida, EMC Documentum xcelerated Composition

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra A seguire alcune proposte di tirocini/tesi in tre ambiti dell ingegneria del software (non del tutto scorrelati): (1) Model-driven driven

Dettagli

LE NOVITÀ DELL EDIZIONE 2011 DELLO STANDARD ISO/IEC 20000-1 E LE CORRELAZIONI CON IL FRAMEWORK ITIL

LE NOVITÀ DELL EDIZIONE 2011 DELLO STANDARD ISO/IEC 20000-1 E LE CORRELAZIONI CON IL FRAMEWORK ITIL Care Colleghe, Cari Colleghi, prosegue la nuova serie di Newsletter legata agli Schemi di Certificazione di AICQ SICEV. Questa volta la pillola formativa si riferisce alle novità dell edizione 2011 dello

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

Dettagli

IT Service Management

IT Service Management IT Service Management L'importanza dell'analisi dei processi nelle grandi e medie realtà italiane Evento Business Strategy 2.0 Firenze 25 settembre 2012 Giovanni Sadun Agenda ITSM: Contesto di riferimento

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Integrare le MFC con Irrlicht. Sezione 1: Creazione del progetto. by Raffaele White tiger Mancuso

Integrare le MFC con Irrlicht. Sezione 1: Creazione del progetto. by Raffaele White tiger Mancuso Integrare le MFC con Irrlicht by Raffaele White tiger Mancuso In questo topic spiegherò come integrare irrlicht in un documento singolo MFC *(1). Io ho usato il visual c++ 6 ma la procedura dovrebbe essere

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma

Ing. Andrea Saccà. Stato civile: Celibe Nazionalità: Italiana Data di nascita: 9 Ottobre 1978 Luogo di nascita: Roma Residenza: Roma Indirizzo: Via dell'automobilismo, 109 00142 Roma (RM) Sito Web : http://www.andreasacca.com Telefono: 3776855061 Email : sacca.andrea@gmail.com PEC : andrea.sacca@pec.ording.roma.it Ing. Andrea Saccà

Dettagli

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e'

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il continuous improvement ed e' ITIL v3 ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e' giusto che lo applichi anche a se' stessa... Naturalmente una

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

Energy risk management

Energy risk management Il sistema di supporto alle tue decisioni Energy risk management Un approccio orientato agli attori M.B.I. Srl, Via Francesco Squartini 7-56121 Pisa, Italia - tel. 050 3870888 - fax. 050 3870808 www.powerschedo.it

Dettagli

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Tobia Castaldi Alessandro Amirante Lorenzo Miniero Simon Pietro Romano Giorgio Ventre 02/10/2009 GARR 2009 "Network

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli