Il terzo incomodo Un nuovo contendente entra nell`arena dei

Il terzo incomodo
Un nuovo contendente entra nell’arena dei prodotti database-oriented del mondo della mela,
tentando di intaccare il duopolio costituito dai due colossi FileMaker Pro e 4th Dimension.
Servoy (http://www.servoy.com), un recentissimo prodotto dell’omonima ditta olandese,
appena entrato in beta pubblica, promette funzionalità e prestazioni tali da garantirsi un
interesse ad ampio spettro da parte della comunità degli sviluppatori.
Innanzitutto, va segnalato che Servoy è basato su Java e supporta le piattaforme MacOS X,
Windows, Linux, Solaris e Unix. Agli utenti è consentito di collegarsi a qualsiasi sorgente dati o
piattaforma che supporti una connessione JDBC o ODBC.
I prodotti al momento disponibili sono tre: Client, Server e Developer.
Quest’ultimo si propone come uno strumento RAD (rapid application development) dotato di
prestazioni e scalabilità di livello Enterprise unite ad una facilità d’uso che rende la curva di
apprendimento decisamente meno ripida che in altri strumenti di pari potenza.
Un aspetto estremamente intrigante di questo prodotto è la separazione della base dati dalla
struttura del database, caratteristica che facilita notevolmente le pratiche di aggiornamento
del software installato e mette al riparo da episodi di corruzione dei dati garantendo inoltre un
eccellente controllo in termini di sicurezza.
Servoy, inoltre, supporta il rilascio di versioni differenti della medesima soluzione,
consentendo ad un team di sviluppo di ritornare in tempo reale ad una versione precedente
nel caso di un malfunzionamento e di ripristinare la nuova versione una volta corretto il baco.
La suite di Servoy include un motore database open source (Firebird) che garantisce ottime
prestazioni, ma l’utente può selezionare un’altra base dati grazie al supporto dei più diffusi
prodotti presenti sul mercato (MySQL, PostgreSQL, Oracle, IBM DB/2, Microsoft SQL Server,
Informix, Sybase, OpenBase, Microsoft Access e altri). È inoltre possibile impostare relazioni
tra tabelle residenti su basi dati differenti, rendendo Servoy un eccellente strumento per
realizzare Front End in realtà aziendali complesse (immaginate di dover collegare un carrello
per gli ordini on-line basato su MySQL al gestionale presente sull’AS400 del reparto
contabilità: gli strumenti messi a disposizione da Servoy potrebbero risparmiarvi un bel mal di
testa).
Al lavoro
Servoy Developer lavora sulle “Solutions”. Questi oggetti sono formati da un insieme di
tabelle, script (“methods”, secondo Servoy) e moduli (form), i quali - a loro volta contengono campi, pulsanti, immagini ecc.).
L’impatto con l’ambiente di lavoro è tutt’altro che traumatico e chi, come il sottoscritto,
proviene da FileMaker troverà più di un punto in comune.
La creazione di un form (l’equivalente di un formato scheda in FileMaker) è un’operazione
immediata: basta specificare la base dati a cui vogliamo collegarlo tra quelle disponibili e
Servoy ci proporrà un elenco dei campi disponibili, che noi potremmo disporre a piacimento
sul layout.
Anche creare una relazione è un’operazione rapidissima (sebbene la versione in nostro
possesso abbia mostrato qualche occasionale malfunzionamento
nell’impostazione di
relazioni “miste”, ovvero basate su database differenti) ed è possibile impostare relazioni a
chiave multipla.
Sempre restando in tema di relazioni, una caratteristica che non mancherà di farsi apprezzare
è la gestione dei portali: è possibile impostare un portale in modo che si comporti come una
tabella di Excel, ridimensionando le colonne e scambiandole di posto. Inoltre, anche uscendo
dal portale, quest’ultimo non torna automaticamente alla prima riga ma continua a mostrare il
gruppo di record correlati selezionato.
Metodi
Come accennato sopra, gli script di Servoy si chiamano “methods” e si basano interamente su
Javascript, scelta senza dubbio intelligente, visto che non costringe il neo-utilizzatore ad
imparare un linguaggio proprietario e gli consente al contempo di disporre di un linguaggio
potente e flessibile, dotato di una vastissima bibliografia e di un’enorme quantità di esempi
disponibili sul web, per tacer del fatto che si vengono ad acquisire competenze spendibili
anche in altri ambiti.
Il Method Editor, completo di debugger, è ben organizzato e, visto che Servoy consente di
controllare praticamente ogni parametro degli oggetti disposti su un form, permette di creare
non solo metodi che eseguono calcoli od operazioni di manipolazione dei dati, ma script che
cambiano il colore di sfondo di un pulsante, inibiscono l’accesso ad un campo o rendono
invisibile un portale...
Il testo dei methods è copiabile, quindi le operazioni di replicazione avvengono con la massima
rapidità.
I metodi possono essere eseguiti da pulsanti (che a loro volta gestiscono immagini rollover, gif
animate e il cui titolo può essere collegato al contenuto di un campo) oppure direttamente
all’entrata o all’uscita da un campo.
Servoy dispone anche di due caratteristiche “salvatempo” che lo sviluppatore non mancherà di
apprezzare: uno strumento per creare interfacce “tab-panel” con pochi click e la possibilità di
creare un modulo personalizzato che funga da sistema di navigazione (magari aggiungendovi i
comodissimi comandi “avanti” e “indietro” che il method editor rende disponibili) e venga
utilizzato dagli altri moduli della soluzione.
In rete
Ho potuto testare soltanto in maniera molto superficiale l’utilizzo in rete. Ad ogni modo, le
impressioni che ho ricevuto sono positive: il client (leggerissimo) viene scaricato
automaticamente dal browser tramite Java Webstart quando si apre la connessione con il
server e si può partire subito ad utilizzare la soluzione prescelta.
Stando alle linee guida fornite da Servoy, con FireBird come base dati, si può utilizzare la
versione Developer per condividere una soluzione fino ad un massimo di 20 utenti. Con la
versione Server, il limite sale ad una cifra compresa tra i 200 e 1000 utenti, a seconda del
traffico e dell'hardware che fa girare i due applicativi. Oltre i 1000 utenti conviene scegliere
sostituire FireBird con un database backend più indicato per carichi di lavoro pesanti.
Dov’è il trucco?
Naturalmente, Servoy non è esente da difetti (esiste qualche software che non ne abbia?) e
bachi (sarebbe ingiusto pretenderlo da un prodotto appena entrato in beta pubblica): non
sono disponibili le scorciatoie da tastiera sotto OSX (ma pare che la prossima versione di Java,
al momento disponibile per gli iscritti al programma sviluppatori Apple, risolva il problema),
alcune caratteristiche non funzionano a dovere (i comodissimi Tip Tool Text, ad esempio,
sembrano funzionare correttamente solo se applicati ai campi, mentre sui pulsanti - dove
sarebbe logico utilizzarli - non sortiscono alcun effetto), la risposta dell’applicazione è un po’
lenta e la documentazione andrebbe ampliata.
Tuttavia, le caratteristiche che già questa versione preliminare lascia intravvedere potrebbero
rivelarsi di estremo interesse per gli sviluppatori (difficile considerare Servoy uno strumento
adatto all’utilizzatore occasionale) e proporsi come seria alternativa a FileMaker Pro e 4th
Dimension, anche in considerazione della politica di prezzi che, stando alle indiscrezioni
circolanti in questi giorni, sarà alquanto aggressiva (molto al di sotto dei 1000 dollari la
Developer, con ulteriori sconti per gli acquisti fatti nella fase iniziale della distribuzione del
prodotto, 200 dollari per ogni Client che possono scendere a 100 a seconda del numero di
licenze acquistate, 1500 dollari per il Server, gratuito con l’acquisto di 5 o più licenze Client).
A conti fatti, c’è di che farci un pensierino...
L’autore
Riccardo Albieri è il titolare di morninger soluzioni (http://www.morninger.it), azienda che si
occupa di consulenza tecnica e di sviluppo di soluzioni gestionali, in particolare orientate al
mondo della grafica e della comunicazione. Si dedica inoltre allo sviluppo di software medicale
ed è distributore italiano di ecOrganizer, apprezzato software per la gestione dei contatti e
appuntamenti, personalizzabile ed integrabile in altri sistemi. Utente mac dal 1990, è
sviluppatore associato della FileMaker Solution Alliance dal 1999.