Voici mon problème. J'ai construit une application web, et naturellement gardé les données dans une base de données qui décrit le domaine de cette application. Afterwords, j'ai construit une autre application web pour la même organisation, et utilisé une base de données séparée pour décrire le domaine de l'application et stocker les données ... et naturellement quelques autres projets sont apparus et pour chaque application j'ai isolé ses données à une base de données unique . Deveolpment sage, je pense que c'est ok, car je peux maintenir des changements à la structure de données et de données à la base de données de l'application. Considérant que ces applications appartiennent à la même organisation, il y a beaucoup de données répliquées entre elles, comme les noms de département, d'emploi, de magasin, etc. La plupart de ces tables contiennent les mêmes données, mais ne sont pas exactement les mêmes. même dans chaque base de données, et ne sont pas toujours utilisés par toutes les applications. Cependant, les changements apportés à ces données doivent être modifiés dans toutes les applications (parfois d'une manière différente), ce qui engendre une «gestion des problèmes» grandissante.Des recommandations pour une façon efective de synchroniser les données d'une base de données vers les bases de données d'autres applications?
J'ai donc pensé à un moyen d'obtenir une certaine syncronisation entre les données. Je veux une gestion plus facile - mettre à jour une application (ou une application centrale) et mettre à jour toutes les bases de données nécessaires pour chaque application - et aussi mieux partager les données entre applications (comme peut-être fusionner les données de différentes applications dans une nouvelle application pour permettre une analyse spécifique). La plupart des données auxquelles je fais référence sont utilisées comme des contraintes plutôt que comme un concept de domaine principal, décrivant l'organisation plutôt que de décrire un domaine particulier.
Je cherche des opinions sur certains moyens d'y parvenir. Ma première idée était de saisir des structures de données comun, comme la table des noms de département que j'ai mentionnée, et de les coller dans une base de données centrale. Toutes les mises à jour des données seraient effectuées à cette base de données, via une application web dédiée, et j'appliquerais une sorte de modèle Observer ou Editeur/Suscriber pour ces changements - sur les changements que l'application notifierait aux applications observantes (via le webservice dédié) que les changements se sont produits et permettent à l'application de saisir les nouvelles données et de les utiliser comme il le faut. GUID pourrait être l'utilisateur comme référence pour identifier les mêmes données dans les applications. De plus, je pourrais créer des services Web pour les opérations de lecture et de recherche qui n'ont pas besoin d'être dans la base de données d'une application spécifique, mais qui pourraient lui être utiles.
Une deuxième idée serait que chaque application gère ses propres données, et les applications pourraient s'observer les uns les autres. Un changement dans l'un pourrait informer d'autres personnes partageant la même structure de données que le changement s'est produit. Je pourrais toujours utiliser certains GUID et même créer des services sur l'une des applications. Je pense que cela serait aussi moins excessif en termes de duplication des données, mais pourrait être plus difficile à gérer car chaque application serait éventuellement couplée à d'autres applications, et je voudrais savoir comment répartir les responsabilités quant à l'application qui contrôle quelles informations. Je suis vraiment curieux de savoir que quelque chose de ce genre de distribution de données et de synchronisation fonctionnerait et serait même recommandé. Les opions et autres idées sont plus que bienvenues!
Merci Miklos. C'est une grande organisation basée sur SAP. Comme le département avec lequel je travaille a de la difficulté à obtenir de l'aide auprès de leur groupe informatique et que SAP a tendance à les ralentir, ils ont décidé d'externaliser des fonctionnalités/outils spécifiques, dont certains ont été construits. Ces applications que j'ai construites ne sont pas gérées par des informaticiens, mais par un petit nombre d'opérateurs du département, qui sont parfaitement capables d'assumer cette fonction. Il y a quelques IT internes qui pourraient faire cela aussi. Je suis juste pour comprendre comment rendre leur vie plus facile et ouvrir des portes pour partager des données entre les applications .. Merci! – MytyMyky
Master Data Management "était la clé dont j'avais besoin pour trouver une bonne quantité d'informations qui m'aidera à construire ce dont j'ai besoin.Merci! – MytyMyky
@MytyMyky vous êtes les bienvenus.Je suis heureux, je pourrais vous aider un peu. –