Net-Base Revista

29.05.2026

BDE-Substitució: Com modernitzar les Delphi-aplicacions sense risc per a les dades ni risc operatiu

Moltes aplicacions Delphi encara fan servir la Borland Database Engine (BDE) — i ho paguen amb dificultats operatives, problemes de controladors, riscos de seguretat i actualitzacions de plataforma bloquejades. Aquest article mostra com planificar amb rigor tècnic la substitució de BDE: migració de dades...

29.05.2026

Del tema de la revista a la pràctica del projecte

Pàgines de serveis i tècniques pertinents per a l'article

Una BDE-Ablösung no està a la llista de desitjos de moltes empreses, però en algun moment apareix al mapa de riscos. La Borland Database Engine (BDE) és un stack històric d’accés a dades per a aplicacions Delphi, que en entorns consolidats sovint encara alimenta taules Paradox o connexions de base de dades més antigues. Mentrestant tot «d’alguna manera funciona», el tema sembla controlable. A la pràctica, però, normalment són l’explotació, les actualitzacions i les interfícies les primeres a fallar: migracions a 64 bits, noves versions de Windows, bases de dades modernes, requeriments de seguretat, Terminalserver/VDI o simplement el desig d’una administració estable i traçable.

Aquesta entrada situa en context en què una aplicació basada en BDE pot fracassar realment avui dia, com planificar l’abandonament perquè les dades, les interfícies i els processos continuïn funcionant de manera neta, i quins camins de migració s’han demostrat eficaços a la pràctica. El focus no és la „cosmètica del codi“, sinó la seguretat d’operació, la qualitat de les dades, la mantenibilitat i la possibilitat de modernitzar l’aplicació pas a pas – sense un Big-Bang innecessari.

Per què la BDE esdevé un problema en explotació

La BDE no només és «vella», sinó que en diverses dimensions ja no s’ajusta als estàndards IT actuals. Això rarament es manifesta amb un únic gran esdeveniment, sinó amb moltes petites pèrdues per fricció que consumeixen temps dels equips IT i augmenten els riscos.

Símptomes tècnics i organitzatius

  • Instal·lacions client inestables o de difícil manteniment: la configuració de BDE, la gestió d’àlies, les rutes, els permisos d’escriptura i les dependències sovint no es poden empaquetar netament. En entorns Terminalserver o VDI aquests temes s’escalen ràpidament.
  • Límits de controladors i compatibilitat: les bases de dades modernes i les configuracions de seguretat (p. ex. estàndards TLS, procediments d’autenticació) ja no es poden representar de manera robusta mitjançant la connectivitat de BDE.
  • Conflictes 32/64 bits: moltes empreses volen, per raons justificades, clients de 64 bits, noves versions d’Office, piles d’impressió/PDF actuals o dispositius ARM64. La BDE es converteix en un element que frena aquests plans.
  • Security i hardening: rutes de dades antigues, fitxers locals, requisits d’accés poc clars, manca de capacitats de xifrat o d’auditoria encaixen malament amb les expectatives de seguretat i de compliment normatiu actuals.
  • Manca de viabilitat futura de les interfícies: en el moment que es requereixen APIs (REST), una identitat central (p. ex. SAML 2.0 com a estàndard per a l’inici de sessió únic) o integració basada en serveis, un nucli BDE actua com una ancla per al client legacy.

Decisiu: una BDE-Ablösung rarament és „només“ un intercanvi d’una biblioteca. Toca models de dades, transaccions, locking (comportament de bloqueig), concurrència, gestió d’errors, desplegaments i sovint també el model de permisos.

Situar de manera realista una BDE-Ablösung: Què s’està substituint exactament?

En aplicacions existents, «BDE» és habitualment un terme paraigua. Per a una planificació sòlida cal que quedi clar quines funcions compleix la BDE en el sistema concret:

  • Capa d’accés a dades: datasets, consultes, crides a Stored Procedures, comportament de cursors, vinculació de paràmetres.
  • Treiber-/Connectivity-Schicht: Connexió a Paradox, dBASE, InterBase/Firebird o també a SQL Server/Oracle a través de rutes de controladors més antigues.
  • Konfiguration: BDE-Administrador, Aliases, NetDir, rutes locals, directoris compartits.
  • Semantik: Com es gestiona el bloqueig? Com s’interpreten els formats de data i de nombres? Quins tipus de camps i índexs s’han utilitzat històricament?

