Ingegneria del Software orientato ai Servizi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ingegneria del Software orientato ai Servizi"

Transcript

1 Ingegneria del Software orientato ai Servizi Ingegneria del Software 2 Service Engineering 1 Riferimenti bibliografici Sommerville, Ingegneria del Software, 8 edizione, capitolo 31 Sito del W3C per le specifiche degli standard per Web Services (Es. SOAP, XML, WSDL, ) Unraveling the Web Services Web- An Introduction to SOAP, WSDL, and UDDI - Francisco Curbera, Matthew Duftler, Rania Khalaf,William Nagy,Nirmal Mukhi, and Sanjiva Weerawarana- IEEE INTERNET COMPUTING- Mar. Apr Ingegneria del Software 2 Service Engineering 2 1

2 Argomenti Servizi software come componenti riusabili Ingegnerizzazione dei Servizi (Service Engineering) Sviluppo software basato su Servizi Ingegneria del Software 2 Service Engineering 3 Premessa La realizzazione di sistemi distribuiti su piattaforme eterogenee richiede l utilizzo di middleware che forniscono i servizi atti a consentire la comunicazione fra componenti distribuiti. I middleware possono essere più o meno difficili da usare (es. CORBA vs. Java RMI), e fornire servizi più o meno sofisticati. Non è possibile far comunicare componenti aderenti a diversi modelli di componente e relativi middleware (es. client DCOM e server RMI). I middleware sono usabili sono in ambito intranet, data l impossibilità per i dati scambiati (in binario basati su specifici protocolli) di superare i firewall aziendali. Ingegneria del Software 2 Service Engineering 4 2

3 Il futuro: Architetture orientate ai servizi Le Architetture Orientate ai Servizi (SOA) sono state proposte per consentire una sistematica interazione fra applicazioni (application-to-application) Svincolandosi dai limiti delle architetture a componenti basate su middleware In particolare: I Web services rappresentano uno sforzo verso la costruzione di una piattaforma di calcolo distribuita basata sull infrastruttura offerta dal Web. I Web services possono essere definiti come servizi che possono essere pubblicati, localizzati, ed invocati via Internet I Web Services consentono il passaggio dal modello primario del Web Human-Centric al modello Application- Centric, fino alla visione del Web Automatico Ingegneria del Software 2 Service Engineering 5 Service-oriented architectures (SOA) Le Architetture Orientate ai Servizi (SOA) sono un modo di progettare sistemi distribuiti i cui componenti sono costituiti da servizi indipendenti. I servizi sono componenti stand-alone, in grado di risolvere specifici problemi, che possono essere offerti da differenti fornitori ed essere eseguiti su computer diversi. Per rendere possibili tali attività, devono essere adottati protocolli standard per supportare: la comunicazione fra servizi lo scambio di informazioni fra servizi Ingegneria del Software 2 Service Engineering 6 3

4 Attori nelle SOA (UDDI) Service registry Find Publish Service requestor Bind (S OAP) Service provider Service (WSDL) Ingegneria del Software 2 Service Engineering 7 Ingegneria del Software 2 Service Engineering 8 4

5 Sviluppo di Servizi Obiettivi : Consentire l interoperabilità universale Consentire una diffusa adozione e l ubiquità dei servizi Abilitare il binding dinamico (su scala geografica) Supportare efficacemente sia ambienti aperti (Web) che più vincolati Ingegneria del Software 2 Service Engineering 9 Sviluppo di Servizi Requisiti: Basati su standard (che forniscono un supporto pervasivo) Si richiede solo la disponibilità di una minima infrastruttura (è richiesto solo l implementazione di un set minimo di standard) Possibilità di concentrarsi su messaggi e documenti scambiati, piuttosto che su API Ingegneria del Software 2 Service Engineering 10 5

6 Sviluppo di servizi: Vantaggi I servizi possono essere sviluppati localmente, o essere prodotti da fornitori esterni Per accedere ai servizi è necessario conoscere unicamente la loro interfaccia L accesso ai servizi è possibile attraverso un linguaggio standard, indipendentemente dal linguaggio con cui i servizi sono stati implementati E possibile recuperare (tramite wrapper) funzionalità di sistemi esistenti (legacy systems) Aziende o altre organizzazioni possono cooperare utilizzando funzioni di business altrui e avvalendosi di un meccanismo di scambio dati semplificato: supporto al Collaborative Computing Ingegneria del Software 2 Service Engineering 11 Stack e protocolli per i Web Services XMLtechnologies (XML, XSD, XSLT,...) Support (WS-Security, WS-Addressing,...) Process (WS-BPEL) Service definition (UDDI, WSDL) Messaging (SOAP) Transport (HTTP, HTTPS, SMTP,...) Ingegneria del Software 2 Service Engineering 12 6

7 Alcuni standard SOAP Protocollo per lo scambio di messaggio, tipicamente implementato su http o https WSDL (Web Service Definition Language) Protocollo per lo scambio di informazioni descriventi l interfaccia del Web Service e il collegamento con il servizio vero e proprio UDDI (Universal Description, Discovery, and Integration) Definisce la semantica del servizio, in maniera tale da consentire la scoperta automatica dell esistenza del servizio WS-BPEL Permette di definire la modalità di composizione di servizi Ingegneria del Software 2 Service Engineering 13 Servizi come componenti riusabili Definizione di servizio e di Web Service Un componente software riusabile, debolmente accoppiato, che incapsula una funzionalità discreta, può essere distribuito e vi si può accedere mediante programmazione. Un Web Service è un servizio a cui si accede attraverso protocolli standard Internet e protocolli basati su XML. Ingegneria del Software 2 Service Engineering 14 7

