MS CRM 2011中的开发方式
开发方式如下图所示:
包括的具体场景描述如下:
早期绑定:
借助实体数据模型Entity Data Model以及WCF数据服务技术,MS CRM 2011提供了一组工具,以简化开发工作。
使用代码生成工具CrmSvcUtil.exe,可以生成目标组织中所有实体的类代码文件。
使用早期绑定的好处是,在编译期即可完成类型核对与监测工作。
例如,编写早期绑定时,实体名称与属性名称均使用架构名称,而不是逻辑名称。样例代码如下:
//创建客户实体的实例
Account acc = new Account();
//设定客户实例的姓、名
acc.FirstName = “Daemon”;
acc.LastName = “Lin”;
晚绑定:
知道程序被执行的时候,才进行类型检查工作。好处呢?举例来说,架构师定下了实体定义表,但是系统中还没有创建该实体。如果使用早期绑定,需要首先创建该实体,然后使用CrmSvcUtil生成代码,然后新建项目进行开发。如果使用晚绑定,那么即刻就可以进行开发,而不必关心当下是否已经在系统中创建了该实体。
在MS CRM4中,如果需要晚绑定,那么使用DynamicEntity来实现。DynamicEntity部分的类继承树结构如下:
可以看出,DynamicEntity与account都是BusinessEntity的子类。BusinessEntity是基类,同时也是一个抽象类。
在MS CRM2011中,取消了DynamicEntity类,该部分的类树改变为:
可以看作是将DynamicEntity类向上提了一级,以前需要DynamicEntity完成的工作,现在由Entity类来负责。
REST终端点:
为Ajax、SilverLight程序等提供了访问CRM数据的可选途径——使用基于URI的服务,执行请求,而不必直接调用基于SOAP的web服务。
REST,是一个架构规范,架构风格。其内涵中的一个重点是,使用URI对每个资源进行标识。
在MS CRM中,资源可以是一组实体记录,可以是一条实体记录。
使用不同的HTTP动词,GET、POST、MERGE、DELETE,可以与这些URI标识的资源进行交互。
WSDL:
这部分是为了开发非.Net程序所准备的。