Net-Base Revista

07.07.2026

Substitució de BDE: Com modernitzar les Delphi-aplicacions existents sense risc operatiu

Una substitució de BDE rarament és una simple actualització tècnica: afecta dades, desplegament, permisos, interfícies i el funcionament diari. L'article mostra com les empreses poden substituir de manera controlada Borland BDE, minimitzar els riscos durant el funcionament en paral·lel i l'accés a les dades en...

07.07.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-substitució (BDE = Borland Database Engine) no figura en moltes empreses a la llista de desitjos, sinó a la llista de riscos. La BDE ha estat en nombroses Delphi-aplicacions existents durant anys „en funcionament“: estable, gairebé inalterada, sovint estretament vinculada a l’emmagatzematge Paradox o dBASE i a comparticions de xarxa locals. Precisament aquesta calma esdevé un problema quan els sistemes operatius, les polítiques de seguretat, les bases de dades centrals, la virtualització o noves interfícies modifiquen l’entorn. Llavors, d’un aparent canvi de controlador es converteix en una intervenció en l’operació, la integritat de les dades i els fluxos de procés.

Aquest article situa la BDE-substitució des de la perspectiva de la direcció IT, l’administració i els responsables tècnics de projecte: Quins són els desencadenants típics? On s’originen riscos reals? Quins camins de modernització són operativament raonables? I com es pot planificar una transició perquè la lògica de negoci i els fluxos d’usuari es mantinguin, mentre l’accés a dades, el deployment i les interfícies es preparen per al futur.

Per què la BDE esdevé un risc en l’operació empresarial

Històricament la BDE va ser una capa d’accés a dades estesa per a aplicacions de Delphi. En la pràctica avui és sobretot un bloquejador de dependències: es basa en un model de controlador obsolet, sovint utilitza fitxers de configuració locals i en moltes instal·lacions és sensible als estàndards operatius i de seguretat moderns.

Es poden identificar clarament els àmbits de risc típics:

  • Deployment i configuració: les instal·lacions de BDE sovint s’instal·len a l’estació de treball, amb configuracions d’àlies locals. Això complica els desplegaments estandarditzats, les estratègies MSI/Intune o les „golden images“ per a VDI.
  • Problemes de permisos i rutes: moltes instal·lacions BDE/Paradox esperen permisos d’escriptura en directoris que avui dia són, amb raó, RESTrictius. Això provoca quadres d’errors esporàdics després d’actualitzacions Windows o ajustos de GPO.
  • Xarxa i bloqueig de fitxers: l’emmagatzematge basat en fitxers a la LAN reacciona de manera sensible a latències, escenaris fora de línia, VPN, DFS o „opportunistic locking“. Els símptomes són problemes d’índex, incoherències o usuaris bloquejats.
  • Capacitat limitada per al futur: requisits com auditories centrals, còpia de seguretat/RESTore neta, replicació, reporting o integració per API són difícils de dur a terme de manera robusta amb una base de dades de fitxers lligada a BDE.

Important: no es tracta que cada aplicació basada en BDE estigui „trencada“. Moltes funcionen correctament des del punt de vista funcional. Però la base tècnica encaixa cada cop menys amb els requisits d’operació estandarditzada, seguretat i integració. Per això la substitució de BDE hauria d’abordar-se com un projecte de modernització controlat — no com una emergència frenètica.

Classificar correctament la BDE-substitució: canvi de controlador o decisió arquitectònica?

