Développement logiciel

DataBridge

TransportMaster

Client
TransportMaster
Catégorie
Développement logiciel
Année
2023
Technologies
C#SQLPHPAJAX
Plateforme de synchronisation entre AccountView, MySQL et Microsoft SQL Server

Ce projet a été développé comme une plate-forme de synchronisation entre AccountView et des environnements SQL distants, rendant les données commerciales disponibles pour la fonctionnalité du site Web, les rapports, les intégrations et les applications en ligne personnalisées.

Au lieu de s'appuyer sur des exportations manuelles ou des importations ponctuelles, ce système prépare, structure et synchronise continuellement les données de l'environnement AccountView vers MySQL ou Microsoft SQL Server. Cela crée un pont fiable entre les données d'administration interne et une plateforme distante qui peut être utilisée en toute sécurité par le site Web et d'autres services numériques.

Vue d'ensemble du projet

AccountView contient des données opérationnelles et administratives critiques, mais il n'est pas toujours adapté comme backend direct pour les plateformes Web. Les sites Web nécessitent généralement une structure de base de données plus propre, une accessibilité à distance, des requêtes plus rapides et une séparation plus sécurisée entre la plateforme publique et le système d'affaires interne.

Pour résoudre ce problème, le système de synchronisation a été conçu comme une couche de middleware. Il lit la structure des données source, détermine quelles tables doivent être synchronisées, construit la structure de destination et transfère les enregistrements vers une base de données SQL distante. Cette base de données distante agit ensuite comme le backend du site Web, permettant aux applications en ligne de travailler avec les données commerciales en direct de manière plus contrôlée et évolutive.

Ce que fait le système

Le système scanne l'administration AccountView sélectionnée, lit les définitions de la table, identifie les clés primaires et stocke la structure découverte pour une réutilisation dans les sessions de synchronisation ultérieures. Une fois la structure connue, elle peut créer des tables de destination à distance et commencer à synchroniser les enregistrements de la base de données source locale vers le backend SQL choisi.

Le processus de synchronisation prend en charge à la fois MySQL et Microsoft SQL Server. Cela rend la plate-forme suffisamment souple pour fonctionner avec différents environnements d'hébergement et différentes exigences techniques. Pour certaines installations, le backend du site Web distant peut être exécuté sur MySQL. Pour d'autres, Microsoft SQL Server peut être utilisé à la place. Le logiciel est capable de basculer entre ces types de backend par configuration.

Le pont n'est pas limité à un seul modèle de base de données. Il peut fonctionner avec une base de données distante partagée ou avec des bases de données séparées par administration. Cela le rend approprié pour les déploiements où les données doivent rester clairement séparées entre les administrations tout en étant synchronisées automatiquement.

Logique de synchronisation

Une partie importante de ce projet est la logique de synchronisation des enregistrements. Le système ne copie pas simplement des tables entières à chaque fois. Au lieu de cela, il utilise des enregistrements de synchronisation et un suivi basé sur UUID pour déterminer quels enregistrements doivent être créés, mis à jour ou supprimés dans la base de données à distance.

La génération UUID est utilisée pour identifier uniquement les enregistrements entre les systèmes. Ceci est important lors de la synchronisation des données entre les environnements qui peuvent ne pas toujours partager les mêmes hypothèses internes. Le logiciel crée également des enregistrements de synchronisation pour marquer quelles données ont changé et quelles actions doivent être appliquées à distance. Cela rend le processus plus contrôlé et aide à prévenir les opérations dupliquées inutiles.

Pour chaque enregistrement qui doit être synchronisé, le système vérifie si l'enregistrement existe déjà dans la base de données SQL distante. S'il n'existe pas, une déclaration d'insertion est générée. S'il existe déjà, une déclaration de mise à jour est générée à la place. Si l'enregistrement source a été supprimé, l'enregistrement distant correspondant peut également être supprimé. De cette façon, la base de données à distance reste alignée sur l'état de l'administration source.

Caractéristiques techniques

La plateforme de synchronisation comprend un certain nombre de caractéristiques techniques qui la rendent adaptée à l'utilisation dans le monde réel:

  • Découverte automatique des tables, des champs et des clés primaires à partir de l'administration source.
  • Le stockage des préférences de synchronisation et de la structure de la base de données pour une utilisation répétée.
  • Prise en charge de MySQL et de Microsoft SQL Server en tant qu'arrière-plan à distance.
  • Insérer, mettre à jour et supprimer la synchronisation au niveau des enregistrements.
  • Création de UUID et génération d'enregistrements de synchronisation pour un meilleur suivi des changements.
  • Intervalle de synchronisation configurables et tailles de blocs pour les ensembles de données plus grands.
  • Prise en charge de bases de données distantes séparées par administration ou par une seule base de données partagée.
  • MySQL connectivité via SSH pour un accès sécurisé à un serveur distant lorsque cela est nécessaire.
  • Rapport d'avancement et rétroaction opérationnelle pour l'exécution sur ordinateur de bureau ou service.
  • Assistance à la maintenance de Microsoft SQL Server, y compris les tâches de défragmentation d'index.

Pourquoi c'était important pour le site

Le site Web avait besoin d'accès aux données d'administration, mais l'accès direct au système source aurait créé des problèmes de performance, de sécurité et de maintenance. En synchronisant les données requises dans MySQL ou Microsoft SQL Server, le site Web pourrait travailler avec un environnement de base de données qui est beaucoup mieux adapté à l'utilisation en ligne.

Cette approche améliore la séparation des préoccupations. AccountView reste la source interne de vérité, tandis que le site Web se lit à partir d'un backend SQL dédié qui est optimisé pour l'accès à distance, l'indexation et l'intégration avec les outils de développement Web. Cela réduit les risques et donne beaucoup plus de flexibilité lors de la construction de fonctionnalités en ligne.

Cela signifie également que de nouveaux modules de site Web peuvent être développés plus efficacement. Au lieu de construire autour d'une structure source héritée ou de compter sur des exportations manuelles, les développeurs peuvent travailler avec des données SQL synchronisées qui sont déjà structurées pour l'utilisation des applications. Cela facilite la création de tableaux de bord, de portails, de rapports, de fonctions de recherche, de vues de produits et d'interfaces spécifiques au client.

Valeur opérationnelle

Au-delà de la mise en œuvre technique, ce projet apporte une valeur opérationnelle en transformant les données commerciales locales en un actif numérique réutilisable.

Parce que la plate-forme prend en charge plusieurs cibles SQL et modèles de déploiement configurables, elle peut également être réutilisée pour différentes installations et différents environnements clients. Cela en fait plus qu'une intégration unique. Elle devient un produit de synchronisation répétable qui peut prendre en charge les futures expansions, API, outils de reporting et flux de travail numériques personnalisés.

Résumé

Ce système de synchronisation démontre comment un environnement d'administration traditionnel peut être connecté à l'infrastructure Web moderne grâce à une couche d'intégration dédiée. Il combine la découverte de structure, le suivi des changements, l'identification basée sur UUID, la création automatique de tables, la synchronisation à distance de SQL et les outils de maintenance dans une solution pratique.

Le résultat est un pont stable entre AccountView et un backend prêt pour le site Web dans MySQL ou Microsoft SQL Server, permettant d'utiliser les données d'administration en direct de manière plus sûre, plus propre et plus évolutive pour les plateformes en ligne.

Démarrez un projet avec nous

Vous avez un projet en tête ? Échangeons sur la manière dont nous pouvons vous aider.