16

FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

Embed Size (px)

Citation preview

Page 1: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante
Page 2: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

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: Tesi di laurea di:

Chiar.mo Prof. Daniele Bergonzini

Sonia Bergamaschi

Correlatori:

Lorenzo Canali

Fabio Neri

Anno Accademico 2001/2002

UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA

Page 3: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

OutLine della presentazione

La presentazione è articolata in tre parti principali:

Il Framework .NET

Applicazioni WebDB

Il progetto realizzato

Page 4: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

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.

Page 5: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

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.

Page 6: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

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.

Page 7: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

.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 i-mode e HTML per Pocket PC, palmari e cercapersone.

Page 8: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

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.

Page 9: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

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.

Page 10: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

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.

Page 11: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

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.

Page 12: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

Pagina di selezione

DataGrid

Page 13: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

Pagina di accesso

alla modifica

DataGrid

Page 14: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

Pagina di inserimeto

Page 15: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

Pagina di modifica

Page 16: FACOLTÀ DI INGEGNERIA - SEDE DI MODENA Corso di Diploma di Laurea in Ingegneria Informatica Re-engeeneering di una Rete Civica: Implementazione mediante

Conclusioni

Strumenti utilizzati: Sistema operativo: Windows 2000 Pro(SP2) WEB server: Windows 2000 Pro(SP2) + IIS Database Server: SQL server 7.0 Ambiente integrato: Visual Studio .NET Ambiente di sviluppo: Framework .NET

Componenti utilizzati: ASP.NET Linguaggio di programmazione: C#

Sono state realizzate oltre 8000 righe di codice