Per a la direcció d’IT i l’administració, aquesta clarificació és la diferència entre una «petita actualització» i un projecte estructurat de modernització. Només a partir d’això es pot decidir si n’hi ha prou amb una modernització exclusiva de l’accés a dades o si alhora té sentit una migració de base de dades o una higiene d’arquitectura.

Arquitectures objectiu segons BDE: rutes típiques

No existeix una sola alternativa. A la pràctica s’han consolidat tres rutes, que també es poden combinar:

1) Canvi directe a FireDAC amb la base de dades existent

Substitució de BDE amb connexió nativa és una biblioteca moderna d’accés a dades per a Delphi que admet diverses bases de dades i controladors i que, en l’operativa diària, és clarament més fàcil d’automatitzar que les configuracions de BDE. Aquest camí és adequat quan la base de dades en si és sòlida i el risc principal resideix en la capa d’accés antiga. És important provar acuradament els paràmetres de connexió, les transaccions i el mapeig de tipus (p. ex. String/Unicode, data/hora).

2) Migració de Paradox/basat en fitxers a Client-Server (PostgreSQL, SQL Server, MariaDB)

Si encara s’utilitzen taules Paradox o altres estructures basades en fitxers, la substitució de BDE sovint és el moment adequat per fer el pas cap a una base de dades centralitzada. Client-server vol dir aquí: les transaccions s’asseguren al costat del servidor, les còpies de seguretat es poden gestionar centralment, els permisos es defineixen a nivell de BD i els accessos simultanis es poden gestionar de manera més controlada. Per al funcionament i la seguretat, això sol ser la palanca més gran.

3) Desacoblament mitjançant serveis: REST-API davant de la lògica existent

En lloc de refactoritzar completament el client des del primer moment, pot servir un servei REST (REST significa «Representational State Transfer», un estil estès per a interfícies basades en HTTP) com a capa d’integració. Això permet connectar portals, sistemes externs o nous mòduls sense que cada accés provingui directament del client legacy. Aquesta ruta és especialment útil quan l’aplicació ha de créixer pas a pas cap a una arquitectura modular.

Treballs preparatoris que determinen l’èxit o l’estancament

Una BDE-substitució rarament fracassa per la impossibilitat tècnica, sinó per la manca de transparència en les dades i en els processos. Les següents tasques prèvies redueixen perceptiblement el risc de projecte i d’explotació.

Inventari: dades, funcions, explotació

  • Inventari de dades: Quines taules, fitxers, índexs, referències i camps especials existeixen? Quina mida tenen els conjunts de dades, amb quina velocitat creixen i on estan emmagatzemats avui?
  • Límits de transacció: On espera el procés de negoci «tot o res»? On s’ha viscut fins ara amb actualitzacions parcials de manera silenciosa?
  • Procés batch i processos auxiliars: Importació/exportació, informes, generació de PDF, execucions nocturnes, treballs d’interfície. Aquests components són sovint les veritables fonts de fallada durant les migracions.
  • Model operatiu: Com es fa el desplegament (MSI, Copy-Deploy, distribució de programari)? Quins permisos es requereixen als clients? Quins registres existeixen? Com s’organitza el suport?

Per a aquesta fase convé involucrar consciències d’administració: «Què passa en un canvi de client?», «Com reaccionem davant de dades defectuoses?», «Quant triga un RESTore?» — aquestes són les preguntes que més endavant determinaran el desplegament.

Fer visibles la qualitat de les dades i les regles implícites

Precisament en models de dades Paradox o de creixement històric moltes regles són implícites: rangs de valors, codis especials, camps „buits“ que porten significat o referències sense claus foranes reals. En una migració a PostgreSQL/SQL Server/MariaDB cal decidir quines regles s’imposaran tècnicament a partir d’ara (Constraints) i quines s’han de validar de moment només (p. ex. mitjançant tasques de comprovació). Aquesta decisió no és acadèmica: regles massa estrictes poden bloquejar una importació productiva, regles massa laxes poden conservar errors a llarg termini.

