Architectures for Distributed Computing Chapter 5

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architectures for Distributed Computing Chapter 5"

Transcript

1 Architectures for Distributed Computing Chapter 5 Piergiorgio Cremonese Netikos Silvia Giordano SUPSI Netikos Pisa - Italy CH-6928 Manno 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

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

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

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

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

Dettagli

PROFILI ALLEGATO A. Profili professionali

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

Dettagli

Virtualizzazione con Microsoft Tecnologie e Licensing

Virtualizzazione con Microsoft Tecnologie e Licensing Microsoft Virtualizzazione con Microsoft Tecnologie e Licensing Profile Redirezione dei documenti Offline files Server Presentation Management Desktop Windows Vista Enterprise Centralized Desktop Application

Dettagli

Rational Asset Manager, versione 7.1

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

Dettagli

Le Reti Informatiche

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

Dettagli

Informatica per la comunicazione" - lezione 9 -

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

Dettagli

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

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

Dettagli

Le caratteristiche di interoperabilità del Terrapack 32 M

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

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

BPEL: Business Process Execution Language

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

Dettagli

Business Process Modeling and Notation e WebML

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

Dettagli

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

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

Dettagli

FileMaker Server 12. Guida introduttiva

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

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Programmazione di rete in Java

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

Dettagli

Luca Mambella Disaster recovery: dalle soluzioni tradizionali al cloud, come far evolvere le soluzioni contenendone i costi.

Luca Mambella Disaster recovery: dalle soluzioni tradizionali al cloud, come far evolvere le soluzioni contenendone i costi. Luca Mambella Disaster recovery: dalle soluzioni tradizionali al cloud, come far evolvere le soluzioni contenendone i costi. I modelli di sourcing Il mercato offre una varietà di modelli di sourcing, ispirati

Dettagli

Web Conferencing Open Source

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

Dettagli

Sistemi di gestione dei dati e dei processi aziendali. Information Technology General Controls

Sistemi di gestione dei dati e dei processi aziendali. Information Technology General Controls Information Technology General Controls Indice degli argomenti Introduzione agli ITGC ITGC e altre componenti del COSO Framework Sviluppo e manutenzione degli applicativi Gestione operativa delle infrastrutture

Dettagli

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

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

Dettagli

Web Conferencing and Collaboration tool

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

Dettagli

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

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

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

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

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

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

Dettagli

Zeroshell come client OpenVPN

Zeroshell come client OpenVPN Zeroshell come client OpenVPN (di un server OpenVpn Linux) Le funzionalità di stabilire connessioni VPN di Zeroshell vede come scenario solito Zeroshell sia come client sia come server e per scelta architetturale,

Dettagli

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

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

Dettagli

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

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

Dettagli

Configurazione avanzata di IBM SPSS Modeler Entity Analytics

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

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

UML Component and Deployment diagram

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

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

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

Dettagli

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

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

Dettagli

Gi-Gi Art. 859 - User's Guide Istruzioni d'uso

Gi-Gi Art. 859 - User's Guide Istruzioni d'uso doc.4.12-06/03 Gi-Gi Art. 859 - User's Guide Istruzioni d'uso A belaying plate that can be used in many different conditions Una piastrina d'assicurazione che può essere utilizzata in condizioni diverse.

Dettagli

INFRASTRUCTURE LICENSING WINDOWS SERVER. Microsoft licensing in ambienti virtualizzati. Acronimi

INFRASTRUCTURE LICENSING WINDOWS SERVER. Microsoft licensing in ambienti virtualizzati. Acronimi Microsoft licensing in ambienti virtualizzati Luca De Angelis Product marketing manager Luca.deangelis@microsoft.com Acronimi E Operating System Environment ML Management License CAL Client Access License

Dettagli

Lezione n 1! Introduzione"

Lezione 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"

Dettagli

Windows Compatibilità

Windows Compatibilità Che novità? Windows Compatibilità CODESOFT 2014 é compatibile con Windows 8.1 e Windows Server 2012 R2 CODESOFT 2014 Compatibilità sistemi operativi: Windows 8 / Windows 8.1 Windows Server 2012 / Windows

