Dois-je concevoir une base de données distincte & amp; Exécution du serveur par module différent?

StackOverflow https://stackoverflow.com/questions/1421868

Question

Lors de la conception d'un nouveau framework d'entreprise basé sur J2EE, dois-je me préparer à la situation dans laquelle des modules métier distincts doivent utiliser différentes bases de données et doivent s'exécuter sur différentes instances de serveur d'applications?

D'un autre point de vue: quelqu'un a-t-il déjà rencontré une exigence réelle pour différentes bases de données & amp; serveurs par module? Si oui, quelle était la taille de cette entreprise?

Parce que (pour autant que je puisse voir) cela rend les choses beaucoup plus compliquées, et avec la version précédente de ce framework (et dans les petites banques), le cas ci-dessus ne s'est jamais produit.

Merci pour les réponses!

Était-ce utile?

La solution

Je ne suis pas sûr d'avoir bien compris cette formulation

  

où des modules métier distincts doivent utiliser différentes bases de données

Tout le temps.

Peut-être parlons-nous de différentes choses ici. Je n'ai jamais rencontré aucune organisation sans au moins deux bases de données. Cela inclut moi et mon catalogue de CD et les bases de données de mélodies de guitare sur mon ordinateur portable.

Voulez-vous dire différents vendeurs de bases de données? Les versions de base de données, comme Oracle vX et Oracle vY? Même avec cette définition, je ne peux penser à aucun client rencontré qui ait universellement standardisé un fournisseur ou une version.

Donc, est-ce que je m'attendrais à ce qu'un système non trivial ait certains modules examinant une base de données et d'autres en regardant une autre. Oui, absolument.

Est-ce que certains modules devraient examiner deux bases de données, oui. Les données de référence dans un vivent dans un autre. Histoire dans encore une autre.

Différents modules sur différents serveurs - oui. Pour des raisons d'isolation et d'évolutivité. C’est une chose que les serveurs d’application font très bien.

Dans l’ensemble, pourquoi voyez-vous cela comme un problème? Vos modules recherchent leurs connexions JDBC dans JNDI, ils n'ont pas besoin de savoir qu'ils utilisent différentes bases de données. C'est un problème d'administrateur de connecter correctement les modules.

L’utilisation de transactions XA pourrait constituer un problème majeur, mais il est souvent possible d’éviter de mettre à jour les deux bases de données dans le même module ou à partir du même module dans la même transaction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top