2011-08-31 4 views
4

Je suis assez confiant avec le développement d'applications DDD, mais un domaine qui continue de me causer des problèmes est lorsque deux applications s'intègrent les unes aux autres. J'ai du mal à trouver des livres ou des ressources utiles sur le sujet. Des livres tels que Patterns of EAI approfondissent les modèles de messagerie et la construction de messages, mais n'expliquent pas vraiment comment architecturer des systèmes qui utilisent ces modèles.Ressources de conception guidées par domaine distribué

J'ai cherché haut et bas et je suis sûr qu'il n'y a pas d'exemples d'applications qui démontrent comment intégrer deux systèmes. Je comprends le concept de la messagerie asynchrone, mais je ne trouve pas non plus de bons exemples de la façon de l'appliquer.

Les ressources sur SOA semblent continuer à répéter les mêmes concepts sans démontrer comment les implémenter, et le plus souvent semblent plus préoccupés par la vente de produits.

Voici le genre de questions que je me bats pour répondre:

  1. Chaque demande doit avoir sa propre copie des données? Par exemple, chaque application d'une organisation devrait-elle avoir sa propre liste de clients, qu'elle met à jour à la réception d'un message?

  2. À quel point de la pile DDD les messages sont-ils transmis? Sont-ils le résultat d'événements de domaine? Puis-je combiner la messagerie asynchrone et le WCF ou dois-je choisir? Est-ce que j'utilise WCF pour la demande/réponse et la messagerie pour publier/s'abonner?

  3. Comment une application DDD utilise-t-elle les services d'une autre application? Une application DDD doit-elle interroger un autre système pour ses données via ses services d'application ou doit-elle déjà posséder sa propre copie locale des données, comme indiqué au point 1?

  4. Apparemment, je ne peux pas avoir une transaction entre deux systèmes. Comment puis-je éviter cela?

Si je semble confus c'est parce que je suis. Je ne cherche pas de réponses aux questions ci-dessus, juste en direction des ressources qui répondront à cette question et des questions similaires.

+9

Je suis déçu que c'était fermé. Il ne sollicite pas d'opinion, mais a en fait inspiré des réponses très constructives comme celle d'Eric ci-dessous. J'ai demandé une orientation vers les ressources et c'est ce que j'ai obtenu. Je pensais que c'était constructif et clairement 4 autres personnes l'ont fait en l'espace de 2 heures. Comment puis-je contester cette fermeture? –

Répondre

7

Paul,

J'ai été fait une transition similaire. Mon conseil:

  • Commencer à http://cqrsinfo.com/.
  • Ecouter le Distributed Podcast.
  • Attraper l'un des entretiens de Greg Young. Par exemple, here est Eric Evans interviewer Greg. Il a aussi des séances d'une journée qui sont enregistrées.
  • Lisez/écoutez quoi que ce soit d'Udi Dahan (poscasts, conférences, articles, etc.). Il a de bonnes choses sur InfoQ.
  • Attendez Greg's book.
  • Lisez tout ce que vous pouvez trouver sur EDA (Event Driven Architecture).

Bonne chance!

3

En plus de ce que Eric Farr avait dit, il peut être intéressant d'examiner de près la partie 4 du document DDD book (Conception stratégique). Il n'aborde pas le problème sous l'angle 'Distributed' mais contient beaucoup d'informations sur la façon d'intégrer les applications (Bounded Contexts). Les modèles comme Anticorruption Layer peuvent être très utiles lors de la conception à la limite de l'application.

Questions connexes