BETA La rivista ipertestuale tecnica
BETA
BETA La rivista ipertestuale tecnicaBarra BETA
Barra Sito Beta.it

BETA 2299.5 - Prove software: IBM Visual Age for Java  -  Indici | Guida

Clicca qui!

IBM Visual Age for Java

Un ambiente di sviluppo per applicazioni Java

Francesco Colucci
Collaboratore, BETA

Tutti hanno sempre sognato di poter scrivere un' applicazione che sia eseguibile su ogni piattaforma senza necessità di modifiche. Da qualche anno il sogno si avvera grazie a Java, il noto linguaggio di programmazione progettato dalla Sun Microsystems. Il codice Java, infatti, come quello HTML, è indipendente dal computer su cui viene eseguito, e quindi adatto alla realizzazione di programmi distribuiti via Internet, proprio perché alla grande rete sono collegati calcolatori di diverso tipo. Ciò significa che un programma Java viene eseguito allo stesso modo anche su computers con caratteristiche diverse.
Il "meccanismo" che consente la trasportabilità delle applicazioni Java è l'interpretazione del codice sulle diverse piattaforme, che perciò devono essere dotate di un interprete Java, cioè di un software in grado di interpretare le istruzioni del linguaggio.

Java, pur avendo tutte le caratteristiche di un vero e proprio linguaggio di programmazione completo e moderno e pur se è possibile realizzare completi programmi indipendenti dalla Rete, ha legato il suo successo ad Internet e al Web, dove si è rapidamente diffuso sotto forma di applet.

Applet

L' applet è il nucleo di un programma Java inserito e integrato in una pagina Web, che viene trasferito sul computer dell'utente attraverso la stessa rete Internet. Essa viene poi eseguita in ogni browser dotato di supporto Java (realizzato in base alle specifiche della SUN), attraverso il quale il navigatore interpreta ed esegue le istruzioni. L'output dell'esecuzione viene visualizzato attraverso un riquadro presente in un punto della pagina Web ed anche l'interazione con l'applicazione da parte dell'utente avviene attraverso la medesima finestra.

Un mio amico navigatore della Rete mi ha confessato che ha timore di collegarsi a siti che contengono le applet, poichè crede che, una volta trasferite sul proprio hard disk, possano combinare qualche diavoleria, come magari cancellare qualche file o attivare virus! Nessun timore, la Sun ha realizzato un solido sistema di sicurezza per le applet introducendo alcune restrizioni nel linguaggio:

- l’ applet non può leggere o scrivere su alcun disco presente sul computer dove è stata trasferita e sul quale viene eseguita;
- l’ applet non può richiedere una connessione con un computer server della rete Internet ad eccezione del server dal quale proviene;
- l’ applet non può creare alcun processo;
- l’ applet non può richiamare nessuna libreria dinamica dll.

Metaforicamente queste restrizioni definiscono una specie di recinto, chiamato “sandbox”, all’interno del quale le applet possono essere eseguite ed operare con sicurezza. Con le limitazioni viste, la Sun ha costruito un recinto sicuro, così che gli utenti della rete possono accettare senza timori le applet che saranno poi eseguite sui propri computer.

Cenni storici sul linguaggio

Il fratello maggiore di Java, chiamato “Oak”, nasceva nei laboratori della Sun Microsystems nel 1991 come linguaggio per l’automazione di elettrodomestici, attraverso reti di computer. Nel 1994, dopo varie esperienze di automazione, “Oak” pian piano si trasformava fino ad assumere le sembianze dell’attuale linguaggio Java. Nel 1995 la società Netscape, pubblicava la versione 2.0 del browser “Navigator”, che includeva la gestione delle applet Java. Il linguaggio veniva così conosciuto per la prima volta dal grande pubblico, poiché Netscape Navigator era un browser molto diffuso.
Nel 1996 la Sun lancia il JDK versione 1.0. JDK è l’acronimo di Java Developement Kit, l’ambiente di sviluppo per applicazioni Java proposto dalla stessa Sun, composto dalle librerie software, da un compilatore e da un visualizzatore di applet. Attualmente è disponibile e scaricabile via Internet dal sito della Sun la versione 1.2 .
Dal ‘96 in poi la crescita di notorietà e diffusione del linguaggio è stata inarrestabile, grazie sia alle sue caratteristiche innovative e al grande e potente strumento di comunicazione che è il Web.
Si sono diffusi poi, oltre al JDK, altri ambienti di sviluppo per Java tra cui Symantec Visual Cafè di tipo visuale per Windows 95 e NT, Borland JBuilder, Visual J++ della Microsoft, Sybase PowerJ e IBM Visual Age for Java giunta alla versione 2.0.
Di quest'ultimo ambiente di sviluppo voglio parlarvi, che uso da più di un anno. Visual Age della IBM, che è risultato inizialmente un po' ostico da usare, si è rivelato, in seguito, prezioso e completo tanto che può essere considerato al top dei tools di sviluppo visuali Java. Analizziamo ora le sue caratteristiche principali.

