POLITECNICO DI TORINO. Tesi di Laurea. Integrazione di applicazioni Web con sistemi esistenti mediante un architettura orientata ai servizi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "POLITECNICO DI TORINO. Tesi di Laurea. Integrazione di applicazioni Web con sistemi esistenti mediante un architettura orientata ai servizi"

Transcript

1 POLITECNICO DI TORINO Facoltà di Ingegneria dell Informazione Corso di Laurea in Ingegneria Informatica Tesi di Laurea Integrazione di applicazioni Web con sistemi esistenti mediante un architettura orientata ai servizi Relatore prof. Fulvio Corno Candidato Pisapia Arturo Luigi Aprile 2004

2 RINGRAZIAMENTI Desidero ringraziare tutte le persone che mi hanno aiutato nel mio percorso universitario. In particolare ringrazio i miei genitori per avermi supportato anche nei momenti più difficili; un ringraziamento anche a tutti i miei amici ed in particolare a Valeria. Ringrazio il relatore, Ing. Fulvio Corno, per avermi consigliato ed aiutato durante la stesura della tesi. Ringrazio la Cluster reply S.r.l. per l ospitalità fornitami, ed in particolare l Ing. Alessandro Bonaudo per avermi supportato durante lo svolgimento della tesi. Grazie

3 Sommario Sommario Capitolo Introduzione ad Anagrafica Programmi Il progetto Anagrafia Programmi Il Contesto di utilizzo di Anagrafica programmi I principali requisiti progettuali Funzionalità del Prodotto Architettura Un caso d uso Capitolo Introduzione al Framework.NET Principi generali Il Common Language Runtime (CLR) Framework Class Library Data Services User Interface Services Web Services Capitolo La Programmazione distribuita Introduzione I componenti in una architettura distribuita Caratteristiche di un sistema distribuito Architetture distribuite multilivello Capitolo L Architettura di Anagrafica Programmi Dettaglio sulla Three-tiered Architecture di Anagrafica Programmi Il Data Layer Il Business Layer Il Presentation Layer Capitolo Le transazioni distribuite Introduzione Le Transazione Distribuite Il protocollo di Two-Phase Commit (2PC) Le transazioni in Anagrafica Programmi... 62

4 Sommario Capitolo Gestione delle Eccezioni Introduzione Gerarchia delle eccezioni FCL Meccanismi di gestione delle eccezioni Definizione di eccezioni personalizzate Struttura delle eccezioni in un applicazione La struttura delle eccezioni di anagrafica Programmi Capitolo Gestione dei log e la libreria di Logging Log4Net per il tracing degli eventi Introduzione al logging di eventi La libreria Log4net Il file di configurazione di Anagrafica Programmi Inserimento dei log all interno del codice di Anagrafica Programmi Capitolo I Web services e l arricchimento semantico dei file XSD I Web services e.net La validazione nei WebMethod ASP.NET attraverso l arricchimento semantico dei file XML Schema Estensione dei WebMethods Capitolo Conclusioni Appendice A.1 Introduzione ai Web services Bibliografia

5 Capitolo 1 Introduzione ad Anagrafica Programmi 1.1 Il progetto Anagrafia Programmi Questo progetto è nato dall esigenza da parte del cliente RAI di svecchiare i propri sistemi informativi. I sistemi preesistenti in RAI sono molti ed eterogenei, si spazia dalle applicazioni Web sviluppate nelle vecchie tecnologie Microsoft, ad applicazioni data-intensive basate su DB Oracle o SqlServer e alle applicazioni basate su mainframe IBM. Posso affermare che le applicazioni Mainframe basate su transazioni CICS e scritte principalmente in Cobol rappresentano ad oggi la fetta più grande dei sistemi RAI. Quindi questa iniziativa si colloca nell ambito di una serie di iniziative progettuali e di evoluzione dei sistemi di Core Business a supporto dei processi editoriali e produttivi, con l obiettivo di migliorare l efficienza operativa e il grado di automazione dei processi, superando così gli attuali elementi di maggiore criticità. Tramite la realizzazione del sistema Anagrafica Programmi TV/RF (la sigla TV/RF sta a significare che il dominio dei programmi di questa anagrafica spazia dai programmi televisivi ai programmi radiofonici ), la RAI si è posta l obiettivo di migrare dai sistemi di Core Business dall ambiente Host all ambiente Open, privilegiando le architetture basate su tecnologie WEB. Si è pensato di passare alla tecnologia Object oriented basate su Microsoft.NET e di far migrare i dati verso un DBMS MS SQL Server; questa tecnologia garantisce una gran semplicità d integrazione, grazie agli Xml Web services; inoltre sarà garantita una maggior scalabilità e affidabilità del sistema. Il sistema realizzato contiene e integra tutte le informazioni gestite dal vecchio archivio anagrafico; per fare ciò si è deciso di utilizzare un nuovo modello dati completamente relazionale basate sulla piattaforma Microsoft SQLServer. Quando l applicativo passerà in produzione, non tutti i sistemi esterni che si interfacciano ad esso saranno pronti per staccarsi dal vecchio DataBase perciò si è reso necessario 5

