RPC based middleware
|
|
- Sara Villani
- 7 anni fa
- Visualizzazioni
Transcript
1 RPC based middleware
2 Introduzione Componente Applicazione SW WIRE PROTOCOL Componente Applicazione SW SOAP APPLICAZIONE RPC Wire Protocol: protocollo visto a livello applicazione SW Le componenti SW girano su SO differenti, possono essere sono sviluppate in LP differenti, etc.. REST AJAX SOCKET HTTP
3 RPC classico RPC è tipo di comunicazione intraprocesso che consente ad un processo A, che gira su una macchina locale, di attivare una procedura che gira su una macchina remota Supporto per l amministrazione/gestione del meccanismo fornito da un middleware At compile time (generation of additional SW) At runt time (SW support)
4 RPC run time architecture RPC Client Calling procedure Server Called procedure result parameters LPC parameters result LPC Stub Skeleton Request message Reply message Network
5 Esempio: RPC
6 RPC Ampiamente usato in ambito industriale per implementare architetture client/server Tecnica/tecnologia per l integrazione e l interoperabilità di applicazioni
7 Interoperabilità Lo scambio di dati fra client e server residenti su piattaforme diverse (HW/OS) richiede particolare attenzione Byte order (little vs big endian) Strutture dati (tabelle, alberi,..) devono essere resi unidimensionali Ciò può essere fatto usando, ad esempio, una rappresentazione esterna neutra Marshalling /Un-marshalling Serialization /De-serialitazion
8 External Data Representation Consideriamo N sistemi che usano N diverse rappresentazioni interne (N=4 nell esempio) Come questi sistemi possono scambiarsi dati? A B C D A B C D A B C D A B C D Naïve: sono necessarie N(N-1) trasformazioni di rappresentazione dei dati Rappresentazione intermedia: 2N trasfomazioni
9 IDL Interface Definition Language Consente di definire un interfaccia astratta come insieme di operazioni (nome, parametri in /parametri out) Generazioni automatica di stub e skelethon (incaricati tra l altro delle operazioni di (un)marshalling) INTERFACE Servizio
10 Semantica della RPC RPC è un protocollo uno-a-uno La semantica di base è la semantica MAYBE Se la chiamata fallisce (server fallisce, time-out), allora la procedura potrebbe essere stata eseguita, ma potrebbe anche non esserlo
11 Semantica della RPC At least-once. La procedura viene eseguita una volta se il server non fallisce, ma può essere eseguita più di una volta in caso di crash del server (retry until succeed) At most-once. In caso di crash del server, la procedura viene eseguita al più una volta Per implementarle sono necessari meccanismi opportuni (contatori, message ID, filtri, etc.) Excatly-once semantic (Transactional RPC)
12 Semantica della RPC (a) Normal case (b) server crash after execution (c) server crash before execution Maybe (no guarantee at all) At least once (retry until succeed) At most once (report failure immediately) Exactly once
13 Accoppiamento forte L impiego delle RPC da luogo a sistemi fortemente accoppiati Sia il server che il client devono conoscersi ed essere attivi nello stesso istante di tempo (synchronous calls)
14 RPC sincrona
15 RPC asincrona
16 Esempi di RPC Sun-RPC DCE DCOM,ACTIVE-X XML-RPC
17 Esempio: Sun-RPC Fornisce un linguaggio di definizione di interfacce, detto XDR language Compilatore: rpcgen Supporto per autentizazione Ogni richiesta contiene le credenziali dell utente che fa girare il programma
18 Sun-RPC/XDR Usato per definire l interfaccia del servizio attraverso la definizione di un insieme di procedure L interfaccia è identificata mediante un program number ed un version number forniti da un autorità centrale Questi numeri sono inviati in ogni messaggio di richiesta
19 XDR-Esempio const MAX = 1000; typedef int FileIdentifier; typedef int FilePointer; typedef int Length; struct Data { int length; char buffer[max]; }; struct writeargs{ FileIdentifier f; FilePointer position; Data data; }; struct readargs{ FileIdentifier f; FilePointer position; Length length; }; program FILEREADWRITE { version VERSION{ void WRITE(writeargs)=1; Data READ(readargs)=2; }=2; } = 9999; Program number Version number Procedure number
20 Sun-RPC/portmapper
21
22 DCE Distributed Computing Environment Sviluppato dalla Open Software Foundation (OSF) fondata nel 1988 (DEC,Apollo,Bull,HP,IBM,Nixdorf,Siemens) Idea chiave: aggiungere il software DCE ai computer esistenti al fine di supportare lo sviluppo di applicazioni distribuite Oltre al middleware RPC fornisce altri servizi Security Service, Time service, Directory Service
23 DCE/Directory Service
24 Sviluppo applicazioni
25 RPC over Internet Mappata su HTTP (GET,POST) Sincrono Asincrono funzione di callback Di fatto due formati per i messaggi JSON (Java Simple Object Notation) XML
26 Tool utili per il debugging
27 JSON JSON è basato su due strutture dati: Oggetto = insieme di coppie nome/valore (array associativo). {"city":"rome", "lat":" ", "long":" } Array = Elenco ordinato di valori. [12,"lat","long ]
28 JSONP GET f(json data). <javasxcript scr=xxx&callback=f>. Protocollo usato in javascript che Consente di wrappare un oggetto json con una funzione di callback Supera il cross-domain problem
29 Esempio Features geolookup conditions forecast formati = JSON, XML KEY/FEATURE FEATURE/[ /[FEATURE ]/q/ ]/q/query QUERY.FORMAT
30 Esempio ID univoco JSONP.
31 Chrome Developer tool Esempio: demo
32 Esempio: codice
33 Altro esempio
34 RPC asincrona: AJAX Sicurezza: Cross domain non è consentito
35 XML-RPC XML-based Remote Procedure Call Specifica sviluppata nel 1998 Trasporta messaggi XML tramite il protocollo HTTP (POST) Firewall friendly E indipendente dal linguaggio di programmazione Supporta un insieme minimo di tipi (comuni a tutti i moderni linguaggi),.. ma non estendibile
36 XML-RPC La specifica consiste di tre parti Data Model Struttura messaggio di richiesta Struttura messaggio di risposta
37 XML in pillole XML (extensible Markup Language) è un linguaggio derivato dal linguaggio SGML (Standard Generalized Markup Language), da cui deriva anche HTML. In questi linguaggi, il concetto chiave è quello di Markup (annotazione) mediante cui si specificano aspetti dei dati. In XML il markup definisce la struttura logica del dato (mentre in HTML, solo l apparenza)
38 XML in pillole Un documento XML ha struttura ad albero I dati appaiono in elementi che, oltre a contenere il dato vero e proprio in codifica testuale (ex. ASCII), contengono annotazioni sotto forma di TAG di descrizione della struttura del dato ed, opzionalmente, coppie attributo-valore
39 Esempio titolo autore Il Signore degli Anelli, di John Ronald Reuel Tolkien, Bompiani. editore
40 XML Libro Titolo Autore Editore Elementi <libro> <titolo> Il Signore degli Anelli </titolo> <autore> John R. R. Tolkien </autore> <editore> Bompiani </editore> </libro> Questo documento è formato da 4 elementi perché? Esercizio : scrivere il contenuto in un file.xml ed aprirlo con Firefox
41 <titolo> Il Signore degli Anelli </titolo> Elementi ed attributi Dati Tag Attributo (meta-info su elemento) <titolo numero-pagine= 345 > Il Signore degli Anelli </titolo>
42 Documenti ben formati Unico elemento di massimo livello (root) I tag di chiusura devono seguire l'ordine inverso dei rispettivi tag di apertura Valori degli attributi: devono sempre essere racchiusi tra singoli o doppi apici
43 Documenti validi Documento che rispetta una grammatica (struttura del documento) Esistono due soluzioni Document Type Definition Più semplice, meno potente XML Schema Più potente, più complessa
44 Correttezza sintattica e Validazione Documento XML Check Sintattico Grammatica Check Semantico
45 XML-RPC Data Model Scalari Strutture Array
46 Tipi scalari Tag Type Example <i4> or <int> four-byte signed integer -12 <boolean> 0 (false) or 1 (true) 1 <string> string hello world <double> double-precision signed floating point number <datetime.iso8601> date/time T09:30:00 <base64> base64-encoded binary ew91ignhbid0ihjlywqgdghpcye=
47 Tipo Struct <struct> <member> <name>lowerbound</name> <value><i4>18</i4></value> </member> <member> <name>upperbound</name> <value><i4>139</i4></value> </member> </struct>
48 Array <array> <data> <value><i4>12</i4></value> <value><string>egypt</string></value> <value><boolean>0</boolean></value> <value><i4>-31</i4></value> </data> </array>
49 Struttura messaggio di richiesta Elemento root: methodcall Ogni elemento root contiene un elemento MethodName ed uno params L elemento MethodName contiene il nome della procedura da chiamare L elemento params contiene l elenco dei parametri della procedura
50 <?xml version="1.0"?> <methodcall> <methodname>master</methodname> <params> <param> <value><i4>123</i4></value> </param> <param> <value><double>12.3</double></value> </param> </params> </methodcall> Esempio
51 <?xml version="1.0"?> <methodcall> <methodname>psd</methodname> <params> <param> <value><i4>123</i4></value> </param> <param> <value><double>12.3</double></value> </param> </params> </methodcall> Esempio methodname PSD params param value param value methodcall i4 123 double 12.3
52 <?xml version="1.0"?> <methodcall> <methodname>psd</methodname> <params> <param> <value><i4>123</i4></value> </param> <param> <value><double>12.3</double></value> </param> </params> </methodcall> methodcall Esempio methodname PSD params param value param value methodcall i4 123 double 12.3 methodname params param i4 param double
53 XML è veicolato da HTTP
54 Esempio richiesta completa POST /xmlrpc HTTP 1.0 User-Agent: Host: Content-type: text/xml Content-length:.. <?xml version= 1.0?> <methodcall> <methodname>areacerchio</methodname> <params><param><value><double>12.2</double></value><param><params> </methodcall>
55 Messaggio di risposta Può contenere la risposta (un singolo parametro) oppure indicare il fallimento con una stringa di diagnosi
56 Esempio risposta <?xml version="1.0"?> <methodresponse> <params> <param> <value><i4>1</i4></value> </param> </params> </methodresponse>
57 Messaggio di fault <?xml version="1.0"?> <methodresponse> <fault> <value> <struct> <member> <name>faultcode</name> <value><int>4</int></value> </member> <member> <name>faultstring</name> <value><string>too many parameters.</string></value> </member> </struct> </value> </fault> </methodresponse>
58 Semantica Chiamate sincrone La richiesta è bloccante. Il chiamante viene bloccato finchè non riceve il documento XML di risposta L indirizzo del destinatario ( end-point ) è quello della connessione HTTP Stateless Non ci sono meccanismi nativi per propagare lo stato fra due chiamate consecutive allo stesso end-point Lo stato dovrebbe essere inviato come parametro di una chiamata
59 Esempio: Flickr Flickr
XML-RPC. Giuseppe Della Penna Università degli Studi di L Aquila.
Giuseppe Della Penna Università degli Studi di L Aquila Giuseppe.DellaPenna@univaq.it http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta Nous Informatica
DettagliApplicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1
Applicazioni distribuite e sistemi ad oggetti distribuiti RPC RMI - Web Services 1 Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli
DettagliArgomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON
XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato
DettagliApprofondimento. Web Services
Approfondimento Web Services Esame di Programmazione per il Web Fedele Ladisa INDICE Capitolo 1. Introduzione 1.1 Introduzione ai Web Services 1.2 Architettura dei Web Services 1.3 Stack protocollare di
DettagliComunicazione fra oggetti distribuiti
Comunicazione fra oggetti distribuiti RMI RPC invocazione di metodo remoto - gli oggetti remoti ricevono le RMI interfaccia remota meccanismo per la comunicazione cliente servente come primitiva di un
DettagliInternet of Things & Wireless Sensor Networks
Internet of Things & Wireless Sensor Networks Protocols for IoT Ing. Luca Davoli Wireless Ad-hoc Sensor Network Laboratory WASNLab davoli@ce.unipr.it This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike
DettagliPrincipi di progettazione di sistemi distribuiti
Principi di progettazione di sistemi distribuiti Rappresentazione esterna dei dati Marshalling e unmarshalling Esemplificazione con Corba e Java Rappresentazione esterna dei dati Problema: un oggetto deve
DettagliChiamata remota di metodi
Chiamata remota di metodi Architettura di Java RMI Esecuzione di una Java RMI Architettura di RMI client server Stub & Skeleton Stub & Skeleton Remote Reference Remote Reference Trasporto Ciascun livello
DettagliCentralizzata Monolitica anni Reti Client Server anni Internet The network is the computer
Distributed Object C o m p utin g "!$#&% ')(+*,#&-).0/2143657*98:.;8
DettagliInvocazione remota. Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. Distributed Systems: Concepts and Design, fifth edition. Pearson, 2012.
Luca Cabibbo Architettura dei Sistemi Software dispensa asw430 marzo 2017 Knowing a failure has occurred is more important than the actual failure. K. Kjos 1 - Fonti Coulouris, G., Dollimore, J., Kindberg,
DettagliRemote Procedure Call
Remote Procedure Call Concetti generali e principi di progettazione Architettura (schema concettuale) pack args client APPLICATION LEVEL local call local return suspended execution STUB unpack results
DettagliSeminario 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
DettagliWeb 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
DettagliJSON for Linked Data JSON-LD
JSON for Linked Data JSON-LD Giuseppe Santaniello Giuseppe Pietravalle Web Semantico A.A. 2015/2016 Linked Data Insiemi di dati interconnessi sul Web Esempio: DBpedia DBpedia contiene i dati di Wikipedia
DettagliOggetti Distribuiti e Java RMI
Oggetti Distribuiti e Java RMI Oggetti Locali - Oggetti Distribuiti Oggetti Locali: sono oggetti i cui metodi possono essere invocati solo da un processo locale, cioè da un processo in esecuzione sulla
DettagliCORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA
CORBA ( Common Object Request Broker Architecture ) consiste in un insieme di specifiche promosse e curate da OMG (Object Management Group). L OMG è un consorzio internazionale no-profit di industrie nel
Dettagli7. Progetto di Applicazioni Distribuite
7. Progetto di Applicazioni Distribuite Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Progetto di Applicazioni Distribuite 1 / 35 Sommario 1 Sistemi
DettagliChiamate a Procedure Remote
FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Corso di Sistemi Distribuiti Anno Accademico 2012/2013 Relazione sullo sviluppo di Chiamate a Procedure Remote
DettagliTESI DI LAUREA IN INFORMATICA
UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II TESI DI LAUREA IN INFORMATICA UNA WEB APPLICATION SU INFRASTRUTTURA PER IL PROGETTO DAME Tutor Accademico: Dott.ssa Anna Corazza Tutor Aziendale: Dott. Massimo
DettagliIndice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
DettagliLo strato di applicazione in Internet
Lo strato di applicazione in Internet Prof. Ing. Carla Raffaelli a.a. 2004/2005 Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni Esempi: HTTP per il web,
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliUtilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:
1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente
Dettagliistituito l'xml Working Group nell'ambito del W3C che nel dicembre 97 pubblica delle Proposed Recomendation
http://xml.html.it/guide/leggi/58/guida-xml-di-base/ INTRODUZIONE extensible Markup Language (XML) = metalinguaggio di markup, cioè un linguaggio che permette di definire altri linguaggi di markup non
DettagliParte 6 JSON, Web Storage API, funzioni JavaScript e user script
Sapienza Università di Roma corso di laurea in Ingegneria informatica e automatica Linguaggi e tecnologie per il Web a.a. 2017/2018 Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Riccardo
DettagliWeb services. 25/01/10 Web services
Web services Tecnologia per il computing distribuito standard W3C non dissimile da RMI, CORBA, EJB... Relazione con il Web Websites for humans, Web Services for software :-) un Web service ha un indirizzo
DettagliFramework. Impianti Informatici. Web application - tecnologie
Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione
DettagliBreve Introduzione a XML
Origini! XML (extensible Markup Language) deriva da SGML (Standard Generalized Markup Language).! Sia con XML che con SGML è possibile definire linguaggi di markup specifici per vari domini, come la finanza
DettagliTecnologie informatiche multimediali
Università degli Studi di Ferrara Facoltà di Lettere e Filosofia Corso di Laurea in «Scienze e Tecnologie della Comunicazione» aa 2011-2012 Tecnologie informatiche multimediali Prof. Giorgio Poletti giorgio.poletti@unife.it
DettagliBASI LINGUAGGIO. Programmazione Web 1
BASI LINGUAGGIO Programmazione Web 1 Commen0 Riga singola // This is a comment Riga mul8pla /* This is a sec8on of mul8line comments which will not be interpreted */ Programmazione Web 2 Istruzioni Un
DettagliInteroperabilità 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
DettagliRDF. Resource Description Framework
RDF Resource Description Framework 1 Sommario 1) Cos è l RDF RDF Model and Syntax RDF Schema 2) Il data model RDF definizione di risorsa, proprietà e statement esempio 1 esempio 2 2 3) Combinazione RDF
DettagliCORBA & DCOM. Gianpaolo Cugola cugola@elet.polimi.it http://www.elet.polimi.it/~cugola. La Object Management Architecture
CORBA & DCOM Gianpaolo Cugola cugola@elet.polimi.it http://www.elet.polimi.it/~cugola Sommario La Object Management Architecture CORBA La programmazione di applicazioni CORBA in Java CORBA vs. RMI DCOM
DettagliSeminario di Sistemi Distribuiti: RPC su SOAP
Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
Dettaglib) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione
Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico
DettagliArchitetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo
Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
DettagliPiattaforme Software Distribuite. Roberto Beraldi
Piattaforme Software Distribuite Roberto Beraldi Programma Applicazioni oggi Cloud computing Python Javascript Php Mobile app(cenni) Esame Progetto individuale Scritto Introduzione Ecosistema applicazioni
DettagliD B M G Il linguaggio HTML
Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliComunicazione tra Processi
Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo
DettagliComunicazione tra Processi
Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo
DettagliAJAX. Asynchronous JavaScript and XML
AJAX Asynchronous JavaScript and XML AJAX Lo sviluppo di applicazioni HTML con AJAX si basa su uno scambio di dati in background fra web browser e server, che consente l'aggiornamento dinamico di una pagina
DettagliCorso di Laurea in INFORMATICA
Corso di Laurea in INFORMATICA INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI (a.a. 2010-2011) MODULO 1 Parte I 1.4 CLIPS: C Language Integrated Production System Introduzione all'ambiente CLIPS. Claudia
DettagliLinguaggi di Markup. Violetta Lonati. Dipartimento Scienze dell Informazione Università degli Studi di Milano
Linguaggi di Markup Violetta Lonati a Dipartimento Scienze dell Informazione Università degli Studi di Milano a E garantito il permesso di copiare, distribuire e/o modificare i materiali cont enuti in
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliArchitetture di rete. 4. Le applicazioni di rete
Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo
DettagliAnalisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.
tesi di laurea Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit. Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Luca Anniciello candidato Gianluca
DettagliIntroduzione 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
DettagliARCHITETTURA DI UN DBMS
ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce
Dettagli@2011 Politecnico di Torino 1
Concetti di base Programmazione Web Il linguaggio HTML HTML consente di annotare un testo per contrassegnare le parti che lo compongono Le annotazioni sono realizzate tramite i "tag" Visualizzare documenti
DettagliIntroduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Introduzione a C# Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni C#: Strumento Principe per.net Primo linguaggio orientato alle componenti della famiglia C/C++ Tutto è DAVVERO un oggetto
DettagliALLEGATO 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
DettagliDal 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
DettagliLaboratorio 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
DettagliIntroduzione. RPCs. Fonti:
RPCs Fonti: 1. Coulouris G.F., Dollimore J.B. and Kindberg T. (1994). Distributed Systems, Concepts and Design. Addison-Wesley (2nd ed.) 2. Tanenbaum, A.S. (1995). Distributed Operating Systems. Prentice-Hall.
DettagliConcetti base programmazione. Antonio Gallo
Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,
DettagliSommario. G. Piscitelli
Sommario Interprocess Communication Processi (e thread) cooperanti Il paradigma produttore-consumatore Shared Memory e Inter Process Communication (IPC) facility Proprietà caratteristiche della comunicazione
DettagliJava Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia
Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano
DettagliClient 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
DettagliReti (già Reti di Calcolatori )
Reti (già Reti di Calcolatori ) Cenni di Socket Programming Renato Lo Cigno http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Socket API Programmazione dei socket Obiettivo:imparare
DettagliContenuti. Applicazioni di rete e protocolli applicativi
Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano
DettagliLezione 8 Il networking. Mauro Piccolo piccolo@di.unito.it
Lezione 8 Il networking Mauro Piccolo piccolo@di.unito.it Classificazione delle reti Ampiezza Local Area Network Metropolitan Area Networ Wide Area Network Proprieta' Reti aperte e reti chiuse Topologia
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliMacchina Astratta: struttura e realizzazione.
Macchina Astratta: struttura e realizzazione. Sommario Macchina Astratta e l interprete di Macchina Hight e Low Level Languages Implementazione di un Linguaggio Macchina Intermedia Gerarchia di Macchine
DettagliOreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa
http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione
DettagliIntroduzione. Java HTTP. G. Prencipe
Java html e http G. Prencipe prencipe@di.unipi.it Introduzione Tutte le comunicazioni tra client e server Web avvengono mediate il (HyperText Transfer Protocol, attualmente alla versione 1.1), che è un
Dettagli3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni
IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................
DettagliIntroduzione alla rete Internet
Introduzione alla rete Internet Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE A INTERNET - 1 Internet: nomenclatura Host: calcolatore collegato a Internet ogni host
DettagliL XML è un linguaggio di markup aperto e basato su testo che fornisce informazioni di tipo strutturale e semantico relative ai dati veri e propri.
L XML è un linguaggio di markup aperto e basato su testo che fornisce informazioni di tipo strutturale e semantico relative ai dati veri e propri. L XML è stato ottimizzato per il Web, diventando potente
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
Dettaglifornitore di servizi utente all interazione tra utenti e sistemi
WEB SERVICES Successo del Web Negli anni passati il Web ha avuto un enorme successo principalmente per due motivi: Semplicità: Ubiquità Per un fornitore di servizi è semplice raggiungere un numero molto
DettagliTito Flagella - Il protocollo HTTP
Tito Flagella - tito@link.it Il protocollo HTTP Il protocollo HTTP È il protocollo standard tramite il quale i server Web rispondono alle richieste dei client (inizialmente i browser); È basato su un modello
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliFondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati
Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli Studi di Bologna Anno Accademico 2008/2009 Sommario
DettagliCenni 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
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
DettagliIntroduzione alla programmazione Android. Emanuel Di Nardo
Introduzione alla programmazione Android 1 Emanuel Di Nardo emanuel.dinardo@gmail.com Architettura di base Insieme software composto da: Sistema operativo Middleware Applicazioni di base Utilizzo del linguaggio
DettagliProgrammazione di servizi web SOAP
Luca Cabibbo Architettura dei Sistemi Software Programmazione di servizi web SOAP dispensa asw860 marzo 2017 What is elegance? Soap and water! Cecil Beaton 1 - Fonti The Java EE 7 Tutorial https://docs.oracle.com/javaee/7/tutorial/
DettagliIl linguaggio C. Puntatori e dintorni
Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;
DettagliRicerca e ordinamento su array di oggetti. Corso di Programmazione 2 Esercitazione 5
Ricerca e ordinamento su array di oggetti Corso di Programmazione 2 Esercitazione 5 Sommario Ricercare in array di oggetti Interfaccia comparable Ordinare array di oggetti Problema Come ordinare, ricercare
DettagliReti di Calcolatori ed Internet. Reti di Calcolatori ed Internet. Reti di Calcolatori. Reti di Calcolatori. Architettura dei Servizi di Rete
Reti di Calcolatori ed Internet Reti di Calcolatori ed Internet Corso di Informatica Generale (Roberto BASILI) Teramo, 13 Dicembre, 2000 Architettura dei Servizi di Rete Collegamenti Internet ed i Servizi
DettagliTipi di dato semplici
Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma
DettagliLinguaggi per il Web: XML
Linguaggi per il Web: XML Piero Fraternali Sara Comai Politecnico di Milano XML http://w3c.org/xml/ -- http://www.microsoft.com/xml/ extended Markup Language Formato di file proposto dal W3C per distribuire
DettagliLe Reti Informatiche
Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo
DettagliInterazione fra applicazioni
WEB SERVICES Successo del Web Negli anni passati il Web ha avuto un enorme successo principalmente per due motivi: Semplicità: Ubiquità Per un fornitore di servizi è semplice raggiungere un numero molto
DettagliProgetto Web Math. prof. Roberto Fuligni. Istituto Tecnico Tecnologico Giacomo Fauser - Novara
Progetto Web Math prof. Roberto Fuligni Istituto Tecnico Tecnologico Giacomo Fauser - Novara Web Math Applicazione di rete per la rappresentazione grafica di funzioni matematiche Architettura client/server
DettagliEnterprise @pplication Integration Software S.r.l.
SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina
DettagliLaboratorio di sistemi interattivi. Struttura di un applicazione Java-XML. Lezione 12: Java & XML
Laboratorio di sistemi interattivi Lezione 12: Java & XML 1 Struttura di un applicazione Java-XML Parser analizza il contenuto di un file XML Produce eventi in corrispondenza delle diverse componenti Eventi
DettagliDocente. Il Corso. Obiettivi PROGRAMMAZIONE PER IL WEB. Alessandro Bianchi. Presentazione del Corso per l a.a. 2014-15. Sviluppare
Docente PROGRAMMAZIONE PER IL WEB Presentazione del Corso per l a.a. 2014-15 Alessandro Bianchi Dipartimento di Informatica V piano Tel. 080 544 2283 E-mail alessandro.bianchi@uniba.it Orario di ricevimento:
DettagliIV Indice I comandi e la sintassi dei linguaggi formali Proposte di variazione sul tema Le stringhe Tipi di dato Operazioni co
Indice Introduzione... IX A chi si rivolge questo libro...x Requisiti per la lettura...x Struttura del libro...x Presentazione dei capitoli...xi Programmi presentati nel libro... XII Credits... XII Software...
DettagliMariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche
Mariarosaria Napolitano Architettura TCP/IP Corso di: Laboratorio di tecnologie informatiche e telematiche Contesto e Prerequisiti Contesto E' rivolto agli studenti del V anno degli Istituti Tecnici Industriali
DettagliIntroduzione a Java. Riferimenti
Introduzione a Java Si ringraziano Massimiliano Curcio e Matteo Giacalone 1: Introduction 1 Riferimenti! Java tutorial: http://java.sun.com/docs/books/tutorial/! Il Java tutorial è parte di una più ampia
DettagliEsonero di Informatica I. Ingegneria Medica
Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l
DettagliIntroduzione al Linguaggio C
INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)
DettagliModelli e strumenti per la generazione automatica di codice
tesi di laurea Anno Accademico 2005-2006 relatore Ch.mo prof. Porfirio Tramontana candidato Valerio Lombardi Matr. 534/237 Contesto e Contributo Fusione tra il mondo della modellazione e della programmazione
DettagliBASI LINGUAGGIO. Programmazione Web 1
BASI LINGUAGGIO Programmazione Web 1 Commen0 Riga singola // This is a comment Riga mul8pla /* This is a sec8on of mul8line comments which will not be interpreted */ Programmazione Web 2 Istruzioni Un
DettagliWeb Services Dogane LINEE GUIDA
Web Services Dogane LINEE GUIDA Pagina 1 di 17 Indice Indice... 2 1. INTRODUZIONE... 3 2. TEST FUNZIONALI SUI WEB SERVICES... 8 3. SICUREZZA... 14 4. FIRMA... 14 5. TRASFORMAZIONE CERTIFICATO DI FIRMA...
DettagliConcetti base. Impianti Informatici. Web application
Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet
DettagliINTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE
00-PRIME PAGINE 2-07-2003 10:04 Pagina V Indice Prefazione XI PARTE PRIMA INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE 1 Capitolo 1 Le ragioni di tanto interesse 3 1.1 Enterprise in J2EE 3 Definizione
Dettagli