Lo sviluppo di applicazioni necessita di strumenti sofisticati in quanto vengono richieste funzionalità sempre più complesse per rispondere alle esigenze di utenti avanzati, professionisti ed aziende. Al tempo stesso si apprezzano tool che consentano di affrontare in modo adeguato, con efficacia e semplicità d'uso, l'intera fase di progettazione e sviluppo concernente la definizione di interfacce, basi di dati e strutture applicative.
Instant Developer è un sistema a sviluppo relazionale, nato per creare Rich Internet Application (RIA), software per l'integrazione di Service Oriented Architecture (SOA) ed estensioni web per sistemi legacy, cioè di valore e consolidati nel tempo in ambito lavorativo. L'obiettivo è perciò di cercare di migliorare le piattaforme di mercato e rinnovare applicazioni gestionali di tipo client-server integrandole con il Web. Potranno così trarne giovamento, a livello di usabilità e produttività, anche soluzioni ERP, CRM, in ambiti e-business e mobile. Le tecnologie recenti ed emergenti si trovano già integrate per agevolare il lavoro di sviluppatori e programmatori. Si riescono così a progettare applicazioni senza dover essere legati a particolari ambienti, linguaggi, basi di dati e runtime.
All'avvio, una pagina di benvenuto si propone per aiutare l'utente attraverso un tutorial interattivo approfondito (con supporto audio), che affronta i seguenti argomenti:
- Introduzione;
- Proprietà database;
- Import database;
- Videata prodotti;
- After login;
- Compilazione;
- Conclusione
Uno degli aspetti di rilievo di Instant Developer è proprio la ricchezza di documentazione e supporto, per ridurre al minimo il tempo richiesto per prendere confidenza con la piattaforma ed impadronirsi dei numerosi strumenti proposti. L'interfaccia è stata inoltre concepita per semplificare l'attività dell'utente ed è basata sui classici menù a tendina e barre degli strumenti.
Le specifiche tecniche sono ampie ed articolate, abbracciando diversi argomenti.
Gestione database
Si riescono a gestire nativamente diversi database server, tra i quali Access 2000, Oracle, SQL Server, Postgres e MySQL. Vi è l'ulteriore opportunità di configurare specifiche connessioni ODBC/JDBC con altre basi di dati generiche. Sono creabili e modificabili tabelle, campi, record, relazioni, valori default, domini, campi counter e liste, con scrittura facilitata di Visual Code, stored procedure e trigger, ed esecuzione automatica di procedure in concomitanza con un certo evento. Il reverse engineering delle strutture permette di importare tabelle, campi, relazioni, viste ed indici. Sono eseguibili procedure di test per raffrontare il contenuto di più database ed eseguire lo scambio di dati tra essi.
Applicazioni Web based
Sono supportate le architetture Java Servlet e Microsoft .NET 2.0 ASPX per realizzare applicazioni standard ed eseguirne la manutenzione anche senza Instant Developer. Numerosi i componenti per l'interfaccia utente (funzionanti in modalità AJAX): barre degli strumenti, menù multilivello, barre di stato, menù popup, form multipli, form popup, data panel, tree, button bar, graph, timer e report. Non vi è la necessità di conoscere i linguaggi HTML, CSS e Javascript, in quanto l'editor visuale fa apparire il medesimo layout anche nel Web e la gestione centralizzata agevola la scelta di temi e stili grafici. Un altro aiuto deriva dalla composizione automatica delle schermate a cominciare dalle tabelle delle basi di dati e dalle classi documentali. Un ampio gruppo di eventi legato agli oggetti grafici permette di personalizzarne il comportamento con Visual Code, potendo tenere conto anche di eventi globali.
Pannelli dati
E' possibile interfacciarsi in modo automatico con database e classi documentali, con funzionalità di recupero dati attraverso un apposito set di criteri di ricerca definibili dagli utenti finali, abbinati a gestioni di layout dettagliati. I campi sono suddivisibili in pagine e gruppi, con upload e download pianificati di BLOB, campi rivolti alla memorizzazione di dati binari. Sono poi presenti strumenti di controllo come la validazione automatica dei dati inseriti, la gestione evoluta di maschere di inserimento dati e di menù contestuali. In termini di usabilità risulta interessante la possibilità di svolgere le operazioni con l'utilizzo di tasti funzionali.
Visualizzazioni ad albero
Sono definibili strutture ad albero da query e strutture documentali, con gestione a selezione multipla, menù contestuali, editing con drag and drop ed alberi ricorsivi.
Grafici animati
L'integrazione bidirezionale con Fusion Charts si presta alla semplice creazione di cruscotti grafici animati all'interno di un'applicazione web.
Report
Sono facilmente generabili report con drag and drop con proprietà di carattere editoriale, anche a più livelli, riprogrammabili a runtime tramite eventi. L'anteprima HTML è automatica e sono salvabili anche nel formato PDF, XLS e RTF, con layout differenziati per le stampe. Gli elementi grafici sono evidenziabili con sfumature e trasparenze.
Personalizzazione applicazioni
L'interfaccia utente è riconfigurabile a runtime in funzione di installazione, lingua, singoli utenti o gruppi.
Document orientation
Si possono definire in modo automatico classi documentali dalla struttura delle informazioni dei database, con salvataggio e caricamento dell'intera struttura. Il ciclo di vita dei documenti è personalizzabile attraverso determinati eventi e si possono integrare con elementi di presentazione.
Team working
Il coordinamento di gruppi di lavoro si svolge in tempo reale via Internet, con l'ausilio di procedure guidate di ingresso ed acquisizione delle ultime versioni, potendo comunque operare anche in assenza di connessione. Sono gestibili differenze e fusioni di progetti, assegnando compiti diversi a ciascun componente del team.
Debugging
Si tratta di una fase essenziale in sede di messa a punto delle applicazioni. E' incluso un motore di debugging, eseguibile anche remotamente via Web. Gli eventi associabili agli utenti sono registrabili su file, così come il percorso di codice seguito dall'applicazione e qualsiasi genere di informazione che possa risultare utile all'individuazione e risoluzione di bug.
Tracking
Si può tenere traccia di tutte le azioni svolte dall'utente finale, registrando screenshot, schermate e percorso del codice. Le informazioni acquisite sono inviabili via e-email al servizio di assistenza tecnica su richiesta dell'utente od automaticamente.
Test automatico
Si possono realizzare test gerarchici, registrare sessioni campione, eseguire i processi in tempo reale, a velocità accelerata o rallentata per individuare meglio i comportamenti del codice.
Documentazione
Il manuale utente contestuale è generabile in modalità automatica nei formati PDF e HTML, anche in riferimento al database, semplificando così una fase che richiede tipicamente un notevole lasso di tempo. Sono acquisibili sessioni di e-learning, integrabili con l'applicazione, con editing della sessione attraverso un browser e riesecuzione in modalità verifica o presentazione.
Traylet
Sono disponibili funzionalità per la sincronizzazione dei contenuti di Microsoft Outlook 2003 con il server web, il download e l'upload diretto di cartelle, l'apertura e la stampa di documenti scaricati, l'aggiornamento della struttura del file system, la gestione di notifiche eventi, la gestione integrata di permessi e sicurezza e l'installazione automatizzata via browser con Microsoft .NET ClickOnce.
Web service
Sono realizzabili servizi web direttamente integrabili alle altre applicazioni create con Instant Developer, compatibili con .NET e Java. E' così possibile trasferire file e distribuire remotamente documenti.
Batch service
E' possibile sviluppare applicativi server privi di interfaccia utente (Java e Windows service), utilizzando tecnologia .NET e Java, funzionanti analogamente in Linux o Windows.
Add-in/Wizard
L'architettura è estendibile per personalizzarla secondo le specifiche fissate, usando anche un unico file Javascript/HTML per riconfigurare l'ambiente in base alle proprie esigenze.
Una nutrita sezione consente di definire le impostazioni generali, relative cioè al comportamento dell'ambiente di sviluppo, quelle dell'editor Visual Code, dell'ambiente Java, dei gruppi di lavoro, di aggiornamento automatico e dei parametri di un eventuale server proxy per il collegamento alla rete. Una finestra di personalizzazione fa invece intervenire su comandi, barre degli strumenti, tastiera, mouse e menù.
Instant Developer rappresenta un potente sistema basato su sviluppo relazionale per dedurre e gestire in modo semplice le relazioni che intercorrono tra i vari componenti di un progetto software, proponendosi per l'ideazione di applicativi orientati al Web di diversa complessità. L'approccio usato consente di mettere a disposizione degli sviluppatori strumenti affidabili e semplici da gestire.
[software id="2720"]