J.D. Meier,是一个微软模式与实践团队的首席程序经理,他列出了一些在 Windows Azure 上进行 ASP.NET 应用程序开发的模式,展示了这些组件如何在云中进行运作的。他也给出了一个把标准 Web 应用程序映射到云中的例子。
这个权威的 Windows Azure 应用程序模式包含了从网络获取请求的 Web Roles,以及伺服这些请求的 Worker Roles。Web Roles 和 Worker Roles 是通过队列服务(Queue Services)来解耦,如下图所示:
这个模式的一个简化版本即是应用 Azure Tables(表服务)的 ASP.NET 窗体验证:
Meier 列出了超过 10 个的 Windows Azure 的应用程序构建模式,他们其中一些使用窗体授权,有些使用基于声明的授权,而剩下的使用 WCF:
- 模式 #1——应用 Azure Tables 进行 ASP.NET 窗体验证
- 模式 #2——应用 SQL Azure 进行 ASP.NET 窗体验证
- 模式 #3——基于声明应用活动目录
- 模式 #4——基于联合声明应用活动目录
- 模式 #5——在 Azure 中从 ASP.NET 应用访问 WCF 服务
- 模式 #6——现场 ASP.NET 应用访问 Azure 中的 WCF 服务
- 模式 #7——基于声明,现场 ASP.NET 应用访问 Azure 中的 WCF 服务
- 模式 #8——使用 AppFabric Access Control 的 REST 服务
- 模式 #9——在 Azure Storage 中存储数据的 ASP.NET 应用
- 模式 #10——在 SQL Azure 中存储数据的 ASP.NET 应用
- 模式 #11——现场 ASP.NET 应用通过 WCF 服务访问存储在 SQL Azure 中的数据
非云环境下的 Web 应用程序模式(见 Microsoft Application Architecture Guide )描述了供浏览器访问的构建于 3 个基础层上的服务器应用程序——表现层、业务层和数据层:
根据 Meier 所说,这个模式也可以应用到 Azure 中,只需要把上述提及的层构建为 Web Role 即可,并且可以使用 Azure Storage 来作为存储数据的选择,Azure Web Services 作为服务接口的选择:
CodePlex 的模式与实践——Windows Azure 指导项目包含很多在微软云计算平台中进行迁移、开发和集成应用程序的准则。
查看英文原文: Patterns for Building Applications for Windows Azure
评论