Microsoft Development Comparison  

December 1, 2011 · Posted by System Account
0  Comments · Trackback Url

Microsoft Platform Development Comparison and Features Analysis

The following article provides a comparison between three predominate Microsoft technologies: SharePoint 2010, Microsoft Dynamics CRM 2011 and Microsoft .Net 4.0. The decision to move away from best-of-breed and custom-coded application integration is long in the past for most IT organizations. The platform approach is what most clients want and they are considering a variety of options ranging from open source platforms to completely cloud-based alternatives. SharePoint, Dynamics xRM and Custom ASP.Net all have their advantages and disadvantages here in this Platform Recommendation we will illustrate those for each identified capability. These opinions are taken from a application development point of view and not from a collaboration or document management perspective in which case many additional SharePoint features could be highlighted.

 

Relational Based Data Management

Microsoft SharePoint is a market leader in document management and collaboration. The 2010 version of Microsoft SharePoint offers enhanced capabilities in the way of Content Types. Content types are a core organizational feature of SharePoint 2010. They are designed to give users the ability to organize SharePoint content in a standardized and meaningful manner. Site columns (metadata) can be encapsulated within a content type to enable reusable structure or can be independently added to sites and lists.

At its most basic level, a content type is a collection of settings which can be applied to content. They are reusable since content types are independent of sites and lists. A content type includes site columns to define the desired information. Example: The Task content type includes site columns for Task Status, Start Date and Due Date where the Schedule content type includes site columns for Location, Start Time and End Time. Using these content types as a template when a new task or event list needs to be created is much more efficient than configuring separate lists and using site columns. Content Types and lists promote list-level data organization, but does not really help us achieve comprehensive Relational Based Data Management. Even the classic one-too-many order-header, order-detail concept is awkward to deal with in a pure SharePoint solution.

The data content used by Microsoft Dynamics CRM 2011 is based entirely on a entity model created automatically by the application UI and SDK in Microsoft SQL Server. Tables, Fields, types requirement level and size are all selected within the Microsoft Dynamics CRM 2011 application UI and are then generated in the SQL database along with the ability to create, update and delete the data stored within them. It is not necessary or even supported by Microsoft to ever write a single stored procedure or even a snippet of TSQL code. Certainly ASP.Net support a variety of options to manage relational based data; LINQ, ADO or even XML but all these option require untested and yet to be designed code and architecture, for these reasons our findings for applications requiring heavy Relational / Structured Data Management are:

  • SharePoint 2010 - Not Recommended
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Inherent Risk    

Complex Data Associations and Relationships

Similarly to the section above (Relational Based Data Management) Microsoft SharePoint 2010 does not fully support data relationships (other than forming relationships through lookup fields). Conversely Microsoft Dynamics CRM supports a full range of complex relationship types. Entity relationships define the data relationship between two entities in the system. Microsoft Dynamic CRM uses entity relationships to manage how data interacts in the system metadata. This metadata design gives you the opportunity to customize and manage the data relationships easily. You can create the following types of relationships:

  • One-to-many,
  • Many-to-one,
  • Many-to-many, and
  • Self-referential.

These relationships support Parental, Referential, Referential Restrict Deletes and Configurable Cascading which allows user based relationship rules. This type of Complex Data Associations and Relationships would be virtually impossible to support in SharePoint and extraordinarily risky and expensive to design in .Net. for these reasons our findings for Complex Data Associations and Relationships are:

  • SharePoint 2010 - Not Recommended Inherent Risk
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Not Recommended     

Record Auditing

Auditing allows us to track the changes that have been made to a record since the time the record was created. This is supported in SharePoint via versioning and while it can be designed and built in .NET, it would take some effort. In Microsoft Dynamics CRM auditing can be turned on or off on a entity by entity and field basis. Who changed the data and what changed are recoded along with the old and new values at the field level. For these reasons our findings for Record Auditing are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Inherent Risk

Automated Data Form Creation

From the SharePoint UI, lists and forms can easily be created. Additionally "web-parts" both custom built and third-party can be used to represent single dimension data. Without the use of a third-party tools, form design and layout is a manual achieved in Visual Studio for .NET.  Ensuring 501C compliance and usability testing are fully required after the development effort has been completed. Microsoft Dynamics CRM 2011 is 501C compliant and form UI layout requires no coding. From within the application UI fields can be dropped on the data-form which is automatically created at the time the entity is created (see Figure 1). Additionally we can have multiple forms that are served up based on either user role or the client (i.e. mobile devices the user is currently using).

