Microsoft 发行了 Web Services Enhancements (WSE) 1.0 版,以在支持的产品中启用安全、路由和附件,同时它还支持高级Web 服务。Web Services Enhancements 2.0已从简单支持基本协议发展到支持核心功能与操作系统的集成,并增强了策略、信任和上下文令牌功能。
WSE 也是对 .NET Framework 支持的扩展,它用于创建和使用 Web 服务,而 WSE 2.0 采用新的编程模式。过去,Web 服务支持一直依赖 Internet Information Server (IIS) 作为其 HTTP 服务器主机;现在,WSE 2.0 支持通过 TCP/IP 或在进程内来发送消息。这样,您可以通过对等、单向、异步等方式将消息从服务器发送到客户端。
下面,我们将简要介绍 WSE 2.0 的几个主要功能,并假设您已熟悉 WSE 1.0。
Rock Paper Scissors:一种安全的、分布式消息处理示例应用程序 为了展示 WSE 2.0 的各个方面,我想创建一个应用程序以展示一些新安全功能和消息处理功能。具体来说,我喜欢使用 TCP 消息处理支持来显示对等通信,并使它在Windows 安全性领域工作。我想到的是一个简单的分布式版本的旧 Rock Paper Scissors 游戏,现在可以用 WSE 2.0 进行安全分发。
Rock Paper Scissors 是一个两人
儿童游戏,传统上包括让每个孩子拍手三次,在第三次拍手时出示石头、剪刀或布的形状。根据下表中所示理由决定胜者:
|
石头 |
布 |
剪刀 |
石头 |
平局 |
布裹石头。布方赢! |
石头砸坏剪刀。石头方赢! |
布 |
布裹石头。布方赢! |
平局 |
剪刀剪开布。剪刀方赢! |
剪刀 |
石头砸坏剪刀。石头方赢! |
剪刀剪开布。剪刀方赢! |
平局 |
该游戏通常用于确定由谁先选择参加沙地棒球赛的选手、谁吃最后的冰淇淋,甚至由谁击打对方的手臂。
我们将 Rock Paper Scissors 搬出沙地,直接
应用在具有 WSE 2.0 的安全、协作、团结的企业技术中。该游戏的消息处理结构如下面的图 1 所示。
图 1:Rock Paper Scissors 消息处理和安全模型
Rock Paper Scissors 有两个主要组件:一个是名为 RPSService 的 ASP.NET Web 服务,另一个是由多个用户运行的对等应用程序。RPSService 的作用是让用户注册玩游戏或寻找对手来玩游戏。对等应用程序先是与 RPSService 通信以找到要与之通信的对方,然后在确定对手后直接与其对方进通信。
对等:对于消息处理,WSE 2.0 从基于传统 HTTP 请求/响应(即 RPC 环境)转换为采用可能同时具有对等消息处理、异步消息处理和消息队列的环境。
Kerberos:整个应用程序是通过使用集成的 Windows Kerberos 支持创建的。使用 WSE 2.0,您可以用一种安全的方式连接网络。我们将进行验证、
数字签名和加密消息以确保具有最高的安全性,且这将完全基于 Windows 用户帐户。
便捷管理:不用编写代码来
控制访问,我们便可以通过策略配置文件来配置消息的安全性。通过策略文件,可以控制要实现的安全种类、要对消息的哪部分进行数字签名或加密及其实现方式,还可基于消息时限性控制接受条件。目前,可以控制安全性的相应人员为:您的管理员。
Rock Paper Scissors:该应用程序的重要作用不在于应用程序本身,而是它与本例中不同实体通信时使用安全消息、策略和寻址的方式。您猜不到,我正想象我的老板说:“为了决定职员今年的奖金,我想让你们每人运行一个小的应用程序 RockPaperScissors.exe...”