Dynamics CRM + NServiceBus enterprise integration?

227 views
Skip to first unread message

Plamen Boudinov

unread,
Jun 4, 2015, 11:53:24 AM6/4/15
to particula...@googlegroups.com
Hello,
Let's say we have a distributed enterprise architecture, from DDD perspective comprised of bounded contexts such as Loans Servicing, Marketplace, Accounting, CRM - all eventually synchronized by rich domain events (besides 'Marketplace Web portal' bounded context synchronously calling Marketplace).

Can anyone please, with experience with Dynamics CRM, advice me, if it is possible to achieve good event driven integration using Dynamics and NServicebus? It makes perfect sense, to have endpoints residing in Dynamics IIS process, which would:
1. receive domain events and translate them into invoking Entity Actions(custom entity events introduced in Dynamics CRM 2015) or Workflows, maybe even directly modify Entities
2. translate Entity Actions/Workflow Steps to outbound domain events carried by service bus. Also, e.g. sagas running in other bounded contexts would initiate or process such events, however should they be allowed to synchronously invoke Dynamics Web Services too?

Or NServicebus endpoints live in standalone/windows service processes, and should invoke CRM's Web services?

Has anyone been part of such projects, to share some wisdom, as I am disturbed with google showing no results for 'Dynamics CRM + NServiceBus'..

Also, a bit off-topic, does it make sense, to implement my Core Domain Loan Servicing, in Dynamics CRM bounded context, or that would be overusing it's extensibility to achieve an unmaintainable result? 2015 version introduces Entity Actions, which together with code plugins and custom workflows (aka Sagas), should allow more clean business logic definition. Or better implement only the Back-office perspective of Loan Servicing domain in the CRM platform?

Thanks a lot in advance

ramon...@particular.net

unread,
Jun 16, 2015, 7:05:57 AM6/16/15
to particula...@googlegroups.com


Hi,


I found several posts about integrating Dynamics CRM with RabbitMQ by Lucas Alexander together with sample code.

You can use a similar approach with NServiceBus. You can skip part 1 and 2 as these are related to RabbitMQ:


Parts 3 and 4 are about sharing data to other systems and part 5 is about getting data from other systems in Dynamics CRM.


He updates Dynamics not 'in-process' but by having a separate service that consumes events, does some transformation and then updates Dynamics.


Regarding your architectural questions. To me it sounds if you either want to put your logic in Dynamics or in separate services.

* Migration, rewrite logic when switching to a different CRM?
* Integration, easier from within Dynamics or separate service?
* Scaling, easier to scale a large dynamics installation or a lot of separate isolated deployed services?

It is a similar discussion I think as using a large central enterprise service bus.


Regards,
Ramon
Reply all
Reply to author
Forward
0 new messages