 |
| Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
 |
|
|
|
 z
|
|
Home > Gilham Consulting Microsoft Notepad > Posts > Introduction to Microsoft CRM/XRM for a .Net Developer
|
11/21/2009 The purpose of this article is to give an introduction to XRM for .NET Developers and application architects. Most developers are familiar with various Microsoft technologies including the .NET Framework, Microsoft SQL Server, WPF, and ASP.NET. They are accustomed to designing their applications using Microsoft SQL Server for data storage and modeling their applications using relational database techniques. Modern developers are also familiar with object-to-relational mapping frameworks including Entity Framework and LINQ-to-SQL. Developers who like to live on the bleeding edge are also familiar with AJAX, Silverlight, ADO.NET Data Services, and .NET RIA Services. This article will introduce using Microsoft Dynamics CRM for the data storage tier of an application, paralleling it to basic concepts that are used in designing applications using SQL Server. What is XRM? There are a couple of different definitions for XRM. One is that the “x” stands for extended, as in extended relationship management. The other definition is that the “x” is a variable, and means “anything” relationship management, such as partner relationship management, constituent relationship management, employee relationship management, etc. Both of these definitions are referring to building any application on top of the Microsoft Dynamics CRM platform. Building an XRM application can take the form of customizing the existing customer relationship management applications that are included in Microsoft Dynamics CRM, or by designing completely new line-of-business applications that are not based on the sales, service, or marketing capabilities included in Microsoft Dynamics CRM. The common thread to all the definitions of XRM and methods of extending it is that your application will use the Microsoft Dynamics CRM as a platform, leveraging the capabilities of the platform to deliver business value to your users. Why XRM? There are a number of advantages to building an application on top of Microsoft Dynamics CRM instead of SQL Server. The most obvious advantage is that the Microsoft Dynamics CRM platform comes with a number of in-the-box entities and applications that are immediately usable. For example, Microsoft Dynamics CRM includes helpdesk (or case management), service scheduling, activity tracking, e-commerce, marketing campaigns, and sales-force-automation. These applications may or may not be a part of your XRM application design. Even if you don’t use these applications or Microsoft Dynamics CRM entities, there are a number of other features that the Microsoft Dynamics CRM can deliver for your custom XRM application. Microsoft Dynamics CRM includes the following features for any XRM application: - Security. Microsoft Dynamics CRM has a strong security model baked into the platform. This includes a concept of ownership and sharing of records (record-level security), roles, business units, and a permission model that includes the concept of scope (that is, editing records owned by me, within my business unit, or throughout the entire organization).
- Workflow. Microsoft Dynamics CRM has a workflow model including an end-user interface that allows business users to manage workflows on any entity in Microsoft Dynamics CRM. This workflow model includes conditions, branching, and custom actions, including sending e-mails or creating additional Microsoft Dynamics CRM records. These workflows can be implemented by individual users to enable them to automate some of their own personal workflows or can be set to run across the entire organization to implement particular business logic or behaviors. The workflow engine can also be extended by developers, exposing custom workflow actions in the workflow designer.
- Reporting. Microsoft Dynamics CRM uses both Microsoft Office Excel and Reporting Services for reporting. It includes a reporting wizard that walks the user through creating useful reports on data stored in Microsoft Dynamics CRM. These reports can be relatively static, or even dynamic with drill-down capabilities. These reports are then available to be shared with other users in Microsoft Dynamics CRM.
- User Interface. When you customize Microsoft Dynamics CRM with your own custom entities for your XRM application, the Microsoft Dynamics CRM system will automatically generate a GUI for your users to interact with the data. Microsoft Dynamics CRM includes a primary console interface that can be customized for your XRM application. The user interfaces include lists with customizable views, find and advanced find, editors for all entities, lookup dialogs, multi-tabbed user interfaces, and more. Microsoft Dynamics CRM delivers these user interfaces with no programming required. User interfaces for related records are automatically generated simply by adding relationships between different entities. The user interfaces include all standard mechanisms for manipulating the data including full create/edit/delete operations, ownership assignment, and running of workflows. The user interfaces even allow for batch editing of records.
- Office Integration. Microsoft Dynamics CRM has a strong integration story for Microsoft Office. It includes an online and offline client that can be installed on a workstation. This brings the Microsoft Dynamics CRM user interface into Microsoft Office Outlook where users can interact with the Microsoft Dynamics CRM system directly within Outlook. The offline client allows for users to disconnect with the office network and still interact with Microsoft Dynamics CRM data while on the road, synching back up with Microsoft Dynamics CRM when they return to the office. The Microsoft Dynamics CRM client also enables data to be pulled directly into Microsoft Office Word and Microsoft Office Excel using active data binding. All data in Microsoft Dynamics CRM can easily be imported and exported with Excel.
- Data modeling. Microsoft Dynamics CRM allows for the creation of custom entities, which can have attributes, forms and views, and relationships with other entities. In addition to standard relationships, all custom entities can have activities and notes if desired. Activities allow for collaboration using standard Microsoft Dynamics CRM activity records such as tasks, e-mail, phone calls, appointments, and service scheduling. Notes allow for file uploads and other comments to be associated to custom entities.
- Web Services. Microsoft Dynamics CRM includes a number of Web services that can be used to interact with the Microsoft Dynamics CRM platform. These services are SOAP Web services and allow for open extensibility and use across any platform using any language that supports Web standards. It is also possible to use third-party tools such as ADXSTUDIO XRM SDK to implement modern data services such as RESTful services based on ADO.NET Data Services and .NET RIA Services with very little coding. This allows Microsoft Dynamics CRM data to be easily consumed in XRM Web applications using AJAX or Silverlight development.
Data Modeling <snip> Read the rest @> An Introduction to XRM for a .Net Developer
| Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
| Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
|
| Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
|
|
| Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
|
Contact Us |
San Diego, California
Copyright 2007-2009 Gilham Consulting - All
rights reserved
|
|
|