You are on page 1of 21

Microsoft Dynamics CRM and SharePoint Platforms

Choosing the Right Tools for the Solution

James J. Townsend

An Infostrat White Paper


Information Strategies 4301 Connecticut Avenue, NW Suite 451 Washington, DC 20008 202.364.8822 www.infostrat.com info@infostrat.com

Published: July 2008 For the latest information, please see http://www.infostrat.com

The information contained in this document represents the current view of Information Strategies, Inc. on the issues discussed as of the date of publication. Information Strategies, Inc. cannot guarantee the accuracy of any information presented after the date of publication. This white paper is for informational purposes only. Information Strategies, Inc. MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in, or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Information Strategies, Inc. 2008 Information Strategies, Inc. All rights reserved. Microsoft, Exchange Server Public Folders, Microsoft Office, Microsoft Office SharePoint Server 2007, Microsoft Outlook 2007, Microsoft Windows, Microsoft Windows Search, Microsoft SQL Server, Windows Desktop Search, Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Contents
Background ............................................................................................................................ 1 Executive Summary ............................................................................................................... 2 The Microsoft Development Platform ..................................................................................... 4 Dynamics XRM .................................................................................................................. 4 SharePoint and Dynamics CRM Paradigms ........................................................................... 5 Data Model ......................................................................................................................... 6 Dynamics CRM Strengths ...................................................................................................... 7 Relational Data................................................................................................................... 7 Centralization and Standardization ..................................................................................... 7 Data Import and Export ...................................................................................................... 7 Contact Management ......................................................................................................... 8 Marketing and Outreach ..................................................................................................... 8 Security Model ................................................................................................................... 8 Central, Authoritative Database .........................................................................................10 SharePoint Strengths ............................................................................................................12 Portal Framework ..............................................................................................................12 Document Management ....................................................................................................12 Content Management ........................................................................................................12 Full Text Search ................................................................................................................12 Decentralized Administration .............................................................................................13 Using Both Microsoft Dynamics CRM and SharePoint ..........................................................14 About Information Strategies .................................................................................................17

Background
Microsoft offers many a rich platform for developing solutions, and many different development tools, programming languages and application servers for different purposes. This white paper explains how to choose when to use Microsoft Dynamics CRM, when to use Microsoft SharePoint (either Windows SharePoint Services or Microsoft Office SharePoint Server) and when to use both for a solution. As president of a Microsoft Gold Partner which specializes in both Dynamics CRM and SharePoint, with over twenty years of custom development experience, I have been involved in many projects and solutions on these platforms. Our experience helps my company to guide clients in choosing development tools and solution architecture. In another white paper, Microsoft Dynamics CRM as a Development Platform, I showed how Dynamics CRM offers more than simply an off-the-shelf Customer Relationship Management (CRM) software package and how it is suitable to build line of business solutions for common business needs while significantly reducing technical risk, cost, and implementation time, compared to traditional custom application development. As co-author of Building Portals, Intranets, and Corporate Web Sites Using Microsoft Servers (Addison Wesley), I have discussed how to build SharePoint solutions, along with related Microsoft products such as InfoPath and BizTalk. Since the publication of Microsoft Dynamics CRM as a Development Platform, I have received a large number of questions relating to SharePoint and how it may fit with Dynamics CRM. SharePoint developers have questioned the need for Dynamics CRM, when custom development along with SharePoint can produce a wide range of business solutions. Microsoft account executives and technical specialists have asked for clarification and positioning of the products. This white paper, written for information technology managers, software architects and software developers, addresses the challenges of application development and the role that SharePoint and Microsoft Dynamics CRM can play in creating line of business (LOB) applications. It covers the versions of SharePoint and Dynamics CRM available at the time it was written (SharePoint 2007 and Dynamics CRM 4.0) and does not include third party addin products.

www.infostrat.com

Executive Summary
Microsoft SharePoint (Windows SharePoint Services and Microsoft Office SharePoint Server) and Dynamics CRM are complementary tools which apply to different types of solutions. Dynamics CRM is more than customer relationship management; it is a sophisticated tool for developing line of business applications which provides a rich data model, security scheme, an elegant and familiar user interface, workflow, offline synchronization with Outlook, and end user tools for queries and reports. It lends itself to structured business data and to centralized, standardized implementations. SharePoints strengths are web content management, document management, a portal framework and a search engine. SharePoint is Microsofts top offering for building a web site or intranet. It is designed to work with unstructured data such as web content and documents, and lends itself to decentralized administration. Before embarking on a new line of business application, you can save time and headaches by analyzing which tool is best suited to meet your requirements. As a portal framework, SharePoint provides: Dashboards Document management Document search Content Management Web sites Dynamics CRM is a stronger development platform than SharePoint if you need relational line of business solutions such as: Sales force automation Field inspection Marketing Outreach and public relations Case management Inventory Orders Service scheduling Microsoft SharePoint and Dynamics CRM were built with different goals in mind, and each has unique features that are not included in the other product. While SharePoint offers site templates and lists for common business solutions, you cannot go far in developing a multitable solution without resorting to full scale custom application development. The lack of centralized standards and data dictionaries in SharePoint makes it a challenge to maintain consistent lists across the enterprise. Dynamics CRM, on the other hand, contains build-in solutions for sales, marketing, service scheduling, and similar customer-facing applications. It is an excellent foundation for many