6 Capitolo 1 - Introduzione ad Anagrafica Programmi l utilizzo di uno strumento di allineamento che replica sull archivio anagrafico legacy tutte le modifiche attuate sul nuovo sistema, in una modalità transazionale (protocollo di twophase commit ). Il sistema Anagrafia Programmi rappresenta il cuore dei sistemi di RAI, in quanto essa contiene tutti i programmi prodotti o acquisiti da RAI e contiene tutta la storia dei programmi, compresi quelli che sono stati ceduti ad altre cordate editoriali. Un po tutti i sistemi principali vanno ad accedere a questa anagrafica, interagendo con essa sia in lettura che in scrittura. È importante porre l accento sul fatto che il nostro progetto è un rifacimento completo del preesistente sistema anagrafico sviluppato in tecnologia MainFrame OS/390, quindi un ulteriore punto critico sarà quello di sostituire il nodo centrale di un architettura già esistente senza causare scompensi di alcun genere, ma cercando di migliorare la risposta del sistema complessivo. Il dominio impattato spazia dai sistemi editoriali, della gestione fino agli strumenti di ricerca e analisi dei dati. Quindi il cliente ha deciso per una graduale conversione dei propri sistemi nella nuova tecnologia, tenendo presente che si sarebbe dovuta garantire la trasparenza della transizione vecchio-nuovo per i sistemi periferici al sistema d anagrafia. Sono state implementate una serie di funzionalità e servizi per la gestione dell archivio anagrafico accessibili tramite un applicazione web, sviluppata in tecnologia Microsoft ASP.NET. Oltre alle funzionalità di accesso diretto (tramite interfaccia web) dell utente al sistema, il sistema mette a disposizione degli applicativi pre-esistenti una parte di queste funzionalità, sfruttando in modo esteso la tecnologia degli XML Web Services, attraverso i quali i sistemi esterni possono accede in lettura o scrittura (secondo il caso) al database interno. Il nuovo sistema sostituisce il vecchio applicativo legacy garantendo le stesse funzionalità preesistenti ma allo stesso tempo semplificando notevolmente le problematiche di integrazione con gli altri sistemi aziendali. La scelta tecnologica fatta ha l ambizioso obiettivo di guidare l interazione tra i sistemi aziendali verso lo standard SOAP, rendendo, di fatto, l accesso alle informazioni indipendente dalla tecnologia che le ospita. 6

7 Capitolo 1 - Introduzione ad Anagrafica Programmi 1.2 Il Contesto di utilizzo di Anagrafica programmi I sistemi esistenti con cui la nuova Anagrafica Programmi si deve in qualche modo integrare sono i seguenti: Archivio anagrafico esistente: deve esistere un meccanismo di allineamento, tale che il vecchio archivio sia mantenuto aggiornato per tutti quei sistemi che continueranno ad accedere a tale archivio; requisito vincolante è che i sistemi in oggetto accedano in sola lettura al vecchio archivio anagrafico. Nirvana: scrive dati nel nuovo database in modalità batch Commesse Editoriali: fornisce dati al nuovo sistema in modalità on-line STRADA: fornisce dati al nuovo sistema in modalità on-line Gestione Diritti: scrive dati nel nuovo database in modalità batch AUDITEL: scrive dati nel nuovo database in modalità batch OCTOPUS: la nuova applicazione web accede al sistema OCTOPUS mediante una chiamata diretta (URL parametrica) Nella pagina seguente ho inserito uno schema a blocchi che rappresenta il contesto di utilizzo dell intero sistema. 7

8 Capitolo 1 - Introduzione ad Anagrafica Programmi La figura seguente mostra il contesto di utilizzo in cui si colloca il sistema: Figura Contesto di utilizzo 8

9 Capitolo 1 - Introduzione ad Anagrafica Programmi 1.3 I principali requisiti progettuali Il sistema anagrafico oggetto del rifacimento consiste in una serie di transazioni CICS che operano su database DB2, Adabas e VSAM. Nel nuovo sistema, devono essere garantire le funzionalità che gli utenti hanno attualmente a disposizione. Una parte dei sistemi collegati all attuale archivio anagrafico non potranno essere adeguati prima del rilascio in produzione del nuovo sistema. Pertanto, è stato mantenuto l allineamento dei dati del nuovo sistema e del sistema legacy, al quale continueranno ad accedere quei sistemi che, per motivi tecnologici o impossibilità di adeguamento, non possono accedere al nuovo archivio dipartimentale. L allineamento, richiesto a fronte di ogni operazione di inserimento, aggiornamento e cancellazione, verrà dismesso quando tutti i sistemi collegati saranno migrati sul nuovo archivio anagrafico. Per rendere possibile tutto ciò l aggiornamento su mainframe avviene nell ambito di una transazione. Si prevedono 150/200 utenti abilitati in aggiornamento, mentre gli utenti che potranno operare in consultazione potenzialmente sono tutti i dipendenti RAI (per gran parte di essi sarà disponibile la banca dati di ricerca); l applicazione dovrà supportare l accesso contemporaneo di circa utenti 1.4 Funzionalità del Prodotto La funzione di login, comune ai contesti TV e RF La funzione di consultazione delle anagrafie dei codici L allineamento con l archivio mainframe Le funzioni proprie del contesto televisivo Le funzioni proprie del contesto radiofonico I Web services di scrittura dell anagrafica del contesto televisivo I Web services di scrittura dell anagrafica del contesto radiofonico 9

10 Capitolo 1 - Introduzione ad Anagrafica Programmi Login Deve essere prevista una funzione di login che consenta all utente di autenticarsi ed essere abilitato alle funzioni permesse dal proprio profilo Consultazione delle anagrafie dei codici Sull anagrafica sono definite le tabelle dei codici che vengono utilizzati come attributi dell anagrafia. E stata predisposta una funzione che ne permetta la visualizzazione nell applicativo Allineamento con l archivio mainframe Il nuovo archivio anagrafico deve essere allineato con la banca dati mainframe; per questo tutte le operazioni di inserimento, modifica e cancellazione dovranno essere completate da una operazione analoga effettuata sull archivio mainframe. L operazione di allineamento consiste nella replica dei passi che vengono eseguiti sull archivio dipartimentale, tenendo conto delle differenze determinate dal nuovo disegno della banca dati Le funzioni del contesto televisivo L oggetto cardine del contesto televisivo e rappresentato dalla uorg/matricola, della quale possono essere gestiti tutti i dettagli. Poiché il contenuto informativo è attualmente presente sulla banca dati host, occorre predisporre un impianto che consenta il porting dei dati sul database distribuito; inoltre, poiché l integrazione dei sistemi collegati verrà effettuata in step successivi, sulla base di un disegno generale di priorità, è necessario garantire l allineamento dell archivio mainframe ogni volta che saranno effettuate operazioni di aggiornamento. Quando tutti i sistemi editoriali riferiti all anagrafica saranno migrati sul database distribuito, questa connessione potrà essere eliminata. Nell ambito del rifacimento dell anagrafica, sarà definita una nuova banca dati di ricerca, da caricare quotidianamente con modalità incrementale; per effettuare questa operazione e necessario che vengano tracciate le operazioni di inserimento, modifica e cancellazione. Le funzioni considerate sono le seguenti: - Gestione anagrafia - Gestione commessa - Gestione dati descrittivi 10