Dettagli

Energy risk management

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

Dettagli

1 EJB e Portal Component Object http://desvino.altervista.org

1 EJB e Portal Component Object http://desvino.altervista.org 1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un

Dettagli

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

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

Dettagli

I veri benefici dell Open Source nell ambito del monitoraggio IT. Georg Kostner, Department Manager Würth Phoenix

I veri benefici dell Open Source nell ambito del monitoraggio IT. Georg Kostner, Department Manager Würth Phoenix I veri benefici dell Open Source nell ambito del monitoraggio IT Georg Kostner, Department Manager Würth Phoenix IT Service secondo ITIL Il valore aggiunto dell Open Source Servizi IT Hanno lo scopo di

Dettagli

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

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

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

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

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

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

Dettagli

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

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

Dettagli

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

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

Dettagli

Analisi dei requisiti e casi d uso

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

Dettagli

12.5 UDP (User Datagram Protocol)

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

Dettagli

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

Dettagli

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

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

Dettagli

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL)

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Corso di Sistemi Distribuiti Stefano

Dettagli

DataFix. La soluzione innovativa per l'help Desk aziendale

DataFix. La soluzione innovativa per l'help Desk aziendale DataFix D A T A N O S T O P La soluzione innovativa per l'help Desk aziendale La soluzione innovativa per l'help Desk aziendale L a necessità di fornire un adeguato supporto agli utenti di sistemi informatici

Dettagli

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1 UBUNTU SERVER Installazione e configurazione di Ubuntu Server M. Cesa 1 Ubuntu Server Scaricare la versione deisiderata dalla pagina ufficiale http://www.ubuntu.com/getubuntu/download-server Selezioniare

Dettagli

Sistem Design Document (SDD) Franchising viruale

Sistem Design Document (SDD) Franchising viruale Sistem Design Document (SDD) Franchising viruale 1- Introduzione 1.1- Scopo del sistema Lo scopo del sistema è quello di progettare un franchising virtuale operante nel settore della distribuzione degli

Dettagli

PRESENTAZIONE DI UN SMS AL GATEWAY

PRESENTAZIONE DI UN SMS AL GATEWAY Interfaccia Full Ascii Con questa interfaccia è possibile inviare i dati al Server utilizzando solo caratteri Ascii rappresentabili e solo i valori che cambiano tra un sms e l altro, mantenendo la connessione

Dettagli

Milano, Settembre 2009 BIOSS Consulting

Milano, Settembre 2009 BIOSS Consulting Milano, Settembre 2009 BIOSS Consulting Presentazione della società Agenda Chi siamo 3 Cosa facciamo 4-13 San Donato Milanese, 26 maggio 2008 Come lo facciamo 14-20 Case Studies 21-28 Prodotti utilizzati

Dettagli

Servlet. Possibili usi di una Servlet. Servlet e Servlet Container. Introduzione alle Servlet

Servlet. Possibili usi di una Servlet. Servlet e Servlet Container. Introduzione alle Servlet Servlet Introduzione alle Servlet Programma applicativo (in java) che viene eseguito dal server web Accoglie ed elabora richieste (codificate secondo il protocollo in uso, es: http o ftp. Solo http nel

Dettagli

Il World Wide Web: nozioni introduttive

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

Dettagli

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

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

Dettagli

Process mining & Optimization Un approccio matematico al problema

Process mining & Optimization Un approccio matematico al problema Res User Meeting 2014 con la partecipazione di Scriviamo insieme il futuro Paolo Ferrandi Responsabile Tecnico Research for Enterprise Systems Federico Bonelli Engineer Process mining & Optimization Un

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Panoramica su ITIL V3 ed esempio di implementazione del Service Design

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

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

WAN 80.80.80.80 / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP.

WAN 80.80.80.80 / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP. Configurazione di indirizzi IP statici multipli Per mappare gli indirizzi IP pubblici, associandoli a Server interni, è possibile sfruttare due differenti metodi: 1. uso della funzione di Address Translation

Dettagli

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

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

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE???

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Opportunità di lavoro: ICT - Information and Communication Technology in Azienda Vendite Acquisti Produzione Logistica AFM SIA ICT

Dettagli

IBM Cloud Computing - un opportunità? - una moda? Andrea Reggio Myserverfarm. 2011 IBM Corporation

IBM Cloud Computing - un opportunità? - una moda? Andrea Reggio Myserverfarm. 2011 IBM Corporation IBM Cloud Computing - un opportunità? - una moda? Andrea Reggio Myserverfarm 2011 IBM Corporation Cosa si intende per Cloud Computing Cloud è un nuovo modo di utilizzare e di distribuire i servizi IT,

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

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

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

Dettagli

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete.

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. Premessa. La traccia di questo anno integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi, senza lasciare spazio ad opzioni facoltative. Alcuni quesiti vanno oltre le

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

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

Dettagli

OPEN DAY: ELOCAL GROUP RELOADED

OPEN DAY: ELOCAL GROUP RELOADED L'ingegneria di Elocal Roberto Boccadoro / Luca Zucchelli OPEN DAY: ELOCAL GROUP RELOADED ELOCAL GROUP SRL Chi siamo Giorgio Dosi Lorenzo Gatti Luca Zucchelli Ha iniziato il suo percorso lavorativo in

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione 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

Dettagli

DNS (Domain Name System) Gruppo Linux

DNS (Domain Name System) Gruppo Linux DNS (Domain Name System) Gruppo Linux Luca Sozio Matteo Giordano Vincenzo Sgaramella Enrico Palmerini DNS (Domain Name System) Ci sono due modi per identificare un host nella rete: - Attraverso un hostname

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

R.Focardi Laboratorio di Ingegneria del Software 6. 1

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

Dettagli

FileMaker Server 13. Guida introduttiva

FileMaker Server 13. Guida introduttiva FileMaker Server 13 Guida introduttiva 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi

Dettagli

IT-BOOK. Domini Hosting Web marketing E-mail e PEC

IT-BOOK. Domini Hosting Web marketing E-mail e PEC 5 giugno 09 IT-BOOK Configurazioni e cartatteristiche tecniche possono essere soggette a variazioni senza preavviso. Tutti i marchi citati sono registrati dai rispettivi proprietari. Non gettare per terra:

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

Abstract Data Type (ADT)

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

Dettagli

Elementi di Informatica e Programmazione

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

Dettagli

Progettare, sviluppare e gestire seguendo la Think it easy philosophy

Progettare, sviluppare e gestire seguendo la Think it easy philosophy Progettare, sviluppare e gestire seguendo la Think it easy philosophy CST Consulting è una azienda di Consulenza IT, System Integration & Technology e Servizi alle Imprese di respiro internazionale. E

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011]

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011] Peg Perego Service Site Peg Perego [Dicembre 2011] 2 Esegui il login: ecco la nuova Home page per il portale servizi. Log in: welcome to the new Peg Perego Service site. Scegli il servizio selezionando

Dettagli

ManageEngine ITSM: HelpDesk ITIL, gestione degli asset IT e MDM. Andrea Mannara Business Unit Manager

ManageEngine ITSM: HelpDesk ITIL, gestione degli asset IT e MDM. Andrea Mannara Business Unit Manager ManageEngine ITSM: HelpDesk ITIL, gestione degli asset IT e MDM Andrea Mannara Business Unit Manager ManageEngine Portfolio Network Data Center Desktop & MDM ServiceDesk & Asset Active Directory Log &

Dettagli

Enterprise Services Infrastructure ESI 2.0

Enterprise Services Infrastructure ESI 2.0 Enterprise Services Infrastructure ESI 2.0 Caratteristiche e Posizionamento ver. 2.1 del 21/01/2013 Cos è ESI - Enterprise Service Infrastructure? Cos è ESI? ESI (Enteprise Service Infrastructure) è una

Dettagli

La collaborazione come strumento per l'innovazione.

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

Dettagli

How to Develop Accessible Linux Applications

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

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli