应用 .NET Framework 3.0:设想
理解一组技术如何协同工作的最好方式,就是查看其使用方式的示例。现在假设,一款应用程序要求客户和代理提交保单。如果使用 .NET Framework 3.0 执行,则会有图 5 所示的工作流程。
图 5
图表左上角所显示的应用程序业务逻辑,是使用 WF 工作流得以实现的。处理保单是一项多步骤流程,包括根据组织的保险规则来评估此保单,或许要检查投保人的信用,甚至还要获得其上司的批准。工作流依靠所需要的其他软件,以活动方式实现流程中的每一个步骤。如果要访问存储数据,工作流中的活动可以使用 ADO.NET。
保险公司可以提供一个呼叫中心,使客户可以通过电话进行投保。呼叫中心员工使用的客户端软件显示在图表的右上角,是由安装版 WPF 应用程序实现的。客户端使用 WCF 与应用程序业务逻辑进行通信,采用的是经过 WCF-WCF 通信优化的二进制协议。如图所示,呼叫中心工作人员依靠 Windows CardSpace 来选择他们在登录该应用程序时将要使用的标识。
客户还可以通过网络进行投保,而保险代理商也可以通过网络提交保单。为便于网络操作,该应用程序使用 ASP.NET 与 Web 浏览器进行通信。如图表的左下角所示,客户通过 Internet Explorer 来访问该应用程序,他们可以使用普通的 HTML 界面,也可以使用 CardSpace 来选择自主设定的标识。第三方也可以为其他客户端操作系统和浏览器实现标识选择机制,使得标识元系统能够扩展至非 Windows 客户端和 Web 浏览器。
保险代理商通过 Internet 访问该应用程序时可能需要具有更多功能的界面。因此,他们应该使用 XBAP 而非简单的 HTML 界面。如图表底部中间位置所示,这些客户可以共享呼叫中心所用 WPF 桌面应用程序提供的大部分用户界面功能。由于两者构建在同一基础之上,因此应用程序开发人员可以在两种类型的客户端中重复使用相同的代码。对于其他类型的客户端来说,代理商可以使用 CardSpace 选择他们针对该应用程序所设定的标识。
最后,此应用程序有可能需要与其他应用程序之间进行互访。如果批准客户时要求信用审核,则最有可能通过调用外部服务实现。或者此应用程序会直接收到外部软件请求,提供这些外部应用程序可以调用的服务。在这些情况下,如图表右下角所示,该应用程序依靠 WCF 使用标准 Web 服务进行通信。无论这些应用程序构建于何种技术之上,WCF 对 SOAP 的支持都使得这些应用程序之间的交互变得轻而易举。
该方案说明了如何使用 .NET Framework 3.0 中最重要的组件来构建出色的应用程序。而此处所举的简单示例省略了相当多的选项,因此不能将其视为该系列技术所有功能的完整说明。相反,该示例只是提供一种思路,用于讲解如何使用 .NET Framework 3.0 的不同部分来解决实际的业务问题。