11 Capitolo 1 - Introduzione ad Anagrafica Programmi - Gestione finestre di non trasmettibilità - Gestione produttori - Voltura - Cessione - Sospensione - Scarico - Blocco - Impostazione anno pronto - Ricerca anagrafie - Ricerca utilizzazioni - Analisi del trasmesso Le funzioni del contesto radiofonico L oggetto cardine del contesto radiofonico e rappresentato dalla uorg/matricola, analogamente al contesto televisivo. Le funzioni considerate sono le seguenti : - gestione anagrafia - ricerca anagrafia Il sistema inoltre, per realizzare particolari funzioni, richiede informazioni a SAP e Octopus relativamente alla banca dati di ricerca dei contratti I Web services di scrittura dell anagrafica del contesto televisivo Di seguito sono specificate le interfacce di scrittura sull anagrafica televisiva che sono previste all atto dell avvio del nuovo sistema : - Web service di gestione delle anagrafie dal sistema Nirvana - Web service di gestione delle prenotazioni e assegnazioni dal sistema Nirvana - Web service di gestione delle trasmissioni dal sistema Codifica del Trasmesso - Web service di aggiornamento di ascolto e share dal sistema Auditel - Web service di aggiornamento del contratto dal sistema SAP - Web service di aggiornamento del pacchetto dal sistema Gestione Diritti 11

12 Capitolo 1 - Introduzione ad Anagrafica Programmi I Web services di scrittura dell anagrafica del contesto radiofonico - Web service Contratto SAP: si tratta della procedura on-line che consente l inserimento del contratto dal sistema SAP all atto della firma 1.5 Architettura Nella figura seguente vengono mostrati in maggior dettaglio i componenti interni del sistema Anagrafica Programmi TV/RF. In particolare, si vede come il sistema sia composto sostanzialmente da 5 parti: 1. Database Anagrafica Programmi TV/RF : è il contenitore relazionale che integra i dati provenienti dalle varie fonti 2. Web Services: è lo strato di servizio che espone verso il mondo esterno tutte le funzionalità che permettono ai client di lavorare con il database 3. Core components: sono i componenti che implementano tutte le logiche del sistema: profilazione, trattamento dei dati, gestione degli errori, accesso al database, ecc. 4. Allineamento: è il componente che si occupa di mantenere aggiornato l archivio anagrafico legacy, in una modalità consistente rispetto alle modifiche effettuate sul database 5. Web Application: è l applicazione che permette agli utenti di accedere al nuovo sistema anagrafico; anch essa si appoggia sui servizi messi a disposizione dallo strato di Web Services. Io mi sono occupato principalmente dei livelli dal primo al quarto e dei Web Services. In questa architettura i sistemi che scrivono su Anagrafica Programmi devono adeguarsi alle interfacce esposte dai Web Services, quindi l eventuale trasformazione e trattamento dei dati è in parte a carico dei sistemi collegati e in parte a carico dei Web Services. 12

13 Capitolo 1 - Introduzione ad Anagrafica Programmi Figura Contesto di utilizzo: dettaglio 13

14 Capitolo 1 - Introduzione ad Anagrafica Programmi DB2 ADABAS VSAM SISTEMI COLLEGATI ALLINEAMENTO External Systems Interface Web Services Web App Interface Business components Data Access components DATABASE Anagrafica Programmi TV /RF Core Components WEB Application Figura Strato Web Services e Core Components La Figura 1.3 illustra in maniera più dettagliata i componenti presenti all interno dello strato Web Services e Core Components. Si possono individuare le seguenti componenti logiche fondamentali: 1. External Systems Interfaces: implementa le interfacce a cui possono accedere tutti gli applicativi pre-esistenti 2. Web Application Interfaces: implementa l interfaccia a cui può accedere la Web application 3. Business components: implementa le logiche di trattamento dei dati 4. Data Access components: nasconde la struttura del database e fornisce l interfaccia di accesso ai dati; si occupa di gestire l allineamento contestuale verso il sistema legacy 14

15 Capitolo 1 - Introduzione ad Anagrafica Programmi 1.6 Un caso d uso Per chiarire meglio il modo di funzionare di Anagrafica Programmi ho deciso di mostrare un caso d uso relativo all inserimento di una nuova anagrafia convenzionale (basti sapere che l anagrafia Convenzionale è un particolare tipo di anagrafia ). Prima di andare avanti con la spiegazione del caso d uso ci tengo a chiarire cosa si intende per Programma e quali sono i principali oggetti sui quali la nostra anagrafia si basa. PROGRAMMA: Individua il prodotto immatricolato, cioè il Prodotto/Diritto sfruttabile dall Azienda. IDENTIFICATORI: Matricola e Uorg MATRICOLA: Corrisponde alla matricola aziendale attribuita al singolo programma UORG: E l'unita organizzativa (la Struttura Aziendale) di chi acquista il programma È importante notare che l oggetto cardine dell anagrafia è la Matricola, all interno di una matricola possono esistere N serie e a loro volta all interno della serie possono esistere M puntate. Figura Struttura di un programma 15

