Considerations for Partner Solutions to Work with Dynamics CRM Online Provisioned Through Microsoft Online Services Platform
Applies To: Microsoft Dynamics CRM Online
Mahesh Hariharan, Peter Hecke
This article contains information about changes that you must make to your solutions, client applications, and application extensions for Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online so that they continue to work when your organization moves to the Microsoft online services platform.
Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online
The following describes the changes that are needed for each situation.
The changes required depend on the deployment and the type of extensions you have made to Microsoft Dynamics CRM.
You have a Microsoft Dynamics CRM Solution
If you have a solution that is fully contained within Microsoft Dynamics CRM, then no changes are necessary for this solution to work with the new platform. This assumes that the solution contains no external components that call into the web service endpoints.
You have an Application that uses Microsoft Dynamics CRM Web Services
If you have an application that interacts with the Microsoft Dynamics CRM web service endpoints, for example calling web methods, you need to make the following changes. This includes applications such as mobile clients, portals, data load, and integration solutions.
You must support Microsoft online services identities in addition to Microsoft account (formerly Windows Live ID). For more information, see Authenticate Office 365 Users with Microsoft Dynamics CRM Online Web Services.
If your solution runs end user interaction, you will need to ask your customer to create a (non-interactive) service account for your application. For more information about a non-interactive user, see Synchronized Users in Microsoft Dynamics CRM Online and Office 365.
The Microsoft Dynamics CRM 2007 web service endpoints are not supported by the new platform. If your solution is still using the 2007 endpoints, you need to migrate the solution to interact with the 2011 web service endpoint. For more information, see Upgrade Your Code from Microsoft Dynamics CRM 4.0 to Microsoft Dynamics CRM 2011.
If you are currently using the Microsoft Dynamics CRM Online web service endpoints through the Windows Live identity provider, you need to update the discovery service endpoint URLs for each data center to use the endpoint for the Microsoft Office 365 identity provider. For more information about the endpoint URLs, see Discover the URL for Your Organization with IDiscoveryService Web Service.
You have a Windows Azure Listener Application that uses Message Buffers
Coming in Microsoft Dynamics CRM 2011 Update Rollup 12 and Microsoft Dynamics CRM December 2012 Service Update, the use of message buffers in Windows Azure listener applications is no longer supported. If you have implemented a Windows Azure listener application that makes use of message buffers, you must update your listener application to instead use persistent queues or topics.
The following procedure lists the generic steps to follow to update a listener application that retrieves messages from a message buffer to one that receives messages from a persistent queue.
How to Update a Message Buffer Listener to Use Persistent Queues
On the Windows Azure portal and in the same solution, create a queue in the same path as was used for the message buffer.
Install the Windows Azure SDK v1.6 or later on your development box.
Update the listener code by removing the message buffer related classes and methods, and then replace them with QueueClient and Receive. Be sure to use the desired read mode: RetrieveAndDelete or PeekLock. For more information about reading messages from a queue, see Queues, Topics, and Subscriptions.
Build the listener application.
No Microsoft Dynamics CRM configuration changes are necessary as long as the queue endpoint uses the same solution path as the message buffer had used.
For more information about developing with Microsoft Dynamics CRM, see Microsoft Dynamics CRM 2011 SDK.