Softwareontwikkeling

DataBridge

TransportMaster

Opdrachtgever
TransportMaster
Categorie
Softwareontwikkeling
Jaar
2023
Technologieën
C#SQLPHPAJAX
Synchronisatieplatform tussen AccountView, MySQL en Microsoft SQL Server

Dit project is ontwikkeld als synchronisatieplatform tussen AccountView en externe SQL-omgevingen. Het maakt bedrijfsgegevens beschikbaar voor websitefuncties, rapportages, koppelingen en online maatwerkapplicaties. Het belangrijkste doel was een lokaal administratiesysteem verbinden met een moderne backend voor webgebruik, zonder de oorspronkelijke database rechtstreeks aan de website bloot te stellen.

Het systeem is niet afhankelijk van handmatige exports of eenmalige imports. Het bereidt gegevens uit AccountView voortdurend voor, structureert ze en synchroniseert ze naar MySQL of Microsoft SQL Server. Zo ontstaat een betrouwbare verbinding tussen interne administratiegegevens en een extern platform dat veilig door de website en andere digitale diensten kan worden gebruikt.

Projectoverzicht

AccountView bevat belangrijke operationele en administratieve gegevens, maar is niet altijd geschikt als directe backend voor webplatforms. Websites hebben doorgaans behoefte aan een overzichtelijkere databasestructuur, toegang op afstand, snellere query’s en een veilige scheiding tussen het publieke platform en het interne bedrijfssysteem.

Daarom is het synchronisatiesysteem als tussenlaag ontworpen. Het leest de bronstructuur, bepaalt welke tabellen moeten worden gesynchroniseerd, bouwt de doelstructuur op en zet records over naar een externe SQL-database. Die database wordt vervolgens de backend van de website. Online applicaties kunnen zo op een beter beheersbare en schaalbare manier met actuele bedrijfsgegevens werken.

Wat het systeem doet

Het systeem onderzoekt de geselecteerde AccountView-administratie, leest tabeldefinities, identificeert primaire sleutels en bewaart de gevonden structuur voor volgende synchronisatierondes. Zodra de structuur bekend is, kan het op de externe server doeltabellen aanmaken en records uit de lokale brondatabase naar de gekozen SQL-backend synchroniseren.

Het synchronisatieproces ondersteunt zowel MySQL als Microsoft SQL Server. Daardoor is het platform flexibel inzetbaar in verschillende hostingomgevingen en bij uiteenlopende technische eisen. Sommige installaties gebruiken MySQL als externe websitebackend, andere Microsoft SQL Server. Via de configuratie kan tussen beide backendtypen worden gewisseld.

De koppeling is niet gebonden aan één databaseopzet. Ze kan werken met één gedeelde externe database of met afzonderlijke databases per administratie. Zo kunnen gegevens van administraties duidelijk gescheiden blijven en toch automatisch worden gesynchroniseerd.

Synchronisatielogica

Een belangrijk onderdeel van het project is de synchronisatie op recordniveau. Het systeem kopieert niet telkens volledige tabellen, maar gebruikt synchronisatierecords en UUID’s om vast te stellen welke records in de externe database moeten worden aangemaakt, gewijzigd of verwijderd.

UUID’s identificeren records uniek over verschillende systemen heen. Dat is belangrijk bij omgevingen die niet altijd van dezelfde interne uitgangspunten uitgaan. De software maakt ook synchronisatierecords om vast te leggen welke gegevens zijn gewijzigd en welke acties op het externe systeem nodig zijn. Dit maakt het proces beter beheersbaar en voorkomt onnodig dubbele bewerkingen.

Voor ieder te synchroniseren record controleert het systeem of het al in de externe SQL-database bestaat. Zo niet, dan genereert het een insert-statement; anders een update-statement. Als een bronrecord is verwijderd, kan ook het bijbehorende externe record worden verwijderd. Zo blijft de externe database in overeenstemming met de bronadministratie.