En la pràctica de projectes, les BDE-substitucions rarament fallen per la pregunta „quina component substitueix la BDE“, sinó per la manca de claredat sobre la imatge objectiu. Cal distingir, com a mínim, tres nivells estratègics:

  • Nivell 1 – Desacoblament tècnic: L’aplicació continua sent pròxima a l’entorn d’escriptori i a la base de dades, però l’accés a dades s’independitza de la BDE (p. ex. mitjançant BDE-reemplaçament amb connexió nativa com a capa d’accés a dades moderna). L’emmagatzematge de dades pot continuar sent local o basat en servidor.
  • Nivell 2 – Modernització de la base de dades: A més, es migra d’un emmagatzematge basat en fitxers (p. ex. Paradox) a una base de dades relacional centralitzada (p. ex. PostgreSQL, SQL Server, MariaDB). Això modifica l’operació, les còpies de seguretat, els permisos i sovint també detalls del model de dades.
  • Nivell 3 – Arquitectura d’interfícies i serveis: L’accés a dades s’encapsula a termini mitjà mitjançant serveis (p. ex. REST-API; REST = interfície de programació basada en HTTP), per connectar de manera neta portals, altres sistemes o integracions.
  • Segons el context empresarial, el Nivell 1 ja representa un guany important perquè estabilitza l’operació i el manteniment. Els Nivells 2 i 3 aporten addicionalment avantatges d’integració i d’escalabilitat, però requereixen més planificació. El decisiu és que la visió objectiu i el perfil de risc s’ajustin als vostres requisits d’operació.

    Situacions inicials típiques en aplicacions existents Delphi

    Abans de la migració convé fer una presa de dades estructurada, que no es limiti a „quines taules hi ha“, sinó que cobreixi l’escenari operatiu real. En projectes BDE sovint apareixen aquests patrons:

    Paradox en un compartir de fitxers amb diversos clients

    Les dades es troben en una unitat de servidor i diversos clients hi accedeixen en paral·lel. Això funciona en LAN estables, però es mostra fràgil amb VPN, WLAN, escriptoris virtuals o quan els dispositius d’usuari entren o surten de repòs. Operativament, crítics són els fitxers de bloqueig i la reconstrucció d’índexs després d’interrupcions.

    Emmagatzematge local amb lògica de sincronització

    Algunes aplicacions mantenen dades localment (p. ex. per a personal de camp) i sincronitzen més endavant. Aquí el reemplaçament de la BDE està estretament lligat a la resolució de conflictes, a les marques temporals i als identificadors únics. La migració tècnica no ha de trencar la lògica de sincronització „de passada“.

    Controladors mixtos, àlies i rutes especials

    Amb els anys augmenten els casos particulars: noms d’àlies diferents segons la ubicació, lletres de unitat de xarxa dissonants, ajustos manuals als clients. Precisament aquesta variabilitat ocasiona més endavant alts costos de suport. Un reemplaçament de la BDE és una bona oportunitat per centralitzar i estandarditzar la configuració.

    El camí pragmàtic de modernització: primer desacoblar, després migrar

    Un procediment provat és descompondre la migració en passos clarament separats i testables. Això redueix el risc, perquè cada etapa es pot posar en servei i estabilitzar abans que comenci la següent.

    Pas 1: Encapsular netament la capa d’accés a dades

    En moltes aplicacions Delphi l’accés a dades està dispers pel codi: formularis obren taules directament, la lògica de negoci accedeix a datasets, els informes depenen de components BDE. L’objectiu és una separació clara entre la interfície d’usuari, la lògica de negoci i l’accés a dades (sovint anomenada arquitectura en capes). No cal que introduïu una arquitectura objectiu d’índole acadèmica, però necessiteu una frontera definida: qui pot executar SQL? Qui decideix sobre les transaccions? On es realitza el logging?

    Per a l’operació i el manteniment, aquesta encapsulació ofereix avantatges concrets: reduïu el nombre de punts on més endavant seran necessàries modificacions específiques de drivers o de la base de dades. A més, facilita fer proves i establir un funcionament en paral·lel.

    Pas 2: reemplaçar la BDE per components d’accés a dades moderns (p. ex. FireDAC)

    BDE-Ablosung mit nativer Anbindung és una capa d’accés a dades estesa en Delphi que pot connectar diferents bases de dades mitjançant controladors nadius. Des del punt de vista de TI és rellevant: FireDAC es pot configurar de manera neta, admet patrons moderns d’autenticació i connexió i és clarament més adequat per a sistemes de BD centrals que la BDE.

    És fonamental ajustar els paràmetres operatius: gestió de connexions, timeouts, transaccions, codificació (conjunt de caràcters) i tractament d’errors s’han de definir explícitament. Si no, apareixen errors „silenciosos“ com caràcters especials truncats, deadlocks esporàdics o situacions de rollback poc clares.

    Pas 3: Definir l’estratègia de base de dades (BD en fitxer vs. client-servidor)

    Ara la qüestió és: les dades romanen en format de fitxer o passen a un sistema client-servidor? Client-servidor vol dir que un servidor de base de dades (p. ex. PostgreSQL o SQL Server) gestiona de manera centralitzada transaccions, bloquejos, còpies de seguretat i drets d’usuari. Operativament sol ser la via més robusta, però exigeix operació de la BD (aplicació de pegats, monitoratge, còpia de seguretat, proves de RESTauració).

    Si actualment utilitzeu Paradox, la migració sol ser el moment en què el model de dades i la qualitat de les dades es fan visibles: constraints mancants (Constraints = regles com „un camp no pot estar buit“), duplicats, claus poc clares, tipus de dades amb evolució històrica. Aquests aspectes no s’han d’ignorar, sinó tractar-los com a part de la modernització.

    Migració de dades: què comporta realment esforç

    En una substitució de BDE la migració de dades sovint s’infravalora perquè „si només són taules“. A la pràctica són les condicions marginals les que generen esforç:

    Claus, unicitat i referències

    Els sistemes basats en fitxers sovint toleren inconsistències. Les bases de dades centrals són més estrictes — i això és positiu. Però cal aclarir com seran en el futur les claus primàries (IDs úniques) i les claus foranes (enllaços). Qui generarà les noves IDs? Com es faran coherents els registres històrics? Hi ha claus naturals que resultin inestables?

    Conjunts de caràcters i caràcters especials

    Especialment en entorns Delphi/BDE antics són freqüents les qüestions de codificació. Una migració us obliga a definir una codificació objectiu (normalment Unicode/UTF-8) i a provar la conversió de manera controlada. No és una qüestió purament d’aspecte: una conversió incorrecta pot malmetre funcions de cerca, comprovacions de duplicats o formats d’exportació.

    Regles de negoci que estan a l’aplicació en comptes de la base de dades

    Moltes regles s’han implementat històricament al client (p. ex. comprovacions de plausibilitat). Amb diversos clients i integracions modernes sovint és convenient assegurar, almenys, les regles crítiques al servidor (p. ex. mitjançant constraints o transaccions). Això redueix errors de dades posteriors, però també modifica la naturalesa dels errors en el dia a dia: els errors de validació retornen de manera més contundent i han de ser gestionats correctament a la UI.

    Temps d’inactivitat, funcionament en paral·lel i opció de retrocés

    Per a les empreses normalment no és determinant si una migració té èxit „d’una sola passada“, sinó si existeix un pla controlable: quant de temps quedarà reduït el funcionament? Hi ha una fase de transició? Es pot revertir en cas de problemes? Un objectiu realista acostuma a ser: migració amb proves prèvies, cutover final en una finestra de manteniment i un fallback clarament documentat, mentre les dades no divergeixin en ambdues direccions.

    Interfícies i integració: el veritable motor de la substitució

    La substitució de BDE sovint esdevé urgent quan apareixen nous requisits: integració amb ERP, DMS o CRM, exportacions automatitzades, portals, informes BI o serveis web. Quan diversos sistemes han d’accedir a les mateixes dades, l’emmagatzematge en fitxers i la lògica de negoci al costat del client es converteixen en un coll d’ampolla.

    Una solució neta és exposar l’accés a les dades mitjançant una interfície definida. Sovint es tracta d’una REST-API (Representational State Transfer; en la pràctica: punts finals HTTP que lliuren dades de manera estructurada i accepten modificacions). Per a l’explotació i la seguretat IT, és important:

    • Autenticació i autorització: Qui pot fer què? SAML 2.0 (SAML = estàndard d’inici de sessió únic) o procediments basats en token són components típics, segons l’entorn.
    • Monitoratge i registre (Logging): Les peticions han de ser rastrejables, incloses les causes d’errors i els temps d’execució. Això sovint és més valuós en explotació que un «bon» disseny d’API.
    • Límit de velocitat i estabilitat: Quan altres sistemes consumeixen, cal que quedi clar com es mitiguen els pics de càrrega (cues, paral·lelisme limitat, timeouts).

    Important: una API no és obligatòria per a cada substitució de BDE. Però qui planifiqui portals o processos transversals a mitjà termini hauria d’executar la substitució de manera que aquest pas no obligui més endavant a un redisseny del nucli.

    Explotació i desplegament després de la BDE: estandarditzar en lloc de «mantenir el client»

    Un benefici central de la substitució de BDE és fer el desplegament i el suport clarament més previsibles. En molts entorns la situació actual és: equips aïllats amb configuracions especials, ajustos manuals d’àlies, versions de DLL diferents. Això consumeix temps d’IT i fa que les incidències siguin difícils de reproduir.

    Després de la migració, cal apostar de manera focalitzada per mecanismes estàndard:

    • Configuració centralitzada: Els paràmetres de connexió i les variables d’entorn han d’estar en una configuració traçable i versionada (no en conjunts locals dispersos).
    • Paquets d’instal·lació nets: Un instal·lador definit que també gestioni reparació/actualització és operativament més rellevant que «funciona al meu ordinador».
    • Windows- i Linux-serveis allà on correspongui: Tasques en segon pla (imports, exports, planificador) són millor controlables com a servei que com a «client que queda obert en algun lloc». Un servei és un procés en segon pla amb un inici/aturada definits i registre (logging).
    • Disciplina de patches i releases: Versions més petites i més freqüents amb notes de llançament clares redueixen el risc. Per a sistemes crítics, entorns de staging i criteris d’acceptació són essencials.

    També el tema de permisos sovint millora: en lloc de comparticions de fitxers amb drets d’escriptura per a molts usuaris, podeu treballar amb rols de base de dades, drets d’esquema i rutes d’accés traçables. Això no és només seguretat, sinó que també redueix manipulacions accidentals de dades.

    Estrategia de proves: quines proves realment compten en la substitució de BDE

    En software de negoci madur, l’automatització completa rarament és realista a curt termini. Tot i així, amb paquets de proves pragmàtics podeu cobrir els riscos més grans. El que importa és que les proves representin els processos clau del negoci, no només «obrir el formulari X».

    1) Proves de comparació amb dades de referència

    Creeu un conjunt de dades representatives (operació real anonimitzada o sintètica) i compareu els resultats abans/després de la migració: sumes, llistes de components, canvis d’estat, resultats de cerca, exports. Això també posarà de manifest diferències de codificació i d’ordenació (l’ordenació pot variar entre Paradox i bases de dades SQL).

    2) Concurrència i bloquejos

    Simuleu l’edició paral·lela: dos usuaris modifiquen la mateixa operació, un usuari imprimeix mentre l’altre registra l’operació, un import s’executa mentre hi ha accessos a la interfície d’usuari. Els sistemes client-servidor es comporten aquí de manera diferent a les bases de dades basades en fitxers. Si això no es prova, els problemes apareixeran només en producció.

    3) Proves de Backup/RESTore com a criteri d’acceptació

    En bases de dades centrals, una còpia de seguretat només té valor si la RESTauració es practica de forma periòdica. Definiu: RPO/RTO (RPO = pèrdua màxima de dades en temps, RTO = temps màxim de recuperació) i proveu aquests valors en una RESTauració d’exercici. Això és una mesura rellevant per a TI, no una disciplina exclusiva dels desenvolupadors.

    Ajuda a la decisió: quina arquitectura objectiu s’ajusta al vostre entorn?

    En lloc de „Big Bang“ contra „deixar-ho tot“, val la pena una avaluació objectiva. Aquestes preguntes guia us ajuden a situar-vos:

    • Quina criticitat té el procés? Com més crític, més recomanen l’operació en paral·lel, la migració per fases i plans clars de retrocés.
    • Com de distribuït és l’ús? Més ubicacions, VPN i ús mòbil són arguments a favor d’una arquitectura client-servidor i serveis centralitzats.
    • Quina pressió d’integració existeix? Si cal connectar ERP/DMS/portals, l’accés a les dades s’hauria de consolidar i oferir mitjançant interfícies definides.
    • Com està organitzada l’operació? Si l’explotació de la base de dades no està establerta internament, cal planificar-la (o optar conscientment per un enfocament gestionat). Un sistema nou sense concepte d’operacions genera costos addicionals.

    Una definició d’objectius realista sovint és: «Primer treure BDE, després consolidar la base de dades, i després ampliar les interfícies.» Així distribuïu el risc i obteniu avantatges operatius des d’un primer moment.

    Riscos freqüents — i com evitar-los

    «Només canviem el controlador»

    Si l’accés a les dades ha crescut de manera desordenada al llarg d’anys, un simple canvi de component es convertirà en una loteria d’errors. Planifiqueu almenys una encapsulació de l’accés a les dades i regles de transacció clares.

    Responsabilitat poc clara entre TI i l’àrea funcional

    BDE-la substitució afecta els processos funcionals (p. ex. comportament de bloqueig, validacions, informes). Establiu criteris d’acceptació que assumiran conjuntament l’àrea funcional i TI: quins documents han de ser idèntics? Quines desviacions són acceptables (p. ex. l’ordenació)?

    Tractar el reporting i els exports massa tard

    Moltes aplicacions antigues tenen rutes d’exportació que han evolucionat (CSV, Excel, impressió). Aquestes sovint depenen de manera indirecta de l’accés a les dades. Incloeu aviat en l’abast el reporting, la correspondència massiva, els fluxos de treball PDF i les transferències externes; en cas contrari, l’esforç apareixerà al final com un bloqueig.

    Seguretat: afegir-la després en comptes d’integrar-la

    Si de totes maneres modernitzeu l’accés a les dades, definiu des del principi un concepte de permisos sòlid: rols de base de dades, comptes de servei, rotació de contrasenyes, registre de l’activitat. La posterior adaptació sol ser més cara, perquè ja s’hauran generat noves dependències.

    Conclusió: planificar la substitució de BDE com a modernització operativa controlada

    Una substitució de BDE té més èxit quan es gestiona com una modernització amb objectius operatius clars: desplegament reproducible, menys casos especials al costat client, gestió de dades més robusta, millor capacitat d’integració i seguretat verificable. Tècnicament, la substitució de BDE és només un element. El que realment importa és l’encapsulació, l’estratègia de migració, els paquets de proves i un concepte d’operació que s’adapti a la vostra organització de TI.

    Si planifiqueu la substitució de manera gradual, limiteu els riscos mitjançant un funcionament en paral·lel i tracteu la migració de dades com un subprojecte independent, una aplicació Delphi consolidada es pot portar a una base mantenible – sense posar en perill innecessàriament els processos del dia a dia.

    Si voleu avaluar de manera estructurada els següents passos per al vostre entorn, parleu amb nosaltres sobre anàlisi, imatge objectiu i un pla d’implementació sòlid:

    En l’àmbit funcional també juguen un paper important Delphi Modernització i la migració de bases de dades quan cal que les integracions, els fluxos de dades i el desenvolupament continu funcionin de manera coordinada.

    Parleu del projecte o de la iniciativa de modernització amb Net-Base.

    Pas següent

    Quan un tema esdevé un projecte real, l'arquitectura, l'entorn existent i les operacions s'haurien de considerar conjuntament des de bon començament.

    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, l'accés a les dades, els portals i el desplegament no es releguen a fases posteriors.
    • Vostè veurà aviat quin camí és econòmicament i operativament viable.

    Comparteix la publicació

    Comparteix aquesta publicació directament

    LinkedIn, X, XING, Facebook, WhatsApp i E-Mail estan disponibles de forma immediata. Per a Instagram preparem directament l’enllaç i un text breu.

    Correu electrònic

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