Architecture


As you learned in Chapter 1, "Microsoft CRM 3.0 Introduction and Architecture," Microsoft CRM uses a metadata and server platform layer to abstract the application and extensibility points from the Microsoft SQL Server database tier. The platform layer also controls security, event management, and extensibility points (such as callouts and workflow) while enforcing the proper constraints for interacting with the underlying schema of the database. By providing a supported API, Microsoft CRM allows developers to customize the application and continue to use those customizations after future upgrades.

Figure 9-1 shows a graphical representation of the Microsoft CRM architecture.

image from book
Figure 9-1: Microsoft CRM technical architecture

image from book
Comparing the Microsoft CRM 3.0 SDK with the Version 1.2 SDK

Microsoft CRM has always allowed system developers to interact with the software. Although the APIs of Microsoft CRM versions 1.0 and 1.2 were adequate for a wide range of customizations, the Microsoft CRM 3.0 APIs provide even more functionality with a drastically simplified programming model. The Microsoft CRM 3.0 APIs reduce the overall number of methods and offer a strongly typed, WSDL-compliant Web service approach.

More Info 

The Web Services Description Language (WSDL) is an XML format published for describing Web services. People typically pronounce WSDL as "wiz-dull."

Table 9-1 outlines a few of the key differences between the Microsoft CRM 3.0 SDK and the Microsoft CRM 1.2 SDK.

Table 9-1: SDK Version Differences

Microsoft CRM 3.0 SDK

Microsoft CRM 1.2 SDK

Microsoft .NET Web services with a dynamically generated WSDL

Pre-compiled proxy DLLs and C++ Active Template Library (ATL)—based .srf files

Strongly typed objects and attributes

XML strings used for all entities, parameters, and so on

IntelliSense available within Visual Studio .NET, including custom entities and attributes

No SDK integration with Visual Studio .NET

Unnecessary to pass user authentication for each method call

User authentication is a required parameter for all methods

QueryExpression available as a fast, ad hoc way to retrieve data

Only the string-based FetchXml available

Metadata Web service available for querying details about the data structure

No APIs available to retrieve system metadata

This table clearly illustrates that, in addition to providing a more robust programming interface than Microsoft CRM 1.2, the Microsoft CRM 3.0 SDK also provides several significant improvements designed to increase developer productivity so that customizations are easier to write, test, and deploy.

image from book

Microsoft CRM uses a service-oriented approach for its APIs, making use of two WSDL-compliant Web services (CrmService and MetadataService). As you can see from Figure 9-2, Microsoft CRM controls data access for the application interfaces, reports, and extensibility through the use of these two Web services. As you learned in Chapter 7, "Reporting and Analysis," Microsoft CRM also allows for direct and secure retrieval of data from SQL Server through the use of filtered views. Filtered views provide read-only access of data directly to the database layer, but they still honor the security privileges of the calling user.

image from book
Figure 9-2: Microsoft CRM extensibility architecture

The shaded, rounded rectangles in Figure 9-2 denote the business logic extension areas available to you.

This chapter will focus on the server-side API services and server-based customization points available to you for custom integration and application development in Microsoft CRM.




Working with Microsoft Dynamics CRM 3.0
Working with Microsoft Dynamics(TM) CRM 3.0
ISBN: 0735622590
EAN: 2147483647
Year: 2006
Pages: 120

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net