Technische functies

Het synchronisatieplatform biedt verschillende functies voor gebruik in de praktijk:

  • Automatisch uitlezen van tabellen, velden en primaire sleutels uit de bronadministratie.
  • Bewaren van synchronisatievoorkeuren en de databasestructuur voor herhaald gebruik.
  • Ondersteuning voor MySQL en Microsoft SQL Server als externe backend.
  • Synchronisatie van toevoegingen, wijzigingen en verwijderingen op recordniveau.
  • Aanmaken van UUID’s en synchronisatierecords om wijzigingen beter te volgen.
  • Instelbare synchronisatie-intervallen en blokgroottes voor grotere gegevensverzamelingen.
  • Ondersteuning voor afzonderlijke externe databases per administratie of één gedeelde database.
  • MySQL-verbindingen via SSH voor beveiligde toegang tot externe servers waar nodig.
  • Voortgangsrapportage en terugkoppeling bij uitvoering als desktopapplicatie of service.
  • Onderhoudsfuncties voor Microsoft SQL Server, waaronder indexdefragmentatie.

Waarom dit belangrijk was voor de website

De website had administratiegegevens nodig, maar directe toegang tot het bronsysteem zou problemen hebben opgeleverd voor prestaties, beveiliging en onderhoudbaarheid. Door de benodigde gegevens naar MySQL of Microsoft SQL Server te synchroniseren, kon de website werken met een databaseomgeving die beter geschikt is voor online gebruik.

Deze aanpak scheidt de verantwoordelijkheden. AccountView blijft intern het leidende systeem, terwijl de website een eigen SQL-backend uitleest die is ingericht voor toegang op afstand, indexering en koppeling met webontwikkeltools. Dat vermindert risico’s en geeft meer vrijheid bij het ontwikkelen van online functies.

Nieuwe websitemodules kunnen daardoor ook efficiënter worden gebouwd. Ontwikkelaars hoeven zich niet te schikken naar een oude bronstructuur of te vertrouwen op handmatige exports. Ze werken met gesynchroniseerde SQL-gegevens die al voor applicatiegebruik zijn gestructureerd. Dit maakt dashboards, portalen, rapporten, zoekfuncties, productoverzichten en klantspecifieke interfaces eenvoudiger te realiseren.

Waarde voor de bedrijfsvoering

Naast de technische oplossing levert het project praktische waarde op: lokale bedrijfsgegevens worden herbruikbaar voor digitale toepassingen. Er zijn minder handmatige exports nodig, dubbele invoer kan worden voorkomen en de website krijgt op een gecontroleerde manier toegang tot echte bedrijfsinformatie.

Doordat het platform meerdere SQL-doelen en instelbare installatievormen ondersteunt, kan het in verschillende installaties en klantomgevingen worden hergebruikt. Daarmee is het meer dan een eenmalige koppeling: het is een herhaalbaar synchronisatieproduct dat toekomstige uitbreidingen, API’s, rapportagetools en digitale werkprocessen op maat ondersteunt.

Samenvatting

Dit synchronisatiesysteem laat zien hoe een traditionele administratieomgeving via een gerichte integratielaag kan worden verbonden met moderne webinfrastructuur. Het combineert het uitlezen van databasestructuren, wijzigingsregistratie, identificatie via UUID’s, automatisch aanmaken van tabellen, synchronisatie naar externe SQL-databases en onderhoudsfuncties in één praktische oplossing.

Het resultaat is een stabiele verbinding tussen AccountView en een backend in MySQL of Microsoft SQL Server die geschikt is voor websites. Actuele administratiegegevens kunnen daardoor veiliger, overzichtelijker en schaalbaarder in online platforms worden gebruikt.

Meer werk

Gerelateerde projecten

Start een project met ons

Heeft u een project in gedachten? Bespreek met ons hoe we kunnen helpen.