Immaginate
di trovarvi in un mondo dove tutti parlano un linguaggio comune,
dove tutti possono parlare contemporaneamente con tutti. Ecco
questa è la nuova strategia di Microsoft .NET, abbattere
le classiche barriere client/server legate all'applicazione,
al sistema operativo e al linguaggio di programmazione.
Tutto questo è possibile, utilizzando un linguaggio
comune che possa essere capito da qualsiasi applicazione o
sistema operativo: XML.
La definizione di XML, aveva come obiettivo originario il
superamento dei limiti di HTML relativamente al markup per
il web. Nella sua natura, XML ha la possibilità di
esprimere nuovi tag senza il bisogno di ridefinire una nuova
versione del linguaggio. Attualmente, XML è diventato
un linguaggio per la rappresentazione di informazioni di qualsiasi
tipo cioè un linguaggio di descrizione universale.
Quindi se all'universitalità del linguaggio di descrizione
dei dati affianchiamo un protocollo di trasmissione altrettanto
universale (http), otteniamo un interoperabilità effettiva.
Due applicazioni in esecuzione su due macchine diverse, con
sistemi operativi diversi, distanti anche migliaia di chilometri,
possono scambiarsi dati in XML ed inviarli tramite HTTP. Riepilogando
XML è:
» un semplice file di testo;
» un linguaggio standard;
» ha la capacità di descrivere il contenuto dell'informazione
oltre a contenere l'informazione stessa.
Quest'ultima possibilità consente non solo lo scambio
di dati tra applicazioni ma, addirittura, l'invocazione di
procedure remote fra applicazioni diverse magari che girano
su piattaforme incompatibili tra loro e scritte con diversi
linguaggi di programmazione. Questa possibilità ha
dato origine al concetto di servizio web (web service)
che è la base della ormai osannata .NET Platform.
L'obiettivo primario è passare da una concezione di
navigazione ad una via, cioè il client chiede ed il
server restituisce, ad un tipo di informazione a due vie,
dove client e server interagiscono tra loro. Web service,
è una componente applicativa accessibile tramite protocolli
standard di internet:
· indipendente dalla piattaforma;
· indipendente dal linguaggio di programmazione;
· ma soprattutto permette di programmare il web.
In altre parole, non bisogna piu' pensare alla propria applicazione
scritta in VB come un programma statico che gira solo sul
proprio pc, ma ad un servizio al quale possono accedere tutti
i dispositivi intelligenti collegati da esso (telefoni, palmari,
altri pc, ecc.).
Il
vero ambiente .NET è il .NET Framework, che
consente di realizzare, rilasciare ed eseguire i servizi Web
e le altre applicazioni. In particolare, è un ambiente
di esecuzione multilinguaggio (molte società tra le
quali Cobol e Perl stanno realizzando implementazioni) costituito
da tre componenti fondamentali:
» CLR (Common Language Runtime)
» BCL (Base Class Library)
» ASP.Net
Esaminandoli rapidamente: IL CLR è la componente
del framework che si occupa di tutte le attività che
riguardano la fase di esecuzione delle applicazioni e dei
Web service: in particolare, si occupa di gestire l'allocazione
di memoria, avviare ed eliminare processi e variabili, verificare
le dipendenze tra i componenti e coordinare le attività
del garbage collector.
Quest'ultima fase è particolarmente delicata perché
consente l'ottimizzazione e la gestione degli spazi di memoria
legati ad oggetti istanziati e dichiaratamente, non piu' necessari.
La tecnologia ASP.Net si basa sulle BCL ed offre
un modello applicativo, sotto forma di un insieme di controlli
e di un'infrastruttura che facilita notevolmente lo sviluppo
di applicazioni WEB.
Inoltre poiché anche le pagine ASP vengono compilate
in MsIL (Assembly) e quindi non sono righe interpretate come
succede attualmente, la velocità di esecuzione è
assai maggiore. al framework come un vero e proprio processore
software al quale è associato il proprio Assembly o
linguaggio intermedio: MsIL (Microsoft Intermediate Language).
In effetti, la compilazione di un progetto, realizzato in
VB.Net oppure C# (C Sharp), non produrrà un
eseguibile .EXE come eravamo abituati ma un codice Assembly
(MsIL) identico per tutti e due i linguaggi di programmazione
arricchito da metadati che ne descrivono in modo automatico
il contenuto.
Questo consente di importare componenti fatti con un altro
linguaggio e di poterne vedere il codice sorgente all'interno
del nostro progetto ma soprattutto, non si avrà piu'
la necessità di avere un REGISTRO DI CONFIGURAZIONE.
La BLC (Base Class Library) o Framework Class,
rappresenta lo strato visibile del framework in quanto mette
a disposizione un ricchissimo set di classi ad oggetti, gerarchiche
ed estendibili (sarebbero le classi che troviamo sulla barra
degli strumenti di Visual Studio .NET).
Le
novità di Visual Basic, tralasciando l'ambiente di
sviluppo, sono decisamente riscontrabili nel linguaggio. Visual
Basic .NET ora è COMPLETAMENTE orientato agli oggetti:
polimorfismo, ereditarietà ed incapsulamento.
E' stato introdotto un nuovo tipo di dati Short (da
-32768 a +32768) che prende il posto del vecchio Integer,
il nuovo Integer (da -2,147,483,648 a +2,147,483,647)
sostituisce il vecchio Long che è invece utilizzato
per la rappresentazione a 64 bit.
Per quanto riguarda la progettazione di applicazioni, Visual
Basic .Net consente di realizzare applicazioni Windows e applicazioni
Web, grazie all'introduzione di WindowsForm e WebForm, insieme
a tutta una serie di nuove componenti realizzate per la gestione
di questa tipologia di progetti.
Le componenti importate e scritte con un altro linguaggio
(magari C#), non sono scatole chiuse ma sarà possibile
vederle e modificarne il codice scritto.
Non è piu usato il SET e non esiste il tipo
Variant. E' scomparso il DataReport rimpiazzato
dal Crystal Reports. Infine, Visual Basic .Net, nella
fase di compilazione, non produce piu' codice nativo (.EXE)
oppure pseudo-codice, bensì codice assembly che è
composto da codice Microsoft IL e metadati.
In particolare, assembly è un eseguibile composto da
un linguaggio intermedio (IL) e metadati che ne descrivono
il contenuto e può essere fatto girare soltanto su
piattaforma .NET.
Al momento dell'esecuzione entra in azione il JIT Compiler
(compilatore Just in Time) che, conscio delle risorse messe
a disposizione dal sistema operativo e dell'hardware di cui
è dotato il sistema, compila "on the fly"
l'applicazione IL, effettuando autonomamente le ottimizzazioni
del caso. In conclusione non ci troveremo mai con un'applicazione
che sul nostro pc funziona mentre su quella del cliente da
errori vari di dll non trovate e runtime vari.
Per cui ci troviamo di fronte ad una piattaforma piu' stabile,
piu' scalabile e piu' flessibile e quindi non ci resta che
rimboccarci le maniche e imparare a conoscerla al meglio.
N.B. Il framewok è assolutamente gratis e può
essere installato solo su sistemi da Windows 98 in poi, per
quanto riguarda Visual Studio .net, se non avete una piattaforma
NT, non potete lavorarci!!!!
|