微软发布托管服务引擎(仓库)

  • Udi Dahan
  • 朱永光

2007 年 11 月 12 日

话题:SOA.NET治理语言 & 开发架构

随着愈来愈多的企业在寻找一种转移现存 IT 资产到新服务基础结构的方法,虚拟化的主题在 SOA 世界也愈来愈火热。微软之前对于这个话题保持沉默,如今通过一种面向社区的方式发布了元数据驱动的服务仓库。

MSE(Managed Services Engine,托管服务引擎)通过一个服务仓库让服务完全虚拟化,它帮助组织更快地部署服务,协调变更管理,并最大化不同服务基础的重用。这样做以后,MSE 为服务提供了相应的能力来支持版本标定、抽象、管理、路由和运行时策略执行。

托管服务引擎目前已经发布在微软的开源项目托管站点Codeplex,它体现了微软服务部门为他们企业 SOA 客户所开发的一种方式。当前发布了 6.2 版本,这个社区技术预览版让 WCF 和常规的 WSDL 服务进行虚拟化成为可能,还附带了一个 30 分钟的练习。

InfoQ 和 William Oellermann——托管服务引擎项目的协调员坐下来讨论了这个版本。针对最近微软宣布Oslo 项目的公告,我们询问 Oellermann,MSE 是否是 Oslo 的一部分:

不,MSE 已经由微软服务部门和客户开发了好几年。然而,我们现在才共享我们的解决方案、相关的应用程序,而且我们与 [互联系统部门] 和 Oslo 团队一起学到的经验也确保我们能应用那些知识让我们的产品更好。

 BizTalk 在微软的 SOA 战略中一直是一个关键的组件,也被引入到中心 ESB 指导书中。Oellermann 由此谈到了 MSE 和 BizTalk 之间的联系以及他们各自的需求:

.NET 3.0 和 SQL Server 是唯一的需求。BizTalk 是一个很有价值的插件工具,它给特定实现提供了 BAM、BRE、实体映射和 ESB 指导书。

在访谈中还谈到了微软服务部门在使用 MSE 更快部署服务和应用于垂直业务领域过程中获得的好处:

MSE 已经被用于通讯、旅游、医疗和教育产业中。我们还没有对 MSE 计算一个正式的 ROI(投资回报率),但服务能有多快地被部署的最好证明是对现有服务的明显改变。通过配置定义端点(Endpoint)、协议(Protocol)、契约(Contract)和策略(Policy),你能在几分钟内使用现有的服务实现和创建一打变体,且不需要任何代码。保守估计,时间和精力比使用“常规”方法要减少 25%。

为了不与由微软和它的合作伙伴提供的现有 SOA 治理解决方案混为一谈,Oellermann 描述了二者在主体思想上的区别:MSE 以仓库为主要思想,而 SOA 治理领域主要思想是注册。

为了说的很清晰,我们把 MSE 服务目录(MSE Service Catalog)称作仓库(Repository),而非注册库(registry)。我们将仓库视为设计和服务执行相关的所有信息的集合,而注册库仅仅是你想发布的(服务)的子集。在我们的模型中,仓库将提供必要的信息给注册库。我们的仓库和其他仓库或注册库是有区别的,因为它不包含 WSDL 的定义,它包括操作(Operation)、端点(Endpoint)、实现(Implementation)和策略(Policy),并且我们能基于这些关系动态生成合适的 WSDL。通过 SOA,它确实提升了我们的灵活性水平。

Oellermann 对于 MSE 进一步得到使用表示乐观,尤其是在它结合 WCF 进行开发的最佳实践中更能体现出来:

我们将在和多个客户的合作中继续使用 MSE,且我们将从他们那里和我们的 CodePlex 社区收集反馈,以决定哪些部分需要提高和扩展。我们将这次发布视为一个坚实的核心,我们和其他人将能持续地通过添加绑定(Binding)、行为(Behavior)和其他 WCF 扩展来推动新的使用场景。

同样,一个升级到 Oslo 的路线也可望在未来某个时候可以获得:

在某点上来看,MSE 运行时服务器和服务目录的功能有望纳入到我们的平台、产品和(或)服务器中。我们将和产品团队紧密协作,从而为客户提供一个路线图,以便他们在 SOA 仓库数据上的投资能获得保护。

要关注 MSE 进一步的开发情况,可以访问他们在 CodePlex 上的站点

查看英文原文:Microsoft Releases Managed Services Engine (Repository)

SOA.NET治理语言 & 开发架构