Girish Raja, a Technical Evangelist at Microsoft whose focus is on evangelizing platform technologies to developers and companies, spends most of his time on CRM, but since he also has a SharePoint background, integration between the two platforms is a favorite topic. He said that his TechEd session's focus would be on built-in (i.e., out-of-the-box) connection points between CRM Online and SharePoint, and via the use of BCS, Web Parts, and Silverlight. For a limited time, the source code from Girish's TechEd session will be available for download at his blog.
Addressing what SharePoint 2010 has to offer, Girish spoke of it as a developer platform, specifically regarding developer productivity, rich platform services, and flexible deployment. Similarly, for CRM/xRM, Girish pointed to rapid development, rich platform services, and the cloud. As for how they work together, not surprisingly, Girish said "They're complementary," and went on to discuss the individual strengths of each of them in terms of determining which is the right platform for development based on a given process (for example, SharePoint is stronger for social engagement and collaboration, whereas CRM makes more sense for interactions, activities, and tasks).
The first integration point Girish addressed was documents, specifically the association of SharePoint documents with CRM records, noting that this works with SharePoint Online as well as on-premises. In his demo, Girish began in CRM, talking through the clicking of Install List Component first, and then getting the .WSP files from the download and installing them in SharePoint. Next was the configuration of settings in CRM, determining which entities to enable for document management, followed by enabling it via the Wizard, which will auto-create document libraries in SharePoint for each entity. Girish then opened an A Store (sample) account which brought back the list of documents, and then, in SharePoint, he demonstrated that the document libraries had been created in SharePoint (by CRM) to surface the A Store documents.
Girish named SharePoint Designer, Expression Blend (for Silverlight control development), and Visual Studio as developer tools to get started, and used Visual Studio in his second demo, employing a "Hello World" Web Part to show the integration of SharePoint and CRM via Web Parts. Using Visual Studio to create a new Visual Web Part, Girish then added a few assembly and Web Services references (see his source code for the details). After authenticating in CRM and right-clicking in Visual Studio to deploy, Girish did a little debugging via the F10 tool, then showed the resulting "Hello World" Web Part, correctly displaying his User ID and a list of accounts. As an aside, Girish mentioned that the List Web Part works with CRM 2011, SharePoint 2007, and SharePoint 2010 on-premises.
Moving on to his BCS demo, Girish covered creating an External Content Type in SharePoint that maps to CRM data. Girish did this using a custom BCS Connector tool which is available to have SharePoint automatically connect to CRM via BCS, saying it "takes about ten minutes to set up." The only downside Girish noted is that it's read-only, and can't write back to CRM (so you have to go back to Web Services for writes). In his demo, Girish showed that custom connections can be brought into SharePoint, and demonstrated CRM My Accounts fields being surfaced and edited in SharePoint (noting that create and delete functionality are also available in SharePoint, even though the data actually lives in CRM Online). Girish demonstrated that when changes are made to the data in SharePoint, BCS calls Web Services and makes the corresponding changes in CRM.
Moving on to the Silverlight client, Girish said that it "helps to integrate SharePoint Online with CRM Online," and that "When used for Web Parts, you can bake them as sandboxed solutions." Girish warned that you watch out for cross-domain calls since you can't do this out-of-the-box, but said that there's a workaround available. What followed was a "functional walkthrough" of CRM Silverlight Host Web Parts in SharePoint, each bringing back views and charts representing CRM column data (charts are one of the new features of CRM 2011). Included was a brief walkthrough of the deployment process via the Solutions Gallery, and the authentication prompt for the Web Part. Girish demonstrated that authentication is shared via isolated storage with the rest of the Web Parts on the page, so authenticating in one Web Part will display CRM data in all Web Parts on the page.
In summary, Girish said that "Getting started is simple and easy, CRM has native SharePoint integration, there is easy extensibility and connection to the cloud, and if you want to build custom integrations, it's not super-hard to do."
In addition to the session source code at Girish's blog, free resources Girish shared included the following:
Developer Training Kits
- CRM 2011 Developer Training Kit
- SharePoint 2010 Developer Training Kit
- SharePoint and Windows Azure Training Kit
Whitepapers
Read our complete coverage of Microsoft TechEd North America 2011:
- 'Applying Branding from an Existing Website to Microsoft SharePoint 2010' with Jon Flanders
- 'Creating Self-Service Analytic BI Applications with Microsoft SharePoint 2010' with Peter Myers
- 'The 10 Immutable Laws of Microsoft SharePoint Security' with Rick Taylor
- 'Integrating Microsoft SharePoint 2010 and Microsoft Dynamics CRM Online' with Girish Raja
- Daniel Benson & Mark Stone on 'Creating Great End User Experiences with Fast Search for SharePoint 2010'
- 'Claims Identity in Microsoft SharePoint 2010' with Paul Schaeflein
- Chris Mayo on 'Developing Collaboration Solutions in the Cloud with Microsoft SharePoint Online'
- 'Creating Custom SharePoint Service Applications 101' with Todd Bleeker
- Aftab Alam & Chris Hopkins on 'IT-Centric Dashboards in Minutes with Microsoft SharePoint 2010 Using Microsoft Visio/Visio Services'
- 'Plan and Deploy My Site for Microsoft SharePoint Server' with Chris Gideon