www.infostrat.com

other solutions such as case management, investigations, permitting, human resources and others. Most Dynamics CRM solutions benefit from SharePoint to provide a point of entry as well as document management. Duplicating the functionality of Dynamics CRM in SharePoint would be a Herculean task. For business solutions which call for a centralized, relational database with a sophisticated security model, Dynamics CRM is a better solution than SharePoint alone. Extensive and cumbersome custom development and workarounds are needed in SharePoint to get close to Dynamics CRM out of the box. You could drive a nail with vise grips (figure 1), but you may do better with another tool. You can use SharePoint for contact management, for instance, but SharePoint features are weak in this area. While SharePoint client licenses are inexpensive compared to Dynamics CRM, for more complex solutions the higher cost of custom development can easily close the price gap of the overall solution.

Figure 1. Using the Wrong Tool for the Job

Dynamics CRM is a stronger platform for most line of business applications than SharePoint alone, unless your goal is to provide full employment for developers. It is a truism of software development that anything is possible with enough time and money, but you probably do not want to prove this with your own time or money.

www.infostrat.com

The Microsoft Development Platform


Of all software vendors, Microsoft arguably offers the broadest development platform. The breadth of tools is a function of the large number of server products from Microsoft such as SQL Server, Microsoft Office SharePoint Server, SharePoint, BizTalk, PerformancePoint Server and others as well as decisions to support multiple development tools and even programming languages. For instance, Visual Studio was designed to support not just one but several languages, including C#, Visual Basic.NET, and JavaScript. Microsoft Office has its own application programming interface (API) to make it extensible. SharePoint even offers a development tool of its own SharePoint Designer. The breadth of the Microsoft platform means that developers face many choices and can build solutions that contain multiple application servers, clients and programming languages. For instance, a common scenario for our clients is to use SharePoint to host intranets and extranet portals, using Dynamics CRM for sales force automation, and displaying CRM data in SharePoint dashboards. The Microsoft platform is becoming more and more integrated over time. For example, In SharePoint incorporates the content management features of Content Management Server, simplifying the platform for developers. Dynamics CRM 4.0 changed from its unique workflow modeling to the Windows Workflow standard which is also happens to be used in SharePoint. Standardizing the platform across products increases interoperability and reduces the learning required of developers who move from one product to the other. The most fundamental ties that bind Microsoft solutions are the Windows operating system, Internet Information Server (IIS) and SQL Server. Knowledge of these foundational elements is required for both SharePoint and CRM solutions. Dynamics xRM Although it says CRM on the box, implying customer relationship management, the best way to think about Dynamics CRM is as a platform for all kinds of line of business applications. The product could be renamed xRM where the x stands for a plethora of common business applications for all manner of transactions and activities. For public sector customers, xRM could mean constituent communication tracking, electronic building permits, case management, field inspections, regulatory compliance, utility service scheduling, and more.

www.infostrat.com

SharePoint and Dynamics CRM Paradigms


SharePoint and Dynamics CRM were developed independently, with different features and functions in mind. SharePoint began as a document management and collaboration environment, combined with a search engine. It later grew to encompass enterprise content management. Dynamics CRM began as sales force automation and customer relationship management. Only later did both SharePoint and Dynamics CRM end up in the Office product group at Microsoft. Therefore, it is not surprising that they have some overlap in functionality and in their intended markets. In their current versions, they are also mainstream Microsoft products which take advantage of the Windows Server, Windows workstation, and Microsoft Office environments. SharePoint and Dynamics CRM have many architectural features in common, such as: Web-based, with broad browser support Use SQL Server to store data and metadata Integration with Outlook and other Office products Allow single sign-on with Active Directory Rely on Windows Server Built on Internet Information Server (IIS) Allow documents to be stored Use Windows Workflow for automating workflows Use Visual Studio as development environment Support security groups Indeed, SharePoint and Dynamics CRM came from the same research and development organization, and are offered by the same product group at Microsoft. Much of the user interface and some of the administrative functions are similar for the products. On closer examination, however, differences emerge. Table 1 shows key elements that make up each product, grouped on the same row to show rough correspondence:

Element
Data Fields User Interface Data entry Knowledge Base Workflow Views

Dynamics CRM
Entities (relational data) Attribute Not applicable Forms Knowledge Base Workflows Reports, views

SharePoint
Content types (pages, lists, etc.) Column / field Web parts Web pages Wiki Workflows Views, content query web part

www.infostrat.com

Web sites Web site templates Web page templates Dashboards Forms Personalization Notifications Tasks Duplicate checking Reports Advanced Reports Offline

Not applicable Not applicable Not applicable Not applicable Multipage form (tabs, one-to-many) My Work Workflow Tasks Duplicate checking Report designer Report Builder (SQL Reporting) Offline (requires Outlook)

Sites and sub-sites Site templates Page templates Web part pages, Business Data Catalog Single page form My Site Alert Tasks Document names Report Center; Excel Services Report Builder (SQL Reporting) Offline (requires Groove)

Table 1. SharePoint and Dynamics CRM Key Elements

Both SharePoint and Dynamics CRM are integrated into Microsoft Office in several ways. For instance, SharePoint allows saving documents from Office into SharePoint document libraries, as well as linking to Outlook Calendars. Outlook meeting requests can link to SharePoint workspaces. Dynamics CRM (with the Outlook add-in) allows Outlook contacts, email messages, and appointments to be quickly added to Dynamics CRM. Dynamics CRM records can even be taken offline in Outlook, a great feature for field inspections. Data Model SharePoint is a content management system with a portal framework, a search engine and document management. It is a general purpose collaboration tool and may be applied to intranets, extranets and public websites. SharePoint is based on the concept of lists, which are comparable to database tables. Dynamics CRM is a database application for tracking a number of entities relating to sales, marketing, customer service and contracts along with related activities and workflow. Dynamics CRM exposes the data model to administrators as entities and attributes (tables and columns). They can easily view all entities and attributes, as well as all locations such as forms where the attributes are used. Lets take a closer look at some of the strengths of SharePoint and Dynamics CRM for common business solutions.

www.infostrat.com

Dynamics CRM Strengths


Relational Data While SharePoints strength is unstructured content such as documents and web pages, Dynamics CRM is often better for structured, relational data. While SharePoint provides some features to get you closer to relational behavior, such as lookup columns in lists and site columns, other key features are missing. Several years ago my company embraced SharePoint for generating customer proposals. It was great to store drafts, collaborate on documents, and track calendars. We added metadata to the document library to show the type of proposal, name of customer, and other pertinent information. We ran into problems, however, when we want to run more sophisticated reports on sales activity, to match security permissions to account territories, and other features that are common in a CRM system. Consequently, we embraced Dynamics CRM when version 3.0 shipped in order to track sales and marketing activities, but kept SharePoint as the repository for proposal documents. It is not that SharePoint cannot support relational databases, but rather than Dynamics CRM is based on a relational paradigm in a way that SharePoint is not, and significant custom development is required to create a relational application that runs in the context of SharePoint. For instance, the SharePoint user interface and API gives a developer very little to support simple needs such as web forms with sub-forms showing related records, and enforcement of referential integrity such as deleting related records when a parent record is deleted. Centralization and Standardization Dynamics CRM excels at promoting consistency and shared standards that are centrally administered. Unlike SharePoint, Dynamics CRM applications have a shared data model so that the attributes are the same for an entity for all users. The security model and the user interface of Dynamics CRM are better suited to central administration than list objects in SharePoint which are under the control of site owners. Data Import and Export Dynamics CRM comes out ahead of SharePoint in this category with its import utility and the ability to export from custom views, despite some SharePoint import and export features relating to Excel and Access. Dynamics CRM provides a wizard interface to map data fields on import, and batches imports so unsuccessful imports can be undone. Dynamics CRM is supported by mature third party import tools for importing and synchronization with other data sources as well.

www.infostrat.com

Contact Management As contact management is at the core of Dynamics CRM, this one is not really a fair fight. Straight out of the box, Dynamics CRM is a powerful contact management solution, while the SharePoint contact management template is crude by comparison, and lacks the most fundamental features (duplicate checking, field formatting, field validation, multiple addresses, links between contacts and organizations, mail merge) you would seek in contact management. . SharePoint offers a site template for contact management which implies that SharePoint provides a viable contact management system. Unfortunately, in this case, SharePoint does not deliver. The SharePoint contact management site template contains merely a handful of fields, and lacks the ability to track contact activities such as phone calls, meetings, or letters. The SharePoint contact management template contains no reports. You would be better off to track your contacts in an Outlook public folder than in the SharePoint contact management template. Marketing and Outreach Dynamics CRM contains powerful features to contact people by generating emails, perform mail merges, and generate phone call lists. Dynamics CRM helps you manage marketing campaigns and track expenses as well as responses to the campaign. Since contact management is the core of Dynamics CRM, these features are mature and rich. To match even one of these functions in SharePoint would require significant custom development. The only feature that comes close is the ability to send an email to members of a SharePoint site. Security Model Dynamics CRM has a fundamentally different security model than SharePoint, as shown in Table 2. It embodies the concept of an organizational hierarchy which segments data horizontally and vertically. Dynamics CRM also relies on the concept of record ownership and assignment. For instance, a sales manager can see all the opportunities that belong to the sales reps who report to her, but the sales reps cannot see one anothers records. When a new opportunity is received, it may be assigned to the appropriate sales representative with the built-in Dynamics CRM feature Assign.

www.infostrat.com

Architectural Element
Organization hierarchy Row level security Field level security Permission inheritance Security administration

SharePoint
Does not exist, only site hierarchy Supported by exception in list objects Requires workaround By default by may be broken Difficult to view across SharePoint farm

Dynamics CRM
Represented in CRM administration Supported by default and mapped to CRM user roles Requires workaround By default, user may reassign record ownership Centralized

Table 2. SharePoint and Dynamics Security Models

Dynamics CRM has a security model that includes the idea of an organizational hierarchy as well as individual record ownership. For instance, you can have two divisions of a company that use the same data model and functionality but do not share data with one another. Sales accounts may be divided into territories, and managers assigned to a group of account executives. This means that all records associated with an account, such as contacts and activities will be visible to people with rights to that account. SharePoint has a security model that resembles Windows file system permissions, but with a twist. A document library (or another list object) has permissions that flow down from the parent site. Items in the list object inherit permissions as well. Only if inheritance of permissions is broken can individual item permissions be set. SharePoint has a security model which offers its own richness and complexity, but in some ways is better suited to content management and web sites than to line of business applications. For instance, security permissions and roles may be inherited from a parent site or the inheritance may be broken to allow custom permissions. SharePoint has no paradigm comparable to Dynamics CRM for modeling an organization, nor does it support the concept of record ownership as defined in Dynamics CRM. While neither SharePoint nor Dynamics CRM have field level security, the workaround for this is usually scripting on the form to show or hide attributes.

www.infostrat.com

Dynamics CRM allows you to easily view permissions for each role, as shown in figure 3.

Figure 3. Dynamics CRM Security Role for Sales Manager

The permissions for each entity are quite granular, and are enforced in conjunction with record ownership. SharePoint has no analogous capability. Central, Authoritative Database While SharePoint can store structured data in list objects, it is no simple task to define single, authoritative sources of data to be shared in an organization. By default, SharePoint allows users to create list objects with the same name in different sites. New columns added to one of these list objects have no impact on other lists with the same name in other sites. For instance, my company could have ten lists called Contacts based on the Contacts list that shops with SharePoint in ten different sites. SharePoint provides no mechanism for me to prevent entry of duplicate records across these lists, nor to propagate changes to the data model to the lists. One workaround is to define a custom content type, and encourage users to adopt that content type when they create their own lists. For instance, I could create ISContacts and

www.infostrat.com

10

recommend it be the standard for creating contact lists. Adding a new column to ISContacts would update lists based on this content type throughout the site collection. Of course, if there is more than one site collection, no such control would exist. In Dynamics CRM, you cannot define two entities with the same name. Therefore, data is stored in a single store and checks such as duplicate checking can be effective. Adding new attributes updates all records, and forms may be updated centrally. The closest that SharePoint comes to this concept is with content types. For instance, content types allow the administrator to define different metadata that relates to different documents in a document library or list based on the user choosing a content type. One of the ways to implement content types is with a SharePoint feature called features (yes, you read that correctly) that make it easier to deploy code throughout Windows SharePoint Services. SharePoint views are fragile and are not easy to manage centrally. A common SharePoint frustration is that updating a view does not update the web parts that use the view on a web part page. To accomplish this task, the administrator must open the web part page in design view, open the web part and reapply the view in order to override the previous definition of the view.

www.infostrat.com

11

