Instant Developer contiene un framework ORM denominato “Document Orientation” analogo a Hybernate + Spring, solo più facile e veloce da usare. Nel seguito le principali caratteristiche.
Creazione entità (denominate “documenti”) dalla struttura dei dati del database. Con una semplice operazione di drag&drop è possibile creare o collegare le entità direttamente alle tabelle dei database.
Definizione gerarchica delle entità. Tramite un’operazione di drag&drop è possibile aggiungere a un documento una collection di sotto-documenti. Il grafico della struttura del documento (entità) aiuta a comprenderla nel suo complesso.
Schema gerarchico delle classi contenute nella definizione della classe Soggetto.
Caricamento e salvataggio automatico dal database di intere gerarchie di entità (documenti). Con una sola funzione è possibile caricare un documento a più livelli, con un’altra l'intero documento viene salvato. Guarda il video corso sul caricamento automatico dei documenti.
Gestione automatica caricamenti parziali. I documenti vengono caricati solo per la parte che deve essere utilizzata. E’ comunque possibile forzare il caricamento completo. Leggi la documentazione della funzione LoadFromDB.
Estensibilità. E' possibile creare documenti che ne estendono altri. Il caricamento e il salvataggio avvengono automaticamente in una sola transazione sul database. Approfondisci l'estensibilità di In.de.
Personalizzazione tramite eventi del ciclo di vita delle entità (documenti). Tramite una serie di più di trenta eventi è possibile personalizzare il comportamento dei documenti. Ad esempio è possibile aggiungere l’evento di validazione che risponde alla domanda “il documento è valido?”
Serializzazione e deserializzazione automatica da XML. Con una sola funzione il documento e tutta la sua struttura diventa un file XML. E’ possibile ottenere anche l’operazione contraria. Leggi la documentazione delle funzioni XML.
Integrazione automatica con i componenti del presentation manager. Così come è possibile creare videate a partire dalle tabelle del database, è anche possibile anche creare videate a partire dalle entità. Guarda il video che segue.
Gestione Transazioni Documentali. Una transazione documentale è un cambiamento di stato che avviene sul documento. Tramite appositi eventi il documento può rispondere in maniera adeguata ai cambiamenti delle sue proprietà. Leggi la documentazione delle transazioni documentali.
Servizi Documentali. Tramite principi di Aspect Oriented Programming (AOP) è possibile creare servizi applicativi legati a documenti in maniera trasversale alla loro gerarchia. Esempi di servizi già implementati ed inclusi: document locking, allegati, commenti, identificazione automatica, info utenti, domini di visibilità, ... Leggi l'approfondimento sui servizi documentali.
Elenco dei servizi documentali disponibili.
Schemi Estensibili a Run Time. Lo schema delle entità dell’ORM di In.de può essere esteso a runtime aggiungendo al documento ulteriori proprietà non note a design time. L’interfaccia utente si predispone in automatico alla gestione di queste nuove proprietà. Guarda il video corso sugli schemi estensibili.
Riflessione avanzata e programmazione per concetti. Tramite funzioni di ispezione dello schema dei documenti è possibile conoscere e manipolare la struttura di un documento non tipizzato. In questo modo è possibile creare algoritmi che lavorano su proprietà non note a design time referenziando il “concetto” che esse esprimono, cioè riferendosi alla loro semantica. Leggi la documentazione relativa alla riflessione.
Remotizzazione tramite Web Services. E' possibile usufruire di documenti “remotizzati”, cioè istanziati su un application server e resi disponibili tramite web service. Le applicazioni client, tipicamente di interfaccia utente, ereditano la struttura del documento remotizzato in un documento “proxy” creato e gestito automaticamente da In.de. Approfondisci.