Web Services. [Papazoglou] Papazoglou, Web Services Principles and Technology, 2008
|
|
|
- Raffaello Mosca
- 10 anni fa
- Просмотров:
Транскрипт
1 Luca Cabibbo Architetture Software Dispensa ASW 450 ottobre 2014 La cosa bella degli standard è che ce ne sono così tanti tra cui scegliere. Andrew S. Tanenbaum 1 -Fonti [Papazoglou] Papazoglou, Principles and Technology, 2008 [ACKM] Alonso, Casati, Kuno, Machiraju, Concepts, Architectures and Applications, 2004 [POSA4] Pattern-Oriented Software Architecture A Pattern Language for Distributed Computing, 2007 [SAP] Chapter 6, Tactics for Interoperability [Fielding] Fielding, Architectural Styles and the Design of Networkbased Software Architectures, PhD Thesis,
2 - Obiettivi e argomenti Obiettivi introdurre i web services introdurre i web services SOAP (con i relativi standard) e REST Argomenti introduzione web services web services SOAP web services REST discussione 3 -Wordle 4
3 * Introduzione Nelle architetture a servizi ci sono due aspetti fondamentali la tecnologia (middleware) a servizi è una tecnologia moderna per lo sviluppo e l integrazione di applicazioni distribuite in questo campo, i costituiscono la tecnologia a servizi dominante con diverse implementazioni l architettura orientata ai servizi (SOA) fornisce il contesto metodologico (e di business) in cui utilizzare al meglio le tecnologie basate su servizi Questa dispensa si concentra soprattutto sulla tecnologia dei web services l architettura orientata ai servizi è discussa in un altra dispensa anche la programmazione dei web services è discussa in un altra dispensa 5 Interoperabilità Uno degli obiettivi fondamentali delle tecnologie a servizi è sostenere l interoperabilità tra sistemi diversi l interoperabilità ha a che fare con il grado in cui due o più sistemi possono interagire in modo effettivo, scambiando tra loro informazioni significative, tramite interfacce, in un contesto particolare questa qualità riguarda la capacità di scambiare dati direttamente o indirettamente la possibilità di interpretare correttamente i dati scambiati alcuni possibili motivi per desiderare l interoperabilità rendere un servizio fruibile da parte di altri sistemi (anche di terzi, e dunque sconosciuti) ad es., Google Maps realizzare le funzionalità di un sistema in termini di capacità e servizi offerti anche da altri sistemi 6
4 Tattiche per l interoperabilità In generale, progettare per l interoperabilità richiede di prendere in considerazione almeno i seguenti aspetti interfacce dei servizi le interazioni avverranno tramite le interfacce, e dunque queste devono essere descritte in modo opportuno (sintassi e semantica) e indipendente dalla tecnologie con cui sono realizzati i partecipanti alle interazioni scoperta dei servizi il consumatore di un servizio deve poter scoprire identità, locazione e interfaccia del servizio di interesse questo può avvenire prima del runtime, ma talvolta anche a runtime gestione delle richieste e delle risposte deve essere effettivamente possibile invocare i servizi inoltre, per favorire la composizione di servizi, devono essere possibili diversi tipi di scenari di interazione, ad es., richiesta-risposta o sulla base di flussi di messaggi 7 Intuizione: Dal Web ai Il Web consente l accesso a dati/servizi tramite pagine web nel web 1.0 (1990), solo i webmaster possono contribuire alle pagine web gli altri utenti possono solo vederle nel web 2.0 (2004), tutti gli utenti possono generare contenuti e contribuire alle pagine web in ogni caso, l accesso al web è pensato per client umani difficile l accesso diretto al web da parte di client software ad es., mediante di tecniche di screen scraping I hanno l obiettivo di fornire servizi a client software sulla base dei protocolli del web sono un approccio standard (basato su standard) per far sì che componenti software siano resi disponibili e accessibili sul web il riferimento a standard ha lo scopo di aumentare le possibilità di interoperabilità tra componenti/applicazioni 8
5 e SOA costituiscono un modo di esporre le funzionalità di un componente o sistema software, per renderle disponibili tramite tecnologie Web standard SOA (Service-Oriented Architecture) un servizio (in una SOA) è una funzionalità di business con un interfaccia esposta, che può essere invocato dai suoi consumatori mediante messaggi SOA è un architettura concettuale di business in cui le funzionalità di business (logica applicativa) vengono esposte agli utenti SOA (consumatori) come servizi riusabili e condivisi in rete 9 * Il paradigma di interazione basato su servizi (services o e- services) con le relative tecnologie e middleware sostiene lo sviluppo e l integrazione di applicazioni distribuite un obiettivo fondamentale (disatteso dalle tecnologie a componenti) è supportare l interoperabilità tra componenti software in esecuzione su piattaforme diverse ma anche con un attenzione costante agli aspetti di business generalità dei meccanismi di comunicazione sia scambio di documenti/notifiche che chiamata di procedure remote enfasi sull interoperabilità tra componenti eterogenei, sulla base di protocolli standard aperti e universalmente accettati flessibilità nell organizzazione dei suoi elementi (servizi) più in generale, sostegno ai requisiti posti dalle SOA la tecnologia a servizi dominante è quella dei (WS) 10
6 WS e interoperabilità I WS costituiscono l ultimo passo (per ora) nello sviluppo di middleware per l integrazione di applicazioni distribuite le tecnologie a componenti (come.net e Java EE) sono eccellenti per costruire o integrare applicazioni nell ambito di una singola organizzazione ma su che cosa basare lo sviluppo di applicazioni distribuite su larga scala per collegare processi di business eseguiti da più organizzazioni indipendenti indipendentemente dalle piattaforme tecnologiche utilizzate? un obiettivo fondamentale della tecnologia dei WS è di offrire una soluzione a problemi pragmatici di interoperabilità, che nascono per differenze di piattaforma e di linguaggi di programmazione i WS accettano la natura eterogenea delle organizzazioni attuali (e delle loro soluzioni informatiche), e comprendono che questa eterogeneità non diminuirà nel futuro 11 WS e standard I sono basati su un insieme di standard tecnologici per l interoperabilità indipendenti dalle piattaforme e neutrali rispetto ad essi in precedenza erano state proposte e realizzate anche altre tecnologie per l interoperabilità (in particolare, CORBA) che però non sono state accettate/sostenute dai principali produttori di software viceversa, il successo dei è legato anche all importante fatto che la maggior parte dei produttori di software ha deciso di sostenere la tecnologia dei per lo meno, per ciò che concerne gli standard fondamentali 12
7 Dunque, i sono una tecnologia, basata su un insieme di standard tecnologici, per favorire l accesso/ l integrazione/ la composizione di servizi di business mediante tecnologie web una forma di middleware enfasi su apertura e obiettivi di interoperabilità con caratteristiche tali da soddisfare molti requisiti derivanti dalle SOA tecnologia e standard supportati dalla maggior parte dei produttori di software 13 Che cos è un Web Service Un Web Service (servizio web) [Papazoglou] è un modulo o componente software, auto-contenuto e autodescrittivo, accessibile mediante Internet, in modo indipendente dalla piattaforma ha lo scopo di svolgere un compito, risolvere un problema, o condurre transazioni per conto di un utente o applicazione ovvero, di incapsulare un servizio Si noti la doppia caratterizzazione: la prima è una caratterizzazione tecnica la seconda è di business. Con i WS e le SOA, c è sempre un attenzione a entrambi gli aspetti. 14
8 15 Che cos è un Web Service Un Web Service (servizio web) [Papazoglou] è un modulo o componente software, auto-contenuto e autodescrittivo, accessibile mediante Internet, in modo indipendente dalla piattaforma ha lo scopo di svolgere un compito, risolvere un problema, o condurre transazioni per conto di un utente o applicazione ovvero, di incapsulare un servizio Ad esempio, un WS potrebbe rappresentare un compito di business auto-contenuto ad es., effettuare un bonifico bancario un intero processo di business ad es., l acquisto automatizzato di prodotti e forniture per l ufficio un applicazione ad es., gestione di assicurazioni sulla vita l accesso (come servizio) a una risorsa ad es., a cartelle cliniche Componibilità dei I formano gli elementi costitutivi per la creazione di applicazioni distribuite una caratteristica fondamentale dei web services è che possono essere messi in corrispondenza e composti la componibilità dei servizi web che può avvenire in modo più flessibile che non con le tecnologie a componenti è una delle caratteristiche fondamentali dei web services la tecnologia dei web services favorisce l integrazione di servizi, per creare processi di business completi, con un costo di sviluppo ridotto sia nell ambito di una singola organizzazione (EAI) che tra diverse organizzazioni (integrazione di e-business) un buon servizio web può essere impiegato nella realizzazione di più applicazioni 16
9 Un esempio gestione di ordini d acquisto 17 Capacità dei Le capacità fondamentali offerte della tecnologia dei web services sono motivate dagli obiettivi di interoperabilità e di integrazione che questa tecnologia si propone di perseguire descrivere servizi in modo dettagliato e indipendente dalla piattaforma scoprire servizi mediante opportuni strumenti di ricerca, per trovare i servizi adatti a risolvere un certo problema invocare servizi anche in modo dinamico comporre servizi per definire dei nuovi servizi queste funzionalità sono fornite agli sviluppatori sulla base di opportuni (e numerosi) standard ci sono due famiglie principali di standard per web services, che condividono molti obiettivi, ma presentano anche numerose variazioni i web services SOAP e quelli REST 18
10 * SOAP La tecnologia principale nel contesto dei web services è costituita dai web services SOAP detti anche web services WS-* con riferimento agli standard utilizzati i web services SOAP sono basati su numerosi standard che riguardano sia funzionalità fondamentali per l utilizzo dei WS ad es., definizione dell interfaccia, invocazione, registry per servizi, composizione di servizi... che altre qualità gli standard principali sono WSDL, UDDI, SOAP tutti basati su XML inoltre ci sono BPEL e le estensioni WS-* i principali responsabili degli standard per i SOAP sono il consorzio OASIS (Organization for the Advancement of Structured Information Standards) e il W3C (World Wide Web Consortium) 19 Interazione tra servizi Service registry find UDDI/WSDL publish WSDL Service requestor (Service user) elemento che invoca servizi forniti da altri execute SOAP Service provider i due ruoli non sono mutuamente esclusivi: un elemento può sia offrire che invocare servizi service elemento che offre servizi che possono essere usati da altri 20
11 Standard per web services I web services SOAP (per semplicità chiamati solo WS in questa sezione) sono basati su un insieme di standard XML l adozione di XML come sintassi e linguaggio di trasporto sostiene l indipendenza dei vari standard per WS dalla piattaforma e dai linguaggi di programmazione SOAP definisce l organizzazione per lo scambio di dati e messaggi strutturati WSDL Description Language un linguaggio per la definizione dell interfaccia di WS UDDI Universal Description, Discovery and Integration standard per la ricerca di WS 21 Standard per web services È possibile comprendere le specifiche dei WS ragionando sui problemi che i WS intendono affrontare ci concentriamo soprattutto sulla descrizione degli standard di base, che definiscono un infrastruttura minimale per i WS sopra a questa infrastruttura sono state definite numerose estensioni a cui ci si riferisce come WS-* 22
12 - Sintassi Gli standard per i WS sono definiti usando una sintassi comune per sostenerne portabilità ed estendibilità La sintassi scelta è XML extensible Markup Language il vantaggio principale è la sua generalità e flessibilità lo svantaggio principale è l overhead introdotto da XML nella codifica, trasmissione, decodifica legato al fatto che le informazioni sono comunemente codificate in XML in modo prolisso 23 - Interazione con web services e SOAP È necessario un meccanismo per consentire l interazione tra un web service e i suoi client ci sono tre aspetti da considerare formato comune per i messaggi scambiati supporto per diverse forme specifiche di interazione ad es., nello stile procedurale (RPC) e nello stile del messaging compatibilità con diverse modalità di trasporto dei messaggi ad es., basato su HTTP, TCP, SMTP, JMS,... ma, allo stesso tempo, indipendenza dalla modalità di trasporto Le interazioni con/tra WS sono basate su SOAP la comunicazione è basata sullo scambio di messaggi SOAP è, di per sé, un protocollo stateless e one-way è però possibile anche una comunicazione nello stile richiesta-risposta, definita sulla base di coppie di messaggi inizialmente un acronimo, oggi SOAP ha significato autonomo 24
13 Messaggi SOAP Un messaggio SOAP è costituito da una busta (envelope), che contiene un intestazione e un corpo il corpo (body) racchiude le informazioni che il messaggio vuole effettivamente trasmettere ad es., un documento, oppure il nome di un metodo invocato e i relativi parametri l intestazione (header) contiene metadati e altre informazioni non funzionali ad es., credenziali di autenticazione oppure l id della transazione SOAP envelope SOAP header header block SOAP body body block 25 Messaggi SOAP Ad es., coppia di messaggi SOAP in un interazione in stile RPC <env:envelope xmlns:soap= xmlns:m=" <env:header> <tx:transaction-id xmlns:t= env:mustunderstand='1'> 512 </tx:transaction-id> </env:header> <env:body> <m:getproductprice> <product-id> 450R6OP </product-id > </m:getproductprice > </env:body> </env:envelope> SOAP envelope SOAP body Method name GetProductPrice Input parameter 1 product-id <env:envelope xmlns:soap= xmlns:m=" <env:header> <--! Optional context information --> </env:header> <env:body> <m:getproductpriceresponse> <product-price> </product-price> </m:getproductpriceresponse> </env:body> </env:envelope> SOAP envelope SOAP body Method return Return value product price 26
14 Modelli di comunicazione Il modello di comunicazione di SOAP prevede diverse varianti, basate su due proprietà stile di comunicazione RPC oppure document lo stile RPC consente di definire messaggi in corrispondenza alla richiesta di esecuzione di un operazione o alla relativa risposta lo stile document (message) consente di scambiare documenti (messaggi) che contengono dati XML stile di codifica (encoding) encoded oppure literal lo stile encoded (solitamente usato con lo stile RPC) è basato su una codifica standard dei dati trasmessi, e consente ad esempio la serializzazione di grafi di oggetti lo stile literal (solitamente usato con lo stile document) non prevede invece nessuna codifica dei dati trasmessi 27 Interazione con SOAP service requestor service provider application object (client) application object (service provider) SOAP-based middleware SOAP messages exchanged on top of, HTTP, SMTP, or other transport SOAP-based middleware converts procedure calls to/from XML messages sent through HTTP or other protocols. 28
15 Osservazioni su SOAP SOAP è un wire protocol ovvero, si occupa della forma con cui sistemi o applicazioni distribuite possono scambiarsi dei dati tuttavia, SOAP non è un transport protocol ovvero, non si occupa di come i dati possono essere concretamente scambiati tra sistemi o applicazioni lo scambio di messaggi SOAP avviene sulla base di altri protocolli ad es., HTTP l aspetto del binding di messaggi SOAP è considerato e descritto nel contesto di WSDL 29 Osservazioni su SOAP SOAP definisce un semplice meccanismo per codificare dati e consentirne lo scambio tra applicazioni distribuite tuttavia, non definisce nessuna semantica questo lo rende adatto a essere usato in una varietà di sistemi da RPC al messaging inoltre, SOAP non si occupa di aspetti come il routing o lo scambio affidabile di messaggi ma è adatto a contesti in cui è necessario scambiare informazioni in modo flessibile ed estensibile 30
16 - Descrizione di servizi e WSDL È necessario anche un meccanismo per la descrizione di servizi per descrivere l interfaccia di un servizio come avviene con l IDL di altri middleware nonché per descrivere indirizzamento (locazione del servizio) e modalità di trasporto La descrizione di un Web Service avviene mediante WSDL Web Service Description Language una specifica WSDL di un WS descrive che cosa fa il WS ovvero, quali operazioni fornisce come è possibile invocare il WS ovvero, il dettaglio dei formati dei dati e dei protocolli per accedere alle operazioni del servizio dove risiede il WS ad es., mediante URI (URL o URN), e la modalità di trasporto (ad es., HTTP) 31 Contenuto di un documento WSDL Un documento WSDL contiene una parte astratta descrizione dell interfaccia data types dichiarazione dei tipi di dato per i dati scambiati, ad es., per i parametri e i risultati delle operazioni message il formato di un possibile messaggio scambiato struttura del corpo di un possibile messaggio SOAP operation descrizione astratta di una singola operazione del servizio port type un tipo astratto di servizio e l insieme delle sue operazioni una parte concreta descrizione dell implementazione lega la definizione astratta del servizio con degli indirizzi di rete concreti, un protocollo specifico e delle strutture di dati specifiche in termini di uno o più binding 32
17 33 <wsdl:definitions name="purchaseorderservice" targetnamespace=" xmlns:tns=" PurchaseService/wsdl" xmlns:xsd=" xmlns:soapbind=" xmlns:wsdl=" <wsdl:types> <xsd:schema targetnamespace=" <xsd:complextype name="customerinfotype"> <xsd:sequence> <xsd:element name="cusnamer" type="xsd:string"/> <xsd:element name="cusaddress" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="potype"> <xsd:sequence> <xsd:element name="ponumber" type="integer"/> <xsd:element name="podate" type="string"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="invoicetype"> <xsd:all> <xsd:element name="invprice" type="float"/> <xsd:element name="invdate" type="string"/> </xsd:all> </xsd:complextype> </xsd:schema> </wsdl:types> <wsdl:message name="pomessage"> <wsdl:part name="purchaseorder" type="tns:potype"/> < wsdl:part name="customerinfo" type="tns:customerinfotype"/> </wsdl:message> <wsdl:message name="invmessage"> <wsdl:part name="invoice" type="tns:invoicetype"/> </wsdl:message> <wsdl:porttype name="purchaseorderporttype"> <wsdl:operation name="sendpurchase"> <wsdl:input message="tns:pomessage"/> <wsdl:output message="tns:invmessage"/> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> Data that is sent Data that is returned Port type with one operation Abstract data type definitions An operation with request (input) & response (output) message <wsdl:definitions>. <import namespace=" location=" PurchaseService/wsdl/PurchaseOrder-interface.wsdl"/> <!-- location of WSDL PO interface from Listing-1--> <!-- wsdl:binding states a serialisation protocol for this service --> <!-- type attribute must match name of porttype element in Listing-1--> <wsdl:binding name="purchaseordersoapbinding" type="tns:purchaseorderporttype"> <!-- leverage off soapbind:binding synchronous style --> <soapbind:binding style="rpc" transport=" <wsdl:operation name="sendpurchase"> Bind an abstract operation to this implementation and <!-- again bind to SOAP --> <soapbind:operation soapaction=" SendPurchase" style="rpc"/> <!-- furthur specify that the messages in the wsdl:operation use SOAP --> <wsdl:input> <soapbind:body use="literal" namespace=" </wsdl:input> <wsdl:output> <soapbind:body use= literal" namespace=" </wsdl:output> map the abstract input and output messages to these concrete messages 34 </wsdl:operation> </wsdl:binding> Service name <wsdl:service name= PurchaseOrderService"> <wsdl:port name= PurchaseOrderPort" binding="tns:purchaseordersoapbinding"> <!-- give the binding a network endpoint address or URI of service --> Network address of service <soapbind:address location=" </wsdl:port> </wsdl:service> </wsdl:definitions>
18 Message Exchange Pattern WSDL consente di definire operazioni basate su quattro modalità di interazione in relazione ai possibili pattern per lo scambio di messaggi tra servizi (Message Exchange Pattern o MEP) ogni operazione può avere un messaggio di input e/o un messaggio di output pertanto i MEP possibili sono quattro 35 Message Exchange Pattern Request/response un operazione in cui il servizio riceve un messaggio, e poi invia una risposta al suo client è una forma di chiamata di procedura remota One way un operazione in cui il servizio riceve un messaggio, ma non invia risposta al suo client è dunque una forma di messaging asincrono ad esempio, la sottomissione di un ordine 36
19 Notification Message Exchange Pattern un operazione in cui il servizio invia un messaggio a un client, senza attendere risposta è un meccanismo di notifica di eventi ai client i client interessati (subscriber) si devono registrare al servizio per ricevere notifiche relative ad eventi di un certo tipo Solicit/response un operazione in cui il servizio invia un messaggio a un client, e poi ne riceve una risposta è dunque complementare a request/response è simile alla notification (richiede la registrazione), ma prevede la risposta dei client ad esempio, il servizio invia informazioni sullo stato dell ordine di un cliente (e vuole una ricevuta) 37 Uso di WSDL e SOAP I software development kit per la programmazione di web services possono utilizzare WSDL e SOAP per costruire automaticamente degli oggetti proxy sia lato del servizio che lato client in modo tale che il programmatore possa codificare la richiesta di servizi come invocazioni locali usando il linguaggio di programmazione preferito 38
20 Uso di WSDL e SOAP <operation name="ordergoods"> <input message = "OrderMsg"/> </operation> WSDL of service provider WSDL compiler (client side) WSDL compiler (server side) service requestor service provider application object (client) application object (service provider) stub skeleton SOAP-based middleware SOAP messages SOAP-based middleware 39 Uso di WSDL e SOAP Alcune funzionalità generazione top-down del servizio contract-first da una specifica WSDL, viene generato il codice (skeleton) dell implementazione del servizio (da completare) generazione bottom-up del servizio contract-last dall implementazione del servizio (ad esempio, un enterprise bean stateless), viene definito il servizio e generata la specifica WSDL generazione del proxy lato client da una specifica WSDL, viene generato il codice (stub) del proxy del servizio 40
21 - Servizio di directory e UDDI Per rendere possibile un uso diffuso dei web services, è utile un meccanismo (possibilmente standardizzato anche questo) per il service registry, ovvero per pubblicare e ricercare servizi Un servizio di directory per i può essere basato su UDDI Universal Description, Discovery, and Integration due elementi il registry pagine bianche (indirizzi e contatti), pagine gialle (basate su classificazioni industriali), pagine verdi (con informazioni tecniche sui servizi) API per l accesso al registry 41 Directory per service requestor service provider application object (client) stub application object (service provider) skeleton SOAP-based middleware SOAP messages SOAP-based middleware SOAP messages (to look for services) SOAP messages (to publish service description) SOAP-based middleware service descriptions 42 UDDI registry
22 Uso del servizio di directory Alcuni possibili utilizzi del registry di servizi uso statico il registry è un repository di tutti i servizi software condiviso tra più centri di sviluppo/utilizzo/gestione del software ad es., descrive le caratteristiche fondamentali di ogni servizio, come modalità d uso, locazione, SLA, statistiche,... applicato in sede di sviluppo (o deployment) di un applicazione basata su servizi fondamentale per consentire l uso dei servizi web in più applicazioni uso dinamico usato a runtime, ad es., per supportare il brokering di servizi e consentire la selezione dinamica tra servizi 43 Servizi statici, dinamici e semantici Per utilizzare un servizio, un consumatore (client) deve determinare l interfaccia del servizio, localizzarlo e poi invocarlo nel binding (collegamento) statico, interfaccia e locazione del servizio sono determinate durante l implementazione o il deployment del consumatore del servizio nel binding dinamico, la locazione del servizio è determinata a runtime, con l ausilio di un service registry l accoppiamento tra produttore e consumatore è ridotto è possibile ad esempio che la locazione del servizio cambi senza impatto sul consumo del servizio c è un overhead sulle prestazioni talvolta, anche l interfaccia del servizio è determinata a runtime è però necessario che il consumatore e il fornitore del servizio abbiano un accordo predefinito sulla sintassi e la semantica delle interfacce 44
23 - Composizione di web services Un altra caratteristica fondamentale dei WS è la possibilità di definire servizi web come composizione di altri servizi web S1 service consumer S2 S3 S4 composite service ad es., un servizio di prenotazione di viaggi organizzati può essere definito sulla base di altri servizi di prenotazione alberghiera, aerea, noleggio automobili,... questi servizi potrebbero anche essere offerti da più organizzazioni tra loro indipendenti 45 Composizione di web services La composizione di un insieme di servizi è basata sul coordinamento, la gestione e il sequenziamento dell invocazione di tali servizi per svolgere dei compiti complessi, i sistemi coinvolti devono infatti interagire in modo complesso questa attività è ancora più complicata se i diversi sistemi devono essere debolmente accoppiati o addirittura completamente indipendenti tra di loro La composizione di servizi richiede la definizione di attività di collaborazione e scambio di messaggi tra i servizi componenti 46
24 Composizione di web services La composizione di servizi richiede la definizione di attività di collaborazione e scambio di messaggi tra i servizi componenti ad esempio, la conversazione tra due servizi per gestire l approvvigionamento di prodotti 1:requestQuote customer 2:orderGoods 3:confirmOrder supplier 4:makePayment 47 Composizione di web services La composizione di servizi richiede la definizione di attività di collaborazione e scambio di messaggi tra i servizi componenti una conversazione più complessa: il fornitore delega la consegna al magazzino il magazzino interagisce con il cliente per accordarsi sulla spedizione 1:requestQuote customer 2:orderGoods 4:confirmOrder supplier 5:makePayment 7:getShipmentDetail 3:checkShipAvailable 6:orderShipment 8:confirmShipment warehouse 9:confirmShipment 48
25 Composizione di web services La composizione di servizi richiede la definizione di attività di collaborazione e scambio di messaggi tra i servizi componenti la composizione di servizi può essere definita e gestita sulla base di linguaggi di programmazione tradizionali ad es., Java o C# tuttavia, è più comune ed efficace l uso di linguaggi specializzati per la composizione di servizi in particolare, BPEL più importante, la composizione può essere definita in termini di specifiche visuali che possono essere fornite direttamente da programmatori di business (non tecnici) e poi automaticamente tradotte in BPEL 49 BPEL Business Process Execution Language (for ) un linguaggio di programmazione/scripting per WS definisce primitive per la fruizione di servizi come invoke, receive, reply, throw e wait contiene costrutti di controllo tradizionali assegnazione, sequenza, istruzioni condizionali e ripetitive contiene anche un costrutto per l esecuzione concorrente di attività flow la sintassi è basata su XML il codice BPEL può essere eseguito da un motore BPEL ad es., eseguito da un application server che coordina l invocazione di servizi, usando il codice BPEL come uno script esistono strumenti per la programmazione visuale di processi che possono essere utilizzati direttamente da programmatori di business (non tecnici) e possono generare codice BPEL 50
26 Modalità di composizione Due modalità di composizione di servizi orchestrazione basata sull uso di un mediatore un processo centrale (il mediatore, che di solito è un web service) controlla e coordina l esecuzione di operazioni che riguardano altri web services i web services partecipanti potrebbero non sapere di agire nel contesto di un servizio più ampio coreografia di tipo peer-to-peer, non c è un coordinamento centralizzato la coreografia è uno sforzo collaborativo i partecipanti sono a conoscenza del processo più ampio al quale stanno contribuendo i web services partecipanti devono sapere come interagire tra loro e come coordinarsi 51 Orchestrazione e coreografia orchestrazione coreografia 52
27 - Estensioni 53 Oltre a SOAP, WSDL e UDDI, esistono numerosi standard (oltre 100!) per WS indicati complessivamente come WS-* alcuni di questi standard sono relativi ad aspetti specifici dell interazione tra web services ad esempio i WS sono solitamente stateless ma è possibile definire servizi stateful sulla base di WS-Resource WS-Addressing si occupa di indirizzamento, in modo neutrale rispetto ai meccanismi di trasporto molte estensioni sono relative alla gestione delle qualità dei servizi ad esempio sicurezza WS-Security affidabilità della comunicazione WS-ReliableMessaging transazioni WS-Coordination, WS-Transaction requisiti, capacità e preferenze WS-Policy alcune estensioni sono complementari, altre in competizione Estensioni e profili Diversamente da quanto accade per gli standard fondamentali, le estensioni WS-* non sono accettate o sostenute allo stesso modo dai produttori di software per favorire l interoperabilità, le estensioni sono state recentemente organizzate in profili ad esempio il profilo WS-I Basic I sta per Interoperability fa riferimento soprattutto a SOAP, WSDL, UDDI, XML, XML- Schema, HTTP, HTTPS e WS-Addressing il profilo Reliable-Secure-Profile estende il profilo Basic con l adozione di WS-ReliableMessaging, WS-SecureConversation, WS-MakeConnection e WS-SecurityPolicy 54
28 - Infrastruttura runtime per servizi L esecuzione di un applicazione a servizi richiede la presenza di un opportuna infrastruttura runtime (middleware) che implementa o gestisce gli standard di interesse tra quelli descritti l infrastruttura minimale per i web services può essere fornita da un application server un AS può normalmente fungere anche da contenitore di web services intuitivamente, però, per far interagire web services realizzati con tecnologie diverse (uno degli obiettivi fondamentali dei web services!) è necessaria anche un infrastruttura che realizzi il bridging dei diversi application server coinvolti in questo caso l infrastruttura di deployment è di solito chiamata un Enterprise Service Bus (ESB) 55 - Web services SOAP: Discussione I web services SOAP sono una soluzione tecnologica all interoperabilità tra componenti/servizi software distribuiti ed eterogenei sulla base di alcuni standard fondamentali e numerose estensioni è possibile la composizione di servizi nonché la gestione di diversi attributi di qualità l uso di SOAP garantisce indipendenza e trasparenza dai protocolli sia di trasporto, che quelli relativi alle qualità, dichiarate negli header SOAP l uso di WSDL sostiene ulteriormente l indipendenza dalla piattaforma per la definizione e la fruizione dei web services la disponibilità di strumenti di sviluppo e motori per l esecuzione di web services nasconde agli sviluppatori molta della complessità di questi standard 56
29 Web services SOAP: Discussione I web services SOAP presentano anche alcuni inconvenienti la semplicità con cui è possibile esporre componenti software esistenti come web services può dar luogo ad un uso scorretto di questa tecnologia in pratica, si possono verificare problemi di interoperabilità tra un servizio e i suoi client ad esempio in caso di interpretazioni diverse degli standard di base in caso di utilizzo di standard diversi dallo stack WS-* se nelle interfacce viene fatto uso di tipi di dati nativi con i web services bottom-up anche l uso estensivo di XML può porre problemi ad esempio di efficienza, nella traduzione da/verso strutture di dati native nelle implementazioni XML-Schema è troppo ricco, e non è supportato completamente in tutte le implementazioni 57 * REST Una delle principali critiche alla tecnologia dei web services SOAP chiamati big è la loro pesantezza con le relative implicazioni su prestazioni e scalabilità esistono però anche delle tecnologie a servizi più leggere che sostengono ancora interoperabilità, offrono migliori garanzie su prestazioni e scalabilità, e sono solitamente più semplici da programmare attenzione, queste tecnologie sono probabilmente peggiori nei confronti di altre qualità ad es., affidabilità e sicurezza o in termini di infrastruttura ad es., rispetto alla composizione di servizi tra queste tecnologie, la più diffusa è quella dei web services REST (o RESTful) 58
30 REST REST (Representational State Transfer) è un paradigma per la realizzazioni di applicazioni web, che permette la gestione di risorse per mezzo del protocollo HTTP si noti che lo stile REST è stato definito prima dei web services REST (e indipendentemente da essi) Lo stile architetturale REST è stato proposto da Roy Fielding uno degli autori di HTTP Representational State Transfer is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through an application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use 59 REST Il concetto centrale nello stile REST è quello di risorsa il web gestisce un insieme di risorse una risorsa è ogni elemento informativo di interesse, con un identificatore univoco ad esempio, una risorsa corso di Architetture Software con URI (qui inventata) Un applicazione client può accedere a una risorsa tramite la sua URI in questo caso al client viene restituita una rappresentazione della risorsa questa rappresentazione definisce un nuovo stato per l applicazione client ovvero, l applicazione client cambia (trasferisce) il proprio stato ogni volta che accede a una risorsa 60
31 Caratteristiche dello stile REST Caratteristiche dello stile architetturale REST è uno stile architetturale di tipo client-server i servizi sono di tipo stateless sostiene scalabilità e disponibilità è possibile fare caching delle risposte dei servizi sostiene scalabilità e prestazioni è un architettura a strati un client in genere non sa se sta comunicando con un server che eroga effettivamente il servizio oppure con un intermediario uso di un interfaccia uniforme tra componenti l accesso uniforme alle risorse sostiene flessibilità code on demand (opzionale) 61 Servizi nello stile REST Lo stile architetturale REST consente di descrivere l architettura generale del World Wide Web tuttavia, può essere applicato in particolare anche nella definizione di web services nello stile REST (RESTful WS) attenzione, lo stile REST è adeguato per servizi relativamente semplici, orientati alla gestione di risorse informative 62
32 Principi per servizi nello stile REST Principi che guidano la definizione di un servizio REST identificazione delle risorse tramite URI un servizio REST espone un insieme di risorse che sono l obiettivo delle interazioni con i client identificate da URI interfaccia uniforme le risorse vengono manipolate in modo uniforme, tramite quattro operazioni predefinite: PUT, GET, POST e DELETE messaggi auto-descrittivi le risorse sono disaccoppiate dalle loro rappresentazioni e il loro contenuto può essere acceduto sulla base di più formati ad es., testo, XML, JSON, PDF, JPEG ogni richiesta contiene informazioni sufficienti a descrivere come il server possa elaborare la richiesta ogni risposta contiene informazioni sufficienti a descrivere come il client possa elaborare la risposta 63 Principi per servizi nello stile REST Principi che guidano la definizione di un servizio REST rappresentazione ipermediale se un client deve poter accedere risorse correlate a una sua richiesta, queste sono comunemente identificate nella rappresentazione restituita interazioni stateful basate su collegamenti ipertestuali le interazioni con le risorse sono di per sé stateless tuttavia, sono possibili interazioni stateful, sulla base di un trasferimento esplicito dello stato delle conversazioni ad es., riscrittura di URI, cookie, campi nascosti 64
33 Esempio di servizio nello stile REST Un esempio di servizio nello stile REST il servizio gestisce una o più collezioni omogenee di risorse ad esempio, un insieme di corsi e un insieme di docenti il servizio definisce, per ciascuna collezione, un URI di base chiamata collection URI ad es., e ciascuna istanza di risorsa ha un URI chiamata element URI ad es., e le operazioni offerte dal servizio sono messe in corrispondenza con le operazioni HTTP GET, PUT, POST e DELETE in particolare, la rappresentazione restituita dall operazione GET è espressa in un formato di interscambio opportuno ad es., testo, HTML, XML oppure JSON 65 Esempio di servizio nello stile REST Un servizio nello stile REST operazioni riferite a una collection URI GET restituisce un elenco di tutti gli elementi della collezione PUT sostituisce la collezione con un altra collezione POST crea un nuovo elemento della collezione e gli assegna una nuova URI (e la restituisce) DELETE cancella l intera collezione 66
34 Esempio di servizio nello stile REST Un servizio nello stile REST operazioni riferite a un element URI GET restituisce una rappresentazione di uno specifico elemento della collezione PUT crea un nuovo elemento della collezione, oppure lo aggiorna POST considera l elemento della collezione come un altra collezione, e ne aggiunge un elemento (in modo analogo a quanto fa POST con riferimento a una collection URI) DELETE cancella l elemento della collezione 67 - Web services REST: Discussione I web services REST presentano alcuni vantaggi rispetto ai web services SOAP l adozione dei servizi REST è di solito più semplice che non quella dei servizi SOAP poiché fanno riferimento a standard noti e le infrastrutture necessarie sono spesso già disponibili in particolare, è molto basso lo sforzo richiesto per scrivere client di servizi REST grazie all uso di URI e collegamenti ipertestuali, è possibile scoprire risorse web senza l uso di un registry centralizzato i servizi REST sono più leggeri di quelli SOAP ad es., JSON richiede un overhead minore di quello di XML le soluzioni per la scalabilità del web ad es., basate su caching, clustering e load balancing possono essere applicate anche per servizi REST stateless il vantaggio principale di REST vs. SOAP è la semplicità 68
35 Web services REST: Discussione I web services REST vengono percepiti come più semplici da programmare dei web services SOAP perché le opzioni possibili sono in genere inferiori ma la realizzazione di applicazioni REST complesse è di solito più difficile ad esempio la gestione di diversi attributi di qualità deve essere gestita direttamente dal programmatore di servizi REST i servizi REST vengono acceduti tramite HTTP, in modo sincrono per questo, l integrazione di applicazioni è più problematica usando le sole operazioni HTTP, può essere difficile stabilire una buona definizione dell interfaccia di un servizio REST i servizi REST non hanno un interfaccia descritta esplicitamente questo può rendere più difficile la fruizione di servizi REST e la gestione della loro evoluzione il vantaggio principale di SOAP vs. REST è la completezza 69 * Discussione La tecnologia dei, per la sua generalità e il supporto per l interoperabilità, si è stabilita come tecnologia preferita per lo sviluppo e l integrazione di applicazioni di tipo enterprise tuttavia, questo non significa che i WS destituiranno le tecnologie precedenti, e in particolare quelle a componenti piuttosto, il ruolo dei è quello di complementare queste tecnologie di successo fornendo, ove necessario, meccanismi standard per l interoperabilità aggiungendo in questo modo valore alle piattaforme di middleware esistenti infatti, i, con la loro focalizzazione sull integrazione, favoriscono il riuso di funzionalità, e riducono il lock-in ( rimanere vincolati ) al middleware consentendo agli sviluppatori di usare il middleware più opportuno per soddisfare le loro necessità, senza però precludere l interoperabilità con altri sistemi 70
Introduzione ai Web Services Alberto Polzonetti
PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services [email protected] Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema
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
Reti di Telecomunicazione Lezione 6
Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica [email protected] Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server
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
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
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
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
Web Service Architecture
Giuseppe Della Penna Università degli Studi di L Aquila [email protected] http://dellapenna.univaq.it Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta Nous Informatica
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
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
Una metodologia per la specifica di software basato su componenti
Luca Cabibbo Architetture Software Una metodologia per la specifica di software basato su componenti Dispensa ASW 445 ottobre 2014 La mappa non è il territorio. Douglas R. King 1 -Fonti [UML Components],
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
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
Broker. [POSA1] Pattern-Oriented Software Architecture, 1996
Luca Cabibbo Architetture Software Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. Albert Einstein 1
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
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
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
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 [email protected] http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1
Reti di Telecomunicazione Lezione 8
Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica [email protected] Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato
Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
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
Applicazioni web centrati sui dati (Data-centric web applications)
Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento
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
1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
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
Architetture a oggetti distribuiti
Luca Cabibbo Architetture Software Architetture a oggetti distribuiti Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo
7. Architetture Software
7. Architetture Software progettare la struttura Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Architetture Software 1 / 20 Scopo della fase di design
Standard di comunicazione
Standard di comunicazione Organizzato a livelli per ridurne la complessità e aumentarne la flessibilità il numero dei livelli e le loro funzionalità dipendono dal tipo di rete ogni livello formalizza un
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
Introduzione ad Architetture Orientate ai Servizi e Web Service
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci [email protected] Anno
MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
PROGETTO TESSERA SANITARIA SERVIZI DI COMUNICAZIONE ATTIVAZIONE E REVOCA DELLE TS-CNS
PROGETTO TESSERA SANITARIA Pag. 2 di 13 INDICE 1. INTRODUZIONE 4 2. CANALI DI COMUNICAZIONE DEI SISTEMI REGIONALI CON IL SISTEMA TS 5 3. SERVIZIO DI COMUNICAZIONE ATTIVAZIONE/REVOCA CNS 6 3.1 DESCRIZIONE
Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo
Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client
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
Appunti di Sistemi Distribuiti
Appunti di Sistemi Distribuiti Matteo Gianello 27 settembre 2013 1 Indice 1 Introduzione 3 1.1 Definizione di sistema distribuito........................... 3 1.2 Obiettivi.........................................
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
Architettura SW Definizione e Notazioni
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Stili Architetturali E. TINELLI Architettura SW Definizione e Notazioni Definizione ANSI/IEEE Std Std1471-2000
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
@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita
Architettura client/ stazioni utente Basi di ati Architetture /Server B locali M BG Architettura centralizzata Un architettura è centralizzata quando i dati e le (programmi) risiedono in un unico Tutta
Analisi e sperimentazione della piattaforma Web Service Notification nell ambito del controllo del traffico aereo
tesi di laurea Analisi e sperimentazione della piattaforma Web Service Notification Anno Accademico 2006/2007 relatore Ch.mo prof. Domenico Cotroneo Correlatore Ing. Christiancarmine Esposito candidato
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...
Modelli per la descrizione di protocolli
POLITECNICO DI MILANO Corso di Laurea in Ingegneria Informatica Modelli per la descrizione di protocolli asincroni basati sull usouso di servizi Web Relatore: Prof. Stefano Ceri Correlatori: Ing. Marco
Versione 1. (marzo 2010)
ST 763-27 - Soluzione tecnica di interconnessione per i servizi SMS e MMS a sovrapprezzo Allegato 1 - Linee guida per l interfaccia di accesso tra operatore telefonico ed il CSP Versione 1 (marzo 2010)
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
Protocolli applicativi: FTP
Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione
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
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
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
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
Firewall applicativo per la protezione di portali intranet/extranet
Firewall applicativo per la protezione di portali intranet/extranet Descrizione Soluzione Milano Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 [email protected] 20121 MILANO (MI)
Informatica per la comunicazione" - lezione 10 -
Informatica per la comunicazione" - lezione 10 - Evoluzione del Web" Nell evoluzione del Web si distinguono oggi diverse fasi:" Web 1.0: la fase iniziale, dal 1991 ai primi anni del 2000" Web 2.0: dai
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
A2A Specifiche Web Services
A2A Specifiche Web Services Contenuti 1 CONTENUTI...1 1 INTRODUZIONE...3 2 UPLOAD SEGMENTATO...5 2.1 RICHIESTA UPLOAD SEGMENTATO...5 2.1.1 Input del WS...5 2.1.2 Output del WS...6 2.2 UPLOAD SEGMENTATO...7
03. Il Modello Gestionale per Processi
03. Il Modello Gestionale per Processi Gli aspetti strutturali (vale a dire l organigramma e la descrizione delle funzioni, ruoli e responsabilità) da soli non bastano per gestire la performance; l organigramma
Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL
Pag. 1 di 17 Progetto SIRPE De-materializzazione personalizzati CIL per la cooperazione Versione 1.0 INDICE Pag. 2 di 17 1 INTRODUZIONE 4 1.1 Scopo del documento 4 1.2 Riferimenti 4 2 GENERALITÀ 4 2.1
Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento
I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere
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
Ciclo di vita dimensionale
aprile 2012 1 Il ciclo di vita dimensionale Business Dimensional Lifecycle, chiamato anche Kimball Lifecycle descrive il framework complessivo che lega le diverse attività dello sviluppo di un sistema
Web Service SOAP e WSDL. Tito Flagella [email protected] Lorenzo Nardi [email protected]
Web Service SOAP e WSDL Tito Flagella [email protected] Lorenzo Nardi [email protected] SOAP Originariamente: Simple Object Access Protocol E poi evoluto in un Framework per lo scambio di messaggi in XML 2
Organizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0
Settore delle carte di pagamento (PCI) Standard di protezione dei dati per le applicazioni di pagamento () Riepilogo delle modifiche di dalla versione 2.0 alla 3.0 Novembre 2013 Introduzione Il presente
Dal protocollo IP ai livelli superiori
Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono
IL SISTEMA INFORMATIVO
IL SISTEMA INFORMATIVO In un organizzazione l informazione è una risorsa importante al pari di altri tipi di risorse: umane, materiali, finanziarie, (con il termine organizzazione intendiamo un insieme
BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone
BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell
Distributed Object Computing
Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi
connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI
Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti
Database. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
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
Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
Lezione 1. Introduzione e Modellazione Concettuale
Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and
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
QUALIFICAZIONE DELLA PORTA DI DOMINIO
QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA Versione 1.0 Qualificazione della Porta di INDICE 1. PROCESSO DI QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA 3 2. DESCRIZIONE
Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00
Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:
Scenario di Progettazione
Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano
Framework di sicurezza della piattaforma OCP (Identity & Access Management)
Smart Cities and Communities and Social Innovation Bando MIUR D.D. 91/Ric. del 5 luglio 2012 Framework di sicurezza della piattaforma OCP (Identity & Access Management) AAI: Il problema che OCP ha affrontato
Università Politecnica delle Marche. Progetto Didattico
Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e dell Automazione Sede di Ancona Anno Accademico 2011-2012 Corso di Tecnologie WEB Docente prof. Alessandro
Progettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
Archivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
Progetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla
POR Calabria FSE 2007/2013 Asse II Occupabilità Obiettivo operativo D1
Allegato n. 2 al Capitolato speciale d appalto. ENTE PUBBLICO ECONOMICO STRUMENTALE DELLA REGIONE CALABRIA POR Calabria FSE 2007/2013 Asse II Occupabilità Obiettivo operativo D1 Procedura aperta sotto
Introduzione alla Progettazione per Componenti
Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica
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
2 Gli elementi del sistema di Gestione dei Flussi di Utenza
SISTEMA INFORMATIVO page 4 2 Gli elementi del sistema di Gestione dei Flussi di Utenza Il sistema è composto da vari elementi, software e hardware, quali la Gestione delle Code di attesa, la Gestione di
Il Paradigma REST per lo sviluppo di applicazioni Web 2.0
tesi di laurea Anno Accademico 2006/2007 Il Paradigma REST per lo sviluppo di applicazioni Web 2.0 relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Marcello Cinque candidato Antonio Alonzi Matr.
Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete
IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,
Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti
Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo
Progettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
Progettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli [email protected] 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING
Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN
