|
Home/Indipendenza dai linguaggi e dalle tecnologie
Uno dei problemi più spinosi dell’ingegneria del software è la rapida obsolescenza delle tecnologie e dei linguaggi di sviluppo. Se fino all’era del client/server il periodo di obsolescenza di una piattaforma di sviluppo era attorno ai 3-5 anni, nell’era del web si è ridotto a uno o poco più.
È sempre più difficile mantenere allo stato dell'arte i prodotti software. Non è solo un problema di riscrittura, ma anche di apprendimento su tecnologie in continua evoluzione e per applicazioni che oramai si vogliono multipiattaforma.

Alcune delle tecnologie necessarie per sviluppare applicazioni web multipiattaforma.
L’elenco dovrebbe essere aggiornato settimanalmente!
In questo scenario l’uso della programmazione relazionale e di Instant Developer è molto vantaggioso, perché permette la separazione fra dimensione tecnologica e applicativa.
- La dimensione tecnologica è limitata ai compilatori che generano il codice sorgente a partire dalla struttura relazionale, che di anno in anno vengono aggiornati per tutti da Pro Gamma.
- La dimensione applicativa, ovvero la creazione della struttura relazionale del software, non dipende più dalle tecnologie di sviluppo; lo stesso progetto In.de realizzato nel 2000 può essere ricompilato oggi con l’ultima versione di Instant Developer e diventare un’applicazione RIA allo stato dell’arte.

Con In.de tutte le tecnologie sono sotto controllo.
Più in particolare In.de ti offre:
- Indipendenza dai Database: tutta l’applicazione viene ricompilata per funzionare nello stesso modo fra i vari database supportati. E’ sufficiente modificare il tipo di database e ricompilare per ottenere un'applicazione funzionante in Oracle come in SQL Server e così via… (clicca qui per vedere tutti gli standard supportati). Questa trasformazione avviene in maniera ottimizzata generando il codice specifico per ogni database server. E vengono anche supportate le caratteristiche non native: ad esempio con In.de si può scrivere un trigger for-each-row e ottenere lo stesso comportamento in Oracle e in SQL Server, anche se quest'ultimo non supporta quel tipo di trigger (clicca qui per vedere un esempio).
- Indipendenza dai Linguaggi: tutti i tipi di applicazioni supportati (web browser, web services e batch services) possono essere ricompilati in linguaggio Java oppure .NET ottenendo applicazioni ottimizzate funzionalmente equivalenti. Non si è più legati a uno specifico produttore di tecnologia e si può approcciare l'intero mercato. Anche in questo caso l’applicazione viene riscritta utilizzando le best practice specifiche di ogni linguaggio.
- Indipendenza dalle Tecnologie: meglio Client/Server o Web? Flex o Silverlight? Ajax o RIA? Non è possibile dare una risposta definitiva a queste domande anche perché le risposte cambiano nel tempo. In.de però risolve comunque il problema perché mette a disposizione sempre il meglio della tecnologia. Nell’anno 2000 In.de permetteva lo sviluppo di applicazioni client/server in linguaggio VB6, oggi ricompilandole con le ultime versioni di In.de si ottengono RIA funzionanti anche in un application server Java.
- Indipendenza anche da Instant Developer: il codice sorgente generato da In.de è leggibile, manutenibile, commentato e non dipende da runtime proprietari. In questo modo è possibile continuare a sviluppare l’applicazione anche con altri strumenti meno evoluti.
|