.NET Framework ed Internet

.::Home::.

.::Introduzione::.

1.Panoramica

2.Architettura

3.C#

4.DataBase

.::Presentazioni PPT::.

.::Link::.

.::DownLoad::.

 

Il .NET Framework e Visual Studio .NET rientrano nella categoria dello sviluppo software e rappresentano i principali strumenti per il programmatore che vuole trarre vantaggio dalla nuova architettura.

Il .NET Framework è il risultato della fusione di due progetti. L'obiettivo del primo progetto consisteva nel migliorare lo sviluppo per Windows, con un occhio di riguardo verso COM, il Microsoft Component Object Model. Il secondo aspirava alla creazione di una piattaforma per la distribuzione del software sotto forma di servizio. Questi due progetti sono arrivati a fondersi più di tre anni fa. Il prodotto finale aumenta in modo considerevole la produttività dei programmatori, la semplicità nella distribuzione e l'esecuzione di applicazioni affidabili ed introduce un concetto innovativo nel campo della programmazione, quello dei servizi Web - applicazioni e componenti debolmente accoppiate, progettate per l'attuale ed eterogeneo panorama informatico, che comunicano utilizzando protocolli Internet standard come XML e SOAP.

 

Sviluppo Web

Quando è stato creato, il Web era fondamentalmente un file system di sola lettura con in più il vantaggio di utilizzare standard e protocolli aziendali, il che consentiva di accedere facilmente al contenuto dei file. I pochi siti Web interattivi erano tipicamente estensioni verso l'esterno di applicazioni two-tier esistenti.

I primi prodotti sviluppati per il Web erano generalmente scritti con il linguaggio di programmazione C e la Common Gateway Interface (CGI), con la quale pochissimi programmatori avevano familiarità. Il tutto si traduceva, ovviamente, in elevati costi di sviluppo per le applicazioni Web dinamiche.

Oltre a ciò, la maggior parte delle applicazioni Web si basava su architetture two-tier, fatto che ostacolava la scalabilità e l'integrazione tra le applicazioni. Le applicazioni Web erano progettate per essere eseguite esclusivamente all'interno delle pagine che le ospitavano; in altre parole, interfaccia utente e logica applicativa coincidevano. Come conseguenza, era difficile collegare più applicazioni Web al fine di ottenere soluzioni più articolate. Un esempio potrebbe essere un sito Web che venda bastoni per tende senza vendere le tende, il che costringe i potenziali clienti a visitare almeno due siti diversi per acquistare una soluzione completa per le proprie finestre.

Grazie ai miglioramenti apportati al Microsoft Component Object Model (COM) ed al rilascio di tecnologie come l'Active Server Pages (ASP) nel 1996, i siti Web sono stati in grado di offrire soluzioni sempre più interattive. ASP ha consentito di invocare in modo semplice la logica di business ed i servizi di piattaforma necessari utilizzando semplici linguaggi di script. Il supporto di COM ha semplificato la realizzazione di applicazioni grazie alla sua capacità di incapsulare la logica di business in unità modulari che possono essere scritte utilizzando un'ampia varietà di linguaggi, quali Microsoft Visual Basic, C++ o COBOL.

I siti Web offrono ora soluzioni più ricche, e gli strumenti di base necessari a superare alcune delle difficoltà legate all'integrazione delle applicazioni, avvalendosi di tecniche quali l'utilizzo di frame HTML per inglobare il sito Web di un'azienda in quello di un'altra e lo "screen scraping" HTML per estrarre i dati da pagine WEB.

Purtroppo queste strategie di integrazione applicativa presentano degli svantaggi, uno dei quali è la loro fragilità. Cosa succede, infatti, se altri siti Web cambiano i propri contenuti o viene lasciata una pagina con un link interrotto?

Lo sviluppo per il Web si sta spostando rapidamente da una classica architettura two-tier ad un'architettura N-tier, che consente una strategia di integrazione più potente rendendo disponibili gli oggetti di business o la logica dello strato intermedio per l'integrazione via Web e con i partner. La sfida nell'utilizzo della logica di business così incapsulata è rappresentata dal fatto che la maggior parte di queste applicazioni è stata progettate per protocolli proprietari fortemente accoppiati.

Sfide

Fino ad oggi, le aziende che hanno provato ad offrire soluzioni che consentono ad un sito Web di esporre informazioni e funzionalità relative all'integrazione delle applicazioni in modo modulare, scalabile ed aperto verso il mondo Internet, hanno incontrato numerose difficoltà. Tra queste:

Tempi di rilascio. Il tempo di sviluppo necessario affinché un'applicazione o un sito Web possano essere commercializzati può rendere l'offerta superata.

Scalabilità Web. I modelli ad oggetti oggi disponibili e le architetture basate su componenti non funzionano con i protocolli Internet. Lo sviluppo di applicazioni prive di stato che possono essere reindirizzare ed eseguite da qualsiasi server è un concetto sconosciuto a molti programmatori. Tuttavia, un tale tipo di architettura è di vitale importanza per raggiungere un'elevata scalabilità.

Mancanza di strumenti di sviluppo end-to-end. Gli strumenti attualmente disponibili non forniscono alle aziende la flessibilità necessaria per stare al passo con la concorrenza. Nel mondo Internet sempre in rapida evoluzione, le aziende devono dimostrare di poter integrare nuovi partner utilizzando strumenti di sviluppo che risolvano le difficoltà dell'attuale panorama informatico altamente eterogeneo.

 

La Soluzione: i servizi Web XML