For these reasons our findings for Automated Data Form Creation are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Inherent Risk    

Workflows

Workflows in Dynamics CRM are Processes. Processes are split into 2 categories: Workflows and Dialogs

Dialogs are basically interactive workflows that allow the user to enter input data while the workflow logic is being executed in the background

Whereas workflows can be started by a trigger and executed asynchronously, dialogs must be started by the user and executed synchronously In short, dialogs are the "wizard engine" for workflows. From within the SharePoint or Microsoft Dynamics admin panels we can configure workflows and business processes and even include business decision logic without the need of writing custom code. Microsoft .Net uses the same workflow engine as SharePoint and Microsoft Dynamics (Windows Workflow Foundation 4.0) but requires that the workflows be coded.

For these reasons our findings for Automated Data Form Creation are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Inherent Risk    

Case Management

Microsoft Dynamics CRM 2011 offers a full line of business Case Management application. One unique feature of the Dynamics case management tool is its ability to seamlessly integrate with Microsoft Outlook the email client of choice for TSA and most enterprise. Tasks, appointments, custom activities emails and alerts can all be directed through the Outlook client in a manner users are familiar and comfortable with. SharePoint doesn't have a case management solution and although one could be built in either SharePoint or .Net it would be a full custom solution.

For these reasons our findings for Case Management are:

  • SharePoint 2010 - Not Recommended
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Inherent Risk      

Field Level Security

Data visibility in CRM 2011 can be controlled per field, this applies to all components (reports, forms, filtered views etc.), data is never sent to client without access rights. This granularity is not supported Microsoft SharePoint and would require a great deal of complexity to deliver in a custom .Net application.

For these reasons our findings for Field Level Security are:

  • SharePoint 2010  - Not Recommended
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Not Recommended    

Role Based Security


ASP.NET role management enables you to easily use a number of different providers for your ASP.NET applications. You can use the supplied profile providers that are included with the .NET Framework, or you can implement your own provider. Both SharePoint and Microsoft Dynamics CRM 2011 have very flexible and granular role based security. For these reasons our findings for Role Based Security are:
  • SharePoint 2010  - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Fully Supported
        

Team Based Security

Team based record ownership is new to Microsoft Dynamics 2011. Features of Teams are:

  • Assign security roles to an entire team
  • Teams can own records
  • There is a default team for each business unit. All users in a business unit are members of this team
  • Access checks are additive. You can access entities based on the roles assigned to the user plus the roles assigned to the team a user is a member of. This allows a user to have privileges outside their business unit

Neither Microsoft SharePoint or .Net support the concept of Teams, it is a powerful feature unique in the Microsoft stack too Microsoft Dynamics 2011.  While SharePoint does not support "Teams" it provides similar capabilities through site-level groups and / or active directory groups.

For these reasons our findings for Team Based Security are:

  • SharePoint 2010 - Similar support can be achieved
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Not recommended

Multi-Tenancy

The Multi-Tenancy capability of Microsoft Dynamics CRM 2011 and Business Unit organizational structure allow for a very flexible and granular disbursement of line of business applications and data. Figure 2 demonstrates the wide variety of options. Multi-Tenancy provides an organization with wide ranging security and business considerations to manage a single application code base while supporting multiple tenants which may be fully unaware of one another. Multi-Tenancy in SharePoint 2010 isn't a "feature" it is a set of configuration options, claims authentication being one. Designing a truly Multi-Tenancy application in .Net is certainly possible but highly complex and would include the need for a robust administrative framework.

 

 

For these reasons our findings for Multi-Tenancy are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Not recommended

 

508 Compliance

Section 508 of the Rehabilitation Act requires access to electronic and information technology procured by Federal agencies. Accessibility-compliance is one of the key new features of Microsoft Dynamics CRM 2011. Section 508 Compliance can be achieved with SharePoint, but doing so typically requires substantial development effort, or the use of third-party products. Of particular concern in SharePoint are the use of a number of ActiveX browser plugin controls.

For these reasons our findings for 508 Compliance are:

  • SharePoint 2010 - Inherent Risk
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0  - Inherent Risk

Enterprise Scalability