Visual Age


L'indirizzo Internet http://www.software.ibm.com/ad/vajava  è quello del sito ufficiale di Visual Age for Java.
Vi sono tre versioni:

Versione

Caratteristiche

Entry Level - free (scaricabile dal sito di Visual Age for Java)
- ideale per valutare il prodotto, per studenti o per creare piccole applicazioni
- consente la creazione di un numero limitato di classi per le applicazioni
- nessuna documentazione disponibile
Professional Edition - consente la creazione di applicazioni senza limite di classi
- documentazione on-line
- consente la creazione di data Access Beans per un accesso agevole a data base JDBC
- ambiente di sviluppo integrato con debugger e browser
- editor visuale per la creazione di componenti
Enterprise Edition - include tutte le caratteristiche della versione professional
- include Enterprise Access Builder per creare componenti Java Beans attraverso i qualli stabilire
  connessioni tra client Java e IBM CICS Transaction Servers
- Enterprise Toolkits per realizzare applicazioni dal lato server per AS/400 e S/390

La versione Entry è simile a quella Professional, ma con alcune limitazioni: 1) nessuna documentazione; 2) possibilità di creare applicazioni con un numero di classi non superiore a 100 (versione Entry 1.0) e non superiore a 500 (versione Entry 2.0).  
Voglio parlarvi della versione Entry 1.0, mentre la versione 2.0 è scaricabile, dopo una registrazione a costo zero, dal sito dell'IBM, ma il file di download è grande circa 65,4 MByte! Per ora ho personalmente rinunciato ad un simile download e quindi passo a presentarvi i requisiti minimi richiesti per la versione Entry 1.0 per Windows, che sono:

- Processore Pentium o superiore
- Video: SVGA, 800x600 (consigliato 1024x768)
- Memoria RAM: 32MByte minimo, consigliati 48MByte
- Spazio su Hard Disk:  40 MByte circa

La seguente figura mostra come si presenta la versione Entry subito dopo la sua attivazione:

Il Workbench di Visual Age

La finestra sulla destra, dal titolo "VisualAge quick start", consente di scegliere la modalità di lavoro (What would you like to do?) . Scegliendo l'opzione Go to the Workbench si sceglie di scrivere direttamente il codice dell'applicazione da creare senza ricorrere agli strumenti di sviluppo visuale.

Sviluppo manuale

Il Workbench, basato su VisualAge for Smalltalk, è un ambiente innovativo che organizza il codice delle applicazioni Java in forma modulare. Esso si presenta diviso in due zone: una zona comprende una o più finestre situate nella parte superiore e usate per la navigazione all'interno del codice Java e l'altra composta da una finestra di editing denominata Source, situata in basso, serve per editare il codice. Attraverso la finestra di navigazione il programmatore può selezionare un metodo di una classe, spaziando tra i vari progetti (Projects) o tra i differenti packages composti a loro volta da classi. Individuata la classe, inoltre, la navigazione continua all'interno di essa fino a giungere al metodo che si desidera editare.
Il codice del metodo selezionato con un click del mouse nella finestra di navigazione, compare automaticamente nella finestra di editing in basso, pronto per essere editato.

La programmazione in Java consiste, infatti, essenzialmente nella progettazione e definizione di classi e nel creare poi oggetti che appartengono ad una di queste classi. Una classe è un modello di qualcosa che esiste nella realtà. Una classe è composta da attributi e metodi. Gli attributi individuano caratteristiche fondamentali della classe e sono essenzialmente rappresentati da dati, ogni metodo, invece, definisce un comportamento del modello ed è costituito da istruzioni del linguaggio. Le classi, poi, non esistono autonomamente in un'applicazione Java, ma sono raggruppate in package. Un package è costituito da classi correlate e in Visual Age più packages costituiscono un Project.
Ogni cosa in Java è una classe! Una applet, per esempio, è una classe che è dotata di metodi quali init(), start(), stop(), paint() e che discende dalla classe Applet selezionata nella figura, ma anche un programma è una classe particolare dotata di un metodo chiamato main(). 