Qüestions tècniques centrals en la substitució de BDE

Per als decisors, «canviar l’accés a les dades» sovint sembla lineal. A la pràctica hi ha diversos paràmetres tècnics que impacten directament en l’explotació, l’estabilitat i l’esforç de suport.

Tipus de dades, Unicode i ordenació

Moltíssimes aplicacions legacy arrosseguen llegats d’èpoques ANSI. En una modernització cal definir de manera inequívoca jocs de caràcters, ordres de classificació (Collation), majúscules/minúscules i caràcters especials (dièresis, ß). Si no, apareixen «errors fantasma»: cerques que retornen resultats diferents, duplicats i exportacions discrepants. Per això una migració a Unicode sovint forma part de la substitució —no necessàriament en un Big Bang, però sí com una etapa planificada.

Transaccions i comportament de bloqueig (Locking)

L’emmagatzematge basat en fitxers es comporta diferent del model client‑servidor. En bases de dades SQL els nivells d’aïllament, els bloquejos per fila i la gestió de deadlocks determinen la concurrència. Per a l’explotació això vol dir: cal saber quines operacions són lentes, quines taules són «punts calents» i on intervenir amb índexs adequats, transaccions més curtes o consultes optimitzades. Aquí paga la pena una monitorització neta, en lloc de limitar‑se a «fa la sensació de lentitud».

Patrons d’error: del diàleg al client al registre controlat

Moltíssimes aplicacions antigues mostren errors de base de dades directament en diàlegs o generen missatges poc explotables. Després de la substitució de BDE els errors han de ser rastrejables de forma central: quina query, quin usuari, quina acció, quin missatge de la base de dades? Per a l’administració és crucial poder acotar errors de manera reproduïble sense haver d’intervenir a cada client. En parts basades en servei s’afegeixen registres estructurats (p. ex. JSON) i IDs de correlació per seguir les peticions a través de diverses components.

Deployment i configuració: fora de la proliferació d’àlies

Un objectiu comú és uniformitzar la configuració: paràmetres de connexió ja no per client en l’administrador de BDE, sinó centrals o almenys estandarditzats via fitxers de configuració/entrades del registre que s’estableixin mitjançant distribució de programari. Per a Terminalserver això és especialment important. També els certificats, paràmetres TLS i qüestions de proxy no haurien de mantenir‑se «a mà».

Estrategia de migració: pas a pas en lloc de Big Bang

Una substitució pot fer‑se en etapes. Això redueix el risc d’aturades i permet millores primerenques en l’explotació mentre l’aplicació continua en ús.

Etapa 1: Accés a dades estable com a capa intercanviable

En moltes aplicacions Delphi l’accés a les dades està repartit per tota la UI. Un pas intermig pràctic és una capa d’accés a les dades clarament delimitada (sovint anomenada «Layer»; en una arquitectura Layer-3 s’hi separen UI, lògica de negoci i accés a dades). L’objectiu no és la puresa acadèmica, sinó la mantenibilitat: si tots els accessos a la BD conflueixen en pocs punts, es poden canviar controladors, paràmetres i el maneig de transaccions de manera consistent.

Etappe 2: Parallelbetrieb und Vergleichstests

Especialment en migracions de dades, el funcionament en paral·lel té un valor incalculable: un conjunt de dades definit s’importa a la nova base de dades, els casos d’ús centrals es proven contra ambdós sistemes i les discrepàncies s’analitzen sistemàticament. És important no reduir les proves a «obrir la màscara», sinó incloure també processos adjacents: import/export, reporting, processament per lots, impressió/PDF, proves de permisos.

Etappe 3: Cutover mit Rückfallstrategie

El punt d’interruptor (Cutover) s’hauria de planificar de manera pràctica per a l’operació: finestres de manteniment, congelació de dades, llistes de comprovació definides, monitorització i un clar escenari de «Rollback». Rollback no vol dir que es pugui canviar d’estat indefinidament d’anada i tornada, sinó que en cas de problema es recupera l’operativa de manera ordenada. Això inclou còpies de seguretat, proves de RESTauració i un pla per garantir la consistència de les dades després d’un retrocés.

