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.