【TechTarget中国原创】问:对于SOA和Web服务的发展已经不再仅仅局限于技术或协议规范方面的更新和成熟,更多的时候,管理已经在这个领域扮演更重要的角色。只是,对于SOA管理和SOA治理是怎样去区分理解的?那SOA治理和Web服务管理又该如何理解?
答:这些日子以来,Web服务管理正逐渐演化成一个更广泛的主题,称为SOA管理。SOA管理产品很多,但是他们典型地扩展了传统的Web服务管理从而包括附加的功能,这些功能在一个SOA中——例如监视和管理基于商业消息内容的服务,是很有作用的。因为这个原因,我已经稍微修改了这个问题,以至于讨论的SOA的两个方面,管理和执行,都属于同一类型的实体。因此,让我们假设问题是:“SOA治理与SOA管理的区别是什么?”
这个问题的简单答案是SOA治理基本上是专注于开发过程,然而SOA管理主要关注SOA运行时方面。此管理系统必须保证SOA上的业务服务保持可靠性,以及不辜负商业合作者,客户,提供商,内部用户以及管理者的期望。
尽管新的Web服务管理标准很重要,例如OASIS WSDM将逐渐促进Web服务以及SOA管理的艺术,以令人激动的新方法,最重要的管理产品今天将提供两种基本的方法。它们可能提供不同的代理服务,这些服务监控以及控制服务间的消息通信。或者它们提供代理来为Web服务平台提供工具来模拟类似的功能。一些管理系统可以提供这两种功能。第一种方法更趋于灵活,但是提供更多的故障点。第二种方法趋向于更高效因为它作用于XML过程,其已经在Web服务平台上得到了实现,但是需要在Web服务平台上安装一个代理。
什么呢?你是否称它们为ESB(企业服务总线)或者你更喜欢另一个不同的名称,Web服务平台是构建和部署Web服务的基础了。这些平台展现习惯或者打包好的好像Web服务的应用程序的功能。作为产品,他们大多数经常在应用程序服务器以及消息中间件上有自己的根。
我认为,为了更高效地管理它们的SOA,企业构建师们应该懂得此管理系统必须保持可见性以及在一个高于任何单个Web服务平台水平的概念和架构上控制。这是因为Web服务平台趋向于操作,好像他们是世界的中心一样,唯一需要来开发和扩展的平台。但是在真实的世界上,一个SOA似乎包含许多Web服务平台,这些平台因为他们独特的能力和特征而被选中。当每个平台能够为自己提供一些基本的管理功能的时候,在所有的Web服务平台上仍然需要提供一个更高层次的业务为中心的观点。这是一个高效的SOA管理的一个重要的需求。
正如我前面所说的,SOA治理主要关注于跟踪和控制开发的典型产物。他们必须以一种相当平和的方式集成自己到开发方法中,同时监督整个开发过程包括人力方面,例如人力经理批准把一些东西从一个平台(例如测试)移植到另外一个平台(例如产品),控制过程并且甚至产品的可见性,以及更多。
治理产品也必须集成他们自己到开发者使用的工具中去,从而使得这些被创制的或者部署的产品在所有开发平台上都符合企业要求,以及符合工程标准。他们经常必须为多种Web服务平台做这些事情,以及在多种地点例如数据库,多种独立的开发项目跟踪产品的地址,改变系统配置,管理/安全仓库等等。一些治理系统也提供他们自己的仓库允许开发产品存储其中。这个在IT技术所有水平阶段提供治理并且不只是在Web服务水平提供的能力实质上非常重要。想想所有那些CICS主机应用程序以及老式的在UNIX系统上运行C程序,举例来说。
底线是管理和治理能够合成到一起,就像豌豆在豆荚里面一样。越来越多地,它们将一起协作以在开发的整个生命周期以及一个SOA生产部署中形成一个完整的链接,以实施和共享企业以及商务策略的方式。例如,管理系统能够帮助治理产品使得开发者知道决策,以至于应用程序以及服务基于历史数据以及管理系统能够提供给他们的管理策略。同样地,治理产品能够提供更多的信息给管理系统关于编码和接口上的变化,从而使得管理系统能够实施更多更有效的事件合作以及问题的决策。