16 Capitolo 1 - Introduzione ad Anagrafica Programmi TV Gestire Anagrafia Catalogo Convenzionale Aggiornamento <<extend>> <<extend>> TV Gestire Anagrafia Catalogo Utente Amministrazione Convenzionale Inserimento Finanza (from Attori Utente) <<extend>> TV Gestire Anagrafia Catalogo Annullamento <<extend>> TV Gestire Anagrafia Catalogo Puntata Aggiornamento TV Gestire Anagrafia Catalogo Stampa Figura 1.5 Caso d uso, Inserimento di un anagrafia Convenzionale La realizzazione del caso d uso si presenta come segue: MainForm (from Applicazioni) Anagrafica (from Dati) DBLegacy Utente Amministrazione Finanza (from Attori Utente) TVGestAnagForm (from Applicazioni) TVGestAnagManager (from Applicazioni) (from Applicazioni) SapInterface (from Applicazioni) TVGestAnagCatalConvForm (from Applicazioni) CaricamentoIncrementale (from Dati) Figura 1.6 Diagramma concernente l inserimento da parte di un utente (con profilo Amministrazione e Finanza) 16

17 Capitolo 1 - Introduzione ad Anagrafica Programmi L utente di amministrazione finanza accede alla form principale e richiede la gestione delle anagrafiche. Successivamente, dalla schermata di gestione anagrafie seleziona il Catalogo Convenzionale e procede successivamente alle operazioni di inserimento: : Utente Amministrazio... //richiedigestioneanagrafie : MainForm : TVGestAnagForm : TVGestAnagCatalConvForm : TVGestAnagManager : Anagrafica : DBLegacy : SapInterface : CaricamentoIncrementale //richiedigestioneanagrafie //crea //richiedigestioneanagrafiecatalogo //richiedigestioneanagrafiecatalogo //crea //presentamascheracampidigitabili inseriscidati controllisuidati Obbligatoriet à, validità, coerenza. //inseriscipuntata //ok //inseriscipuntata //ok //inseriscipuntata //visualizzadettanagrconvenzionale //ok //inseriscipuntata Figura Sequence Diagram 17

18 Capitolo 1 - Introduzione ad Anagrafica Programmi Il caso d uso è poi suddiviso, nelle sue funzionalità, sui vari livelli che costituiscono l applicazione Anagrafica Programmi ( Presentation Layer, Business Layer e Data Layer vedi Capitolo sul modello a livelli utilizzato in Anagrafica Programmi). Utenti HTTP / SSO Altri Sistemi HTTP-SOAP / NTLM-WSSEC <<Client Page>> MainForm (from Interfaccia Web) <<Client Page>> TVGestAnagCatalConvForm (from Interfaccia Web) <<Client Page>> TVGestAnagForm (from Interfaccia Web) <<subsystem>> AnagraficaProgrammiWeb (from Modello Subsystems) <<subsystem>> AnagraficaProgrammiWS (from Modello Subsystems) <<BehindCode>> TVGestAnagWebManager (from Interfaccia Web) <<subsystem>> AnagraficaProgrammiBO (from Modello Subsystems) I_TVGestioneCatalogo <<subsystem>> AnagraficaProgrammiIO (from Modello Subsystems) (from Business Facade) Aggancio verso sistemi esterni. [Interfacce eterogenee] BO_TVGestioneCatalogo (from BO) WF_TVGestioneCatalogo (from WorkFlow) SapInterface (from Servizi esterni) GestioneSQLServer (from Internal DB) DBLegacy (from Servizi esterni) Anagrafica (from Internal DB) CaricamentoIncrementale (from Internal DB) Figura 1.8 Diagramma attraverso i livelli 18

19 Capitolo 1 - Introduzione ad Anagrafica Programmi L utente interagisce con le pagine web tramite browser. Il subsystem AnagraficaProgrammiWeb (Presentation Layer) gestisce la presentation generando le pagine ed interagendo con il modulo AnagraficaProgrammiBO ( Biz Layer). Quest ultimo è responsabile del flusso della richiesta ricevuta dai livelli superiori, nonché della interazione con il layer dati delle sezioni di accesso al DB principale e della sincronizzazione con l esterno (DB legacy e SAP). 19

20 Capitolo 2 Introduzione al Framework.NET 2.1 Principi generali Microsoft ha impiegato tre anni per sviluppare Microsoft.NET, che è stato lanciato pubblicamente al PDC 2000 ad Orlando, Florida. Non è facile spiegare cosa sia esattamente il Framework.NET in quanto molto è stato scritto su questo argomento e diversi sono gli ambiti che fanno parte di questa nuova tecnologia; per cercare di fare un po'di chiarezza, posso distinguere tre principali famiglie: Visione.NET: secondo questa nuova concezione, tutte le periferiche (compresi frigoriferi, orologi, forni...) saranno interconnesse tra loro mediante una Rete Globale a banda larga; la potenza e la flessibilità di.net consentirà di gestire tutte queste periferiche attraverso un unico ambiente di lavoro. Framework.NET: indica la nuova piattaforma di esecuzione ed elaborazione che semplifica lo sviluppo e la distribuzione di applicazioni in ambiente Windows e tutte le tecnologie coinvolte nell'ambiente, come ad esempio: ASP.NET, C#, VisualBasic.NET, JScript.NET..NET Enterprise Server: tutti i prodotti Enterprise Microsoft. I servizi di.net sono integrati nel sistema operativo e forniscono un supporto comune allo sviluppo delle applicazioni. Ciò è possibile grazie ad un architettura (vedi figura 2.1) i cui componenti fondamentali sono: Common Language Runtime o Common Type System o Common Language Specification o MSIL e JIT Compiler o Garbage Collector (GC) o Caricamento di CLR Framework Class Library Data Services 20

