先不论它讲的是WOA 而不是REST 这点,在最近的一篇文章里, Dan Foody 讨论了治理基于 Web 的架构。
有人可能会说,是 SOA 自身的复杂性(受企业自上而下的宗旨影响)造成了它需要正规的 SOA 治理活动。若没有正规的 SOA 治理,你就不能指望 SOA 成功,因为它太容易出错了。
他认为,WOA 设法避免了 SOA 的许多复杂性,因而就不需要复杂的工具或 WS-* 架构了。(我们假定 Dan Foody 是知道许多人不乐意在SOA 和WS-* 之间划等号的。)当然,也有人认为,在必须要实现复杂应用且需要WS-* 时,采用REST(也就是WOA)并不简单,但我们先不管这些,因为这里我们主要关注的是Dan Foody 的核心问题:“ WOA 仍然需要治理吗?“。
回答多半是肯定的(如果你是一名企业架构师的话,现在可以不用紧张了)。但我认为“WOA 治理“的方式将与 SOA 治理存在根本的不同(好,这下企业架构师们又该紧张了)。
原因是什么?在传统的 SOA 中,你通常会任命一名企业架构师来设置规则,对提供者与消费者之间的交互加以治理。
假如企业中所有信息经过逐级向上汇报之后最终能汇聚于同一个人,那么这个办法很好。
然而,要换作在基于 Web 的架构里,为了让伙伴能够与你交互,你恐怕会首先任命一名“Internet 企业架构师“,而他会把所有策略设置得跟传统 SOA 一样。
非常简单,除了关于“任命一名 Internet 企业架构师“那里。这里可能会有些技巧。所以,你可以看到,SOA 治理自上而下的做法在 WOA 中根本行不通。
那该怎么做呢?正如 Dan Foody 指出的,任何基础设施——无论是基于 Web 的、还是基于 SOAP 的——都有基本的治理问题需要解决。例如:
提供者如何给现有客户带来方便,并令他们满意(在频繁改动服务时)?
消费者如何建立并增强对服务提供商的信任(就像“信任同时核实”里的信任)?
因此,WOA 为了真正成功,需要达到许多 SOA 治理所同样希望达到的目标。但却要如 Dan Foody 所说的“以根本不同的方式。“那么这是否表明了 REST 架构里所缺少的一环?能否给 WOA 增添正确的治理,而不对其简单性产生负面影响?
评论