|
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
serrvice, è 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.).
.NET Framework
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 (Common Language
Runtime ) è 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.
Si può pensare 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).
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.
Visual
Basic .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 Report.
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!!!!
Federico Barbati
|