Per vincere d'ora in avanti le sfide legate allo sviluppo per Internet, è necessario scrivere applicazioni utilizzando un qualsiasi linguaggio di programmazione, accedere a qualunque piattaforma e garantire una totale scalabilità. Questa strategia di sviluppo è molto interessante, dal momento che consente alle aziende di utilizzare l'hardware, le applicazioni e gli sviluppatori esistenti senza obbligare questi ultimi ad apprendere un nuovo linguaggio di programmazione.

Questo stile di programmazione viene denominato servizio Web XML e rappresenta la nuova generazione nello sviluppo di applicazioni. Un servizio Web XML è un'applicazione che espone le proprie funzionalità programmaticamente su Internet o intranet, utilizzando protocolli Internet standard come HTTP e XML.

I servizi Web XML consentono agli sviluppatori Web di combinare gli aspetti altamente produttivi e fortemente accoppiati dell'elaborazione N-tier con i concetti orientati alla messaggistica e debolmente accoppiati del Web. I servizi Web XML possono essere visti come una sorta di programmazione per componenti sul Web.

Da un punto di vista concettuale, gli sviluppatori integrano i servizi Web XML all'interno delle proprie applicazioni invocando le "API Web" proprio come farebbero con i servizi locali. La differenza è che tali chiamate possono essere reindirizzate via Internet ad un servizio che risiede su un sistema remoto. Ad esempio, un servizio come Microsoft Passport potrebbe consentire ad uno sviluppatore di fornire l'autenticazione per un'applicazione. Utilizzando il servizio di Passport, lo sviluppatore può sfruttarne l'infrastruttura per gestire il database degli utenti, verificarne la funzionalità, eseguirne il backup e così via, risparmiandosi così numerose attività di sviluppo.

 

Gli obiettivi di progettazione del .NET Framework

Il .NET Framework costituisce il risultato degli sforzi combinati di diversi team di Microsoft, i quali hanno collaborato per creare una piattaforma che consenta di realizzare e distribuire velocemente applicazioni e servizi Web XML. L'obiettivo della piattaforma del .NET Framework è quello di combinare un semplice paradigma di programmazione con i protocolli aperti e scalabili di Internet. Prima di ottenere un tale risultato è stato necessario raggiungere obiettivi intermedi.

Integrazione attraverso gli standard pubblici di Internet

Per poter comunicare con partner, clienti, divisioni geograficamente separate e persino con applicazioni future, le soluzioni di sviluppo devono offrire sia il supporto per gli standard aperti di Internet sia una profonda e trasparente integrazione con tali protocolli che non obblighi lo sviluppatore a conoscere l'infrastruttura sottostante.

Scalabilità attraverso un'architettura debolmente accoppiata

I sistemi più grandi e scalabili al mondo sono stati realizzati su architetture asincrone basate su messaggi. Ma creare applicazioni di questo tipo è un compito difficile e spesso gli strumenti disponibili sono meno ricchi di quelli forniti per la realizzazione di applicazioni N-tier fortemente accoppiate. Il .NET Framework è stato creato per combinare i vantaggi di produttività delle architetture fortemente accoppiate con la scalabilità e l'interoperabilità di quelle debolmente accoppiate.

Supporto multi linguaggio

Gli sviluppatori utilizzano linguaggi differenti secondo le circostanze: alcuni sono appositamente ottimizzati per l'esecuzione di operazioni matematiche, altri possiedono funzioni finanziarie particolarmente ricche e così via. Invece di obbligare gli sviluppatori ad imparare un unico linguaggio di programmazione, il .Net Framework consente di integrare tra loro applicazioni scritte con linguaggi differenti. Di conseguenza, il .NET Framework permette alle aziende di sfruttare il proprio patrimonio di conoscenze, ed agli sviluppatori di programmare nel linguaggio che preferiscono.

Aumentare la produttività degli sviluppatori

Data la scarsità di programmatori, è necessario convertire ogni ora di sviluppo in lavoro produttivo. Il team di sviluppo del .NET Framework ha focalizzato i propri sforzi sull'eliminazione di gran parte della programmazione relativa all'infrastruttura, lasciando così lo sviluppatore libero di concentrarsi sull'implementazione della logica di business. A questo proposito ad esempio, il .NET Framework include funzionalità che consentono di risparmiare tempo, quali transazioni automatiche semplici da utilizzare, la gestione automatica della memoria ed un insieme di controlli che incapsulano molte funzioni di uso comune.

Proteggere gli investimenti con le opzioni avanzate di sicurezza

Attualmente una delle maggiori preoccupazioni relativamente al mondo Internet è la sicurezza, ed è evidente che questa debba essere parte integrante delle soluzioni di sviluppo per Internet. L'architettura di sicurezza del .NET Framework è stata progettata da zero per consentire la protezione di dati ed applicazioni attraverso un modello di sicurezza a granularità fine e basato sulle evidenze.

Utilizzare i servizi del sistema operativo

Windows mette a disposizione un insieme di servizi quali un accesso ai dati universale, la sicurezza integrata, interfacce utente interattive, un modello ad oggetti maturo e basato su componenti, monitor per la gestione delle transazioni e servizi per la gestione delle code di messaggi. Il .NET Framework sfrutta tutta la ricchezza di servizi di Windows e la espone in un modo semplice da utilizzare.

 

Fonti:

Microsoft: Introduzione a .NET (Vedi Area DownLoad)

Microsoft: .NET Framework Evaluation Guide (Vedi Area DownLoad)

Microsoft: Seminario online sulle tecnologie .NET

.::^top^::.

(2002) A cura di Carlo Becchi