Architectures for Distributed Computing Chapter 5
|
|
- Viviana Vaccaro
- 8 anni fa
- Visualizzazioni
Transcript
1 Architectures for Distributed Computing Chapter 5 Piergiorgio Cremonese Netikos Silvia Giordano SUPSI Netikos Pisa - Italy piergiorgio.cremonese@netikos.com CH-6928 Manno silvia.giordano@supsi.ch SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 1 Contents Network Applications Architecture J2EE Summary Laboratory: Network Applications Architecture SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 2
2 Concept of tiers Overview The ancestors of the client/server architectures The current three tiers architecture Multi-tiers architectures practical example SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 3 Chapter goals: Use the modern view of current applications Understand the main features of evolving applications and their related models SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 4
3 Introduction client server model behind distributed applications and how this model was born and is evolving: View with tiers One tier architecture Two tiers architecture Three tiers architecture Multi-tiers architecture SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 5 Tiers One tier application is running on a single computer Two tiers application is running on two computers Three tiers add a middle layer n-tiers unlimited number of programs to run simultaneously SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 6
4 Concept of tiers Overview The ancestors of the client/server architectures The current three tiers architecture Multi-tiers architectures practical example SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 7 The ancestors Mainframe architecture centralized intelligence Users with simple terminals File-sharing architecture server downloads files from the shared location to the desktop environment. user jobs run (including logic and data) in the desktop environment for low usage SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 8
5 Client/Server model Client/server paradigm standard proprietary Client must contact server server process must first be running server must have created socket (door) that welcomes client s contact Client contacts server by: creating client-local socket specifying IP address, port number of server process SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 9 Main components of C/S model A presentation component: presents information to an external source and obtains input from that source. A business component: perform some type of data manipulation. A data access component: interfaces either with a data storage system such as database systems or hierarchical file systems, or with some other type of external data source as a data feed or an external application system. SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 10
6 Pros: One Tier Architecture easier management easier control more secure Cons: scalability portability lack of flexibility SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 11 Two Tier Architecture typical client/server architecture pros faster development and deployment of applications hardware-independent database systems small servers fat client (Javaapplets) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 12
7 Two Tier Architecture cons worst security, reliability, scalability, and control effective for simple applications client application must enforce its own security process each database must also enforce its own security process scalability SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 13 From Two To Three Tier Architecture third (middle) tier server between client and server effective distributed client/server design with hidden complexity flexibility, maintainability, reusability: provides separate process management scalability: can handle large number-of-users functions : queuing, application execution, and database staging SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 14
8 Concept of tiers Overview The ancestors of the client/server architectures The current three tiers architecture Multi-tiers architectures practical example SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 15 Three Tier Architecture Client/server model sub-divided into: the data layer the logic layer, or middle-tier (difference with 2-tiers) the presentation layer, or client SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 16
9 Three Tier Architecture fat clients are splitted into two pieces : a thin client the application logic, running on a server easy deployment of simple clients logic is centralized SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 17 Different Three Tier Architecture Three tier with TP monitor technology Three tier with message server Three tier with an application server Three tier with an ORB architecture Distributed/collaborative enterprise architecture SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 18
10 Three tier with TP monitor technology Transaction Processing (TP) monitor (middle tier) message queuing, transaction scheduling, and prioritization service client connects to the TP monitor the transaction is handled by TP monitor (client is not blocked) effective for scalability SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 19 Three tier with message server intelligent messages messages = headers (with priority information), address number and identification number prioritized and processed asynchronously good solutions for wireless infrastructures SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 20
11 Three tier with an application server main body of an application server to run on a shared host smaller client more secure more scalable SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 21 Three tier with an ORB architecture support distributed objects two prominent distributed object technologies: Common Object Request Broker Architecture (CORBA) COM/DCOM SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 22
12 Distributed/collaborative enterprise architecture based on Object Request Broker enhanced by using shared, reusable business models (not just objects) on an enterprise-wide scale enterprise is a system comprised of multiple business systems or subsystems improve effectiveness organizationally, operationally, and technologically SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 23 Three Tiers Architecture advantages pros of both one-tiered approach and the two-tiered approach flexible architecture Object reuse Easier system maintenance More effective use of data and networks Higher developer productivity through specialization new perspectives of computational work in methodological and also in production views: multi-tiers SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 24
13 Comparison of Tiers Architectures Architecture Pros Cons One tier Simple Very high performance Self-contained No networking -- can't access remote services Potential for spaghetti code Two tiers Three tiers N tiers Clean, modular design Less network traffic Secure algorithms Can separate UI from business logic Can separate UI, logic, and storage Reliable, replicable data Concurrent data access via transactions Efficient data access Support multiple applications more easily Common protocol/api Must design/implement protocol Must design/implement reliable data storage Need to buy database product Need to hire DBA Need to learn new language (SQL) Object-relational mapping is difficult Quite inefficient Must learn API (CORBA, RMI, etc.) Expensive products More complex; thus, more potential for bugs Harder to balance loads SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 25 Concept of tiers Overview The ancestors of the client/server architectures The current three tiers architecture Multi-tiers architectures practical example SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 26
14 Applicazioni multi-tier: distribuzione delle risorse Il concetto di base delle applicazioni multi-tier èla distribuzione delle risorse (interfaccia, computazioni, dati) fra varie macchine Ogni tier accumuna componenti software uniformi Esempio tipico: applicazioni client-server (2- tier: uno è il client, l altro il server) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 27 Applicazioni multi-tier Le applicazioni 2-tier erano le più diffuse nel passato Oggi la tendenza è di usare applicazioni 3-tier o 4-tier: Interfaccia utente, sul client [protocollo standard, per esempio via web] Logica di business, sul server Dati di impresa, su un DBMS SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 28
15 Applicazioni multi-tier Interfaccia utente Macchina dell utente finale (client) Gestore protocollo Logica di business } Server di applicazioni Dati Server dati SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 29 Interfaccia utente Gestore protocollo Logica di business Dati Applicazioni multi-tier Thin client: GUI basata su FORM HTML Applet: GUI fornita da un applet scaricata via web Rich/thick client: GUI fornita da un applicazione stand-alone, che però comunica tramite il protocollo dato con il server Batch/Poor client: interfaccia a lineadicomando, fornitada un applicazione stand-alone come sopra SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 30
16 Applicazioni multi-tier Interfaccia utente Gestore protocollo Logica di business Dati Web-based: le comunicazioni con la UI sono trasportate come pacchetti HTTP (GET/POST/PUT) XML-based: le comunicazioni con la UI sono trasportate come messaggi SOAP Custom: le comunicazioni con la UI sono trasportate secondo un protocollo privato (via socket) Altro: (CORBA, protocolli specifici di un dominio) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 31 Applicazioni multi-tier Interfaccia utente Gestore protocollo Logica di business Dati Applicazione all-in-one: server tradizionale Applicazione basata su Enterprise beans: entity beans, session beans, ecc. Applicazione basata su Web components: servlet, JSP Applicazione basata su Web services: componenti JAX-RPC SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 32
17 Applicazioni multi-tier Interfaccia utente Gestore protocollo Logica di business Un qualunque DBMS relazionale Per cui sia disponibile un driver JDBC Un DB specializzato DB orientato agli oggetti DB semistrutturato Un legacy system con funzione di data warehouse Dati SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 33 Applicazioni multi-tier via web Usare come protocollo di comunicazione la tecnologia web presenta molti vantaggi pratici È possibile realizzare applicazioni accessibili con un semplice browser I task di formattazione vengono lasciati al linguaggio di markup (HTML+CSS, WML, ecc.) Rimane possibile creare rich client, fornendo così vari livelli di interazione per gli stessi servizi SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 34
18 Applicazioni multi-tier via web SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 35 Applicazioni multi-tier via web Interfaccia utente Gestore protocollo Logica di business Dati tecnologie più comunemente usate per applicazioni multi-tier via web con J2EE: Interfaccia utente basata su web Tomcat o application server analoghi come gestore di protocollo Logica di business basata su Servlet o JSP Dati accessibili tramite JDBC L uso di tecnologie basata su Java e/o open source ci garantisce la durata dell investimento SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 36
19 Concept of tiers Overview The ancestors of the client/server architectures The current three tiers architecture Multi-tiers architectures practical example SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 37 Esempio1: Forum via servlet Directory Applet Browser Web Server Servlet JDBC Dati Utente DBMS Dati magazzino SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 38
20 Esempio1: Forum via cgi Directory javascript Browser Web Server CGI ODBC/DBI Dati Utente DBMS Dati magazzino SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 39 Esempio2 H2S: Un sistema proprietario da HTTP a SMS SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 40
21 Physical Architecture S1 INTERNET S2 POTS/GSM SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 41 httpd Logical Architecture WEB AS checker H2Sd listener SMS gateway smsq smss HTTP H2S client H2S receiver SMS Browser SMS IP SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 42
22 Esempio2: H2S via servlet HTTP Web jk Controller browser Jsp Servlet LDAP DS smsq smssender H2SServer H2S H2S Client Application Server JDBC DB SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 43 Esempio2: H2S via CGI HTTP Web cgi browser CGI application LDAP DS smsq H2S H2S Client JDBC DB smssender H2SServer Application Server SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 44
23 Architecture CGI DB http Web cgi CGI browser smsq H2S smssender H2SServer H2SClient SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 45 Web Components Role Access Functionality UnSafe Document Repository (imgs,..) Application Server Dynamic Presentation Check Controls Business Logic Security Data Access Functionality SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 46
24 Controller Application Server Manages requests coming from the access point (e.g. Web) JSP Presentation Layer: it is implemented as an exetension of HttpServlet: compiled at RunTime SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 47 Application Server Servlet Action Actions triggered by events: used for logic and presentation PreCompiled Classes Implement Business Logic PreCompiled SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 48
25 Applet & Servlet Le servlet sono per certi versi analoghe alle applet Le servlet stanno a un application server come le applet stanno a un browser In entrambi i casi, un contenitore estende le proprie capacità caricando componenti esterni: si tratta quindi di plug-in Le applet risiedono normalmente Sul server, da cui vengono recuperate via HTTP Nella cache locale del browser Le servlet risiedono normalmente sul server, in un area nota all application server SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 49 Applet & Servlet Le applet si usano spesso senza servlet applet che non necessitano di processing server-side: ricevono un po di parametri all avvio, e si limitano a mostrarli in altri casi, le applet si collegano a un server (non servlet) scritto in Java o altri linguaggi, e usano un protocollo privato volendo, le applet possono comunicare con il server via HTTP (simulano una FORM) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 50
26 Applet & Servlet Le servlet si usano spesso senza applet spesso processano input proveniente da FORM tradizionali in altri casi, i dati possono essere generati da una pagina con Javascript, memorizzati in campi hidden di una FORM invisibile e inviati al servlet è anche possibile che un servlet processi input proveniente da altre sorgenti SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 51 Applet & Servlet Applet e servlet si possono anche usare insieme (come nel nostro esempio) l applet raccoglie e pre-elabora i dati, offrendo una bella GUI all utente quando i dati sono pronti, li manda al server via HTTP il server li passa alla servlet per l elaborazione server-side È peròun usopococomune SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 52
27 Differenza fra Servlet e CGI Gli script CGI vengono eseguiti dal S.O., quindi sono potenzialmente meno portabili Le Servlet vengono eseguite dalla JVM integrata nell application server, quindi sono isolate dal S.O. e dunque più portabili SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 53 Differenza fra Servlet e CGI Gli script CGI vengono caricati ed eseguiti una volta per ogni richiesta quindi, il costo di avvio (latenza) è alto Le Servlet vengono caricate solo una volta; poi si crea un Thread (di Java) per ogni richiesta operazione meno costosa, e dunque si ha una latenza più bassa SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 54
28 Differenza fra Servlet e CGI Gli script CGI possono essere scritti in qualunque linguaggio: potete scegliere il linguaggio più adatto al particolare scopo Le Servlet devono essere scritte necessariamente in Java: spesso va bene, ma a voltenon èconveniente SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 55 Differenza fra Servlet e CGI Il protocollo CGI è supportato da tutti i Web server (anche se a volte con qualche piccola differenza) Le Servlet sono supportate solo da alcuni Web server (quelli che fungono da application server) c è comunque una buona scelta di prodotti commerciali È sempre possibile affiancare un application server a un web server, anche su due porte diverse sulla stessa macchina fisica SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 56
29 Server che supportano le Servlet Prodotto Apache & Sun Tomcat Apache + Jserv Borland AppServer IBM WebSphere Application Server IONA iportal Application Server (ora migrati su Jboss) javasystem Application Server 8... e parecchi altri Versione Servlet supportata Versione JSP supportata SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 57 Struttura delle Servlet Le Servlet sono classi Java che implementano l interfaccia javax.servlet.servlet Una classe può implementare Servlet direttamente Ma più comunemente estende HttpServlet SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 58
30 Dialogo con le Servlet Il dialogo fra Servlet e il browser è di tipo client/server client server interfaccia ServletRequest server client interfaccia ServletResponse SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 59 Metodi di Servlet Metodo Descrizione init() service() destroy() getservletinfo() getservletconfig() Inizializza la servlet (e alloca risorse) Serve una richiesta Elimina la servlet (e libera le risorse) Restituisce informazioni sulla servlet (una stringa) Restituisce la configurazione della servlet SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 60
31 Ciclo di vita di una Servlet Al primo caricamento viene chiamato init() Per ogni richiesta, viene chiamato il metodo service() Alla fine, viene chiamato destroy() es: quando il container termina SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 61 Servlet e HttpServlet L interfaccia delle Servlet è piuttosto generica GenericServlet la implementa e la estende con metodi di utilità Gestione parametri, gestione contesto, file di log La classe di sistema HttpServlet specializza GenericServlet per il protocollo HTTP ci sono HttpServletRequest e HttpServletResponse associate SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 62
32 Un esempio (una HttpServlet) public class SimpleServlet extends HttpServlet { public void doget(httpservletrequest richiesta, HttpServletResponse risposta) throws ServletException, IOException { String titolo = Risposta dalla mia Servlet"; risposta.setcontenttype("text/html"); PrintWriter out = risposta.getwriter(); out.println("<html><head><title>"); out.println(titolo); out.println("</title></head><body>"); out.println("<h1>" + titolo + "</H1>"); out.println("<p>... resto della pagina..."); out.println("</body></html>"); out.close(); } } SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 63 Gestione della persistenza È importante ricordare che ogni singola richiesta HTTP viene trattata separatamente da tutte le altre come fa una povera servlet a gestire sessioni che comprendono più di una richiesta? come fanno più servlet che costituiscono una sola applicazione a passarsi dati e comunicare fra di loro? SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 64
33 Gestione della persistenza Abbiamo sostanzialmente due vie Gestire manualmente la persistenza Adatto quando i dati da rendere persistenti sono pochi o poco strutturati Bastano in genere poche righe di codice Affidarci agli Scope Object offerti dal framework Adatto per usi sofisticati Consente vari livelli di persistenza SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 65 Gestione manuale della persistenza Usando i cookie la servlet scrive i dati che vuole rendere persistenti tramite i cookie successive richieste alla stessa servlet o a servlet diverse si porteranno dietro i cookie scritti nel client Usando sessionid la servlet associa un identificatore unico ad ogni sessione il sessionid viene usato come chiave per accedere a un DB sul server successive richieste accedono al DB con la stessa chiave SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 66
34 Gestione dei cookie scrittura 1. Si crea un cookie con cookie = new Cookie(nome,valore); 2. Si impostano gli attributi del cookie cookie.setcomment(...); cookie.setdomain(...); cookie.setmaxage(...);...eccetera 3. Si invia il cookie con la risposta risposta.addcookie(cookie); SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 67 Gestione dei cookie lettura 1. Si recuperano i cookie dalla richiesta k = rich.getcookies(); 2. Si cerca il nostro cookie for (i=0; i<k.length; i++) if (k[i].getname().equals( nostro )) { nostro=k[i]; break; } 3. Si estrae il valore memorizzato nel cookie (se lo abbiamo trovato) valore=nostro.getvalue(); SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 68
35 Gestione del session ID 1. Si estrae la sessione dalla richiesta, creandola se necessario (primo accesso): HttpSession sess= richiesta.getsession(true); 2. Si memorizzano/leggono i dati: a. da un DB, usando sess.getid() come chiave b. dalla sessione stessa, usando sess.putattribute(chiave,valore) e sess.getattribute(chiave) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 69 Gli Scope Objects Ciascun componente web (servlet o pagine JSP, che vedremo più avanti) può accedere a 4 Scope Objects: ServletContext il container HttpSession la sessione corrente HttpServletRequest la richiesta corrente JspContext la pagina corrente (per JSP) Ogni Scope Object fornisce metodi putattribute() e getattribute() per memorizzare a recuperare oggetti arbitrari associati a chiavi alfanumeriche SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 70
36 ServletContext ServletContext rappresenta il container che sta eseguendo la Servlet corrente (e, di solito, tutte le altre) Il ServletContext è unico all interno della JVM Alcuni container offrono varie configurazioni: Una sola JVM per tutte le servlet: ServletContext è globale, come pure i dati memorizzati in esso Più JVM, ciascuna delle quali esegue più servlet: ci sono più ServletContext; per avere un contesto globale occorre usare un DB esterno SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 71 ServletContext Per ottenere il ServletContext, basta chiamare il metodo della servlet getservletcontext() Da tenere a mente: il ServletContext è condiviso; più servlet in esecuzione allo stesso tempo potrebbero accedere concorrentemente ai dati Soluzione: usare i costrutti Java per la mutua esclusione (synchronized) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 72
37 HttpSession Una sessione può persistere per un periodo di tempo specificato, e coprire più richieste HTTP (e anche più visite distinte) Solitamente, una sessione è associata a un singolo utente dell applicazione web Il framework si occupa della persistenza della sessione Usando cookie se il browser li supporta Tramite URL rewriting altrimenti SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 73 HttpSession Per ottenere l HttpSession, basta chiamare il metodo getsession() della richiesta (come già visto) Anche l HttpSession potrebbe essere usato concorrentemente, se abbiamo Servlet che fanno partire nuovi Thread Se si usa URL rewriting, bisogna avere cura di chiamare encodeurl() su ogni URL che viene inclusa nella risposta! SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 74
38 Notifiche Argomenti avanzati Molte operazioni sulle o delle servlet generano eventi (modello publish/subscribe) Caricamento e scaricamento di una servlet Creazione o associazione di una sessione ecc. Altre componenti web possono registrare il loro interesse ad essere notificate quando l evento x si verifica, implementando l interfaccia xlistener Uso molto raro SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 75 Argomenti avanzati Re-routing, inclusione e filtri È possibile alterare il cammino naturale di richieste e risposte Re-routing: le richieste possono essere inoltrate da una servlet a un altra (o a un CGI!) Inclusione: la risposta di una servlet (o CGI) può essere inclusa in quella di un altra Filtri: la richiesta o risposta può passare attraverso uno o più post-processori, che la possono modificare SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 76
39 Velocità Caratteristiche delle Servlet molto veloci, il codice è compilato, e una volta caricato viene tenuto in memoria dal server bassa latenza e alta banda Portabilità ottima Java è sempre lo stesso ovunque Fattori temporali provare una Servlet richiede (i) modificare il codice (ii) compilare il codice (iii) riconfigurare il web server: non è adatto alla prototipazione rapida SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 77 Competenze Caratteristiche delle Servlet con poche aggiunte, basta conoscere Java Per servlet complesse, occorre conoscere Java bene Supporto il supporto da parte di terzi è ancora un po limitato (ma in crescita: si aspetta che diventi standard in Apache) la tecnologia è portabile, ma al momento dipende molto da Sun/IBM/Borland/Oracle Ci sono ambienti di sviluppo molto belli e completi (inclusi Eclipse e IBM WebSphere Studio) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 78
40 Deployment Punto dolente! Ogni server ha modalità proprie per la configurazione Esistono però formati standard di deployment Sono parte delle specifiche J2EE SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 79 Confronto fra CGI, Perl e Servlet Caratteristica CGI mod_perl Servlet Portabile fra web server si no (solo Apache) si (limitata) Portabile fra S.O. si (con poche varianti) parziale si Un processo per ogni richiesta si no no Perdite di memoria (leak) no si no (in teoria) Linguaggio C, Perl, sh, ecc. Perl Java Tipi stretti no no si Persistenza no (va fatta a mano) no (va fatta a mano) si Persistenza verso DB no (va fatta a mano) si si Portabilità fra DB no (ad hoc) no (ad hoc) si (via JDBC) Controllo dei diritti no (solo via S.O.) no (solo via S.O.) si (diritti Java) Supporto da IDE no no si (es.: WebSphere) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 80
41 JavaServer Pages JSP Le pagine JSP sono normali documenti testuali Contentono un mix di markup standard (es., HTML) e di istruzioni speciali Concettualmente simili alle pagine ASP (ma più potenti e portabili) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 81 JSP e Servlet Le Servlet funzionano bene per pagine con tanto contenuto e poca grafica Però tutta la pagine deve essere generata in Java......bisogna mettere mano al codice Java anche solo per cambiare il colore di sfondo! JSP (come ASP) immerge codice (Java) in pagine HTML separazione fra presentazione e logica SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 82
42 Esempio: una pagina JSP <HTML> page language= java import= it.netikos.jsp %> <H1>Benvenuto!</H1> Oggi è <jsp:usebean id= calendario class= JSPCalendar /> <UL> <LI>giorno: <%= calendario.getdayofmonth() %> <LI>mese: <%= calendario.getmonth() %> <LI>anno: <%= calendario.getyear() %> </UL> <% if (calendario.get(calendar.am_pm)==calendar.am) { %> buon giorno! <% } else { %> buona seeeeeraaaaa... <% } %> </HTML> SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 83 Elementi di una pagina JSP Una pagina JSP può contenere cinque tipi di elementi: 1. direttive JSP, fra <%@ e %> 2. azioni JSP, fra <jsp: e /> (ma vedremo più avanti una versione estesa) 3. espressioni, fra <%= e %> 4. scriptlet, ovvero codice fra <% e %> 5. parti fisse, tutto il resto SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 84
43 Direttive JSP Ci sono tre tipi di direttive: di pagina (linguaggio, dimensioni buffer, trattamento errori, ecc.) include (per inserire altri file dentro la pagina) taglib (estensioni del linguaggio JSP) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 85 Azioni JSP jsp:usebean (istanzia un bean e gli assegna un nome) jsp:setproperty (assegna un valore a una proprietà di un bean) jsp:getproperty (legge il valore di una proprietà, lo converte in stringa, e lo manda in output)... e alcune altre SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 86
44 Espressioni L espressione fra <%= e %> viene valutata Il valore ottenuto viene converito in stringa La stringa viene sostituita al posto di <%=... %> SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 87 Scriptlet Il codice fra <% e %> viene eseguito L immersione può anche essere parziale, come nel nostro esempio precedente: <% if (calendario.get(calendar.am_pm)==calendar.am) { %> buon giorno! <% } else { %> buona seeeeeraaaaa... <% } %> SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 88
45 Trattamento delle pagine JSP Ma, esattamente, cosa accade quando un web server deve trattare una pagina JSP? Quali caratteristiche derivano alle JSP da questo trattamento? SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 89 Trattamento delle pagine JSP La prima volta che al server viene richiesta una certa pagina JSP, oppure se la pagina è stata modificata rispetto all ultimo accesso precedente, la pagina viene compilata e diventa una Servlet (.java) La Servlet viene a sua volta compilata e produce un file eseguibile (.class) Il codice del.class viene caricato nel server, viene eseguito, e tenuto pronto per eventuali altre richieste successive SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 90
46 Trattamento delle pagine JSP Container p.class client p.java Java compiler client client JSP compiler p.jsp Spazio web SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 91 Caratteristiche di JSP Ereditano tutte le buone caratteristiche delle Servlet In più, rendono facile fare modifiche: la compilazione è automatica si può fare prototipazione rapida se si vuole modificare l aspetto delle pagine HTML, non c è bisogno di toccare il codice il livello di competenze richiesto è più basso SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 92
47 Uso tipico di JSP Il merito principale delle JSP è di separare la presentazione (parte HTML) dalla logica applicativa (parte codice) Per sfruttare al meglio questa separazione, è bene ridurre al minimo le scriptlet <% %>, e spostare tutta la logica all interno di JavaBean appropriati Implementazione in stile MVC (Model-View- Controller) SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 93 Uso tipico di JSP L architettura MVC prevede un modello astratto della realtà che si vuole modellare (M) Separatamente, uno strato di software legge lo stato del modello e ne produce una vista (V) Analogamente, uno strato di software detto controller interpreta le azioni dell utente e le effettua apportando modifiche al modello (C) Nel nostro caso, M è implementato come un insieme di Javabean; pagine JSP fungono da V e C SUPSI-DTI Silvia Giordano 10/06/2004 Architecture 94
Architetture Web: un ripasso
Architetture Web: un ripasso Pubblicazione dinamica di contenuti. Come si fa? CGI Java Servlet Server-side scripting e librerie di tag JSP Tag eseguiti lato server Revisione critica di HTTP HTTP non prevede
DettagliComponenti Web: client-side e server-side
Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente
DettagliArchitettura MVC-2 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
Architettura MVC-2 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 Verso l architettura MVC-2 2 Il secondo passo verso l architettura MVC-2 è quello di separare il controllo dell
DettagliSiti 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
DettagliApplicazioni 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
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Java Servlet Parte a versione 3.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliProtocolli e architetture per WIS
Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliProgetto 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
DettagliImplementazione di MVC. Gabriele Pellegrinetti
Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il
DettagliProgrammazione Client-Server
Programmazione Client-Server Davide Taibi davide.taibi@uninsubria.it The Java Platform Java Technology Enabled Devices Java Technology Enabled Desktop Workgroup Server High-End Server The Java Platform
DettagliScaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»
Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 9 Architettura Model-View-Controller (MVC) Adottando l'architettura MVC e la tecnologia Servlet-JSP, un'applicazione web può essere realizzata
Dettaglisito web sito Internet
Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile
DettagliTener traccia del client
Tener traccia del client Raramente un applicazione web è costituita da una singola pagina (risorsa). E utile quindi tener traccia dei client che si collegano per rendere più semplice lo sviluppo dell applicazione.
DettagliBreve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida
Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliProgrammazione server-side: Java Servlet
Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos
DettagliReti di Telecomunicazione Lezione 6
Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server
DettagliIntroduzione 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
DettagliSommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli
Sommario Introduzione Architettura Client-Server Architettura a Due Livelli Architettura a Tre Livelli Server Web Browser Web Introduzione La storia inizia nel 1989 Tim Berners-Lee al CERN, progetto WWW
DettagliL evoluzione delle Applicazioni Distribuite
L evoluzione delle Applicazioni Distribuite Dai terminali a fosfori verdi al Client-Server a Internet Architettura basata su Mainframe thin client su 3270 a fosfori verde server TP-Monitor su Mainframe
DettagliProgetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla
DettagliApproccio 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
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
DettagliTecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer
Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client
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
DettagliIntroduzione alle tecnologie informatiche. Strumenti mentali per il futuro
Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle
DettagliBasi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008
Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di
DettagliSWIM v2 Design Document
PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback
DettagliIntroduzione alla programmazione Http lato server in Java
Introduzione alla programmazione Http lato server in Java Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide API Java Titleper il Protocollo Http Programmazione Client java.net.url
DettagliL architettura MVC (Model- View-Controller) Introduzione
L architettura MVC (Model- View-Controller) Introduzione Architettura MCV L architettura MVC è un insieme di regole per strutturare un sito-web dinamico. Queste regole complicano la struttura del sito,
DettagliSiti interattivi e dinamici. in poche pagine
Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata
DettagliMetaMAG METAMAG 1 IL PRODOTTO
METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo
DettagliProgrammazione dei socket con TCP #2
I Il Server e il Client si scambiano messaggi attraverso la rete mediante un dell API (Application Programming Interface) Telematica II 10. Esercitazione/Laboratorio 3 Server ports Clients user space Socket
DettagliCORSO DI PROGRAMMAZIONE JAVA
CORSO DI PROGRAMMAZIONE JAVA Corso di Programmazione Java Standard Edition ( MODULO A) OBIETTIVI ll corso ha come obiettivo quello di introdurre la programmazione a oggetti (OOP) e di fornire solide basi
Dettagli19. 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
DettagliFramework di Middleware. per Architetture Enterprise
Framework di Middleware per Architetture Enterprise Corso di Ingegneria del Software A.A.2011-2012 Un po di storia 1998: Sun Microsystem comprende l importanza del World Wide Web come possibile interfaccia
DettagliTomcat & Servlet. Contenuti. Programmazione in Ambienti Distribuiti. Tomcat Applicazioni Web. Servlet JSP Uso delle sessioni
Tomcat & Servlet Programmazione in Ambienti Distribuiti V 1.2 Marco Torchiano 2005 Contenuti Tomcat Applicazioni Web Struttura Sviluppo Deployment Servlet JSP Uso delle sessioni 1 Tomcat Tomcat è un contenitore
Dettagli1. 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
DettagliCandidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013
e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento
Dettagli2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.
ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione
DettagliIntroduzione all elaborazione di database nel Web
Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un
DettagliCome 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
DettagliAmbienti di Sviluppo
Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il
DettagliTipi fondamentali di documenti web
Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non
DettagliINFN Security Workshop Firenze 19-20 Settembre 2000. IMHO e IMP: una interfaccia Web sicura per la posta elettronica. Raffaele.Cicchese@pr.infn.
INFN Security Workshop Firenze 19-20 Settembre 2000 IMHO e IMP: una interfaccia Web sicura per la posta elettronica Raffaele.Cicchese@pr.infn.it Cosa significano i due acronimi IMHO e IMP? IMHO = IMAP
DettagliCorso di Informatica Modulo T3 B2 - Database in rete
Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual
DettagliReti di Telecomunicazione Lezione 8
Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione Web: Architetture versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
Dettagli@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
DettagliDBMS e Linguaggi di programmazione nell'era di Internet
DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliApplication Server per sviluppare applicazioni Java Enterprise
Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente
DettagliSistemi 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
DettagliIl Protocollo HTTP e la programmazione di estensioni Web
Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);
DettagliNetwork Services Location Manager. Guida per amministratori di rete
apple Network Services Location Manager Guida per amministratori di rete Questo documento illustra le caratteristiche di Network Services Location Manager e spiega le configurazioni di rete per sfruttarne
DettagliProgrammazione ad Oggetti. Java Parte I
Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere
DettagliGroups vs Organizational Units. A cura di Roberto Morleo
Groups vs Organizational Units A cura di Roberto Morleo Gruppo Windows 2 Groups vs Organizational Units Organizational Units Groups OU Design Using OUs to Delegate Administration Group Policies and OU
DettagliProgrammazione a Oggetti Modulo B
Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliAPPENDICE A Servlet e Java Server Page
APPENDICE A Servlet e Java Server Page A.1 Cosa è una Servlet e come funziona Una servlet è un particolare tipo di applicazione Java, in grado di essere eseguita all'interno di un web server e di estenderne
DettagliLo scenario: la definizione di Internet
1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)
DettagliESERCITAZIONE Semplice creazione di un sito Internet
ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica
DettagliInizializzazione degli Host. BOOTP e DHCP
BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un
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
DettagliPanoramica: che cosa è necessario
Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo
DettagliIl web server Apache Lezione n. 3. Introduzione
Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar
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
DettagliApplicazione: GAS - Gestione AcceSsi
Riusabilità del software - Catalogo delle applicazioni Gestione ICT Applicazione: GAS - Gestione AcceSsi Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi Nome
DettagliAPI e socket per lo sviluppo di applicazioni Web Based
API e socket per lo sviluppo di applicazioni Web Based Cosa sono le API? Consideriamo il problema di un programmatore che voglia sviluppare un applicativo che faccia uso dei servizi messi a disposizione
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
DettagliDatabase e reti. Piero Gallo Pasquale Sirsi
Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente
DettagliSistemi avanzati di gestione dei Sistemi Informativi
Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/
DettagliCome funziona internet
Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa
DettagliMac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
DettagliObiettivi d esame PHP Developer Fundamentals on MySQL Environment
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web
DettagliFlavio De Paoli depaoli@disco.unimib.it
Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato
DettagliProgrammazione Java Avanzata Spring - JDBC
Programmazione Java Avanzata Spring - JDBC Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress. 2008
DettagliArchitetture software
Sistemi Distribuiti Architetture software 1 Sistemi distribuiti: Architetture software Il software di gestione di un sistema distribuito ha funzionalità analoghe ad un sistema operativo Gestione delle
DettagliServer-side Programming: Java servlets Parte II
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Corso di Reti di Applicazioni Telematiche a.a. 2009-2010 Server-side Programming:
DettagliReti 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,
DettagliINFORMATICA DISTRIBUITA. lez 4 Livello applicazione
INFORMATICA DISTRIBUITA prof. lez 4 Livello applicazione Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 applicazioni di rete Processo: programma in esecuzione
DettagliSistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL
STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliUNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet
UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI
DettagliLezione n 1! Introduzione"
Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"
DettagliEXPLOit Content Management Data Base per documenti SGML/XML
EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per
DettagliArchitettura 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
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliSommario. Oracle Database 10g (laboratorio) Grid computing. Oracle Database 10g. Concetti. Installazione Oracle Database 10g
Sommario Oracle Database 10g (laboratorio) Dr. Daniele Barone Dr. Simone Grega 1 2 Oracle Database 10g Offre alte qualità del servizio: Performance; Scalabilità; Sicurezza; Affidabilità. Gestione autonoma
DettagliLezione 4 La Struttura dei Sistemi Operativi. Introduzione
Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)
DettagliMoodle 2. comandi avanzati. manuale per il docente. Albano Squizzato ingsquizzato@libero.it Paolo Macchi paolo.macchi@libero.it
Albano Squizzato ingsquizzato@libero.it Paolo Macchi paolo.macchi@libero.it Moodle 2 comandi avanzati manuale per il docente Generazione Web 2013-14 - G9 Il database (creazione) The database is veritable
DettagliScenario 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
DettagliJNDI. Massimo Merro Programmazione di Rete 214 / 229
JNDI Abbiamo già visto come i registri RMI espletino un servizio di Naming attraverso cui vengono associati nomi simbolici a referenze a server remoti. Esistono comunque altri servizi di naming: COS (Common
DettagliGuida all Installazione del ProxyFatturaPA
i Guida all Installazione del ii Copyright 2005-2014 Link.it srl iii Indice 1 Introduzione 1 2 Fase Preliminare 1 3 Esecuzione dell Installer 1 4 Fase di Dispiegamento 5 4.1 JBoss 5.x e 6.x....................................................
DettagliAspetti applicativi e tecnologia
Aspetti applicativi e tecnologia Premessa Architetture usate per i database Le prime applicazioni erano definite monolitiche, cioè un unico computer (mainframe) gestiva sia le applicazioni che i dati,
Dettaglihttp://indesk.innove.it
http://indesk.innove.it INDESK. Un nuovo service management. Un approccio completamente nuovo alla gestione di sistemi di information technology (IT) su larga scala e integrabile ai sistemi legacy ha portato
DettagliApplicazioni distribuite
Applicazioni distribuite Maurizio Cozzetto 1 agosto 2009 Un pò di teoria Ricordiamo che un'applicazione distribuita è un'applicazione composta da più programmi (almeno 2) posti in esecuzione su macchine
Dettagli