Microsoft Dynamics CRM was designed to scale efficiently to the needs of the largest global deployments it also provides flexible options for load balancing, clustering and data and transaction volume management and configuring and optimizing for speed and bandwidth requirements. Microsoft SharePoint 2010 has also been designed for both on local and cloud deployments and configured correctly offers infinite scalability across an unlimited number of content databases. Enterprise scalability across a large volume of users is a very complex technical matter, session management, caching and volume loading are all architectural concerns that can take enormous amounts of resources and talent to deliver reliable designs in a custom solution.

For these reasons our findings for Enterprise Scalability are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011  - Fully Supported
  • ASP.Net 4.0 - Inherent Risk (Extreme Risk)

Ad-Hoc Query and Search Engine

Microsoft SharePoint 2010 has a host of powerful search engine and ranking features that can be configured to behave in a number of ways. Evaluations and search can be performed on metadata, tags, content or even database record data. Microsoft Dynamics CRM 2011 has a very useful Ad-Hoc query tool called Advanced Find where users can create complex traditional database style queries on entities. These user created queries can be saved off as "Views" for later use. Although Microsoft Dynamics's Advanced Find tool is very effective at searching it's database it was not designed to be a "search engine" as in the case of SharePoint. One benefit of a custom .Net application is the ability to build specific search parameters on a page that are optimal for the searching most often done. This can also be a drawback because changes often require new design and or code considerations.

For these reasons our findings for Multi-Tenancy are:

  • SharePoint 2010  - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Inherent Risk

Dashboards

Microsoft SharePoint provides PerformancePoint Dashboard Designer is the design tool you will use to build key performance indicators (KPIs), indicators, scorecards, reports, filters, data sources, and dashboards. It also enables you to deploy your finished dashboards to SharePoint. Microsoft Dynamics CRM 2011 has a similar dashboard designer natively built-in which is available to both users and administrators. Providing a good dashboard feature in a custom .Net application would require the use of a third party product and it would be unlikely a end user could create their own one-off dashboards.

For these reasons our findings for Dashboards are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Inherent Risk

Reporting

SSRS is seamlessly integrated with Microsoft Dynamics 2011. Reports can be created two different ways. One way is to use the traditional Report Designer tools in SSRS to create a report and then import it in to Dynamics CRM and assign the appropriate security roles. The second is to use the Report Wizard built-in to Dynamics CRM which is available to users and administrators. Reporting off data stored in the SharePoint Content Database using SSRS is not practical but SharePoint does offer a number of list formats that can be exported or printed. Obviously a custom application designed in .Net could deliver the same reports as Dynamics CRM what it could not do is maintain the field level security based on the current users role.

For these reasons our findings for Reporting are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Fully Supported

Document Management

SharePoint is the ultimate document management and collaboration tool, it offers a vast array of content types, publishing options and tools for sharing knowledge and unstructured data. Microsoft Dynamics can hold attachments of documents and other files with a record but IS-NOT a document management tool. Microsoft Dynamics can be tightly coupled with SharePoint to deliver seamless document management and collaboration. A custom application could also take advantage of SharePoint integration but that integration would require custom code.

For these reasons our findings for Document Management are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Not reommended
  • ASP.Net 4.0 - Not recommended

Extensibility

Nothing is more extensible than a application built and designed from the ground up than a application built on the Microsoft .Net 4.0 framework. Both SharePoint and Dynamics can be extended using the same .net framework but each customization should be carefully considered. Once we start "undoing" features of either SharePoint or Dynamics a very critical eye should evaluate the objective and the platform.

For these reasons our findings for Extensibility are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Fully Supported

MS Office Integration

Both Microsoft SharePoint and Microsoft Dynamics CRM are integrated very tightly with Microsoft Office. With Microsoft Dynamics CRM data can be exported/imported to Excel or Word. Tasks and activities can me managed through Outlook. Automated emails as well as email campaigns can be managed and tracked in with Outlook or Dynamics CRM. SharePoint also takes significant advantage of Office integration providing tools like PowerPivot a BI tool delivered though Excel, message alerts and tasks. There is a number integration points and tools available for .Net, VSTO (Visual Studio for Office) is the most widely used. VSTO offers very flexible and comprehensive office integration but again requires custom code.

For these reasons our findings for MS Office Integration are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Inherent Risk

Business Intelligence

