使用 AppFabric 轻松访问 Azure Cloud Services

  • Abel Avram
  • 张龙

2009 年 12 月 6 日

话题:.NET云计算AzureDevOps语言 & 开发架构

Microsoft Windows Azure Platform AppFabric技术用于连接本地(on-premises)应用和 Azure 云服务与资源,同时还能简化不同域用户之间的交互。AppFabric 的核心组件是 Service Bus 和 Access Control Service。

Service Bus(SB)是位于本地应用和云中服务与资源之间的一个中间层。它不仅要通过认证和授权机制创建安全的信道,还要充当本地应用和云服务之间的单连接点,这样开发者就能专注于自己的工作而无需操心所使用的服务了。SB 可以连接云应用与本地应用,包括本地数据库和服务的访问。

Service Bus 的主要特性列举如下:

  • 无论身处何处都能凭借稳定、可以通过网络访问的 URL 发现服务
  • 发送者与监听者之间的单向消息传递,支持单播与多播的数据包分发
  • 发送者与监听者之间的全双工、面向连接的会话,支持双向通信
  • 具备网络边界遍历功能的全双工、、面向连接的点到点会话,可以通过 NAT 创建直接的端到端连接
  • 多个发布者与订阅者可以同时使用服务的主题管理和事件分发系统
  • 支持非.NET 平台的 REST 和 HTTP 访问
  • 整个命名空间体系都独立于 DNS 和传输层
  • 如果允许还可以匿名访问服务

SB 解决了用户(如用户 A)与 Azure 云之间的通信问题。那如果另一个用户(用户 B)进来了该怎么办呢?如果用户 B 使用的是不同的 ID 管理系统呢?他如何访问用户 A 的服务和资源呢?他们需要建立联合身份认证以便用户 B 可以使用其 ID 访问用户 A 的资源么?在这种情况下,Access Control Service(ACS)就派上用场了。ACS 在不同用户的应用与资源之间充当了一个连接中介的角色,这样不同的用户就好象位于同一个域中,ACS 则可以控制用户对资源的访问。

ACS 的主要特性列举如下:

  • 使用简单的 Web 界面或通过 API 编程的方式建立发送方的信任
  • 支持活动目录及其他身份验证措施,所需的编码量极小
  • 支持多种证书,包括 X.509 认证
  • 支持多种标准协议,包括 REST
  • 运行在组织内外的应用都可以使用该服务
  • 对应用及来自于数据和连接服务的用户请求进行验证

我们可以通过多种平台访问 Service Bus 和 Access Control Service。开发者可以凭借Microsoft .NET Services SDK(搭配 VS 2008 及.NET Framework 3.5)来使用 SB 与 ACS,同时还有面向JavaRuby开发者的.NET Services SDK。

大家不要把 Windows Azure AppFabric 和Windows Server AppFabric搞混了,后者用于构建和管理运行在 IIS 上的 Web Service 应用,同时还包括之前称作 Dubin 和 Velocity 的技术。

查看英文原文:Easily Accessing Azure Cloud Services with AppFabric

.NET云计算AzureDevOps语言 & 开发架构