【IT168 专稿】
什么是企业继续进行面向服务架构(SOA)的非常好的实践?SOA可以将服务与特定业务紧密联系在一起。而这需要系统有良好的松耦合性和粒度。这使得治理似乎成为管理SOA系统的关键,特别是在开始阶段。
近日,在旧金山举行的企业架构实践者大会(Enterprise Architecture Practitioners Conference)上的一个专家小组基于实践对SOA治理的相关问题进行了讨论。小组成员个个都是专家。他们包括:
- Andre Hately:IBM软件标准部门(software standards group)高级技术人员,精通服务发现、网络发现和服务管理标准在产业与业务方面的应用。
- Kyle Gabhart:Web Age Solutions公司SOA技术部门主管,负责基于Java、.NET和XML的面向服务技术的开发。
- Stephen Bennett:BEA公司美国SOA实践领导人,主要研究SOA企业与治理。
- Michael Nassar:企业集成架构师,专门研究IBM的SOA与Web服务技术,特别是提供Web服务连通性的IBM WebSphere企业服务总线方面的研究。
- Mats Gejnvall: Capgemini公司的认证企业架构师,专门研究企业架构和大型组织(比如电信、供应链和国防工业)的SOA架构。
SOA治理的成功案例?
人们希望专家能提供关于SOA治理的成功案例。得到的回答却是“还不到时候”。
Gejnvall说,在瑞典SOA治理还处于开始阶段。他说:“这就是我们开发这些框架的原因。”
Bennett的观点与此一致,他说“这是一个尚需多年才能完成的工程”,客户还有抵制心理,除非遇到解决不了的问题,否则他们不会认真地考虑SOA治理。
Bennett说:“这需要大规模地宣传,并有成熟的激励模式,否则就会失败。”他还强调了信息库的重要性,“为避免陷入困境,必须有可供随时查阅的资料。”
Nassar举了一个例子说明治理的重要性。他描述了一个正在开发Web服务的保险公司。当他们需要重用时,却发现他们开发的服务没有可重用性。开发人员为特定需求修正服务时没有考虑公司的整体需求。他们陷入了版本更替的困窘,比如用16个不同的版本实现同一个服务。直到Nassar的团队加入后才解决了这个版本更替的问题。
Gabhart谈到了华盛顿区域的国防部门。他说,“他们着手建立整个架构,然后把最后一步称之为‘治理完成’。他们以为整个架构完成后治理就会自然发生。” Gabhart的团队不得不建立关键控制点(key gate),让他们明白治理是全局性质的,是发生在整个开发过程中的。
企业架构(EA)与SOA治理
当问及SOA治理与企业架构治理的不同时,Gabhart指出,各企业将企业架构、SOA或业务流程管理(BPM)作为“巨大的保护伞”。他看到三种趋势正在形成:
- 需要IT与业务目标和流程相结合;
- 需要业务单位之间的一致性;
- 需要为精准的企业策略建立标准。
Gabhart说,“IT技术并不是只能用在服务器上,还可以用来提升可视性,用来实现业务目标。”
Bennet谈了一些企业架构治理失败的公司,总结道,“以组合或交互的方式进行可能更有效些。”这也有助于从一开始就实行治理。Bennett说,“通常SOA会放大存在的问题。如果过去在企业治理上存在问题,SOA更会使之恶化。因此必须从一开始就把问题解决掉。”
Nassar认为SOA是IT的扩展。他说,“我们采用SOA主要是为了实现服务的重用。你必须有可以保证服务重用性的方针:控制应用与重用的规则和策略。”
Gejnvall说如果公司原先没有企业架构治理,那么SOA治理将承担企业架构治理的责任。他认为“它们(SOA&EA)有很好的适应性。”
万灵油架构?
Sun公司的Dave Estrom提出了不同的观点,他说,“我认为SOA是万灵油结构的代表……但客户要的是细节,而不是敷衍。”
Bennett回复说,并没有完美的SOA治理标准。他解释道,Web服务互操作性组织(WS-I)提供了一些产业标准,但SOA治理更多的是关于“建立内部的IT标准并依从。
对于Nassar来说,SOA即是建立为公司接受输入信息的核心实体。这意味着要保证所开发的服务满足企业的需求,而不能偏重于某个部门的需求。然后便是服务注册,“比如可以使用IBM公司的WebSphere Service Registry和Repository。如果没有这样的工具,便不能实现高层次的治理和可靠性。” 他还说,“由于迫切需要使用工具进行分析,需求分析之类的工具也就变得更为重要。”
Gabhart提到了国防部的案例,他说他们做的大都是关于元框架的东西,这是“SOA中还不太成熟的一个领域”。因此他应用了相对比较成熟的设置对产品进行管理,采取了相对稳妥的措施。
Gejnvall说“治理标准是我们一直在争论的一个问题”。对于他来说,治理就是“公司管理下的所有东西都要有一个标准。这是一个实施的过程。” 他还提到,信息系统与技术控制目标(COBIT)与开放组体系结构框架(TOGAF)是两种推荐标准。
然而,Bennett说他们的团队尝试使用COBIT标准时却“几乎没有从COBIT组织得到任何反馈信息。差不多六个月或九个月以前我们曾尝试着联系他们,但没有成功。”
从企业架构治理开始实现SOA
当问及能否提供一个治理方案时,Gejnvall认为,从理想的角度来说,应该从企业架构治理开始,然后才是SOA。之后,在SOA开发过程中建立治理,确保企业架构管理的正确性。
Bennett认为要提前准备好策略以节省成本。 他说,“SOA涉及许多需要治理的资产。因此要保证策略的实用性。”
对于Nassar来说,SOA则是“一场自然进化”。应该采用能保证服务可靠性的治理方法。并且“我们遵从的其它标准仍然可用” 。
Gabhart还指出“最终结果取决于业务需求。”接着,他又抛出不同于其它专家的观点:“我并不认为重用性就是我们的目的。我们已经为此奋斗了三十年,却没有太大的进展。或许应该是敏捷性,或者一致性。不管动机是什么,治理都是实现公司价值目标的风险投资策略(risk mitigation strategy)。”