InstantBDExpress case study: Sinforwin

Si tratta di una conversione particolarmente delicata, in cui non solo si sostituisce il BDE con InstantBDExpress, ma si cambiano anche tipo di database e versione di Delphi.

In breve

Nome applicazione Sinforwin
Cliente Aldebra S.p.A.
Settore Information and Communication Technology
Descrizione

Sinforwin è una suite di pacchetti applicativi gestionali, costituita da un gran numero di moduli e centinaia di migliaia di righe di codice. L'applicazione di partenza accede a database Microsoft Access tramite Opus Direct Access (una sorta di "clone" del BDE che usa internamente il DAO, il motore database di Microsoft Access), ed è sviluppata in Delphi 5.

Grazie alla consulenza di Ethea e all'adozione di InstantBDExpress, l'applicazione è stata innanzi tutto portata su Delphi 7, e poi fatta funzionare con database Oracle. L'applicazione è rimasta a lungo in sviluppo parallelo, Access e Oracle, con la stessa base di codice per le due versioni. Successivamente si è deciso di creare una versione per Microsoft SQL Server (sempre con la stessa base di codice). Inizialmente non era prevista, ma visto che è così facile...

Database utilizzati Oracle e Microsoft SQL Server.
Mole di dati

Tipica di un gestionale di medie dimensioni. Alcune parti del programma, sviluppate con tecniche poco adatte all'uso in architettura C/S, sono state modificate per ridurre il carico sulla rete e aumentare le prestazioni.

Punti di forza sfruttati

Le caratteristiche di InstantBDExpress che hanno permesso la buona riuscita della conversione in questo caso sono:

  • La strategia Adapter ha consentito di virtualizzare tutte le differenze tra Access e Oracle (ad esempio in termini di dialetto SQL o codifica degli errori) rendendo via via il codice indipendente dal database.
  • La compatibilità totale a livello di interfaccia dei componenti consente agli sviluppatori di lavorare con BDE/Access a design time e compilare la versione per Oracle partendo dagli stessi sorgenti.
  • La consulenza di Ethea ha consentito di intervenire nella modifica del driver dbExpress al fine di omogeneizzare la mappatura dei campi (che tra Access e Oracle differisce alquanto). Esempi di tipi di campi "problematici" gestiti in modo trasparente in Sinforwin: autoinc, memo, boolean.

Ethea utilizza le tecnologie