21 Capitolo 2 - Introduzione al Framework.NET User Interface Services Web Services Figura 2.1 Il Framework.NET fornisce le basi sulle quali è nata tutta la visione.net grazie alla quale, in un futuro prossimo, tutti i dispositivi saranno interconnessi tra loro, parlando linguaggi comuni, come ad esempio l'xml,ed utilizzando protocolli standard e riconosciuti, come l'http. E'importante sottolineare che altre società hanno sposato questa visione, come ad esempio IBM e SUN. Il Framework.NET si basa su un CRL (Common Language Runtime), un Runtime che compila al volo il codice e lo converte in MSIL (Microsoft Intermediate Language). Tutte le Applicazioni realizzate in VisualBasic.NET, C#, J# e tutti gli altri linguaggi supportati dal Framework, saranno automaticamente convertite in MSIL prima di essere eseguite dal Sistema. Lo sviluppatore non è obbligato a scrivere le proprie applicazioni con un determinato linguaggio siccome sarà il Framework a creare il MSIL indipendentemente dalla scelta di sviluppo. Il vantaggio di usare un linguaggio di programmazione piuttosto che un altro sta nel fatto che i diversi linguaggi di programmazione consentono lo sviluppo mediante sintassi diverse. Ad esempio per le applicazioni matematiche e finanziarie l utilizzo della sintassi APL piuttosto che della sintassi Perl consentirà di ridurre notevolmente il tempo necessario per lo sviluppo. Uno degli obiettivi principali del DevTeam di Microsoft, in fase di progettazione del Framework, è stato quello di ottenere alti gradi prestazioni in termini di velocità d esecuzione e scalabilità delle applicazioni. Il CRL compila tutto il codice dell'applicazione in codice macchina nativo, questa conversione è realizzata in fase d esecuzione dell'applicazione o durante la prima installazione; già nella prima versione del Framework era possibile notare un netto miglioramento di 3/4 volte in termini di velocità 21

22 Capitolo 2 - Introduzione al Framework.NET d esecuzione rispetto alla vecchia versione di ASP. Con le successive versioni del CLR si prevedono ulteriori miglioramenti in termini di velocità ed occupazione della memoria. 2.2 Il Common Language Runtime (CLR) Il Common Language Runtime è un ambiente d esecuzione delle applicazioni per la piattaforma.net, indipendente dal linguaggio di programmazione utilizzato per svilupparla. Nella figura seguente si può notare una vista dettagliata dell intero Framework.NET evidenziando la collocazione del CLR. Figura Il FrameWork.NET Qualsiasi applicazione.net, a prescindere dal linguaggio di programmazione, viene compilata in un linguaggio intermedio,indipendente dall hardware, chiamato Microsoft Intermediate Language (MSIL)..NET genera un linguaggio IL Intermediate Language (a differenza del codice macchina generato dai vecchi compilatori come ad esempio VisualBasic 6). 22

23 Capitolo 2 - Introduzione al Framework.NET Prima dell effettiva esecuzione, il Common Language Runtime si occuperà della compilazione del codice intermedio nel corrispondente codice nativo tramite uno specifico compilatore (Just In Time compiler) dipendente dalla effettiva architettura hardware sottostante. E facile intuire che un eseguibile generato in.net (quindi in IL) non potrà essere eseguito su sistemi che non presentano il Framework.NET installato in quanto non sarà possibile riconoscere ed interpretare l'il. Il compilatore JIT si occupa della conversione della pagina in codice nativo solo nel momento in cui si richiede l'utilizzo di una particolare funzione del programma, convertendo solo la porzione di codice presa in considerazione; questo consente di ottimizzare il tempo di compilazione e l'occupazione in Kb del file generato. Il codice risultante da questa compilazione è chiamato managed code, per sottolineare il fatto che il runtime si occuperà di gestire la sua esecuzione prendendosi carico di tutte le operazioni necessarie: allocazione della memoria, creazione di oggetti, garbage collection, ecc. L esistenza del Common Language Runtime pone le basi per lo sviluppo di applicazioni indipendenti dall hardware e dal linguaggio di programmazione utilizzato. Questi aspetti hanno richiesto un esame dei linguaggi di programmazione più utilizzati sotto le piattaforme Windows in modo da ottimizzarli per la loro operatività nel.net Framework. Da questa revisione sono nati Visual Basic.NET, C# e JScript.NET. Altri linguaggi sono in fase di revisione per il loro utilizzo nel.net Framework. Il CLR è un Runtime unificato e comune che esegue il codice.net compilato, è quindi in grado di trasformare codice scritto in VisualBasic.NET, C#, J#, Python, Fortran, Cobol, C++, JavaScript, Perl e molti altri ancora, per un totale di circa 30 linguaggi, in un linguaggio intermedio, il MSIL (Microsoft Intermediate Language), che in seguito sarà compilato Just in time (in tempo reale) dal Framework. Il CLR è in grado di gestire funzionalità ed eventi supportati da tutto il Framework. Con il Framework.NET è possibile utilizzare, ad esempio, una classe scritta in VisualBasic.NET da un'applicazione scritta in C#, poiché utilizzano dei tipi di dati comuni (gestiti dal Framework). Nella nuova logica introdotta da.net, ogni applicazione deve essere considerata come un'insieme di Assembly e da un file "Assembly principale" (il file.exe) necessario per avviare l'applicazione; gli Assembly presentano il vantaggio di essere autodescrittivi in quanto contengono: codice IL, metadati con informazioni su strutture, classi... Lo schema seguente (figura 2.3) illustra le operazioni eseguite durante la fase di compilazione. Avviando il programma, viene caricato il primo Assembly, successivamente vengono caricate le Classi base di.net; il CLR si occupa invece di controllare i tipi ed i permessi di esecuzione sulla base delle informazioni presenti nei metadati ed alle impostazioni di sicurezza del sistema. 23

24 Capitolo 2 - Introduzione al Framework.NET Figura 2.3 Fasi di Compilazione Altri compiti importanti del CLR sono: Controllare gli spazi di memoria da liberare, ovvero quelli che non sono più necessari all'esecuzione del programma (Garbage Collector) Gestire le eccezioni Verificare l'aderenza del codice con gli standard definiti dal CTS (Common Type System) e CLS (Common Language Specification) Common Type System (CTS) Il CTS (Common Type System) si occupa della gestione unificata di tutti i tipi presenti nei vari linguaggi del Framework.NET, definendo come devono essere dichiarati, usati e gestiti dal runtime. E'possibile realizzare applicazioni utilizzando qualunque linguaggio di programmazione conforme alle specifiche indicate dal CTS; la figura 2.4 illustra come i vari tipi sono correlati fra loro: fondamentalmente si possono distinguere due grossi tronconi, quello dei tipi di valore e quello dei tipi di riferimento. Mediante CTS vengono inoltre specificate le regole per la visualizzazione del tipo e l accesso ai membri di un tipo, le regole per la gestione dell ereditarietà dei tipi, delle funzioni virtuali, della durata di un oggetto e così via. 24

