商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
信箱 E杂志
您的位置:首页 > 技术频道 > 正文

SOA治理简介

—— 治理:IBM 官方定义以及需要治理的理由

【IT168技术文档】
治理和管理需求

    面向服务的体系结构 (SOA) 是一项引人注目的技术,用于开发与业务模型保持最佳一致性的软件应用程序。不过,SOA 会提高业务和信息技术(Information Technology,IT)以及 IT 部门和各个团队间所需的合作和协调级别。这个合作和协调是通过 SOA 治理提供的,涵盖了用于指定和管理如何支持服务和 SOA 应用程序的各个任务和流程。 

    在本文中,我们将了解治理和管理的含义以及其之所以重要的原因。然后,我们将讨论以下 SOA 治理的一些重要方面:
服务定义
服务开发生命周期
服务版本治理
服务迁移
服务注册中心
服务消息模型
服务监视
服务所有权
服务测试
服务安全 

    通过本文,您将能很好地理解为何 SOA 工作需要 SOA 治理的支持。您将建立起如何为您的组织构建其 SOA 治理方案的一些基本理念。

没有治理时的情况 

    在讨论什么是治理之前,让我们了解一下公司 IT 部门中通常的情况;即没有治理时的情况如何。

希望提供服务时 

    让我们假定您开发了一个很不错的小型服务来进行货币值转换。您需要在正在处理的订单处理程序的几个不同位置使用此服务,因此将代码编写为具有可重用功能,以便从程序中的任何位置进行调用。由于在另一个程序中需要此服务,因此将代码放到 Java .jar 文件中,以便将其添加到任何需要此服务的程序的类路径中。但该服务存在一个问题,由于需要使用货币汇率(如 Yahoo 的货币转换器网站发布的汇率)进行初始化,因此启动需要很长时间。这些步骤在每次需要对货币量进行转换时,都会花太多的时间进行初始化。因此,您在自己的小程序中承载转换器,这个程序在启动并初始化后将始终运行,可以随时通过远程 API 从任何程序对其进行调用。此 API 可以作为 SOAP-over-HTTP Web 服务实现,也可以是支持 RMI-over-IIOP 的远程 Enterprise JavaBean (EJB) 接口。 

    您现在获得的就是一个货币转换器服务。不仅您的多个程序可以使用它,您的部门同时也很喜欢这个小东西,开始从他们自己的程序对其进行调用。不久后,您可能不知道,公司的其他部门中您从来没有听说过的程序也在使用这个服务了。转换器运行频率非常高,而导致其响应时间延长,因此您劝说经理购买更为强大的计算机来承载您的服务。经理并不喜欢将预算中的资金花在另一台进行简单工作的计算机上,不过您说服了他。 

    一个周末,计算机系统崩溃了,而这却是您公司的某个从来没有听说过的人打电话到您家里告诉您的,他让您到办公室进行必要的工作,以便使转换程序重新开始运行。后来,您的经理说其他部门的人抱怨您的转换器汇率更新并不及时。他希望您对此进行处理,但不希望耽误您的本职工作。您怎么开始对所有这些负责了呢? 

    有一天您说“去他的”。您不想再负责转换器的工作,将其关闭了。大量的投诉电子邮件开始在公司内出现,人们尝试找出谁负责转换器程序以及为什么没有再运行了。其中很多电子邮件抱怨说,由于没有了转换器服务,很多非常有用的程序不再能继续工作了。客户非常生气,您的公司因此而蒙受着利润损失——如果运气不好,每个人发现要对此负责的是您,您很可能会被辞退。怎么会是这样呢?

希望使用服务时 

    现在让我们看一下另一方面。假定您是该公司中的另一名员工,在处理产品目录应用程序。不同国家的用户希望能够看到以其相应货币表示的产品价格。一位同事告诉您可以调用此服务将每个产品的价格转换为使用用户的货币表示。您试了一下,的确可以正常工作,因此使用该服务实现了您的应用程序。您的经理非常高兴您能以创记录的时间完成新功能,客户非常喜欢这个功能,网站的销售额大幅度提高。 

    然后,您的网站在某个周末停止工作了:无法以其他货品显示价格。您的经理打电话到家里,要求您赶快修复程序。您打电话到同事家,得知是他的朋友的朋友告知他这项服务的。同时,销售副总裁的助手打电话告诉您客户对此很不满意。您告诉他是朋友的朋友编写的这个服务。副总裁的助手打电话给这个人,让他马上到办公室进行相关工作,以使此服务恢复运行。尽管您的应用程序本身没有问题,而是调用的服务出现了问题,您同时也因为目录应用程序停止工作而被指责。这怎么会是您的错呢? 

    欢迎来到 SOA 治理的世界。或,在本例中,缺乏有效治理的世界。服务提供者和服务使用者都开始负责很多最初的职责之外的事务。如何在不造成这样的失控局面的前提下使用服务呢?

1 2 3 4
©版权所有。未经许可,不得转载。
[责任编辑:郑重]