01 Applicazioni Enterprise e Panoramica su J2EE
|
|
|
- Gianpaolo Magnani
- 8 anni fa
- Просмотров:
Транскрипт
1 Applicazioni Enterprise e Panoramica su J2EE Panoramica su J2EE Sistemi Distribuiti M 1 Alma Mater Studiorum - Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica I Ciclo - A.A. 2015/2016 Sistemi Distribuiti M (8 cfu) 01 Applicazioni Enterprise e Panoramica su J2EE Docente: Paolo Bellavista [email protected]
2 Panoramica su J2EE Sistemi Distribuiti M 2 Cominciamo con delle domande... (provocatoria) Che cosa fa un ingegnere informatico specialistico/magistrale in azienda oggi? Ovviamente oltre a progettare siti Web... Che cos è un componente, in sistemi concentrati? Perché vale la pena di utilizzare componenti? Che cos è un componente, in sistemi distribuiti? Perché vale la pena di utilizzare componenti?
3 Panoramica su J2EE Sistemi Distribuiti M 3 Alcuni Modelli di Base Importanza dei modelli: per comprendere linee guida di soluzione e invarianti, anche oltre le specifiche tecnologie Ma importanza di calare i modelli concretamente in soluzioni tecnologiche allo stato dell arte (e ce ne sono di ampiamente diffuse in ambito industriale per i sistemi distribuiti di livello enterprise ) modelli e paradigmi statici/dinamici modelli e strategie preventivi/reattivi modello per esecuzione nel sistema processi/oggetti replicazione modello delle entità per la allocazione
4 Approccio Filosofico (1) Nei sistemi distribuiti siamo interessati alla esecuzione e operatività Ci aspettiamo che ci sia sviluppo prima della esecuzione Non è il nostro focus (lo lasciamo ad altri corsi) Ci interessa tutto quello che ha impatto durante l esecuzione e che rimane significativo e vitale durante questa, favorendo e abilitando la distribuzione (e capendo in che modo) Ad es., ci sono classi che poi diventeranno processi e componenti attivi e distribuiti per tutta la durata della applicazione: in realtà sono i processi che ci interessano e che rappresentano una parte della architettura del sistema runtime L architettura dinamica ci interessa e ci interessa capire come, quanto bene funziona e che azioni di gestione/sviluppo/deployment compiere per migliorarne l efficienza Panoramica su J2EE Sistemi Distribuiti M 4
5 Panoramica su J2EE Sistemi Distribuiti M 5 Approccio Filosofico (2) Nei sistemi distribuiti siamo interessati a performance e qualità Ci aspettiamo che ci siano risorse implicate e casi particolarmente significativi per un architettura considerata Ad es., specifici deployment e adozione di specifiche tecnologie per la replicazione hanno un impatto molto forte sul costo e sulla scalabilità del sistema complessivo Mentre l uso di strumenti di più basso livello può garantire minore overhead Durante l esecuzione ci interessano i colli di bottiglia, ossia i punti critici e le parti che possono determinare un comportamento del sistema poco adatto o carente Ad es., usare alcune proprietà delle architetture di supporto (supporto alla transazionalità e al deployment dinamico) può introdurre un potenziale bottleneck da considerare e da controllare a posteriori in un progetto L architettura va verificata a posteriori
6 Panoramica su J2EE Sistemi Distribuiti M 6 Modelli di Esecuzione Nei sistemi distribuiti siamo interessati a operatività, performance, reale esecuzione distribuita Uso di modelli preventivi/reattivi Comportamenti preventivi prevengono eventi o situazioni con un costo fisso sul sistema (spesso calcolabile) Comportamenti reattivi permettono di introdurre minore logica (e limitare il costo) in caso gli eventi non si verifichino Uso di modelli statici/dinamici Comportamenti statici NON permettono di adeguare il sistema a fronte di variazioni (limitate) Comportamenti dinamici permettono di fare evolvere il sistema a fronte di variazioni (limitate) con costi più elevati
7 Panoramica su J2EE Sistemi Distribuiti M 7 Supporto al Deployment Il corso si occuperà attentamente anche delle problematiche centrali di deployment MANUALE l utente determina ogni singolo oggetto/componente e lo trasferisce sui nodi appropriati con sequenza appropriata di comandi APPROCCIO con FILE SCRIPT si devono eseguire alcuni file di script (qualche linguaggio shell, bash, perl, ecc.) racchiudono la sequenza dei comandi per arrivare alla configurazione che presenta dipendenze tra oggetti APPROCCIO basato su MODELLI o LINGUAGGI DICHIARATIVI supporto automatico alla configurazione attraverso linguaggi dichiarativi o modelli di funzionamento della configurazione da ottenere (ad es. file di deployment XML e annotazioni Java5)
8 Panoramica su J2EE Sistemi Distribuiti M 8 Modello di Allocazione (1) Allocazione. o Deployment le entità di una applicazione possono essere o statiche o dinamiche (o miste) Allocazione statica: data una specifica configurazione (o deployment), le risorse sono decise prima dell esecuzione Allocazione dinamica: l allocazione delle risorse è decisa durante l esecuzione sistemi dinamici Risorse statiche (decise in modo statico) Risorse dinamiche (anche decise in modo statico e ) In sistemi dinamici, si creano risorse dinamiche non previste e si può anche riallocare risorse esistenti (migrazione fisica/logica di task): le risorse possono muoversi sulla configurazione durante l esecuzione Risorse dinamiche anche decise in modo dinamico
9 Panoramica su J2EE Sistemi Distribuiti M 9 Modello di Allocazione (2) APPROCCIO ESPLICITO l utente prevede il mappaggio per ogni risorsa potenzialmente da creare prima dell esecuzione Costo elevato: l utente prima dell esecuzione deve prevedere un mappaggio per ogni risorsa, anche se non sarà utilizzato e necessario APPROCCIO IMPLICITO (automatico) il sistema si occupa del mappaggio delle risorse dell applicazione (anche al deployment) Costo limitato: il sistema si occupa del mappaggio solo delle parti necessarie le risorse statiche e quelle dinamiche su bisogno (by need) APPROCCIO MISTO il sistema adotta una politica di default applicata sia inizialmente per le risorse statiche sia dinamicamente per l allocazione delle nuove risorse e la migrazione di quelle già esistenti eventuali indicazioni dell utente sono tenute in conto per migliorare le prestazioni Costo variabile, bilanciabile e adattabile: il sistema adotta una politica per ogni risorsa, o statica o dinamica decisioni statiche possono essere ottimizzate prima del runtime; decisioni dinamiche possono essere a costo diverso, a seconda del carico del sistema
10 Panoramica su J2EE Sistemi Distribuiti M 10 Modello di Allocazione (3) Scelta di un deployment o di un altro Può avere un grande impatto durante la specifica esecuzione e deve essere tenuto in conto Pensate a dei componenti che debbano semplicemente comunicare, - dobbiamo considerare strumenti di comunicazione internodo se i componenti potranno essere allocati su nodi diversi - dobbiamo scegliere gli strumenti di interazione fra componenti più adatti per l allocazione che stiamo determinando (pensate ad architetture diverse ed eterogenee di supporto), anche in dipendenza dagli specifici requisiti applicativi - dobbiamo verificare che il deployment sia adatto agli strumenti di comunicazione/interazione/integrazione scelti e non produca problemi (cercando colli di bottiglia e casi critici)
11 Panoramica su J2EE Sistemi Distribuiti M 11 Portabilità Enterprise Computing: quali sfide? Interoperabilità fra diversi ambienti, anche legacy Supporto e gestione runtime (scalabilità, efficienza, tolleranza ai guasti, resilienza, affidabilità, ) Time-to-market Integrazione Scalabilità, ad esempio per Big Data ma non solo Prodotti Application Server Web Server Componenti/Container DB, persistenza e oggetti Sistemi Legacy Database (CRM, PLM,...) Trans. Processing (TP) Monitor Sistemi Enterprise Info. (EIS)
12 Single tier Two tier Three tier basate su RPC Evoluzione delle Architetture basate su oggetti remoti per Enterprise Application Vi ricordate i pattern corrispondenti e il supporto necessario, vero?!? Three tier (browser HTML e Web server) Application server proprietario (Bea WebLogic, Oracle AS, ) Application server standard, ad esempio J2EEcompliant (IBM WebSphere, Pramati, Sybase EAServer, Zope, JBoss, GlassFish, ) Application server J2EE standard e open source (JBoss, GlassFish, Apache Geronimo, JOnAS, ) Panoramica su J2EE Sistemi Distribuiti M 12
13 Panoramica su J2EE Sistemi Distribuiti M 13 Applicazioni Enterprise Elementi costitutivi di ogni applicazione enterprise: Presentation logic Business logic Data access logic (e modello dei dati) Servizi di sistema L evoluzione delle architetture per applicazioni enterprise è sintomo di: flessibilità necessaria con cui poter approntare modifiche quanto sono rilevanti e chi deve fornire i servizi di sistema?
14 Panoramica su J2EE Sistemi Distribuiti M 14 Single Tier (mainframe-based) Terminali dumb connessi direttamente al mainframe Modello centralizzato Livelli di presentazione, business logic e accesso ai dati sono interdipendenti e fusi insieme in un applicazione monolitica Pro: Nessuna necessità di gestione client-side Facilità di ottenere consistenza dei dati Contro: Funzionalità inter-dipendenti (livelli di presentazione, modello dei dati e business logic), difficoltà di aggiornamento, maintenance e riutilizzo di codice
15 Panoramica su J2EE Sistemi Distribuiti M 15 Two Tier (1) Clienti fat interagiscono con backend DB Invio query SQL e ricezione dati raw Logica di presentazione, di business e di processamento del modello dei dati nell applicazione cliente Pro: indipendenza dallo specifico prodotto DB (rispetto a single-tier) Contro: funzionalità inter-dipendenti (livelli di presentazione, modello dei dati e business logic), difficoltà di aggiornamento, maintenance e riutilizzo di codice modello dei dati tightly-coupled per ogni cliente: se cambia DB Schema?
16 Panoramica su J2EE Sistemi Distribuiti M 16 Two Tier (2) Clienti fat interagiscono con backend DB Invio query SQL e ricezione dati raw Logica di presentazione, di business e di processamento del modello dei dati nell applicazione cliente Contro (continua): gli aggiornamenti devono essere distribuiti (quale deployment?) verso tutti i clienti. Come gestire la maintenance del sistema? connessione al DB per ogni cliente. Con quale impatto sulla scalabilità? raw data trasferiti verso il cliente (responsabile del loro processamento) produce overhead di rete
17 Three Tier (basato su RPC) Thinner client: logica di business & modello dati separati dalla logica di presentazione Middle tier server si occupa dei servizi di sistema Controllo concorrenza, threading, transazioni, sicurezza, persistenza, multiplexing, ottimizzazione performance,... Pro: Logica di business modificabile in modo più flessibile (maggior parte in middle-tier server) Contro: Complessità middle-tier server Accoppiamento stretto fra clienti e middle-tier server (più stretto che in 3 tier basato su Web) Scarsa riusabilità del codice (rispetto a object model based) Panoramica su J2EE Sistemi Distribuiti M 17
18 Panoramica su J2EE Sistemi Distribuiti M 18 Logica di business e modello dati dentro agli oggetti Three Tier (basato su Remote Object) astrazione (a livello di linguaggio di interfaccia) Modelli a oggetti più utilizzati: CORBA, RMI, DCOM. Linguaggi di interfaccia possibili IDL per CORBA; Java interface per RMI Pro: Meno strettamente accoppiato del modello di RPC Codice maggiormente riutilizzabile Contro: Ancora troppa complessità nel middle-tier
19 Panoramica su J2EE Sistemi Distribuiti M 19 Three Tier (Web Server) Browser per livello presentaz. Browser interroga Web server via HTTP Logica di business e modello dei dati gestiti tramite tecnologie per dynamic content generation (CGI, Servlet/JSP, ASP, ) Pro: Tipologia di cliente disponibile ovunque Zero client management Supporto a differenti tipi di dispositivi cliente (ad es. telefoni J2ME-enabled) Contro: Ancora troppa complessità nel middle-tier
20 Panoramica su J2EE Sistemi Distribuiti M 20 Transizione da singletier o two-tier verso architetture multi-tier Transizione da modello monolitico verso modello delle applicazioni objectbased Trend Attuali Transizione verso clienti HTML-based
21 Panoramica su J2EE Sistemi Distribuiti M 21 Quali problemi ancora aperti? Complessità del middle tier server Duplicazione dei servizi di sistema per la maggior parte delle applicazioni enterprise Controllo concorrenza, transazioni Load-balancing, sicurezza Gestione risorse, connection pooling Come risolvere il problema? Container condiviso che gestisce i servizi di sistema Proprietario vs. basato su standard aperti?
22 Soluzioni a Container: Panoramica su J2EE Sistemi Distribuiti M 22 Proprietarie vs. Standard-based Soluzioni proprietarie: Usano il modello componente-container Componenti per la business logic Container per fornire servizi di sistema Il contratto componenti-container è ben definito, ma in modo proprietario (problema di vendor lock-in) Esempi: Tuxedo,.NET Soluzioni basate su standard aperti Usano il modello componente-container e il container fornisce i servizi di sistema in modo ben definito in accordo a standard industriali Ad es. JEE e Java Specification Request (JSR) (tra l altro, anche supporto a portabilità di codice perché basato su bytecode Java e API di programmazione basate su standard aperti)
23 Panoramica su J2EE Sistemi Distribuiti M 23 Che cos è JEE? Java Enterprise Edition (JEE), ampiamente indicata e nota come J2EE prima di Java 7 Piattaforma open e standard per lo sviluppo, il deployment e la gestione di applicazioni enterprise n-tier, Web-enabled, server-centric e basate su componenti
24 Panoramica su J2EE Sistemi Distribuiti M 24 In questo corso ci occuperemo prevalentemente di questa parte Varie Edizioni della Piattaforma Java Java 2 Platform Micro Edition (J2ME TM ) Optional Packages Optional Packages Java 2 Enterprise Edition (J2EE) Java 2 Standard Edition (J2SE) Personal Basis Profile Personal Profile Foundation Profile CDC MIDP CLDC Java Card APIs JVM KVM CardVM
25 Panoramica su J2EE Sistemi Distribuiti M 25 Architettura J2EE per Application Server Applicazioni B2B Applicazioni B2C Applicazioni Esistenti Web Services Applicazioni Wireless Application Server Enterprise Information Systems
26 Panoramica su J2EE Sistemi Distribuiti M 26 Architettura J2EE (chi ha già visto qualcosa in Reti M?) Visione Java-oriented J2EE: Java Naming & Directory Interface, Java Message Service, J2EE Connector Architecture presentation layer application logic layer Copyright Springer Verlag Berlin Heidelberg 2004 services (load balancing, pooling, caching, transaction, persistence, ) JDBC DBMS applications EJB J2CA resource adapter enterprise system 1 EJB JNDI JMS J2CA resource adapter enterprise system 2 EJB EJB container other adapters enterprise system n administration (management and security) application server
27 Panoramica su J2EE Sistemi Distribuiti M 27 Siete già massimi esperti mondiali di Java servlet... Oggetti Java che estendono le funzionalità di un server HTTP Generazione dinamica di contenuti Alternativa più efficace a CGI, NSAPI, ISAPI,... Efficienza Indipendenza da piattaforma e server HTTP Gestione della sessione Java-based
28 Architettura J2EE per Applicazioni N-tier Vi siete già ampiamente occupati di Web tier in Tecnologie Web T Questo corso si focalizzerà principalmente su EJB tier Componenti EJB Container Servizi di Sistema Web Tier EJB Tier Panoramica su J2EE Sistemi Distribuiti M 28
29 Panoramica su J2EE Sistemi Distribuiti M 29 Modelli a Contenimento CONTENIMENTO Spesso molte funzionalità possono essere non controllate direttamente ma lasciate come responsabilità ad una entità delegata supervisore (contenitore) che se ne occupa spesso introducendo politiche di default evitando che si verifichino errori controllando eventuali eventi I contenitori (entità dette anche CONTAINER, ENGINE, MIDDLEWARE, ) possono occuparsi di azioni automatiche da cui viene sgravato l utilizzatore che deve specificare solo la parte contenuta tipicamente di alto livello, non ripetitiva, fortemente dipendente dalla logica applicativa
30 Panoramica su J2EE Sistemi Distribuiti M 30 Modelli a Contenimento CONTAINER Un servizio utente potrebbe essere integrato in un ambiente (middleware) che si occupa in modo autonomo di molti aspetti diversi Vedi CORBA tutti aspetti C/S Engine per framework a GUI Container per servlet Supporto per componenti Container possono ospitare componenti più trasportabili e mobili R ichieste Cliente 1 Cliente 2 Cliente i Cliente i Cliente i C O N T A IN E R O P E R A Z IO N I V A R IE O P E R A Z IO N E S E M P LIF IC A T A
31 Panoramica su J2EE Sistemi Distribuiti M 31 Delega al Container Il container può fornire automaticamente molte delle funzioni per supportare il servizio applicativo verso l utente Supporto al ciclo di vita Attivazione/deattivazione del servitore Mantenimento dello stato (durata della sessione?) Persistenza trasparente e recupero delle informazioni (interfaccia DB) Supporto al sistema dei nomi Discovery del servitore/servizio Federazione con altri container Supporto alla qualità del servizio Tolleranza ai guasti, selezione tra possibili deployment Controllo della QoS richiesta e ottenuta Sicurezza
32 Panoramica su J2EE Sistemi Distribuiti M 32 Elementi costitutivi di J2EE: Perché J2EE (1)? Specifiche aperte di API e tecnologie Piattaforma per lo sviluppo e il deployment Implementazione standard di riferimento e production-quality Compatibility Test Suite (CTS) J2EE brand Motivazioni della scelta: Possibilità di uso di qualunque implementazione J2EE Sia implementazione aperta, standard e production-quality a utilizzo gratuito per sviluppo/deployment Sia prodotti commerciali J2EE-compliant per alta scalabilità e tolleranza ai guasti Ampia disponibilità di risorse di community per J2EE (libri, articoli, tutorial, esempi di codice, linee guida per best practice, )
33 Panoramica su J2EE Sistemi Distribuiti M 33 Perché J2EE (2)? Possibilità di utilizzo di componenti di business offerti da terze parti Vendor che lavorano insieme sulle specifiche e poi competono sulle implementazioni Nelle aree specifiche di scalabilità, performance, affidabilità, disponibilità, strumenti di supporto a gestione e sviluppo, Spazio per innovare pur mantenendo portabilità delle applicazioni Nessuna necessità di creare/mantenere API proprietarie Portabilità delle applicazioni Diverse scelte implementative sono possibili in dipendenza da svariati requisiti prezzo, scalabilità (da singola CPU a cluster), reliability, performance, strumenti, Ampia comunità di sviluppatori
34 Panoramica su J2EE Sistemi Distribuiti M 34 Tecnologia per componenti server-side EJB in una slide Sviluppo e deployment semplificato di applicazioni Java: Distribuite, con supporto alle transazioni, multi-tier, portabili, scalabili, sicure, Porta e amplifica i benefici del modello a componenti sul lato server Separazione fra logica di business e codice di sistema Container per la fornitura dei servizi di sistema Fornisce un framework per componenti portabili Su differenti server J2EE-compliant Su differenti ambienti di esecuzione Rende possibile (e semplice) la configurazione a deployment-time Deployment descriptor
35 Panoramica su J2EE Sistemi Distribuiti M 35 J2EE: Componenti e Container Diversi tipi di container (Web, EJB, Applet, ) ma stessa metodologia, tipologia e filosofia di approccio Contratto basato su interfacce
36 Architettura EJB Idea di base: container attivo all interno di un EJB Server (Application Server) Cliente può interagire remotamente con componente EJB tramite interfacce ben definite (ne parleremo a lungo nelle prossime lezioni ) Modello EJB 2.x Panoramica su J2EE Sistemi Distribuiti M 36
37 Panoramica su J2EE Sistemi Distribuiti M 37 Principali Componenti EJB Anche in questo caso, ne parleremo diffusamente nelle prossime lezioni.
38 Panoramica su J2EE Sistemi Distribuiti M 38 Componenti e Container Container svolgono il loro lavoro dietro le quinte No API complicate Controllo tramite interposizione Container implementano J2EE Per certi versi il loro sviluppo non è drasticamente diverso da quello dei componenti I vendor possono competere sui container con grande margine di innovazione Container gestiscono Concorrenza Sicurezza Disponibilità Scalabilità Persistenza Transazionalità Life-cycle management Management Componenti gestiscono Livello di presentazione Business Logic
39 Panoramica su J2EE Sistemi Distribuiti M 39 Ciclo di Vita delle Applicazioni J2EE Sviluppo e compilazione del codice dei componenti Servlet, JSP, EJB Scrittura di deployment descriptor per i componenti Da JavaEE5, possibilità di utilizzo delle annotazioni Assemblaggio di componenti in package pronti per il deployment Deployment del package sul server
40 Panoramica su J2EE Sistemi Distribuiti M 40 Descrittori di Deployment Forniscono istruzioni al container su come gestire e controllare il comportamento (anche runtime) di componenti J2EE Transazioni Sicurezza Persistenza Permettono la personalizzazione tramite specifica dichiarativa (NO personalizzazione tramite programmazione) file XML oppure annotazioni (a partire da Java5) Semplificano portabilità del codice
41 Ruoli e Opportunità per Sviluppatori J2EE Realizzatori di componenti Sviluppatori di componenti EJB Assemblatori di applicazioni a partire dai componenti Responsabili di deployment Realizzatori di piattaforme di supporto Sviluppatori di container Realizzatori di strumenti di supporto Amministratori di sistemi e servizi Panoramica su J2EE Sistemi Distribuiti M 41
42 Panoramica su J2EE Sistemi Distribuiti M 42 J2EE per Applicazioni N-tier Modello 4-tier e applicazioni J2EE Cliente HTML, JSP/Servlet, EJB, JDBC/Connector Modello 3-tier e applicazioni J2EE Cliente HTML, JSP/Servlet, JDBC Modello 3-tier e applicazioni J2EE Applicazioni standalone EJB client-side, EJB, JDBC/Connector Applicazioni enterprise B2B Interazioni tra piattaforme J2EE tramite messaggi JMS o XML-based
43 Panoramica su J2EE Sistemi Distribuiti M 43 Strumenti di sviluppo e supporto Varie Risorse Legate al Mondo J2EE (1) IDE: Borland JBuilder Enterprise, WebGain Visual Cafe, IBM Visual Age for Java, Forte for Java, Oracle JDeveloper, Macromedia Kawa, Eclipse, NetBeans, Modeling, Performance, Testing, Enterprise Integration: Connector, Java Message Service (JMS) API, XML, Java Business Integration (JBI) Componenti Framework J2EE (Apache TomEE, Apache Geronimo, JBoss/WildFly, Oracle Glassfish (reference), ma anche Bea Systems, Borland, CA, Fujitsu, Hitachi, HP, IBM, IONA, iplanet, Macromedia, NEC, Pramati, SilverStream, Sybase, Talarian, ) Applicazioni
44 Varie Risorse Legate Panoramica su J2EE Sistemi Distribuiti M 44 al Mondo J2EE (2) Per verificare la portabilità delle applicazioni J2EE: J2EE RI (e successive) e J2EE Application Verification Kit (J2EE AVK) Verifica statica/dinamica della portabilità (da parte degli sviluppatori di applicazioni) IDE per lo sviluppo J2EE utilizzabili nel corso (quelli che preferite, ma provate quelli open-source) Eclipse IDE for Java EE Developers (disponibile per Win/MacOS/Linux, sia 32 che 64 bit, NetBeans IDE8.0 (e successivi,
45 Panoramica su J2EE Sistemi Distribuiti M 45 Varie Risorse Legate Tutorial e buoni articoli su argomenti specifici di interesse per il corso J2EE home page J2EE SDK download javaee/overview/index.html al Mondo J2EE (3) J2EE 1.5 Tutorial J2EE 1.6 Tutorial J2EE Blueprints java.sun.com/blueprints/enterprise/index.html Quindi, non ci sono scuse accettabili relative a mancanza di materiale per uno studio molto molto approfondito, con esperienza diretta di sviluppo di codice di esempio
Programmazione Client-Server
Programmazione Client-Server Davide Taibi [email protected] The Java Platform Java Technology Enabled Devices Java Technology Enabled Desktop Workgroup Server High-End Server The Java Platform
APPENDICE 4 AL CAPITOLATO TECNICO
APPENDICE 4 AL CAPITOLATO TECNICO Descrizione dei profili professionali INDICE 1 PROFILI PROFESSIONALI RICHIESTI 3 1.1 CAPO PROGETTO 3 1.2 ANALISTA FUNZIONALE 4 1.3 ANALISTA PROGRAMMATORE 5 1.4 PROGRAMMATORE
Enterprise Application Servers
Enterprise Application Servers Fulvio Corno Dipartimento di Automatica e Informatica Politecnico di Torino Enterprise Application Servers 1 Application server Application server = software che permette
L 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
Evoluzione delle Architetture Distribuite
Evoluzione delle Architetture Distribuite 1 Evoluzione dell architettura Dall architettura centralizzata all architettura distribuita Applicazioni centralizzate Applicazioni Client/Server Applicazioni
Concetti 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
Framework. Impianti Informatici. Web application - tecnologie
Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione
Introduzione alla Programmazione per il Web
Introduzione alla Programmazione per il Web Docente: Gino Perna Obiettivi del corso Il corso vuole introdurre la pratica della programmazione in contesti applicativi attuali: programmazione di applicazioni
Enterprise @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
REGIONE BASILICATA UFFICIO S. I. R. Standard Tecnologici dei Sistemi Informativi
UFFICIO S. I. R. Standard Tecnologici dei Sistemi Informativi Autori: Dott.ssa Domenica Nardelli (P.O.C. Area Applicativa Ufficio SIR) Data di creazione: 03 Ottobre 2005 Ultimo aggiornamento: 03 Ottobre
AscotWeb - mediatore Versione dicembre 2015
AscotWeb - mediatore Versione 1.0.1 21 dicembre 2015 Approvazioni Il presente documento è stato approvato da: 20/05/16 12.17 2 Storia delle Modifiche Versione Data Descrizione 1.0 19/05/2016 Prima versione
Curriculum Vitae di. Pietro Martinelli
Curriculum Vitae di Pietro Martinelli Informazioni generali nato a Brescia il 19/03/1978 residenza e domicilio a Brescia in via Colle Fiorito n. 23 - c.a.p. 25123 cell. 3470189513, 3207297747 email: [email protected]
Candidato: 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
Protocolli 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
3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni
IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................
Corso Programmazione Java Standard
Corso Programmazione Java Standard Codice: ITJS0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle varie sfaccettature della sintassi del linguaggio Java, integrata con mirate
Architettura Tecnica i. Architettura Tecnica
i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................
Università degli studi dell Aquila. Sistemi informativi aziendali
Università degli studi dell Aquila 6 C.F.U. 9 C.F.U. Ing. Gaetanino Paolone ([email protected]) Prof. Dr. Luciano Fratocchi ([email protected]) Contenuti Web Information System. La
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
Risorsa N 002778. Oracle (Exp. 10 anni) MySql (Exp. 5 anni)
Risorsa N 002778 DATI ANAGRAFICI: Nato nel : 1971 Residente a : Roma FORMAZIONE E CORSI: Dal 09/2004 al 09/2006: Corso UML presso csi Piemonte con Adriano Comai Dal 02/2001 al 06/2001: Corso di Formazione
Sistemi informativi secondo prospettive combinate
Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da
Applicazione: 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
Programmazione server-side: Java Servlet
Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos
Antonio Fini. Il Cloud a scuola. Antonio Fini
Antonio Fini Il Cloud a scuola Antonio Fini Desktop vs Cloud Che software utilizzate per scrivere una email? Cosa utilizzate per scrivere un testo/presentazione/foglio di calcolo? Qualcuno usa ancora chiavette
Architetture per le applicazioni web-based. Mario Cannataro
Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente
Basi di dati Basi di dati per bioinformatica
Basi di dati Basi di dati per bioinformatica DOCENTI PROF. ALBERTO BELUSSI PROF CARLO COMBI Anno accademico 2013/14 Organizzazione degli insegnamenti 3 Basi di dati Basi di dati per Bioinformatica Teoria
Service Oriented Architecture
Service Oriented Architecture Università degli Studi di L Aquila [email protected] http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta
Corso di Applicazioni Telematiche
Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.12 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Una Servlet è un componente software scritto in Java,
Progetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla
Elena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
Framework 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
Sistemi Informativi Distribuiti
Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 SISTEMI INFORMATIVI MODULO II Sistemi Informativi Distribuiti 1 Sistemi informativi distribuiti
D. Rosaci. Java2 Enterprise Edition
D. Rosaci Java2 Enterprise Edition Cos è J2EE? È una piattaforma per lo sviluppo di applicazioni enterprise, basata su un modello di applicazione distribuito a più livelli (multi-tiered) Per applicazione
Introduzione ad Architetture Orientate ai Servizi e Web Service
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci [email protected] Anno
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
Studente Fabio Rombaldoni
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica S Relazione Progettare e Sviluppare Applicazioni Enterprise Distribuite Multi-tier a Componenti TM con
CdL MAGISTRALE in INFORMATICA A.A corso di Sistemi Distribuiti. 8. Le architetture (prima parte) Prof. S.Pizzutilo
CdL MAGISTRALE in INFORMATICA A.A. 2015-16 corso di Sistemi Distribuiti 8. Le architetture (prima parte) Prof. S.Pizzutilo I Sistemi Distribuiti Un Sistema Distribuito è un insieme di processori indipendenti
Progettazione: Tecnologie e ambienti di sviluppo
Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie
LABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Architetture client-server 1 of 12 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server, Pearson Ed.,
SETA Selection Tool del Sistema ARTIST
Selection Tool del Sistema ARTIST L incarico è stato affidato al RTI composta da: Kayser Italia S.r.l. Daxo con capogruppo Kayser Italia s.r.l. SETA () Espandibilità e flessibilità Delocalizzazione istallazione
PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE
PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE 1. JAVA 1.1 Introduzione a Java Introduzione Cosa è Java 1.2 Sintassi e programmazione strutturata variabili e metodi tipi di dati, array operatori
Tecnologie di implementazione. Corso di ingegneria del software
Tecnologie di implementazione Corso di ingegneria del software Sommario Principali architetture dei sistemi distribuiti Component based software engineering Componenti Comunicazione nei processi distribuiti
Progetto 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
Biometric4Net. Stato del progetto e roadmap futura. Andrea Spadaccini Secondo Borsisti Day, Roma,
Biometric4Net Stato del progetto e roadmap futura Sommario Motivazione ed obiettivi Stato del progetto Architettura del sistema Front-end Comunicazione client/server Back-end Sistemi biometrici utilizzati
La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA
IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support [email protected] Oriented Architecture (SOA) Servizio
Risorsa N 011382. Nel 2004: qualifica di Grafico Specialista e di Specialista in animazioni multimediali
DATI ANAGRAFICI: Nato il : 1968 Nato e Residente a: Napoli Disponibile su : Roma Risorsa N 011382 FORMAZIONE E CORSI: Nel 2004: qualifica di Grafico Specialista e di Specialista in animazioni multimediali
DBMS. Alice Pavarani
DBMS Alice Pavarani DBMS Insieme di programmi che offrono gli strumenti per gestire una base di dati Permette di: definire la struttura delle tabelle recuperare le informazioni manipolare i dati memorizzati
ARCHITETTURA DI UN DBMS
ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce
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 DE SIMONE PAOLO Telefono 0817962832 E-mail [email protected] Nazionalità Italiana Data di
Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete
Reti e comunicazione Le reti Con il termine rete si fa riferimento, in generale ai servizi che si ottengono dall integrazione tra tecnologie delle telecomunicazioni e le tecnologie dell informatica. La
DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11
Basi di dati DOCENTE PROF. ALBERTO BELUSSI Anno accademico 2010/11 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30 (aula B) Martedì 11.30
Strumenti per l automazione del testing di applicazioni web Javascript-based
tesi di laurea Strumenti per l automazione del testing di applicazioni web Javascript-based Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Salvatore Agnello Matr. 41/2612
SISTEMI OPERATIVI, RETI, INTERNET
Competenze e Unità didattica formativa capitalizzabile 4.1 SISTEMI OPERATIVI, RETI, INTERNET Comprendere il significato dell'evoluzione dei sistemi operativi. Comprendere che cosa fa un sistema operativo
Sistema operativo & file system 1
Il software (sw) Software di sistema e file system Lezione 1b L esecuzione di programmi è lo scopo di un elaboratore I programmi sono algoritmi codificati in un particolare linguaggio di programmazione
CORSO 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
Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13
Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30
Configurazione di riferimento di IP Office Server Edition IP Office 8.1
Configurazione di riferimento di IP Office Server Edition IP Office 8.1 15-604135 Dicembre 2012 Sommario Capitolo 1: Introduzione... 5 Scopo del documento... 5 Destinatari... 5 Documenti correlati...
Curriculum Vitae di Roberto Poli. Istruzione professionale
Curriculum Vitae di Roberto Poli Via C. Battisti 45B 21010 Golasecca (VA) [email protected] +39 3358101492 Dati personali Stato civile: Coniugato Nazionalità: Italiana Luogo di nascita: Somma Lombardo
Architetture di rete. 4. Le applicazioni di rete
Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per
Italy Spain UK Germany. Progetto Mangrovia
Italy Spain UK Germany Progetto Mangrovia Introduzione a Mangrovia Mangrovia Introduzione Process Control Room Architettura multi-livello in grado di connettere i processi di business con la rilevazione
1 test per la certificazione Microsoft i
Introduzione Capitolo 1 xxiii 1 test per la certificazione Microsoft i Condizioni di svolgimento dei test 2 Impostazione e caratteristiche dei test 4 Riconoscere il proprio tipo di esame 7 Strategia per
RRF Reply Reporting Framework
RRF Reply Reporting Framework Introduzione L incremento dei servizi erogati nel campo delle telecomunicazioni implica la necessità di effettuare analisi short-term e long-term finalizzate a tenere sotto
Sistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
Sviluppo di Applicazioni Web con Java 2 Enterprise Edition
Sviluppo di Applicazioni Web con Java 2 Enterprise Edition Ivan Scagnetto Dipartimento di Matematica e Informatica http://www.dimi.uniud.it/scagnett [email protected] Laboratorio di Tecnologie Lato
I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
Sommario. Servizi SMS a valore aggiunto per dispositivi mobili. Osservatorio Mobile VAS (Value. Added Service)
Servizi SMS a valore aggiunto per dispositivi mobili Nicola Provenzano Dip.. di Ingegneria dell Informazione, Pisa [email protected] Mobile VAS Servizi SMS VAS SMS Center Kannel Content Server