8 Principali analogie e differenze fra servizi e componenti in CBSE Anche I servizi incapsulano funzionalità riusabili in diversi contesti Ma i servizi devono essere necessariamente indipendenti da altri servizi e debolmente accoppiati La loro funzione deve essere eseguita in maniera indipendente dall ambiente di esecuzione In pratica per i servizi non è definita l interfaccia richiede, ma solo l interfaccia fornisce L interazione con i servizi è basata unicamente sullo scambio di messaggi Diversamente dalla comunicazione fra componenti che richiede l invocazione di metodi (API) Ingegneria del Software 2 Service Engineering 15 Differenti modalità di interazione La comunicazione fra componenti è basata sull invocazione di metodi L interazione con i servizi è basata unicamente sullo scambio di messaggi Lo scambio di messaggi è del tipo Request/ Response (e può essere basato su XML) I servizi possono essere visti come funzioni remote (scambio basato su RPC), non come oggetti (scambio basato su chiamata - eventualmente sincrona- di metodi) I servizi adottano un modello di comunicazione asincrona, mentre l interazione fra componenti è più aderente ad un modello di interazione sincrona. Ingegneria del Software 2 Service Engineering 16 8

9 Esempio di Interazione Sincrona Waiter Diner What would you like? Tomato soup please And to follow? Fillet steak How would you like it cooked? Rare please With salad or french fries? Salad please ETC. L ordinazione viene composta secondo una interazione sincrona tra cameriere e cliente. Ingegneria del Software 2 Service Engineering 17 Un ordinazione espressa in XML <starter> <dish name = soup type = tomato /> <dish name = soup type = fish /> <dish name = pigeon salad /> </starter> <main course> <dish name = steak type = sirloin cooking = medium /> <dish name = steak type = fillet cooking = rare /> <dish name = sea bass > </main> <accompaniment> <dish name = french fries portions = 2 /> <dish name = salad portions = 1 /> </accompaniment> L ordinazione verrà passata in cucina attraverso un unico messaggio XML. Ingegneria del Software 2 Service Engineering 18 9

10 Web Service Description Language (WSDL) Le interfacce dei servizi sono espresse in linguaggio WSDL. Una specifica WSDL definisce Quali operazioni sono fornite dal servizio (Interfaccia astratta) Per ogni operazione è specificato il formato del messaggio di richiesta e il formato del messaggio di risposta Come accedere al servizio Binding: specifica come devono essere costruiti I messaggi di I/O ed il protocollo daseguire nello scambio dimessaggi Dove si trova il servizio, in termini di URI (Universal Resource Identifier) URI è l indirizzo di una risorsa accessibile via Internet ed è una generalizzazione del concetto di indirizzo web Ingegneria del Software 2 Service Engineering 19 Struttura di una specifica WSDL WSDL service definition Intro Abstract interface Concrete implementation XML namespace declarations Type declarations Interface declarations Message declarations Binding declarations Endpoint declarations (es. SOAP) (URI) Ingegneria del Software 2 Service Engineering 20 10

11 Struttura XML di una specifica WSDL Ingegneria del Software 2 Service Engineering 21 Un frammento di specifica WSDL (1/2) Define some of the types used. Assume that the name space prefixes ws refers to the name space URI for XML schemas and the namespace prefix associated with this definition is weathns. <types> <xs: schema targetnamespace = http ://.../weathns xmlns: weathns = /weathns > <xs:element name = PlaceAndDate type pdrec = /> <xs:element name = MaxMinTemp type = mmtrec /> <xs: element name = InDataFault type = errmess /> <xs: complextype name = pdrec <xs: sequence> <xs:element name = town type = xs:string /> <xs:element name = country type = xs:string /> <xs:element name = day type = xs:date /> </xs:complextype> Definitions of MaxMinType and InDataFault here </schema> </types> Ingegneria del Software 2 Service Engineering 22 11

12 Un frammento di specifica WSDL (2/2) Now define the inte rface and its operations. In this case, there is only a single operation to return maximum and minimum temperatures <interface name = weatherinfo > <operation name = getmaxmintemps pattern = wsdlns: in-out > <input messagelabel = In elemen t = weathns: PlaceAndDate /> <output message Label = Out element = weathns:maxmintemp /> <outfault messagelabel = Out e lemen t = weathns:indata Fault /> </operation> </interface> Ingegneria del Software 2 Service Engineering 23 Un Web Service in pratica Consideriamo un semplice esempio di Web Service Quest esempio è fornito insieme all interfaccia utente che si integra con NetBeans per la generazione e testing di Web Service Si vuole realizzare un semplice Web Service add che è in grado di restituire la somma di due numeri interi, avuti come parametri di ingresso Si tratta, evidentemente di un servizio che fornisce una interfaccia ma non ne richiede Ingegneria del Software 2 Service Engineering 24 12

13 Codice del Web Service // Copyright (c) 2007, Sun Microsystems, Inc. All rights reserved. package org.me.calculator; import javax.jws.webmethod; import javax.jws.webparam; import public class CalculatorWS { / Web service operation = "add") Con sono indicati deicommenti La classecalculatorws in questo caso implementa un unico metodo add: sarà questo metodo ad essere esposto come Web Service public int add(@webparam(name = "i") int = "j") int j) { return i + j; } } Ingegneria del Software 2 Service Engineering 25 Codice del documento WSDL (1) <?xml version="1.0" encoding="utf-8"?> <definitions xmlns:wsu=" xmlns:wsp=" /2004/09/policy" xmlns:soap=" xmlns:tns=" xmlns:xsd=" xmlns=" targetnamespace=" name="calculatorwsservice"> <types> <xsd:schema> <xsd:importnamespace=" " schemalocation=" </xsd:schema> </types> <message name="add"> <partname="parameters" element="tns:add"/> </message> <message name="addresponse"> <partname="parameters" element="tns:addresponse"/> </message> <porttype name="calculatorws"> <operation name="add"> <input message="tns:add"/> <output message="tns:addresponse"/> </operation> </porttype> Ingegneria del Software 2 Service Engineering 26 13

14 Codice del documento WSDL (2) <binding name="calculatorwsportbinding" type="tns:calculatorws"> <soap:binding style="document" transport=" <operation name="add"> <soap:operation/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="calculatorwsservice"> <port name="calculatorwsport" binding="tns:calculatorwsportbinding"> <soap:address location=" </port> </service> </definitions> Ingegneria del Software 2 Service Engineering 27 Codice del client di prova package org.me.calculator.client; import java.io.;import java.net.;import javax.annotation.resource; import javax.servlet.;import javax.servlet.http.;import javax.xml.ws.webservicecontext;importjavax.xml.ws.webserviceref; public class ClientServletextends = " public CalculatorWSService protected WebServiceContext context; protected void processrequest(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html;charset=utf-8"); PrintWriter out = response.getwriter(); try { out.println("<h2>servletclientservlet at " + request.getcontextpath() + "</h2>"); org.me.calculator.client.calculatorws port = service.getcalculatorwsport(); int i = Integer.parseInt(request.getParameter("value1")); int j = Integer.parseInt(request.getParameter("value2")); int result = port.add(i, j); out.println("<br/>"); out.println("result:"); out.println("" + i + " + " + j + " = " + result); ((Closeable)port).close(); } finally { out.close(); } } Ingegneria del Software 2 Service Engineering 28 14

15 Ingegnerizzazione dei Servizi Ingegneria del Software 2 Service Engineering 29 Argomenti Ingegnerizzazione dei Servizi (Service Engineering) Sviluppo di software basato su Servizi Ingegneria del Software 2 Service Engineering 30 15

16 Service-oriented software engineering Gli approcci di ingegneria del software esistenti devono necessariamente cambiare per tener conto dell approccio di sviluppo software service-oriented. Due temi fondamentali: Service engineering. Tratta lo sviluppo di servizi dependable e riusabili Sviluppo di software per il riuso Sviluppo Software basato su servizi. Si occupa di sviluppare software fidatoriusando servizisoftware Sviluppo di software con il riuso Ingegneria del Software 2 Service Engineering 31 Service engineering É il processo di sviluppo di servizi riusabili per applicazioni service-oriented. Il servizio deve essere progettato come una astrazione riusabile nell ambito di diversi sistemi. Richiede L identificazione del servizio candidato La progettazione del servizio L implementazione e consegna del servizio Ingegneria del Software 2 Service Engineering 32 16

17 Il Processo di Service Engineering Identificazione Identificazione Dei Dei servizi servizi Candidati Candidati Progettazione Progettazione del del Servizio Servizio Implementazione ee Consegna Consegna del del Servizio Servizio Requisiti Requisiti del del Servizio Servizio Specifica Specifica dell Interfaccia dell Interfaccia del del Servizio Servizio Servizio Servizio Convalidato Convalidato e e messo messo in in esercizio esercizio Ingegneria del Software 2 Service Engineering 33 (1): Identificazione dei servizi candidati I servizi possono essere classificati in tre categorie fondamentali: Servizi di utilità che implementano funzionalità di carattere generale, applicabili a diversi problemi Servizi di business, utili all interno di una particolare tipologia di dominio aziendale Servizi di coordinazione che supportano la composizione di servizi complessi Interagiscono con i servizi più generali, consentendo di ricavarne astrazioni di domini Un altra classificazione distingue tra servizi orientati alle attività (task) o alle entità Ingegneria del Software 2 Service Engineering 34 17

18 Esempi di servizi Task Entity Utility Business Coordination Convertitore di Convalida Gestione rimborsi valuta. richiesta Pagamenti Localizzatore di rimborso. fornitori impiegati Verifica stato del credito Verificatore di validità di un documento. Convertitore di un Web form in XML Modulo Spese Modulo di richiesta studente Ingegneria del Software 2 Service Engineering 35 Domande utili per la ricerca di servizi riusabili Nel caso di un servizio orientato alle entità, il servizio è associato ad una singola entità logica che è usata in diversi prcessi di business? Nel caso di un servizio orientato alle attività, tale attività è eseguita da più persone di una organizzazione? Il servizio è indipendente o fino a che punto ha bisogno di altri servizi? Il servizio ha bisogno di mantenere aggiornato uno stato interno? a tal fine, ha bisogno di un database? Il servizio potrebbe essere usato anche all esterno, da più clienti? É probabile che clienti diversi del servizio richiedano diversi requisiti non funzionali ad esso? Ingegneria del Software 2 Service Engineering 36 18

19 Il servizio di un Catalogo É un esempio di servizio orientato alle entità che supporta operazioni di business. Le operazioni devono permettere ad un produttore di articoli di mostrare il catalogo degli articoli acquistabili (es. Computer) dai suoi clienti Requisiti Funzionali del servizio Una versione specifica del catalogo dovrebbe essere creata per ciascun cliente (con prezzi e config. concordate) Deve essere possibile fare il download del catalogo Si devono confrontare specifiche e prezzi di fino a 6 articoli del catalogo Devono essere fornite funzionalità di ricerca e Browsing Deve esserci una funzione che permette di stimare la data di consegna per gli articoli indicati Gli utenti devono potre fare ordini virtuali da confermare entro 48 ore con un ordine reale. Ingegneria del Software 2 Service Engineering 37 Il Servizio di un Catalogo Requisiti non funzionali del servizio L accesso al catalogo deve essere consentito solo agli impiegati di organizzazioni accreditate. I prezzi e le configurazioni offerte ai vari clienti saranno confidenziali Il catalogo deve essere disponibile dalle07:00 alle 11:00 Il catalogo deve essere in grado di elaborare fino a 10 richieste al secondo. Ingegneria del Software 2 Service Engineering 38 19

20 Catalogue Descrizione service delle operations Operazioni del Servizio di Catalogo Operazione CreaCatalogo Confronta Visualizza Ricerca DataConsegna CreaOrdine Virtuale Descrizione Crea una versione del catalogo personalizzata per ciascun cliente. Prevede un parametro opzionale per creare una versione scaricabile in PDF del catalogo. Confronta fino a 6 caratteristiche (e.g. price, dimensions, processor speed, etc.) di fino a 4 articoli del catalogo. Mostra tutti i dati associati ad uno specifico elemento del catalogo. Permette di eseguire una ricerca di articoli che soddisfano una certa espressione di ricerca. Fornisce la data stimata per la consegna di un articolo (qualora fosse ordinate oggi). Prenota gli articoli ordinati e fornisce I dati dell ordine al sistema per gli acquisti usato dal cliente. Ingegneria del Software 2 Service Engineering 39 (2) Progettazione dell Interfaccia del servizio Richiede la definizione delle operazioni associate al servizio e dei loro parametri. Il numero di messaggi scambiati per completare una richiesta di servizio dovrebbe essere minimo. I servizi devono essere senza stato: pertanto potrà essere necessario passare informazioni sullo stato (in ingresso o uscita) per mezzo dei messaggi di input/output. Ingegneria del Software 2 Service Engineering 40 20

21 Le fasi di progettazione dell Interfaccia Logical interface design Si identificano I nomi delle operazioni associate al servizio, i parametri di input e output, e le eventuali eccezioni. Message design Progettazione dei messaggi (struttura dei messaggi in input ed output, ed il tipo dei parametri). Preferibile l uso di linguaggi come l UML (da tradurre poi in XML) piuttosto che direttamente l XML. WSDL description La specifica logica dell interfaccia del servizio è tradotta in WSDL. Ingegneria del Software 2 Service Engineering 41 Progettazione dell Interfaccia del catalogo Operation Inputs Outputs Exceptions CreaCatalogo Confronta Visualizza Ricerca DataConsegna CreaOrdine Virtuale mcin Company id PDF-flag compin Company id Entry attribute (up to 6) Catalogue number (up to 4) lookin Company id Catalogue number searchin Company id Search string gdin Company id Catalogue number Number of items required poin Company id Number of items required Catalogue number mcout URL of the catalogue for that company compout URL of page showing comparison table lookout URL of page with the item information searchout URL of web page with search results gdout Catalogue number Expected delivery date poout Catalogue number Number of items required Predicted delivery date Unit price estimate Total price estimate mcfault Invalid company id compfault Invalid company id Invalid catalogue number Unknown attribute lookfault Invalid company id Invalid catalogue number searchfault Invalid company id Badly-formed search string gdfault Invalid company id Invalid catalogue number No availability Zero items requested pofault Invalid company id Invalid catalogue number Zero items requested Ingegneria del Software 2 Service Engineering 42 21