SharePoint Strengths
Portal Framework SharePoint provides a framework for building websites, whether public websites, intranets or extranets. You can create and populate a website quickly with SharePoint with a minimum of custom development. Document Management If unstructured data is the core of your application, SharePoint may be sufficient on its own. Several years ago my company embraced SharePoint for generating customer proposals. The features of SharePoint provided many advantages over our previous approach, largely using file shares, Word, Excel and email. For instance, SharePoint provides: Shared website Access without VPN client Document management Version control Email Alerts Workflow Full text search Document metadata Meeting and project workspaces While Dynamics CRM allows you to attach files to records, it is not a document management system. If you want version control, check-in, check-out and other document features, you need to turn to SharePoint. Content Management SharePoint is a content management system and Dynamics CRM is not. Dynamics CRM provides no functionality to build websites, intranets or extranets. While Dynamics CRM can provide data for web services which you publish on a website, for content management, SharePoint is the hands-down winner. Full Text Search SharePoint offers a search engine which crawls multiple sources, searches on full text, and returns a combination of hits from web pages, documents, personal profiles and other sources. Dynamics CRM allows searching in its structured data but has nothing to compare with the SharePoint search engine.

www.infostrat.com

12

Once again, if you need this type of functionality, SharePoint and not Dynamics CRM would be your choice. Decentralized Administration The SharePoint paradigm provides a great deal of flexibility and independence to site owners. In a decentralized organization, SharePoint allows departments and other groups to set their own standards without affecting others. SharePoint lists may be easily customized by adding new columns without affecting other lists in other sites. You could have ten lists each called proposals with different fields and different configurations. Nor is there a requirement that these lists share the same name, so similar lists could proliferate with different names in the same or different sites.

www.infostrat.com

13

Using Both Microsoft Dynamics CRM and SharePoint


SharePoint technologies include two products, Windows SharePoint Services (WSS) and Microsoft Office SharePoint Server (MOSS 2007). SharePoint provides web content management, document management (including versioning), a portal framework for digital dashboards, and a powerful search engine. For instance, while Microsoft Dynamics CRM is not a document management product, SharePoint is easily integrated and provides this capability. As shown in figure 2, you can use SharePoint in the context of a Dynamics CRM application to store related documents and expose links to the documents on Dynamics CRM forms.

Figure 2. SharePoint document library displayed in Dynamics CRM

By integrating SharePoint with Microsoft Dynamics CRM, you can easily add this extensive functionality to your solution. For instance, you can add a tab to a Microsoft Dynamics CRM screen that shows a document library containing draft documents. The content management features of SharePoint allow you to build a page on your website which can display reports or other data from Microsoft Dynamics CRM. SharePoint provides two ways to create executive dashboards. First, SharePoint can host multiple SQL Reporting Services reports on a single SharePoint page. The SharePoint Business Data Catalog (BDC) offers another integration point with Dynamics CRM. To provide enterprise dashboards, you are likely to need information from multiple systems,

www.infostrat.com

14

often from multiple vendors and even potentially on multiple networks. SharePoint is often the best Microsoft tool to fulfill this requirement, using the BDC. The BDC can connect to Dynamics CRM and show key performance indicators based on CRM data. Finally, SharePoint is the first choice for building websites which allow outside users to enter or view data in Dynamics CRM, such as customers, constituents, vendors and other parties outside the enterprise domain, even anonymous users. Both SharePoint and Dynamics CRM have licensing options for external connectors to accommodate this need.

www.infostrat.com

15

www.infostrat.com

16

About Information Strategies


Since 1987, Information Strategies (Infostrat) has been delivering IT solutions to government and business customers, focusing on portals, customer relationship management, and custom database applications and integration. We were named Microsoft Federal Partner of the Year in recognition of our work with the U.S. government and are winners of numerous Microsoft Partner Awards. Infostrat has completed over 800 technology projects. Together, we have over 60 publications to our credit, including the most recent book Building Portals, Intranets, and Corporate Web Sites with Microsoft Servers (Addison Wesley, 2004). This book was the first to address the entire Microsoft portal platform, and contains valuable information not only for software developers but also for chief information officers and other technology managers. Infostrat helped develop one of the largest portals used by the U.S. federal government, www.employeeexpress.gov, hosted by the Office of Personnel Management. The portal has over one million users from dozens of civilian federal agencies. Information Strategies line of business solutions built on Microsoft Dynamics CRM and SharePoint include: Recruiting Sales Force Automation SharePoint Classification Tool Housing Management E-Permitting Case Management Association Management Lobbying Our offices are located in Washington, D.C., Charlottesville, Virginia, Austin, Texas and Houston, Texas.

www.infostrat.com

17

Information Strategies
4301 Connecticut Avenue, NW Suite 451 Washington, DC 20008 202.364.8822 www.infostrat.com