Datenbankmigration im Detail: worauf IT und Betrieb achten sollten

Quan, en el marc de la substitució BDE de Paradox o d’altres estructures basades en fitxers, es migra a una base de dades SQL centralitzada, els equips d’IT s’enfronten a diverses decisions que després determinaran els costos d’explotació i el suport.

Schema-Design: 1:1 übernehmen oder gezielt verbessern?

Una adopció 1:1 redueix el risc a curt termini, però sovint conserva debilitats: claus primàries absents, tipus de dades incoherents, «semàntica en strings», longituds de camps heretades històricament. Un enfocament realista és doble: primer migrar de manera estable (canvis mínims) i després consolidar en passos controlats. Això requereix versionat de l’esquema (migracions) perquè els canvis es puguin desplegar de manera traçable.

Performance: Indizes und typische Abfragen früh prüfen

Els patrons d’accés típics de Paradox i de BDE rarament encaixen 1:1 amb SQL. És essencial mesurar d’hora els casos d’ús principals: pantalles de cerca, llistes, registres/comptabilitzacions, execucions en bloc. D’aquí se’n deriven els índexs, optimitzacions de consultes i, si cal, materialitzacions. Per a l’administració és rellevant que el rendiment no sorgeixi «per atzar», sinó a partir de mesures i accions traçables.

Backup/RESTore und Hochverfügbarkeit

Amb una base de dades centralitzada les regles del joc canvien: les còpies de seguretat han de ser consistents, verificades regularment i fàcilment RESTaurables. Les proves de RESTauració no són un luxe, sinó la base per a objectius RTO/RPO fiables (RTO = temps fins a la recuperació, RPO = pèrdua màxima de dades en temps). Segons la criticitat, s’hi poden afegir replicació, instàncies en espera o finestres de manteniment clarament regulades. La substitució BDE és un bon moment per definir d’una vegada per totes aquests requisits d’explotació.

Schnittstellen und Integration: der oft unterschätzte Teil

Moltes aplicacions existents no viuen aïllades. Alimenten un DMS, estan connectades a l’ERP, subministren dades a BI/reporting o comuniquen amb màquines i eines. Amb la substitució BDE les interfícies rarament canvien en l’àmbit funcional, però sí tècnicament.

Import/Export stabilisieren

Les fonts d’errors típiques són rutes fixes, unitats locals, formats d’Excel, codificació CSV i la manca de validació. En una modernització val la pena tractar la importació/exportació com una funció definida i provable: definició clara del format, registre (logging), llistes d’errors, reexecució. Això redueix significativament els casos de suport perquè els errors ja no passen ’silenciosament‘.

REST-APIs com a àncora d’integració

Quan es vol que nous sistemes s’integrin, una REST-API sovint és la via pragmàtica. No només són importants els punts finals, sinó també els aspectes operatius: autenticació (p. ex., Token), límits de peticions (Rate Limits), registre (Logging), versionat de l’API i un concepte per a canvis incompatibles. Una API desplegada sense versionat genera més endavant dependències innecessàries.

Seguretat i permisos després de la substitució

Amb la finalització de la BDE s’obre l’oportunitat de fer els permisos més coherents. Sovint en sistemes heredats els drets s’implementen parcialment a l’aplicació i parcialment „mitjançant rutes de fitxers“. Els models objectiu moderns separen clarament:

  • Autenticació: Qui és l’usuari? (p. ex. Windows/AD, SSO via SAML 2.0)
  • Autorisació: Què pot fer dins l’aplicació? (rols, drets, tenants)
  • Drets de base de dades: L’accés de l’aplicació s’executa amb usuaris tècnics de BD, no amb comptes d’usuari final; les operacions administratives sensibles estan separades.
  • Audit i rastreabilitat: Els canvis importants han de poder registrar-se (qui, què, quan), sense que cada detall es perdi als fitxers de registre.

Per a la direcció de TI és rellevant: la seguretat no s’aconsegueix amb „més diàlegs“, sinó amb responsabilitats clares i regles verificables. Precisament això sovint esdevé possible per primera vegada amb una BDE-substitució estructurada.

