如今SliverLight如火如荼,其美轮美奂的变现力正让大家不知不觉为之激动,每个人都能成为造梦师,轻轻松松地就能让梦境在Web上展现出来。然而,谁能想到,中规中矩的业务密集型的软件产品微软CRM也能变得如此炫酷,它是否能让你的日常工作变得更加激情四射呢?
Humberto Lezama Guadarrama在他的blog中就提供了这样的一个Demo,能够让你的业务处理也能闪烁着SliverLight的光芒。
这个Demo并没有提供具有生产力的代码,它只是为了满足你的好奇心,在一些场景中,使用Silverlight为CRM提供丰富的可视化体验。相信它一定可以激发你产生大量的联想,应用这些技术实现更多的场景。
这个Demo中的应用程序包含以下的这些组件:
图形
Sliverlight是基于Windows Presentation Foundation(WPF)之上,使用Extensible Application Markup Language (XAML)定义图形和动画的技术。可以使用诸如Microsoft Expression Blend 2这样的WPF编辑器来对它进行编辑。最新的Blend Preview支持Silverlight 1.0和1.1。
逻辑
作者在使用Silverlight 1.0编写 这个Demo的时候,没有使用托管代码(Silverlight 1.1支持托管代码)。所有的逻辑都是用JavaScript,并且使用Silverlight对象模型以及处理程序。作者会继续对Demo进行升级,他将提供使用托管代码编写的版本。
整合Dynamics CRM
用过CRM的人都知道,在CRM中提供大量的扩展点供第三方应用程序插入。在本文中提到的所有用来在CRM上使用的技术(Forms和FetchXml),在CRM的SDK中都有相应的文档。
宿主SilverLight应用程序的空间是Custom实体的CRM窗体中的一个IFrame。因为Demo的逻辑是用JavaScript编写的,因此作者使用了2种方式实现从CRM取数据。
第一种方式是使用CRM的Form对象模型(crmForm)直接拉取窗体中可用的数据。
第二种方式是使用XMLHttpRequest(虽然并没有使用AJAX异步调用)协同CRM FetchXML与CRM WebServices进行交互。
SilverlightDemo.zip文件中包含了安装这个Demo所需的所有的文件,包括对涉及到的实体的自定义的文件。readme.txt文件包含了如何安装Demo的详细介绍。