25 Capitolo 2 - Introduzione al Framework.NET Figura 2.4 Gerarchia dei tipi Il Virtual Execution System (VES) implementa il Common Type System (CTS) e si occupa di caricare le informazioni contenute nei metadati. I metadati si occupano di: Descrivere e referenziare i tipi definiti nel VOS type system Gestire le istanze delle Classi in memoria Risolvere l'invocazione di metodi Risolvere problemi legati alle versioni (il famoso inferno delle DLL) 25

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il.NET Framework By Dario Maggiari L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il cuore del.net Framework è costituito dal CLR (Common Language Runtime) che, secondo

Dettagli

Novità di Visual Studio 2008

Novità di Visual Studio 2008 Guida al prodotto Novità di Visual Studio 2008 Introduzione al sistema di sviluppo di Visual Studio Visual Studio Team System 2008 Visual Studio Team System 2008 Team Foundation Server Visual Studio Team

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

Progetto di Applicazioni Software

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

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Concetti base. Impianti Informatici. Web application

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

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Progetto di Applicazioni Software

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

Dettagli

Descrizione generale. Architettura del sistema

Descrizione generale. Architettura del sistema Descrizione generale Sister.Net nasce dall esigenza di avere un sistema generale di Cooperazione Applicativa tra Enti nel settore dell Informazione Geografica che consenta la realizzazione progressiva

Dettagli

Appunti della lezione del 8/10/2008 del corso di Basi di dati I - Università del Salento

Appunti della lezione del 8/10/2008 del corso di Basi di dati I - Università del Salento Appunti della lezione del 8/10/2008 del corso di Basi di dati I - Università del Salento Tecnologie per lo sviluppo di applicazioni La tendenza attuale dell'ingegneria è quella dell'integrazione di componenti

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 4/5. ADO.NET e Connessione Prof. Mauro Giacomini

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 4/5. ADO.NET e Connessione Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 4/5. ADO.NET e Connessione Prof. Mauro Giacomini Sommario Archiettura del framework.net Architettura di ADO.NET Connessione a un DB Gestione della

Dettagli

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

UNA RELEASE ROBUSTA E COLLAUDATA IN CONTESTI NAZIONALI ED INTERNAZIONALI EVOLUZIONE DELLA PIATTAFORMA ASSICURATIVA ALL IN ONE

UNA RELEASE ROBUSTA E COLLAUDATA IN CONTESTI NAZIONALI ED INTERNAZIONALI EVOLUZIONE DELLA PIATTAFORMA ASSICURATIVA ALL IN ONE L offerta di Value+, in origine focalizzata sulla gestione dei Rami Vita e dei Fondi Pensione attraverso il sistema invita, diffuso in Italia e all estero, si è arricchita nel corso degli anni estendendosi

Dettagli

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio L altra strada per il BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 Il BPM Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina

Dettagli

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Alessandro.bardine@gmail.com alessandro.bardine@iet.unipi.it Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File

Dettagli

INTRODUZIONE A RETI E PROTOCOLLI

INTRODUZIONE A RETI E PROTOCOLLI PARTE 1 INTRODUZIONE A RETI E PROTOCOLLI Parte 1 Modulo 1: Introduzione alle reti Perché le reti tra computer? Collegamenti remoti a mainframe (< anni 70) Informatica distribuita vs informatica monolitica

Dettagli

Internet e la Banca. Relatore Andrea Falleni, Responsabile Prodotti e Soluzioni BST Banking Solutions & Technologies Gruppo AIVE

Internet e la Banca. Relatore Andrea Falleni, Responsabile Prodotti e Soluzioni BST Banking Solutions & Technologies Gruppo AIVE Internet e la Banca Relatore Andrea Falleni, Responsabile Prodotti e Soluzioni BST Gruppo AIVE 1 Scenario Le BANCHE in Italia, al contrario delle concorrenti europee, hanno proposto, sul mercato dei nuovi

Dettagli

8. Sistemi Distribuiti e Middleware

8. Sistemi Distribuiti e Middleware 8. Sistemi Distribuiti e Middleware Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 8. Sistemi distribuiti e Middleware 1 / 32 Sommario 1 Sistemi distribuiti

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

ERP Commercio e Servizi

ERP Commercio e Servizi ERP Commercio e Servizi Sistema informativo: una scelta strategica In questi ultimi anni hanno avuto grande affermazione nel mercato mondiale i cosiddetti sistemi software ERP. Tali sistemi sono in grado

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Architetture per le applicazioni web-based. Mario Cannataro

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

Dettagli

Single Sign On sul web

Single Sign On sul web Single Sign On sul web Abstract Un Sigle Sign On (SSO) è un sistema di autenticazione centralizzata che consente a un utente di fornire le proprie credenziali una sola volta e di accedere a molteplici

Dettagli

DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18.

DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18. PERIODO : DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18.00 A CHI E RIVOLTO IL CORSO Questo progetto si rivolge a tutti

Dettagli

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio

Dettagli

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o Navigare verso il cambiamento La St r a d a p i ù semplice verso il ca m b i a m e n t o Le caratteristiche tecniche del software La Tecnologia utilizzata EASY è una applicazione Open Source basata sul

Dettagli

Il Provvedimento del Garante

Il Provvedimento del Garante Il Provvedimento del Garante Il provvedimento del Garante per la Protezione dei dati personali relativo agli Amministratori di Sistema (AdS) Misure e accorgimenti prescritti ai titolari dei trattamenti

Dettagli

Introduzione a UML. Iolanda Salinari