Pla de proves i desplegament: què compta realment a la pràctica

En modernitzacions, la testabilitat és un criteri operatiu. Com menys reproduïble, més elevat és l’esforç de suport. Un pla de desplegament pragmàtic combina mesures tècniques i organitzatives.

Tipus de proves que heu de planificar

  • Proves de regressió dels processos clau: assentaments, dades mestres, cerca, informes, impressió/PDF.
  • Validació de dades: mostreig i comprovacions automatitzades (recomptes, sumes, referències, duplicats).
  • Proves de càrrega/rendiment: no com a „benchmark“, sinó basades en pics reals i execucions batch.
  • Proves d’operació: instal·lació, actualització, rollback, rotació de logs, backup/restore, esdeveniments de monitoratge.

Pilotatge i desplegament escalonat

Un pilot amb grups d’usuaris clarament delimitats i vies de suport definides redueix el risc. És important recollir el feedback de manera estructurada: quins errors són defectes reals, quins són canvis de comportament deguts a l’ordenació/Unicode i quins són qüestions de procés? Un procés net de tickets i priorització evita que el projecte es quedi encallat en el mode „tot és igual d’important“.

Quan val especialment la pena la BDE-substitució — i quan calen mesures addicionals?

Hi ha desencadenants clars en què dubtar surt més car que actuar:

  • Canvi planificat a 64-Bit-Umstellung o noves generacions de Windows en l’entorn client
  • Casos de suport freqüents per problemes de configuració del client, rutes, permisos o entorns de Terminal Server
  • Necessitat d‘emmagatzematge de dades centralitzat, backups/restore nets i auditories rastrejables
  • Nous requisits per a interfícies (portals, BI, partners externs) i seguretat

De vegades, però, la substitució de BDE n’és només el primer pas: si al mateix temps cal renovar a fons la UI/UX, la lògica de processos o el model d’autoritzacions, el projecte s’hauria de planificar de manera modular. «Tot alhora» pot semblar eficient, però a moltes empreses condueix a llargues fases de congelació i a estats intermedis difícils de provar. És millor una fulla de ruta que faci visibles aviat els avantatges operatius: accés a les dades més estable, base de dades central, registres (logs) millorats, i després una modernització progressiva (p. ex. portals o serveis).

Conclusió: la substitució de BDE com a trajectòria de modernització controlada

Una substitució de BDE és més que un refactoring tècnic. Ben planificada, és un pas controlat cap a un programari empresarial més fàcil d’operar: desplegaments estandarditzats, manteniment de dades traçable, interfícies més clares, millors capacitats de seguretat i d’auditoria i l’opció d’encaixar components arquitectònics moderns com ara REST-serveis o portals. La clau està en una avaluació fiable de l’estat, una estratègia de migració gradual i un rollout que prengui tan seriosament l’operació i la qualitat de les dades com la funcionalitat.

Si voleu avaluar la vostra substitució de manera estructurada i definir un camí de migració realista, parli amb nosaltres:

En l’àmbit tècnic, també tenen un paper important la substitució de Borland Database Engine i la Delphi modernització quan integracions, fluxos de dades i evolució han de funcionar de manera coordinada.

Parli sobre el projecte o la iniciativa de modernització amb Net-Base.

Pas següent

Quan d'un tema se'ndevé un projecte real, s'han de considerar aviat i de manera conjunta l'arquitectura, els actius existents i l'operació.

No només donem suport en qüestions puntuals, sinó també quan, a partir de fragments de codi font, temes de sistemes heredats o idees de portal, ha de sorgir un projecte empresarial sòlid.

  • L'estat actual, la visió objectiu i els riscos tècnics s'avaluen conjuntament.
  • REST, accés a dades, portals i desplegament no es posposaran com a efectes retardats.
  • Veu aviat quin camí és viable des del punt de vista econòmic i operatiu.

Comparteix la publicació

Comparteix aquesta publicació directament

LinkedIn, X, XING, Facebook, WhatsApp i correu electrònic estan disponibles immediatament. Per Instagram preparem l'enllaç i un text curt immediatament.

Correu electrònic

Instagram s'obre en una pestanya nova. L'enllaç i el text curt es copien prèviament al porta-retalls.