利用 Silverlight、WCF 和 AJAX 开发全新的企业应用

  • 王翔

2007 年 12 月 20 日

话题:.NET语言 & 开发

相对以往“原始”的 HTML、CSS 的开发方式,Silverlight 拥有.NET 核心中专用的 CLR 部分和富客户端开发所需的基本框架,同时微软还专门针对媒体(及其数字媒体权限管理)提供必要的开发支持。设计和开发人员将从多方面获益:

  • 着力于用户体验的开发,Silverlight 提供目标浏览器和操作系统环境的无关性;
  • 面向互联网流行的网络技术,提供更丰富的 Mash Up 能力
  • 大大简化媒体技术的开发细节;
  • 与 Java 和 Adobe“拼拼凑凑”的开发惯例不同,微软的 Silverlight 方案倾向于用一个产品、一套技术来解决问题;

不过在以往 Silverlight 的宣传中更多以互联网应用示人,而在用户体验要求不太相同的企业环境,Silverlight 提供用户体验所付出的代价很可能成为负担(,其实“能早点下班就是最好的用户体验”),而且难于满足企业应用需要的很多非功能技术特征,随着 Silverlight 1.1 Refresh(已经更名为 2.0)的推出,我们可以通过更丰富的技术实现适合企业及应用的 Silverlight 项目。抽象看 Silverlight、AJAX 和 WCF 的协作过程如下:

其中 JS 部分包括 Silverlight 实现自己事件响应的内容和 AJAX 的调用客户端、服务端功能的部分,Web Service 为了满足对各种网络技术、消息安全机制、WS-* 协议的要求,可以采用 WCF 完成,通过 JS 部分的 AJAX 服务端调用与 WCF 协同。考虑到 Silverlight 跨平台的要求,现有 Silverlight 数据访问仅提供 LINQ to XML,因此在 JS 与 WCF 的交互部分可以严格按照 [DataContract] 定义的内容,交互 XML 或 SOAP 数据,而在浏览器端有关 UI 和用户交互的部分则完全按照 LINQ 化的数据实体进行 UI 绑定,简化 Silverlight 客户端部分的开发工作。

设计上,SL 企业应用除了“炫目”以外,还要更多考虑开发的标准化问题,这样前端丰富的 Silverlight 用户体验才能和后端 Enterprise 2.0 环境有效协同,打造新一代企业应用。

.NET语言 & 开发