Distributed Domain Driven Design Resources

Я вполне уверен в разработке приложений для DDD, но одна область, которая продолжает создавать мне проблемы, это когда два приложения интегрируются друг с другом. Я изо всех сил пытаюсь найти какие-нибудь полезные книги или ресурсы на эту тему. Такие книги, как Patterns of EAI углубляются в паттерны обмена сообщениями и построения сообщений, но на самом деле не объясняют, как архитектурные системы, использующие эти паттерны.

Я искал "высоко" и "низко" и уверен, что нет примеров приложений, которые демонстрировали бы, как интегрировать две системы. Я понимаю концепцию асинхронного обмена сообщениями, но опять же не могу найти хороших примеров, как ее применять.

Ресурсы по SOA, кажется, продолжают повторять одни и те же концепции, не демонстрируя, как их реализовать, и чаще всего, кажется, больше заботятся о том, чтобы продавать мне продукты.

Вот некоторые вопросы, на которые я с трудом могу ответить:

  1. Должны ли каждое приложение иметь свою копию данных? Например, должно ли каждое приложение в организации иметь свой собственный список клиентов, который оно обновляет после получения сообщения?

  2. В какой момент в стеке DDD передаются сообщения? Являются ли они результатом событий в домене?

  3. Можно ли комбинировать асинхронную передачу сообщений и WCF или нужно выбирать? Использовать ли WCF для запросов/ответов и сообщений для публикации/подписки?

  4. Как одно приложение DDD использует службы другого приложения? Должно ли одно приложение DDD запрашивать данные у другой системы через свои службы приложения, или у него уже должна быть своя локальная копия данных, как указано в пункте 1?

  5. Очевидно, что я не могу провести транзакцию через две системы. Как избежать этого?

Если я звучу запутанным, то это потому, что я это делаю. Я не ищу ответы на вышеперечисленные вопросы, а просто указываю в направлении ресурсов, которые ответят на этот и подобные вопросы.

5
задан Paul T Davies 31 August 2011 в 12:32
поделиться