Tip #522: Escape CRM Online sandbox

I said it before and I said it again that presenting at the conferences like eXtremeCRM can be a real eye-opener. You quickly learn, for example, that Bob could not make it and you also learn how much people know about CRM. With all the accumulated knowledge it comes as a surprise that some of the features that has been around for years are misunderstood, and underused.

Take, for example, this menu item:
Register Service Endpoint
As it turns out, people are still unsure what it’s there for and what exactly does it do.

Without writing a single line of code it allows registration of an endpoint that is similar to a standard plugin registration so that you can register steps with it, like create for the account entity. The difference is that, instead of executing your plugin code this endpoint will push the data out of CRM to the Azure Service Bus with all the plugin context intact. For example, push it to the queue and then create a listener on the other end and pick up whatever CRM pushed out.

Why would we want to do that? How about:

  1. Remoting the lengthy processing to bypass 2 minutes sandbox limit.
  2. Publishing context for partner’s consumption – the data pushed out is protected by service bus security but no longer governed by CRM.
  3. Copying data to on-premises database for processing and reporting – listener can be behind the firewall and get an easy secure access to the service bus.
  4. Run small listening service on users’ computers notifying them almost in real-time when something important happens
  5. Big opportunity win notification

Of course, there are some additional moving parts to the story like creating an Azure Service Bus, negotiating security between CRM and the service bus, etc, but all steps are documented to death in MSDN and there are some good articles and walkthroughs written about it.

Go and create some goodness.

Share on FacebookTweet about this on TwitterShare on Google+

Leave a Reply

Your email address will not be published. Required fields are marked *