Microsoft Dynamics CRM offers only limited BI tools in the way of Views and Dashboards, SharePoint offers a much better set of tools and has the ability to interface with SSAS and other data-sources while Microsoft Dynamics CRM does not. Analysis Services is now fully integrated with the Microsoft .NET Framework there are also a number of third-party components that provide SSAS integration tools for custom .Net applications one good example is the Infragistics XamPivotGrid wich offers Multidimensional Data Views, Drag and Drop features, Filtering and Drilldown.

For these reasons our findings for BI are:

  • SharePoint 2010 - Fully Supported
  • Dynamics CRM 2011 - Fully Supported
  • ASP.Net 4.0 - Fully Supported

 

Summary Analysis

 

Leverage the Microsoft Technology Stack – Gartner Analysis of Dynamics CRM

Through Microsoft Dynamics CRM applications, Microsoft has a sound technology supported by multiple delivery models: SaaS, on-premises and partner-hosted. The vendor also delivers a capable CRM business application platform. Microsoft is working to better segment its market messaging, as there is confusion within the prospect installed base regarding which of the multiple choices is the most appropriate choice for a specific company's needs. The core competency of Microsoft Dynamics CRM is in sales force automation (SFA) and non-industry-specific customer service functionality.

Customer Service and Support

Microsoft Dynamics CRM 2011 is used primarily in nontraditional customer service environments, rather than formal contact centers. This often is where the real value in supporting a customer lies — for example, in a request for information, or a student, citizen, health, or government official's need to interact with another person. There are many scenarios across industries (such as government, healthcare, higher education, real estate and retailing) where the flexibility of the system to support a range of interactions makes it a good shortlist product.

User organizations that prefer a Microsoft Outlook look and feel, together with integration with SharePoint and Microsoft Office, will find the product appealing. In 1Q11, Microsoft released Microsoft Dynamics CRM 2011 worldwide, which contains better visual guides and workflow support, together with improved dashboards and analytical features. The system, although lacking strong industry expertise for complex customer service contact center environments, is very flexible, and users are able to extend the product, creating their own objects and workflows. The Customer Care Accelerator (CCA) product provides a unified view into multiple systems in a single interface, and is a standard part of the CRM package. The company offers both an on-premises and a cloud version of the product. The new Microsoft Dynamics CRM Online (SaaS) version of the product is not mature enough for a complex contact center environment; the on-premises and cloud versions of the product are low cost, compared with competitive offerings.

 

Platform and Customization Capabilities

Microsoft has made major strides in making Microsoft Dynamics CRM easier to configure and extend. Developers can use the Windows Workflow Foundation or Visual Studio 2010. Organizations can either use the user interface from Office 2010 (the contextual ribbon) or Microsoft Silverlight as the client. It is relatively straightforward to customize the interface for individual users, or lock down the interface while creating role-based interfaces and workflow.

Microsoft has also created a very strong combination of on-premises and cloud application environments. Microsoft offers Windows Azure as a platform in the cloud environment. Partners can deploy the product in a hosted model, while Microsoft also has a shared-hardware multitenancy.

Strengths

  • Competitive price for functionality, especially for the SaaS offering
  • Integration with Microsoft technology stack assets, such as Microsoft SharePoint for collaboration and content management or Microsoft Visual Studio for extended customization
  • On-premises multitenancy architecture enables companies to create their own private clouds for internal constituents
  • User interface compatibility with Microsoft Outlook clients, with the ability to create custom user interfaces
  • Broad partner delivery network to augment missing functional capabilities
  • Language support for 44 languages and other dialects
  • Consider This Product When
  • Your IT is Microsoft-centric around .NET and other value-added assets, such as SharePoint, BizTalk and Visual Studio
  • Using an on-premises, hosted or SaaS delivery model
  • Implementing sales force automation opportunity management
  • Your customer service processes are outside of the standard customer service problem resolution and case management area

Consider Alternatives When

  • Seeking best-of-breed functionality in the areas of sales effectiveness (e.g., sales configuration or pricing management) or sales performance management (e.g., incentive compensation)
  • Not committed to the Microsoft technology stack (SQL Server, .NET, etc.) for on-premises deployments
  • Requiring complex and industry-specific workflows in the CRM customer service contact center

 

Categories: 



0 Links to this post


    0  Comments


       

      Name *:
      URL:
      Email:
      Comment:


      CAPTCHA Image Validation