Nella figura è selezionato il metodo getAppletInfo() della classe Applet del package java.Applet del project Java class libraries. Il codice di tale metodo compare nella finestra di editing in basso pronto per essere modificato, anche se ha poco senso farlo, poichè si tratta di un metodo della classe Applet appartenente alla libreria delle classi Java.
Le finestre di navigazione e di editing sono indipendenti per ciò che riguarda il posizionamento del cursore e delle barre di scorrimento, ma sono correlate poichè ogni volta che si "naviga" verso un nuovo metodo, la finestra di editing viene aggiornata con il codice relativo.

Se si seleziona un nuovo metodo e quello precedentemente contenuto nella finestra di editing è stato modificato, non solo è possibile salvare su disco automaticamente ogni modifica, ma viene anche ricompilato tutto il codice con eventuale segnalazione di errori. Molto spesso, poi, gli errori presenti in un metodo generano nuovi errori in altri metodi della classe e Visual Age li individua tutti e li segnala al programmatore con un simbolo speciale in corrispondenza dei metodi in cui gli errori si sono propagati. Tutto il codice è contenuto in un Repository e non viene salvato in files, poichè Visual Age è in grado di gestire differenti versioni dello stesso codice scritto e di confrontare due versioni di una stessa applet. E' possibile, ovviamente, esportare il codice scritto, che la IBM assicura essere 100% pure Java, così come è possibile importare classi, programmi e applet scritte con qualsiasi altro ambiente di sviluppo.  

La SUN, infatti, per favorire la realizzazione di applicazioni Java che siano veramente indipendenti dalla piattaforma e forse anche per evitare la proliferazione di versioni del linguaggio diverse da quella originale, ha introdotto una specie di marchio, il cosiddetto software "100% Pure Java". I programmi che saranno scritti con precise caratteristiche specificate dalla SUN: 1) non uso di risorse esterne alle classi, 2) uso esclusivo di linguaggio Java, 3) uso dell' interfaccia del JDK(Java Development Kit), etc., potranno avvalersi del marchio, che costituirà un' indicazione di software Java di qualità e realmente indipendente dalla piattaforma. Il codice scritto con Visual Age è 100% pure Java.

Ritorniamo ad analizzare la figura del Workbench e focalizziamo la nostra attenzione sul quarto pulsante da sinistra, presente sulla barra delle applicazioni, e raffigurante un uomo che corre. Esso consente di eseguire l'applet o il programma Java senza uscire da Visual Age, mentre per attivare il prezioso debugger integrato basta fare clic sulla coccinella alla destra del pulsante di esecuzione.

L'attività di programmazione è quindi guidata dal Workbench che assiste il programmatore consentendogli di operare in un modo che definirei "rilassante", poichè si riesce ad avere agevolmente sotto controllo il codice dell'intera applicazione. Nella versione per Windows '95 i menu sono ricchi di opzioni ed anche quelli attivabili con il pulsante destro del mouse sono esaustivi.
I pulsanti Pulsanti consentono rispettivamente di creare una nuova classe o una nuova applet. La loro attivazione porta ad una serie di finestre di dialogo che guidano il programmatore nella scelta sia del tipo di classe che si desidera generare e sia nella modalità di generazione: manuale o visuale.

Sviluppo visuale

La programmazione di tipo visuale in Visual Age for Java si realizza attraverso il Composition Editor, una parte dell'applicazione che si occupa della progettazione e definizione dei Java Beans.

Composition Editor di Visual Age

La definizione di Java Bean data dalla SUN è quella di un componente software che può essere realizzato in modo visuale all'interno di un ambiente di sviluppo  predisposto. I Java Bean possono essere semplici componenti di un'interfaccia GUI, come pulsanti, etichette e righe di input, ma possono anche essere componenti software più sofisticati, come Beans per facilitare l'accesso ai data base tramite JDBC (Java Data Base Connectivity), l'interfaccia Java per accedere ai più diffusi data base relazionali.

