Applicazioni

MaxBase 1.17

Michele Della Guardia
 

Genere: Database
File: mbase117.zip
Dimensione: 1,56 Mbytes
Costo: 29 $ US (versione standard) o 89 $ US (versione estesa)
Autore: Massimiliano Marsiglietti
Reperibilità: BMT Micro

Quando IBM decise di integrare la runtime Java (e il Developer Kit) 1.0.1 nella versione 4 di OS/2 in molti pensammo che un buon supporto Java avrebbe aiutato OS/2 a colmare alcune lacune in campo applicativo. Ambiziosi progetti nati in quei giorni, come il Corel Office for Java, resero subito l'idea di quanto fosse già maturo e potente il neonato linguaggio multipiattaforma. OS/2 fu il primo sistema operativo a poter eseguire le classi Java direttamente sul proprio Desktop e fu designato (a ragione) da molti come la piattaforma d'elezione per lo sviluppo e l'esecuzione di codice Java.
A distanza di due anni dobbiamo riconoscere che la strategia adottata da IBM ha dato i suoi frutti. Infatti su Java adesso viene prodotto molto software (ad esempio la Lotus e-Suite oppure ICQ di Mirabilis) che grazie alle nuove e più performanti runtimes (su OS/2 siamo alla 1.1.6) vengono eseguite con una velocità paragonabile a quella del codice nativo. Anche gli utenti OS/2 si sono progressivamente interessati a Java e non credo di esagerare nell'affermare che l'uscita di una nuova runtime Java ha la stessa rilevanza di quella di un FixPack.
L'applicazione che presento qui è stata sviluppata interamente in Java ed è la dimostrazione che dal linguaggio di Sun dobbiamo aspettarci ancora molte piacevoli sorprese.

Cos'è

MaxBase è un pacchetto software per la creazione e la gestione di Database sviluppato in un'ottica completamente multipiattaforma; solo per darne un'idea segnalo che l'autore testa e supporta ogni release del suo software su ben tre JVM (Java Virtual Machines): OS/2, Windows e Unix.
Dotato di un'interfaccia grafica di facile comprensione e unificata per tutte le piattaforme, si pone come strumento adatto a soddisfare le esigenze una gamma di utenti che va dal consumer fino allo sviluppatore. Infatti è possibile utilizzare MaxBase per creare un semplice archivio "casalingo" oppure un database aziendale di oltre duecentomila records e contemporaneamente per condividerlo in rete attraverso un comune Browser. L'integrazione di un supporto per gli sviluppatori fa di questo database uno strumento completo e quanto mai aperto nello sviluppo. La struttura "modulare" del programma ne consente il potenziamento attraverso la semplice inclusione di plug-ins per il cui sviluppo l'autore ha messo a disposizione degli sviluppatori dei comodi templates di esempio in NetRexx (maggiori informazioni su http://www2.hursley.ibm.com/netrexx).

Installiamo MaxBase

Per l'installazione di MaxBase è sufficiente la decompattazione del file .zip e l'avvio del programma di installazione che crea la cartella con gli oggetti del programma. Sono disponibili nel pacchetto i batch di installazione per il solo OS/2, mentre sono stati forniti i batch di esecuzione anche per Win32 e Unix. Andando a sbirciare nel config.sys ci si accorge che l'unica aggiunta riguarda il classpath sul quale non dobbiamo intervenire manualmente. Questa condizione ovviamente permane fino a quando non decidiamo di spostare la cartella in cui MaxBase è installato, quando dovremo aggiornare manualmente il config.sys. L'autore ha annunciato che eliminerà questo inconveniente nelle prossime release.
Dopo aver riavviato il sistema potremo creare il nostro primo Database con MaxBase.

cartella di MaxBase
La cartella e gli oggetti installati da MaxBase 1.17

Il DataBase

