Windows Azure AppFabric是第三个Windows Azure平台服务。它其实就是云端的一个中间件产品。它提供了两大服务:
Service Bus(服务总线)
Service Bus可以被用于将本地的服务暴露给Internet。大多数的企业都拥有自己的局域网,为了解决IP地址不足的问题通常都设置了NAT,因此每台server对外都没有一个确定的地址。出于安全性考虑,防火墙往往都限制了大多数的端口。这就使得要在Internet上访问部署在本地的服务变得相当困难。
Service Bus正是为了解决这一问题而产生的。Service Bus作为一个中间人,你的服务和客户端全都作为Service Bus的客户端与之进行交流。因为Service Bus不存在NAT问题,所以你的服务和客户端都很方便地能与之通信。Service Bus在最极端的场合下只需要你的服务器暴露out bound的80或443端口,换句话说,也就是你的服务器能够以HTTP(S)协议访问Internet。只要这样,你的服务就能连上Service Bus。因此,它对防火墙的要求可以说是相当低的。
Access Control
安全永远都是程序要需要考虑的第一要素,在云中,权限管理往往要比在企业内部来的困难。这是因为你无法直接使用诸如活动目录之类的产品来统一管理你的程序的访问控制。Access Control正是为了解决这一问题而产生的。
Access Control支持federated authentication和authorization。例如,你可以要求你的用户通过企业内部的Active Directory Federation Server (ADFS)进行身份验证,使用他们的域帐号登录,将验证后的claim传给Access Control,然后根据预先在Access Control中设定的规则来给与或者否认他们访问你的服务和资源的权限。当然,Access Control也支持各种其他的身份验证方式。通过对诸如WRAP和SAML之类的标准协议的支持,Access Control体现出了良好的跨平台型。
其他
今后,我们也可能将现今Windows Server AppFabric中的功能移植到Windows Azure platform AppFabric中来。Windows Server AppFabric中的分布式缓存,以及WCF/WF管理的功能,都会对开发人员和管理员带来各式各样的益处。
这里还需要特别说明,微软在发布Windows Azure AppFabric不久就发布了另一款面向服务器端的产品-- Windows Server AppFabric。这两个产品名称非常类似,大致的区别如下:
Windows Azure AppFabric | Windows Server AppFabric | ||
运行环境 | Windows Azure平台 | Windows Server服务器 | |
安装方式 | 无须安装 | 软件包安装 | |
使用场景 |
所有部署在Windows Azure的应用, 以及能够到Windows Azure平台的应用 |
企业内部应用 | |
计费模式 | 按需服务 | 免费 | |
功能 | 访问控制 | 有 | 无 |
服务总线 | 有 | 无 | |
缓存 | 有 | 有 | |
服务管理 | 有(CTP) | 有 |
参考资料:Windows Azure中文博客
http://blogs.msdn.com/b/azchina/archive/2010/02/05/windows-azure-appfabric.aspx