In figura sono mostrati alcuni Java Bean di una applet posizionati su un pannello - Panel - delimitato dal riquadro tratteggiato: vi è un pulsante con etichetta "Converti", una riga di input con sfondo grigio e quattro label. Colori e dimensioni di un Java Bean sono dette proprietà che, attraverso il Visual Composition Editor, è possibile definire facendo clic due volte in rapida sequenza sull'oggetto che il Java Bean rappresenta,  in modo simile a ciò che avviene con Visual Basic o Delphi. Un Java Bean è in pratica un oggetto preconfezionato dal tool di sviluppo visuale inserito in un contenitore e in grado di comunicare con altri Java Beans. Visual Age genera automaticamente il codice relativo ai Java Beans e poi offre la possibilità al programmatore di inserire delle righe di codice manualmente nei metodi dei Beans. Un Java Bean, infatti, comunica con gli altri Java Beans attraverso metodi, simili ai metodi di una comune classe. Un Java Bean è anche caratterizzato da eventi attraverso i quali viene notificato agli altri Beans che qualcosa di interessante è accaduto. Il codice di un Java Bean può anche essere scritto manualmente, con il JDK per esempio, ma ovviamente l'utilizzo di un ambiente visuale completo come Visual Age riduce di molto i tempi di sviluppo.

L'applet in fase di progettazione rappresentata in figura sopra è semplicissima e comprende alcuni Java Beans che consentono di convertire una somma da Lire in Euro. Potete notare come vi sia una freccia che parte dal Java Bean "pulsante" e giunge all'etichetta in basso con sfondo di colore azzurro. Essa è stata realizzata semplicemente attraverso il clic del mouse come se si dovesse disegnare una linea dal pulsante all'etichetta. Questa linea, però, ha il significato di una vera connessione tra i due Java Beans che Visual Age traduce realizzando un collegamento a livello di codice tra l'evento "pressione del pulsante" e il testo dell'etichetta, attraverso un passaggio di parametri tra metodi. Il programmatore, poi, inserendo poche linee di codice, farà in modo che durante l'esecuzione, quando viene premuto il pulsante, il valore dell'etichetta in azzurro cambi, per indicare il valore della somma in Euro! Il tutto è più difficile da spiegare che da realizzare ed è veramente una piacevole novità. E' opportuno ricordare anche che è possibile utilizzare altri componenti Java Beans scritti con altri tools di sviluppo e anche quelli scritti manualmente, consentendo così il collagamento tra Java Beans diversi.
Visual Age assiste il programmatore indicandogli anche, attraverso commenti, il punto esatto in cui possono essere inserite manualmente le righe di codice nei metodi realtivi ai Java Beans. Possiamo notare, infine, che anche con il Visual Composition Editor vi è la possibilità di eseguire l'applicazione senza abbandonare l'ambiente di sviluppo, attraverso lo strumento Test, attivabile facendo clic sul primo pulsante da sinistra presente sulla barra degli strumenti del Composition Editor - freccia circolare -.

Conclusioni

Si può considerare Visual Age un tool di sviluppo visuale per la realizzazione di applicazioni Java robuste, sicure e 100% pure Java quasi perfetto. L'unico neo è costituito dalle grandi dimensioni, che ha come conseguenza una certa lentezza nell'esecuzione. Voto : nove e mezzo.

Ecco, infine, un piccolo test scritto in Java riguardante i temi trattati nell'articolo. E' stato realizzato, ovviamente, con Visual Age.

Fai clic qui per visualizzare il test

BIBLIOGRAFIA


Francesco Colucci è Collaboratore di BETA dal 1999; è raggiungibile su Internet tramite la redazione.

Copyright © 1999 Francesco Colucci, tutti i diritti sono riservati. Questo Articolo di BETA, insieme alla Rivista, è distribuito secondo i termini e le condizioni della Licenza Pubblica Beta, come specificato nel file LPB.


Beta.it (http://www.beta.it)email info@beta.it
Barra Sito Beta.it

indice sito | mappa | contattaci | newsletter | pubbl./ad info | abbonamento | informazioni | shopping

Copyright © 1994-1999 BETA, tutti i diritti sono riservati - http://www.beta.it

Frontespizio Abbonamenti a BETA Redazione Liste/Forum Informazioni Mirror ufficiali Beta Home Page Beta Home Page english Beta News BETA Rivista Articoli BETA Beta Edit, pubblicazioni Beta Logo, premi Beta Lpb, Licenza Pubblica e Articoli Lpb Beta Navigatore Beta Online Beta Library Beta Info Gruppo Beta BETA La rivista ipertestuale tecnica Collegamento al sito Web