UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante la nuova tecnologia ASP.NET Relatore: Chiar.mo Prof. Tesi di laurea di: Daniele Bergonzini Sonia Bergamaschi Correlatori: Lorenzo Canali Fabio Neri Anno Accademico 2001/2002 OutLine della presentazione La presentazione è articolata in tre parti principali: Il Framework .NET Applicazioni WebDB Il progetto realizzato Il Framework Microsoft.NET Il Microsoft .NET Framework è una piattaforma per sviluppare, distribuire ed ospitare applicazioni e servizi Web. Un servizio Web è anch’esso un’applicazione, ma espone le proprie funzionalità su Internet o intranet, utilizzando protocolli Internet standard come HTTP e XML. Come valutare il Framework .Net? È bene considerare alcuni aspetti che caratterizzano la realizzazione di servizi: – Aspetti che influenzano i tempi di rilascio: • Possibilità di utilizzare un qualsiasi linguaggio di programmazione.. • Accesso a strumenti di sviluppo. (ex: debug) – Aspetti che facilitano l’integrazione: • Standard riconosciuti per linguaggio ed infrastruttura. • Facilità di accesso ai dati. Dentro il Framework .NET Il Framework .NET è la fusione di due progetti il primo consiste nel migliorare lo sviluppo per Windows. Il secondo aspira alla creazione di una piattaforma per la distribuzione del software sotto forma di servizio. Tutte le specifiche di questo ambiente sono state sottoposte ad enti mondiali per la standardizzazione. È stato migliorato l’accesso a fonti di dati diversi mediante l’implementazione di standard come: – XML (Extensible Markup Language) – uno standard W3C per la formattazione di documenti e dati strutturati sul Web. – SOAP (Simple Object Access Protocol), standard W3C – un protocollo leggero per lo scambio di informazioni in un ambiente decentralizzato e distribuito. Dentro il Framework .NET A basso livello è stata creata una infrastruttura per poter progettare una stessa applicazione, web e non, con linguaggi differenti. I linguaggi supportati dal .NET sono più di venti, questo lascia una vastissima scelta ai programmatori. In particolare due sono la novità rilevanti: – Visual C#(sharp).NET – Visual Basic .NET Progettare con linguaggi differenti è possibile grazie al Common Language Specification (CLS). Un sottoinsieme delle funzionalità del .NET che viene supportato da un ampio insieme di linguaggi e strumenti compatibili. Il codice scritto nei diversi linguaggi viene compilato nell’Intermediate Language (IL), lo stesso codice scritto con diversi linguaggi di alto livello avrà alla fine della compilazione un codice IL identico, questo è ciò che permette l’integrazione. Il codice IL è portabile. Just-In-Time(JIT), è questo il compilatore che ha il compito di tradurre il codice IL in codice nativo. Esiste un compilatore JIT per ogni sistema. .NET e Sviluppo per dispositivi portatili .NET offre funzionalità Internet per dispositivi portatili consentendo la creazione un’unica interfaccia Web in grado di supportare una vasta gamma di disposiviti mobili, inclusi WML 1.1 per telefoni cellulari WAP, cHTML (HTML compatto) per telefoni imode e HTML per Pocket PC, palmari e cercapersone. Applicazione WebDB: 3-Tier Le attuali applicazioni Web “soffrono” quando sono sottoposte ad un carico di richieste molto elevato. Questo perché la stessa infrastruttura che si occupa degli accessi alle sorgenti dati è la stessa che dialoga con il client. La struttura dell’applicazione è passata da due livelli a tre livelli. Il primo livello è il client (First-Tier) che fa le richieste, il livello intermedio (Middle-Tier) ha il compito di dialogare con il client e manipolare i dati che gli passa il terzo livello (EIS-Tier) che ha il compito di gestire gli aspetti critici. Parlando della nuova tecnologia .NET nel livello intermedio si colloca ASP.NET mentre nel terzo livello vi è l’accesso ai dati. Il primo livello è sempre il client. Applicazione WebDB: ASP.NET ASP.NET fornisce controlli ed infrastrutture che semplificano la creazione di applicazioni Web. Questi controlli sono molto più evoluti dei precedenti, che continuano ad esistere, perché determinano le caratteristiche del client che richiede una pagina e si adattano ad esso. Caratteristiche principali di ASP.NET: – è compilato e non interpretato come il suo predecessore, questo rende la sua esecuzione più veloce. – il codice delle pagine è molto più leggibile in quanto non vi è più codice ASP frammisto a tag HTML. – è gestito ad eventi, ogni suo controllo può generare un evento che può essere gestito nel modo più adatto alla realizzazione dell’applicazione. – migliora la gestione dello stato: esiste uno stato proprio di ogni controllo gestibile in vari modi, è persino possibile memorizzarlo in un database. Questo semplifica molto il lavoro dei programmatori. Applicazione WebDB: Accesso ai dati, ADO.NET La nuova versione di ADO, ADO.NET, risolve quelle piccole carenze che in passato hanno caratterizzato l’accesso ai database mediante ADO, ossia ad esempio se ci si doveva connettere ad un database la connessione rimaneva stabilita ben oltre il semplice scambio delle informazioni, con l’evidente spreco di risorse. ADO.NET permette un tipo di accesso differente: un accesso disconnesso. Una volta avvenuta la transazione la connessione viene chiusa. I dati letti vengono ospitati in un costrutto chiamato DataSet, che può contenere dati anche di più query, divisi in tabelle come nel database. Questo riduce molto gli accesi. Il DataSet può essere gestito come un vero e proprio database, modificando o cancellando le informazioni. La presentazione dei dati è gestita tramite il costrutto DataView, con cui è possibile personalizzare la visualizzazione del DataSet, come ad esempio l’ordine delle colonne. Il Progetto realizzato Il progetto realizzato consiste nella riprogettazione di una rete civica, un sito dinamico con diversi servizi. La rete civica attuale è stata realizzata con tecnologia ASP, la si è riscritta in ASP.NET. In base a ciò che le attuali pagine fanno si è cominciato a strutturare quelle nuove, aggiungendo specifiche e correggendo vecchi errori. Alcuni servizi sono rimasti pressochè uguali, ovviamente graficamente perché ASP.NET è completamente diverso da ASP; altri sono stati profondamente modificati. Quando possibile sono stati riutilizzati degli oggetti, che già funzionavano corettamente, come ad esempio quello per le E-mail; ASP.NET prevede un costrutto per invare E-mail, ma non utile al nostro progetto. Per più servizi è stato possibile riutilizzare la stessa pagina, con semplici modifiche al codice; ma non solo anche le librerie create sono utilizzate da più servizi. Scrivere codice riutilizzabile permetterà in futuro di sviluppare nuovi servizi in minor tempo. Nelle pagine seguenti vengono presentati degli esempi di pagine realizzate. DataGrid Pagina di selezione DataGrid Pagina di accesso alla modifica Pagina di inserimeto Pagina di modifica Conclusioni Strumenti utilizzati: Sistema operativo: WEB server: Database Server: Ambiente integrato: Ambiente di sviluppo: Windows 2000 Pro(SP2) Windows 2000 Pro(SP2) + IIS SQL server 7.0 Visual Studio .NET Framework .NET Componenti utilizzati: ASP.NET Linguaggio di programmazione: C# Sono state realizzate oltre 8000 righe di codice