Trascinando sulla scrivania il template denominato "NewDB" viene creata una nuova cartella che contiene il file "rxdb.dat" sul quale possiamo cliccare per iniziare. Il file viene aperto e a questo punto siamo in grado di impostare i campi per inserire i dati. Tutto questo viene fatto su un'interfaccia molto intuitiva e veloce, da cui si creano i campi impostandone la lunghezza e le condizioni di validità dei dati che vi si inseriranno.
Dopo aver impostato i campi possiamo iniziare a inserire i dati nel nostro database. Faccio notare che dall'installazione all'inserimento del primo record non sono passati più di due minuti, a segnalare l'immediatezza e la semplicità delle operazioni fino ad ora svolte. Ovviamente è possibile ordinare i record secondo il campo che si preferisce e possono essere impostati dei filtri nella visualizzazione dei record. È utilissima questa funzione nel caso in cui in un grosso archivio di film ad esempio, si vogliano visualizzare solo quelli usciti dopo il 1980. L'impostazione dei filtri avviene con la stessa semplicità delle funzioni precedenti, con gli operatori logici che vengono visualizzati in una comoda finestra nella quale vengono associati ai campi: con un semplice click sul nome di un campo o su di un operatore, questi vengono aggiunti alla condizione filtro corrente. Se avete installato Voice Type, potete selezionare le condizioni del filtro direttamente con la voce.
Il fatto che il programma di default sia in Inglese non vi spaventi: in maxbase\res c'è il file menus.zip. Scompattatelo e rinominate il file maxbase.ita in maxbase.mnu, mettendolo nella directory principale di MaxBase. Al riavvio di MaxBase vedrete i pulsanti e le scritte in Italiano. Potrete così utilizzare il vostro supporto vocale senza problemi.
Volendo è possibile consultare i record attraverso una comoda modalità "Form" in cui si naviga da un record all'altro con dei semplici pulsanti. In ogni momento volendo possiamo aggiungere, modificare o eliminare i records. Volendo possono essere reimpostati anche i campi senza perderne il contenuto. Importante funzione è la compressione di un database, con il comando PackDB.
Ma MaxBase è anche ampiamente customizzabile. Possono infatti essere modificati a proprio piacimento i colori e del testo e delle finestre di lavoro, così come il font. Ancora possiamo decidere di visualizzare 50 record per volta nella finestra oppure tutta la lista completa.
Per chi volesse migrare i dati da un database in DBF (DbaseIII) in DAT (MaxBase) esiste un convertitore inserito direttamente nel programma principale, in modo da rendere automatica la conversione delle basi di dati. C'è anche l'opzione di conversione da DAT a DBF. Ci troviamo quindi di fronte a uno strumento fortemente aperto alle nostre esigenze e ai nostri gusti.
Se ci fermassimo qui credo non sarebbe poco, considerando che MaxBase è un tool ancora giovanissimo, multipiattaforma, e capace di occupare meno di tre mega su Hard Disk, ma c'è ancora molto da dire.

I Plug-In

Come già detto in precedenza MaxBase presenta la possibilità di essere espanso con il minimo sforzo grazie ai Plug-in, ovvero moduli, scritti in Java complementari al programma che inseriscono nuove funzioni al database.
Quelli forniti di serie nel pacchetto sono contenuti nel file os2plugs.zip posto nella sottocartella \plugins. Il primo, Txtimg, consente di visualizzare immagini e testi collegati ad un record nel database.

Plug-in TxtImg
Un Database di CD con il plug-in TxtImg che visualizza la copertina e i titoli del disco selezionato. Sono stati customizzati il font ed il colore della barra di selezione. Il pulsante "View Text-Image" è visibile dopo avere installato l'apposito plug-in.

Il secondo plug-in è il Jukebox, con il quale è possibile eseguire file in formati multimediali quali Midi, Wav, S3M e video (richiamando le risorse installate nel sistema) che sono archiviati nel database. Per creare molto velocemente un database a partire da una lista di file, magari di brani Midi, c'è il Dir2Dat, che trasforma il contenuto della directory in file DAT (formato di MaxBase). Ultimo, ma importantissimo plug-in, è il Dialer, che permette la composizione di un numero di telefono posto nel database direttamente via modem.
Occorre segnalare che i plug-ins non sono direttamente installati di default, ma vanno estratti e installati modificando il file plugin.ini come spiegato nei file di testo che sono accompagnati a ciascun plug-in. L'avvenuta installazione è verificabile dalla comparsa di nuovi pulsanti nella barra dei comandi di MaxBase. Altro particolare di rilievo è la disponibilità dei sorgenti in NetRexx, che presenta una sintassi molto simile al Java, verso il quale gli esempi possono essere portati con facilità. Questo semplifica di molto il lavoro degli sviluppatori nel creare nuovi moduli senza dover ripartire da zero.

Condivisione in rete

Uno dei motivi per cui MaxBase è stato concepito in Java è proprio la sua integrazione con la rete. Il linguaggio multipiattaforma rende l'applicazione accessibile da qualsiasi client, indipendentemente dal sistema operativo usato. Il programma stesso può essere usato come client del proprio mini-server, utilizzando l'opzione di apertura di un file remoto in fase di login. L'utilizzo del server è molto semplice: si trascina il proprio database sull'icona di Share DB on the network e alla richiesta si assegna al server una porta da gestire per la comunicazione e una password di accesso. Lanciando il programma da linea di comando è possibile attivare il server anche in sola lettura. Per quanto riguarda l'accesso ai dati da un browser è necessario impostare una pagina HTML che usi l'applet MBApplet.class posto nella cartella \demo insieme all'HTML di prova. Utilizzando questo leggerissimo applet (soli 2kbyte) su una pagina, chiunque potrà accedere ai dati del nostro database direttamente da un browser, caricando in remoto il file Jar (500Kb circa) sulla macchina Server. Ciò consente l'uso remoto di MaxBase anche a chi non ha una copia del programma sulla propria macchina. La licenza standard consente al server di mantenere al massimo due connessioni simultaneamente, mentre il limite è rimosso nella licenza estesa.