Introduzione a UML. Iolanda Salinari Introduzione a UML Iolanda Salinari Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

INTRODUZIONE. Motivazioni e Obbiettivi

INTRODUZIONE. Motivazioni e Obbiettivi INTRODUZIONE Motivazioni dei sistemi distribuiti Caratteristiche generali Alcuni richiami sui database centralizzati Standardizzazione dei dati (ANSI/SPARC) Funzioni dei DBMS relazionali Problematiche

Dettagli

Architettura SW Definizione e Notazioni

Architettura SW Definizione e Notazioni Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Stili Architetturali E. TINELLI Architettura SW Definizione e Notazioni Definizione ANSI/IEEE Std Std1471-2000

Dettagli

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

Dettagli

Punti fondamentali sulla tecnologia del sistema ABScard

Punti fondamentali sulla tecnologia del sistema ABScard Punti fondamentali sulla tecnologia del sistema ABScard Architettura ABSCARD Pagina 1 di 13 INDICE GENERALE 1 Architettura...3 1.1 Introduzione...3 1.1.1 Sicurezza...4 1.1.2 Gestione...5 1.1.3 ABScard

Dettagli

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

Introduzione a.net (2)

Introduzione a.net (2) Introduzione a.net (2) Il linguaggio C# Implementazioni alternative dell'architettura.net: Rotor Mono C#: un nuovo linguaggio C# : CLR = Java : JVM C# è il linguaggio di riferimento per.net Costruito su

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

2009. STR S.p.A. u.s. Tutti i diritti riservati

2009. STR S.p.A. u.s. Tutti i diritti riservati 2009. STR S.p.A. u.s. Tutti i diritti riservati Sommario COME INSTALLARE STR VISION CPM... 3 Concetti base dell installazione Azienda... 4 Avvio installazione... 4 Scelta del tipo Installazione... 5 INSTALLAZIONE

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

Informatica 2 Basi di dati

Informatica 2 Basi di dati Informatica 2 Basi di dati Prof. Giovanni Giuffrida e-mail: giovanni.giuffrida@dmi.unict.it DB - Introduzione 1 Recapiti Prof. Giuffrida Giovanni Email: giovanni.giuffrida@dmi.unict.it Info sul corso:

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

i5/os per processi di business efficienti e flessibili

i5/os per processi di business efficienti e flessibili L ambiente operativo integrato leader nel settore i5/os per processi di business efficienti e flessibili Caratteristiche principali Middleware integrato per processi di business efficienti. Funzioni integrate

Dettagli

LBINT. http://www.liveboxcloud.com

LBINT. http://www.liveboxcloud.com 2014 LBINT http://www.liveboxcloud.com LiveBox Srl non rilascia dichiarazioni o garanzie in merito al contenuto o uso di questa documentazione e declina qualsiasi garanzia espressa o implicita di commerciabilità

Dettagli

Sistemi informativi secondo prospettive combinate

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

Dettagli

2G, l evoluzione della piattaforma Team nel Web 2.0 Roma, 7 dicembre 2011. Andrea Carnevali R&D Director GESINF S.r.l.

2G, l evoluzione della piattaforma Team nel Web 2.0 Roma, 7 dicembre 2011. Andrea Carnevali R&D Director GESINF S.r.l. 2G, l evoluzione della piattaforma Team nel Web 2.0 Roma, 7 dicembre 2011 Andrea Carnevali R&D Director GESINF S.r.l. Il progetto 2G è il nome della piattaforma che consentirà l evoluzione tecnologica

Dettagli

Sistemi Informativi Distribuiti

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

Dettagli

Business Simulation in ambiente web

Business Simulation in ambiente web Business Simulation in ambiente web Da soluzione Stand Alone ad un ambiente condiviso Lecco, Novembre 2013 Documento riservato. Ogni riproduzione è vietata salvo autorizzazione scritta di MAS Consulting

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 2011 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Obiettivi del corso Imparare

Dettagli

DEFINIZIONI FONDAMENTALI

DEFINIZIONI FONDAMENTALI Consorzio per la formazione e la ricerca in Ingegneria dell'informazione DEFINIZIONI FONDAMENTALI Per vincere ci vuole una buona partenza... Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it

Dettagli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

Dettagli

Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008

Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008 Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008 White paper Novembre 2007 Per informazioni aggiornate, visitare l indirizzo www.microsoft.com/italy/vstudio È possibile che a questo

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

FileMaker 12. Guida ODBC e JDBC

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

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

CAPITOLO 5 - Sistemi Operativi Moderni

CAPITOLO 5 - Sistemi Operativi Moderni CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,

Dettagli

Strutture dei Sistemi Operativi

Strutture dei Sistemi Operativi Strutture dei Sistemi Operativi Componenti di sistema Servizi del sistema operativo Chiamate di sistema Programmi di sistema Struttura del sistema Macchine virtuali Progetto e implementazione di sistemi

Dettagli

MEGA Advisor Architecture Overview MEGA 2009 SP5

MEGA Advisor Architecture Overview MEGA 2009 SP5 Revisione: August 22, 2012 Creazione: March 31, 2010 Autore: Jérôme Horber Contenuto Riepilogo Il documento descrive i requisiti sistema e le architetture di implementazione possibili per MEGA Advisor.

Dettagli

Introduzione ad UML. Perché modelliamo

Introduzione ad UML. Perché modelliamo Introduzione ad UML Pag. 1 Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare la

Dettagli

WEBsfa: l automazione della forza vendita via Web

WEBsfa: l automazione della forza vendita via Web WEBsfa: l automazione della forza vendita via Web White Paper 1 Gennaio 2005 White Paper Pag. 1 1/1/2005 L automazione della Forza Vendita Le aziende commerciali che che sviluppano e alimentano il proprio

Dettagli

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Versione Preliminare Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Co.El.Da. Software S.r.l. Coelda.Ne Caratteristiche tecniche