22 Struttura dei messaggi di Input e output per l operazione CheckDelivery gdin cid: string catnum: string numitems: integer size (cid) = 6 size (catnum) = 1 0 numitems > 0 gdout catnum: string delivdate: date size (catnum) = 1 0 delivdate > T oday gdfault errcode: integer Invalid company id errcode=1 Invalid catalogue number errcode = 2 No availability errcode = 3 Zero items requested errcode = 4 Ingegneria del Software 2 Service Engineering 43 (3) Implementazione e consegna del Servizio Il servizio può essere implementato usando linguaggi standard di programmazione (come C# o Java) che forniscono librerie per lo sviluppo di servizi. Alternativamente, I servizi possono essere implementati usando componenti preesistenti, sistemi ereditati, o definendo una composizione di servizi pre-esistenti con linguaggi di workflow. I servizi devono essere poi testati partizionando gli input, creando vari messaggi di input, e verificando che I messaggi di output prodotti siano corretti rispetto alla specifica. La consegna richiede che il servizio sia pubblicizzato usando UDDI e che venga installato su un web server. Molti server forniscono supporto per una semplice installazione del servizio. Ingegneria del Software 2 Service Engineering 44 22

23 Ulteriori caratteristiche I Web Service mostrano solamente l interfaccia dei servizi forniti, mentre non dovrebbero aver bisogno di altre risorse Se il Web Service dovesse aver bisogno di dati persistenti, nel suo codice dovrà essere inglobato il codice per l accesso alla risorsa (ad esempio un database) In questo modo il WS può operare da proxy nell accesso al database I Web Service possono mantenere lo stato unicamente sfruttando variabili di sessione e le altre possibilità messea disposizione dai protocolli della famigliahttp Ingegneria del Software 2 Service Engineering 45 Application server I Web Service devono essere installati (deployed) all interno di un application server L application server, analogamente ad un web server, ascolta su alcuni porti le richieste http in arrivo Le richieste codificate con linguaggi come SOAP vengono processate: Viene eseguito il Web Service richiesto con i parametri che è possibile estrarre dalmessaggio SOAP di richiesta Viene generato e inviato al sender un messaggio SOAP di risposta contenente tra l altro i parametri risultato dell elaborazione L application server rende accessibile anche il catalogo dei WSDL dei servizi messi a disposizione Esempio di application server: Apache Tomcat Tomcat è in realtà un estensione al web server Apache Ingegneria del Software 2 Service Engineering 46 23

24 UDDI Elemento fondamentale delle architetture SOA è la descrizione della semantica del servizio fornito che permetta, idealmente, la ricerca automatica di un servizio data la sua descrizione funzionale e, eventualmente, i requisiti di qualità richiesti o graditi Il linguaggio più spesso utilizzato per fornire tale descrizione semantica é UDDI (dialetto XML). Un documento UDDI contiene: Dettagli sul fornitore del servizio Descrizione (informale) delle funzionalità fornite Posizione della descrizione WSDL dell interfaccia C è un ampio dibattito sulla definizione di standard: che permettano una più precisadescrizionesemantica dei servizi (utilizzando eventualmente anche ontologie) Che permettano di descrivere più precisamente i requisiti di qualità (Quality of Service QoS) Ingegneria del Software 2 Service Engineering 47 Legacy system services Un importante vantaggio nell uso dei servizi è che essi danno la possibilità di accedere alle funzionalità di legacy systems I Legacy systems offrono funzionalità mature e stabili, il cui riuso può ridurre I costi di sviluppo dei servizi Le applicazioni esterne potranno accedere a queste funzionalità attraverso l interfaccia offerta dai servizi Ingegneria del Software 2 Service Engineering 48 24

25 Accesso al sistema Legacy <<Servizio>> Orario Treni RicercaTreno Sistema Legacy <<Servizio>> Prenotazioni PrenotaCorsa RicercaPrenotazione Le funzionalità del sistema legacy sono rese disponibili sotto forma di Servizi Ingegneria del Software 2 Service Engineering 49 Migrazione di sistemi legacy verso SOA Le tecnologie SOA (e i Web Service in particolare) sono particolarmente utili per la migrazione di funzionalità critiche di sistemi legacy Spesso, infatti, le funzionalità presenti nei sistemi legacy risolvono problemi particolarmente critici e sono da considerare molto affidabili, in quanto sono in opera da molti anni Migrando tali funzionalità sotto forma di Web Services, si aprono scenari per: L adattamento a interfacce moderne (ad esempio interfacce web) La composizione all interno di architetture moderne Una tecnica di migrazione basata su Wrapping per rendere accessibili le funzionalità di un sistema legacy sotto forma di servizi web è presentata in [1] Ingegneria del Software 2 Service Engineering 50 25

26 Il ruolo del Wrapper nella migrazione di sistemi legacycon interfaccia utente basata su form Il wrapper ha il ruolo di interagire col sistema legacy (fornendo ad esso dati e comandi) al posto dell utente. Grazie al wrapper il sistema legacy esporterà una interfaccia da Web Service Web Service Request Application Server Wrapper Legacy System Web Service Response Ingegneria del Software 2 Service Engineering 51 Sviluppo Software basato su servizi L idea è di comporre e configurare servizi esistenti per creare nuovi servizi composti ed applicazioni. La base per la composizione del servizio è spesso un workflow I Workflow sono sequenze logiche di attività che, insieme, modellano processiaziendali Ad esempio, una composizione di servizi per prenotare un viaggio che cordina vari servizidi prenotazione volo, auto ed albergo. Ingegneria del Software 2 Service Engineering 52 26

27 Esempio: workflow per la prenotazione di una vacanza Prenota volo Prenota hotel Noleggia Auto o taxi Esamina le attrazioni Prenota Le attrazioni Arrival/departure dates/times Hotel location Dates/preferences Ingegneria del Software 2 Service Engineering 53 Composizione di servizi Lo scenario ideale prospettato dalle SOA è uno scenario nel quale: Si descrive un problema in un linguaggio formale (ma il più possibile intuitivo e vicino al linguaggio naturale) Un motore di interpretazione scompone il problema in un workflowdi sottoproblemi Vengono automaticamente ricercati e reperiti Web Service in grado dirisolvere ogni sottoproblema Viene automaticamente composto il workflow in grado di risolvere il problema proposto Ingegneria del Software 2 Service Engineering 54 27

28 Costruzione di un servizio mediante composizione Progettare Progettare Uno Uno schema schema Di Di workflow workflow Scoprire Scoprire i i Servizi Servizi Selezionare Selezionare i i Servizi Servizi Raffinare Raffinare Il Il Workflow Workflow Creare Creare il il Programma Programma Di Di workflow workflow Test Test del del Servizio Servizio Progetto Progetto di di Workflow Workflow Lista Lista dei dei Servizi Servizi Specifica Specifica dei dei Servizi Servizi Progetto Progetto di di Workflow Workflow Workflow Workflow Eseguibile Eseguibile Servizio Servizio completato completato Ingegneria del Software 2 Service Engineering 55 Processo di composizione Le difficoltà legate alla realizzazione di un workflow di servizi provenienti da fonti eterogenee sono comunque notevoli In particolare bisogna tener conto di tutte le possibili eccezioni di ogni servizio e delle conseguenti azioni da intraprendere per recuperare dall eccezione Ad esempio, se la prenotazione del viaggio va a buon fine ma fallisce quella dell albergo, la semantica del servizio potrebbe prevedere la necessità di annullare la prenotazione del viaggio Per fare ciò è necessario un ulteriore Web Service di annullamento prenotazione Ingegneria del Software 2 Service Engineering 56 28

29 Il workflow per la prenotazione di una camera di hotel Hotels. GetRequirements Retry Hotels. CheckAvailability No rooms Rooms OK Hotels. NoAvailability Cancel Hotels. ReserveRooms Hotels. ConfirmReservation Customer Ingegneria del Software 2 Service Engineering 57 Progetto e implementazione dei workflow Sono stati proposti diversi linguaggi per la descrizione di workflow di servizi web WS-BPEL è al momento il più comune. E anch esso un dialetto XML Esistono componenti che vanno a estendere le funzionalità dell application service, che agiscono da interpreti didocumenti BPEL ed esecutori di Workflow Esempio: BPEL4WS Esistono inoltre strumenti come BPMN per la definizione visuale di workflow di web service Ingegneria del Software 2 Service Engineering 58 29

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

Ingegneria del Software 2 Service Engineering 1. Sommerville, Ingegneria del Software, 8 edizione, capitolo 31

Ingegneria del Software 2 Service Engineering 1. Sommerville, Ingegneria del Software, 8 edizione, capitolo 31 Service Engineering Ingegneria del Software 2 Service Engineering 1 Riferimenti bibliografici Sommerville, Ingegneria del Software, 8 edizione, capitolo 31 Sito del W3C per le specifiche degli standard

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

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

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

Un architettura per la cooperazione di applicazioni: un approccio basato sulla migrazione di applicazioni Legacy

Un architettura per la cooperazione di applicazioni: un approccio basato sulla migrazione di applicazioni Legacy tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof.ssa Valentina Casola relatore Ch.mo prof. Porfirio Tramontana candidato Rosa Guerra Matr. 83/82 Contesto: Panoramica Migrazione di applicazioni

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. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP

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

Dettagli

API e socket per lo sviluppo di applicazioni Web Based

API e socket per lo sviluppo di applicazioni Web Based API e socket per lo sviluppo di applicazioni Web Based Cosa sono le API? Consideriamo il problema di un programmatore che voglia sviluppare un applicativo che faccia uso dei servizi messi a disposizione

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

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 11 WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 11 Pag. 2 di 11 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO ESTERNO...

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

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

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

Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici

Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici tesi di laurea Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio Tramontana Ch.mo prof. Annarita Fasolino candidato

Dettagli

Un approccio innovativo per il delivery di servizi in infrastrutture di nomadic computing

Un approccio innovativo per il delivery di servizi in infrastrutture di nomadic computing Un approccio innovativo per il delivery di servizi in infrastrutture di nomadic computing Relatore Prof. Ing. Stefano Russo Correlatore Ing. Domenico Cotroneo Candidato Armando Migliaccio matr. 41/2784

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

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

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

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

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

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

CONTENT MANAGEMENT SYSTEM

CONTENT MANAGEMENT SYSTEM CONTENT MANAGEMENT SYSTEM P-2 PARLARE IN MULTICANALE Creare un portale complesso e ricco di informazioni continuamente aggiornate, disponibile su più canali (web, mobile, iphone, ipad) richiede competenze

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

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

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE PROVA

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE PROVA Pag. 1 di 16 WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE PROVA Pag. 1 di 16 Pag. 2 di 16 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO ESTERNO...

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

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

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

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Web Service 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

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

IBM Software Demos The Front-End to SOA

IBM Software Demos The Front-End to SOA Oggi, imprese piccole e grandi utilizzano software basato sull'architettura SOA (Service-Oriented Architecture), per promuovere l'innovazione, ottimizzare i processi aziendali e migliorare l'efficienza.

Dettagli

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8 Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare

Dettagli

I Sistemi Informativi Geografici. Laboratorio GIS 1

I Sistemi Informativi Geografici. Laboratorio GIS 1 I Sistemi Informativi Geografici Laboratorio GIS 1 Sistema Informativo Geografico Strumento computerizzato che permette di posizionare ed analizzare oggetti ed eventi che esistono e si verificano sulla

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

Portale regionale della Salute. Servizi di prenotazione prestazione e pagamento ticket.

Portale regionale della Salute. Servizi di prenotazione prestazione e pagamento ticket. Portale regionale della Salute Servizi di prenotazione prestazione e pagamento ticket. Specifiche di integrazione dei servizi di cooperazione applicativa e dei web services. Versione 1.10 16 Ottobre 2013

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

Infrastruttura di produzione INFN-GRID

Infrastruttura di produzione INFN-GRID Infrastruttura di produzione INFN-GRID Introduzione Infrastruttura condivisa Multi-VO Modello Organizzativo Conclusioni 1 Introduzione Dopo circa tre anni dall inizio dei progetti GRID, lo stato del middleware

Dettagli

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2. Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.0 ver 1.0 del 19/03/2013 Nettuno Solutions s.r.l. Viale

Dettagli

Omeka PURL Plugin. Torino, 30 settembre 2013. Emilio Remogna

Omeka PURL Plugin. Torino, 30 settembre 2013. Emilio Remogna Omeka PURL Plugin Torino, 30 settembre 2013 Emilio Remogna 1 Estendere Omeka 1.1 Plugin - Plugin: componente software che aggiunge - se installato - una specifica funzionalità ad una applicazione (software)

Dettagli

WorkFlow Management Systems

WorkFlow Management Systems WorkFlow Management Systems Cosa è un? Automazione di un processo aziendale (business process) con: documenti, informazioni e compiti partecipanti insieme predefinito di regole obiettivo comune 2 Esempi

Dettagli

Portale Multicanale delle PA del territorio della Regione Emilia-Romagna: un inizio di rete semantica di informazioni

Portale Multicanale delle PA del territorio della Regione Emilia-Romagna: un inizio di rete semantica di informazioni Portale Multicanale delle PA del territorio della Regione Emilia-Romagna: un inizio di rete semantica di informazioni Grazia Cesari Regione Emilia-Romagna ForumPA Roma 10 Maggio 2006 Con il supporto di

Dettagli

L o. Walter Ambu http://www.japsportal.org. japs: una soluzione agile (www.japsportal.org)

L o. Walter Ambu http://www.japsportal.org. japs: una soluzione agile (www.japsportal.org) L o JAPS: una soluzione Agile Walter Ambu http://www.japsportal.org 1 Lo sviluppo del software Mercato fortemente competitivo ed in continua evoluzione (velocità di Internet) Clienti sempre più esigenti

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

Prodotto <ADAM DASHBOARD> Release <1.0> Gennaio 2015

Prodotto <ADAM DASHBOARD> Release <1.0> Gennaio 2015 Prodotto Release Gennaio 2015 Il presente documento e' stato redatto in coerenza con il Codice Etico e i Principi Generali del Controllo Interno Sommario Sommario... 2 Introduzione...

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

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

lem logic enterprise manager

lem logic enterprise manager logic enterprise manager lem lem Logic Enterprise Manager Grazie all esperienza decennale in sistemi gestionali, Logic offre una soluzione modulare altamente configurabile pensata per la gestione delle

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

Indice. Indice... 2 1. Premessa e scopo del documento... 3 2. Ambiente operativo... 4 3. Architettura di sistema... 5

Indice. Indice... 2 1. Premessa e scopo del documento... 3 2. Ambiente operativo... 4 3. Architettura di sistema... 5 Realizzazione di un sistema informatico on-line bilingue di gestione, monitoraggio, rendicontazione e controllo del Programma di Cooperazione Transfrontaliera Italia - Francia Marittimo finanziato dal

Dettagli

Specifiche Tecnico-Funzionali

Specifiche Tecnico-Funzionali AuthSIAR - Modulo di Autenticazione e Autorizzazione Sardegna IT S.r.l. Analisi Tecnico-Funzionale Assessorato all Agricoltura della Regione Sardegna SIAR Sistema Informativo Agricolo Regionale AuthSIAR

Dettagli

PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 12 PROGETTO WEB SERVICES DOGANE SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 12 Pag. 2 di 12 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO

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

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

C Cloud computing Cloud storage. Prof. Maurizio Naldi

C Cloud computing Cloud storage. Prof. Maurizio Naldi C Cloud computing Cloud storage Prof. Maurizio Naldi Cos è il Cloud Computing? Con cloud computing si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio, di memorizzare/

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

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

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

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica INGEGNERIA DEL SOFTWARE Prof. Paolo Salvaneschi 1 Obiettivi Scopi del corso: - Fornire gli elementi di base della disciplina,

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009

Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009 tesi di laurea Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio Tramontana candidato Marco Chimenti Matr. 534/1940 OBBIETTIVI

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

Groups vs Organizational Units. A cura di Roberto Morleo

Groups vs Organizational Units. A cura di Roberto Morleo Groups vs Organizational Units A cura di Roberto Morleo Gruppo Windows 2 Groups vs Organizational Units Organizational Units Groups OU Design Using OUs to Delegate Administration Group Policies and OU

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp!

Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp! Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp! Cos è UPP? upp! è l applicazione di punta della divisione mobile di Weblink srl, dedicata allo sviluppo di applicazioni per

Dettagli

MONITORAGGIO UNITARIO PROGETTI 2007/2013 PROTOCOLLO DI COLLOQUI ANALISI ATTIVAZIONE SERVIZIO IGRUE IN SPCOOP. Link.it srl - Analisi Servizio IGRUE 1

MONITORAGGIO UNITARIO PROGETTI 2007/2013 PROTOCOLLO DI COLLOQUI ANALISI ATTIVAZIONE SERVIZIO IGRUE IN SPCOOP. Link.it srl - Analisi Servizio IGRUE 1 MONITORAGGIO UNITARIO PROGETTI 2007/2013 PROTOCOLLO DI COLLOQUI ANALISI ATTIVAZIONE SERVIZIO IGRUE IN SPCOOP Link.it srl - Analisi Servizio IGRUE 1 Panoramica L'attuale sistema IGRUE è composto da: Il

Dettagli

Interoperabilità e cooperazione applicativa tra sistemi informativi

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

Dettagli

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! COS È UPP!? upp! è l applicazione di punta della divisione mobile di Weblink srl, dedicata allo sviluppo di applicazioni per

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Costruire il futuro il valore delle scelte tecnologiche

Costruire il futuro il valore delle scelte tecnologiche Franco Lenzi Costruire il futuro il valore delle scelte tecnologiche 7 e 8 maggio 2010, Venezia, Hotel Hilton Molino Stucky 1 La strategia tecnologica Gli obiettivi espressi dalle scelta di strategia e

Dettagli

01KTF CV. Architetture distribuite per i sistemi infomativi aziendali. Presentazione del corso http://elite.polito.it/courses/01ktf.

01KTF CV. Architetture distribuite per i sistemi infomativi aziendali. Presentazione del corso http://elite.polito.it/courses/01ktf. 01KTF CV Architetture distribuite per i sistemi infomativi aziendali Presentazione del corso http://elite.polito.it/courses/01ktf Fulvio Corno Dipartimento di Automatica e Informatica Politecnico di Torino

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

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

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

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

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

Sommario. Modellazione di Kerberos mediante DASM. Kerberos (1) Descrizione Kerberos. Descrizione Kerberos Modellazione Analisi di Correttezza

Sommario. Modellazione di Kerberos mediante DASM. Kerberos (1) Descrizione Kerberos. Descrizione Kerberos Modellazione Analisi di Correttezza Sommario Modellazione di Kerberos mediante DASM Descrizione Kerberos Modellazione Analisi di Correttezza DASM per Kerberos 1 DASM per Kerberos 2 Kerberos (1) Descrizione Kerberos Kerberos è traslitterazione

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

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

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

Introduzione al Semantic Web

Introduzione al Semantic Web Corso di Laurea Specialistica in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 Giuseppe Loseto Dal Web al Semantic Web 2 Dal Web al Semantic Web: Motivazioni Il Web dovrebbe

Dettagli

GenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti

GenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti Progettazione della Linea di Prodotti GenLApp Generazione Lista di Applicazioni Progettazione della Linea di Prodotti Classi Essenziali Responsabilità sui 3 Livelli Architetturali Descrizione delle Responsabilità

Dettagli

Architettura Connettore Alfresco Share

Architettura Connettore Alfresco Share Direzione Sistemi Informativi Portale e Orientamento Allegato n. 2 al Capitolato Tecnico Indice Architettura Connettore Alfresco Share 1. Architettura del Connettore... 3 1.1 Componente ESB... 4 1.2 COMPONENTE

Dettagli

Problema del naming. Modello di Naming

Problema del naming. Modello di Naming Sistemi Distribuiti Problema del naming 1 Modello di Naming Conoscenza reciproca delle entità / servizi In una relazione cliente/servitore il cliente deve avere un riferimento al servitore Problema della

Dettagli

Laboratorio di Information Retrieval SOLR. Marco Rossetti rossetti@disco.unimib.it. Based on Emanuele Panzeri s slides panzeri@disco.unimib.

Laboratorio di Information Retrieval SOLR. Marco Rossetti rossetti@disco.unimib.it. Based on Emanuele Panzeri s slides panzeri@disco.unimib. Laboratorio di Information Retrieval SOLR Marco Rossetti rossetti@disco.unimib.it Based on Emanuele Panzeri s slides panzeri@disco.unimib.it 19/12/2014 SOLR Search Engine Apache SOLR 1 è una piattaforma

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

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Caratteristiche principali. Contesti di utilizzo

Caratteristiche principali. Contesti di utilizzo Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

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

PROCEDURA APERTA PER L AFFIDAMENTO DELLA REALIZZAZIONE DI UN APP PER LA PRENOTAZIONE DELLE PRESTAZIONI SANITARIE E SERVIZI CONNESSI.

PROCEDURA APERTA PER L AFFIDAMENTO DELLA REALIZZAZIONE DI UN APP PER LA PRENOTAZIONE DELLE PRESTAZIONI SANITARIE E SERVIZI CONNESSI. Allegato 1) PROCEDURA APERTA PER L AFFIDAMENTO DELLA REALIZZAZIONE DI UN APP PER LA PRENOTAZIONE DELLE PRESTAZIONI SANITARIE E SERVIZI CONNESSI Allegato tecnico Introduzione Si richiede di realizzare una

Dettagli

Allegato 3 Sistema per l interscambio dei dati (SID)

Allegato 3 Sistema per l interscambio dei dati (SID) Sistema per l interscambio dei dati (SID) Specifiche dell infrastruttura per la trasmissione delle Comunicazioni previste dall art. 11 comma 2 del decreto legge 6 dicembre 2011 n.201 Sommario Introduzione...

Dettagli

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO

Dettagli