Il server di condivisione del database in funzione sulla porta 80

MERGe

Dopo l'inserimento dei dati in un database, è un'esigenza comune quella di averne un Report, ossia un resoconto sintetico in cui vengono ordinati e visualizzati i dati pronti per essere stampati. MaxBase non poteva lasciare i suoi utenti senza questa feature ed è stato corredato di un'utility, chiamata MERGe, che offre molto di più di un semplice report. Con MERGe si possono impaginare i propri report direttamente in HTML, con la possibilità di modificarne i font e i colori, l'allineamento e la disposizione dei campi. Ancora possiamo dotare i report di header, footer e di sfondi (centrati, massimizzati o ripetuti). Durante la creazione del report (per ora solo "a linea") potremo anche verificarne l'output con una comodissima preview.
Esiste poi una feature di grandissimo interesse: si può salvare il report anche in codice sorgente Java o in NetRexx. Questo da la possibilità agli sviluppatori di creare classi Java attraverso le quali visualizzare i dati a proprio piacimento creando delle piccole applicazioni "stand-alone" . Nel caso del salvataggio in NetRexx la classe necessita di qualche modifica e può essere compilata direttamente (con il compilatore NetRexx), mentre il sorgente Java è inteso come integrativo ad una generica classe Java. Sono infatti riportate al suo interno delle righe di guida che segnalano dove inserire gli spezzoni di codice e come assegnare i valori alle variabili presenti.

Il MERGe in esecuzione e la finestra in cui genera il sorgente in Java, NetRexx e HTML.

Per avviare MERGe non è necessario uscire da MaxBase, infatti in fase di consultazione di un database appare fra gli altri il pulsante MERGe, che provvede a caricare il modulo esterno e ad importare i dati che su cui si lavorava. Anche in questo caso è consentito l'uso dei filtri logici di MaxBase, così da permettere la creazione di reports specifici in relazione alle nostre esigenze. L'autore segnala che dalla versione 1.19 sarà possibile creare i report "a scheda".

File Utils

Per uno strumento multipiattaforma come MaxBase la principale necessità è quella di mantenere una completa compatibilità con le applicazioni già presenti sui vari sistemi operativi, al fine di non rimanere isolato con il formato proprietario. MaxBase lavora su un formato DAT proprietario, ma importa i dati dal comunissimo DBF (versione III e probabilmente la IV). Grazie a File Utils possiamo importare dati anche da sorgenti CSV e QIF (quest'ultimo usato da MS Money), oppure esportarli in DBF e CSV. Per chi utilizzasse IBM Works, segnalo che File Utils riesce a convertire anche il formato Works, simile in tutto e per tutto al DB IV. La seconda sezione dell'utility provvede all'encoding e al decoding di file in formato BASE64. La terza sezione trasforma i file di testo nei formati Unix, Mac e PC (con PC intendo il formato testo DOS standard usato anche in OS/2).

Conclusioni

Corredato di un'ottima guida in HTML (anche se solo in inglese), di numerose utilities e di materiale per gli sviluppatori MaxBase si presenta come una delle più, complete applicazioni Java mai viste prima. L'impressione non è solo personale e a testimonianza di questo vi informo che nel corso dell'ultimo anno MaxBase è stato insignito della qualifica "top 5%" su Jars, l'autorevole fonte di recensioni di risorse Java e di quella "what's cool" di Gamelan, altro sito autorevole del settore (meno del 10% delle risorse nell'ambito delle basi di dati Java hanno ricevuto questa onorificenza, che è stata negata ad esempio a pacchetti del calibro di quello presentato da Borland).
La registrazione si può effettuare direttamente on-line da BMT-Micro: verrà inviata all'utente il file reg.zip, che va direttamente posto nella directory principale di MaxBase. Il gioco è fatto ! È da segnalare poi la grandissima disponibilità dell'autore (Massimiliano Marsiglietti) nel supporto agli utenti e ai curiosi che come me lo hanno tempestato di domande (motivo in più per registrarsi). Per quanto annunciato direttamente da lui sarà possibile nelle prossime versioni creare un'interfaccia completamente "custom" anche dall'utente finale, visto che attualmente ciò è possibile solo per chi sviluppa grazie ai JavaBeans di MaxBase.
È certo comunque che dal progetto MaxBase dobbiamo attenderci ancora molto, alla luce della sempre crescente importanza di Java nell'ottica futura di OS/2.


[Pagina precedente] [Sommario] [Pagina successiva]