Co.El.Da. Software S.r.l.  Coelda.Ne Caratteristiche tecniche Co..El. Da. Software S..r.l.. Coelda.Net Caratteristiche tecniche Co.El.Da. Software S.r.l.. Via Villini Svizzeri, Dir. D Gullì n. 33 89100 Reggio Calabria Tel. 0965/920584 Faxx 0965/920900 sito web: www.coelda.

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

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

Dettagli

BANCA VIRTUALE/1 tecnologie dell informazione della comunicazione

BANCA VIRTUALE/1 tecnologie dell informazione della comunicazione BANCA VIRTUALE/1 Il termine indica un entità finanziaria che vende servizi finanziari alla clientela tramite le tecnologie dell informazione e della comunicazione, senza ricorrere al personale di filiale

Dettagli

Appendice D. D. Web Services

Appendice D. D. Web Services D. D.1 : cosa sono I cosiddetti sono diventati uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM,

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE INTRODUZIONE L ingegneria del software è la disciplina tecnologica e gestionalerelativa alla realizzazione sistematica e alla manutenzione di un software rispettando

Dettagli

Table of Contents. Definizione di Sistema Distribuito 15/03/2013

Table of Contents. Definizione di Sistema Distribuito 15/03/2013 Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4-7 - 13 Definizioni e Principali Caratteristiche

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Microsoft Project 2010 si basa sulle fondamenta di Microsoft Project 2007 per offrire soluzioni di gestione del lavoro flessibili e strumenti di

Microsoft Project 2010 si basa sulle fondamenta di Microsoft Project 2007 per offrire soluzioni di gestione del lavoro flessibili e strumenti di Microsoft Project 2010 si basa sulle fondamenta di Microsoft Project 2007 per offrire soluzioni di gestione del lavoro flessibili e strumenti di collaborazione adatti ai project manager professionisti

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

Sistemi Distribuiti Introduzione al corso

Sistemi Distribuiti Introduzione al corso Altri testi di consultazione Sistemi Distribuiti Introduzione al corso Testo di riferimento G.Coulouris, J.Dollimore and T.Kindberg Distributed Systems: Concepts and Design IV Ed., Addison-Wesley 2005

Dettagli

INTRODUZIONE AD ASP.NET

INTRODUZIONE AD ASP.NET Indice Introduzione XI PARTE PRIMA INTRODUZIONE AD ASP.NET 1 Capitolo 1 Framework.NET 3 1.1 Il framework di programmazione.net 3 1.2 VB.NET, C# e i linguaggi.net 4 1.3 Common Language Runtime 9 1.4 La

Dettagli

Il clustering. Sistemi Distribuiti 2002/2003

Il clustering. Sistemi Distribuiti 2002/2003 Il clustering Sistemi Distribuiti 2002/2003 Introduzione In termini generali, un cluster è un gruppo di sistemi indipendenti che funzionano come un sistema unico Un client interagisce con un cluster come

Dettagli

Registro SPICCA Architettura del Software

Registro SPICCA Architettura del Software Registro SPICCA Architettura del Software Versione 1.0 del 25/08/2009 Sommario 1 Introduzione... 4 1.1 Scopo... 4 1.2 Obiettivo... 4 1.3 Riferimenti... 4 1.4 Panoramica del documento... 4 2 Rappresentazione

Dettagli

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4 Obiettivi Principali di un S.D. - 7 Tipi di Sistemi

Dettagli

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI

Dettagli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli

UNIVERSITA DI FIRENZE Facoltà di Ingegneria. Persistenza Applicazioni Enterprise Uso dei modelli UNIVERSITA DI FIRENZE Facoltà di Ingegneria Persistenza Applicazioni Enterprise Uso dei modelli 1 IL problema della persistenza APPLICAZIONE (programmi) (oggetti) DATI PERSISTENTI (file, record) (basi

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Il software Dipartimento di Ingegneria dell Informazione Universitàdegli Studi di Parma SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono

Dettagli

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

Ambienti di programmazione.net Lezione n. 1

Ambienti di programmazione.net Lezione n. 1 Il Framework Redistribuitable Package e il Framework Sdk (Software Development Kit) 1.1 Italian Presentazione del corso Con l avvento della piattaforma applicativa.net Microsoft è riuscita a portare un

Dettagli

Architettura dei sistemi di database

Architettura dei sistemi di database 2 Architettura dei sistemi di database 1 Introduzione Come si potrà ben capire, l architettura perfetta non esiste, così come non è sensato credere che esista una sola architettura in grado di risolvere

Dettagli

Sme.UP Web Application

Sme.UP Web Application Sme.UP Web Application Web Application Web.UP Una interfaccia web per i vostri dati gestionali Il modulo applicativo Web.UP fornisce al progettista di siti Internet una serie di potenti strumenti per l'integrazione

Dettagli

documenta PLM certificato da Autodesk

documenta PLM certificato da Autodesk documenta PLM documenta PLM certificato da Autodesk Implementare un progetto PLM significa spesso riorganizzare e razionalizzare molti dei processi aziendali legati alla progettazione e produzione. In

Dettagli

BizTalk server fa parte dell offerta di Microsoft per la grande azienda.

BizTalk server fa parte dell offerta di Microsoft per la grande azienda. Web Service Dopo le applicazioni desktop e quelle per Internet, i servizi Web sono la terza componente essenziale delle applicazioni.net. I Web Service sono una nuova tecnologia che permette la realizzazione

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

Introduzione alle Applicazioni Web

Introduzione alle Applicazioni Web Introduzione alle Applicazioni Web di Mary Ercolini Con il termine Applicazione Web si intende un applicazione risiedente in un Server Web alla quale si accede tramite un browser Internet o un altro programma

Dettagli

Sistemi Distribuiti. Libri di Testo

Sistemi Distribuiti. Libri di Testo Sistemi Distribuiti Rocco Aversa Tel. 0815010268 rocco.aversa@unina2.it it Ricevimento: Martedì 14:16 Giovedì 14:16 1 Libri di Testo Testo Principale A.S. Tanenbaum, M. van Steen, Distributed Systems (2

Dettagli