Au travail, nous avons plusieurs applications avec des bases de données dans un serveur SQL centralisé. Chaque fois qu'une application doit travailler avec des données d'une autre application, elle les interroge ou les met à jour via la base de données. Je crois que c'est le modèle de "base de données partagée" comme décrit dans le livre Enterprise Integration Patterns (Hohpe & Woolf).Refactoring à partir du modèle de base de données partagée
Ces dépendances de bases de données croisées nous causent beaucoup, beaucoup de maux de tête. Le plus gros de ces problèmes est que nous sommes confrontés à des problèmes de performance sur le serveur SQL et que nous ne pouvons pas faire évoluer les choses à cause des dépendances entre les bases de données. Je pense que ce que nous devrions faire est de s'éloigner du modèle de base de données partagée vers un système de messagerie tel que décrit dans le livre EIP. Chaque application serait responsable de toutes ses propres données, et d'autres applications qui veulent accéder à ces données l'obtiendraient à travers les services (sur un bus de messagerie?). Où commençons-nous le refactoring vers le modèle de messagerie?
- Est-ce qu'on commence par refactoriser l'une des applications pour gérer sa propre base de données d'applications?
- Alors, qu'en est-il des autres applications qui sont actuellement intégrées à celle-là via la base de données?
- Est-ce la meilleure façon de découpler nos dépendances de base de données ou devrions-nous commencer ailleurs?