Question

J'ai récemment lu les modèles d'intégration d'entreprise de Hohpe et Woolf, certains des livres de Thomas Erl sur SOA et regardant diverses vidéos et podcasts d'Udi Dahan et al. sur CQRS et les systèmes motivés d'événements.

Les systèmes de mon lieu de travail souffrent d'un couplage élevé. Bien que chaque système ait théoriquement sa propre base de données, il y a beaucoup de rejoindre entre eux. En pratique, cela signifie qu'il existe une énorme base de données que tous les systèmes utilisent. Par exemple, il existe un tableau des données des clients.

Une grande partie de ce que j'ai lu semble suggérer des données dénormalisant afin que chaque système utilise uniquement sa base de données, et toute mise à jour d'un système se propage à tous les autres en utilisant la messagerie.

Je pensais que c'était l'une des façons d'appliquer les limites de SOA - chaque service devrait avoir sa propre base de données, mais j'ai lu ceci:

https://stackoverflow.com/questions/4019902/soa-joining-data-across-multiple-service

Et cela suggère que c'est la mauvaise chose à faire.

La ségrégation des bases de données semble être un bon moyen de découpler les systèmes, mais maintenant je suis un peu confus. Est-ce une bonne voie à emprunter? Est-il jamais recommandé de séparer une base de données, par exemple un service SOA, un contexte délimité par DDD, une application, etc.?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top