什么是 SOA 治理?
我们需要了解什么是治理,以及它如何影响 IT 和服务。
通常来说,治理意味着建立和执行工作组为了一起工作而一致同意的工作指南。具体来说,治理包括以下方面:
建立授权的责任链。
度量评估的有效性。
指导组织建立满足其目标的策略。
控制机制以确保遵从性。
进行沟通以使所有相关方都获得通知。
治理确定谁负责制定决策,需要制定什么决策,以及使决策制定保持一致的决策。
治理不同于管理。治理规划需要制定什么决策,而管理是制定和实施决策的过程。治理重在建立决策,而管理重在贯彻执行决策。
IT 治理是指针对 IT 的治理;即:针对 IT 组织及其人员、流程和信息应用治理,以提供指导,使这些资产支持业务需求。SOA 治理是 IT 治理的一种特殊化,其将关键 IT 治理决策置于服务组件、服务和业务流程的生命周期上下文中。SOA 治理对生命周期进行有效管理,生命周期是其关键目标。
IT 治理比SOA 治理更广泛。IT 治理涉及 IT 的所有方面,包括影响 SOA 的问题(如数据模型和安全性)以及 SOA 之外的问题(如数据存储和桌面支持)。SOA 治理重点关注服务生命周期的一些方面,例如:计划、发布、发现、版本治理、管理和安全性。
治理在 SOA 中比在普通 IT 中更为重要。在 SOA 中,服务使用者和服务提供者运行于不同的进程中,由不同的部门开发和管理,为了成功地一起工作,需要进行大量的协调工作。为了 SOA 能成功,多个应用程序需要能共享相同的服务,这意味着它们需要进行协调,以便共享和重用这些服务。这些就是治理问题,比采用独立应用程序时(甚至包括使用可重用代码和组件时)要复杂得多。
随着各个公司开始使用 SOA 来更好地保持 IT 与业务间的一致,可以使用 SOA 治理来非常理想地改进总体 IT 治理。如果公司要实现 SOA 的各种好处,采用 SOA 治理是非常关键的。对于 SOA 的成功,SOA 业务和技术治理不是可选的,而是必须使用的手段。
SOA 治理实践
在实践中,SOA 治理指导可重用资产的开发,确立如何设计和开发服务,以及这些服务如何随时间增长进行更改。它将在服务提供者和服务使用者之间建立一个协议,告知使用者可以希望得到什么功能,告知提供者应该提供什么功能。
SOA 治理并不设计服务,而是指导将如何设计服务。这可帮助回答很多有关 SOA 的问题:提供了哪些服务?谁可以使用这些服务?它们的可靠性如何?将在多长时间内支持这些服务?是否可以确定这些服务不会更改?如果为了各种目的(如修复错误或添加新功能)而希望进行更改时该怎么办?如果两个使用者希望相同的服务以不同的方式工作时该怎么办?是否因为您决定公开服务就意味着有责任永远为其提供支持?如果您决定使用服务,是否能保证明天不会关闭这个服务?
SOA 治理以现有 IT 治理技术和实践为基础。使用 Java 2 Platform, Enterprise Edition (J2EE) 等面向对象的技术时,IT 治理的一个关键方面就是代码重用。代码重用也体现了 IT 治理的难点所在。每个人都认为可重用资产很好,但实际工作时却非常困难:谁为开发可重用资产付款?开发团队是否会实际尽力进行重用?是否每个人都认同可重用资产的单一行为集,或者每个人都采用自己的自定义版本,实际上完全不能进行重用?SOA 和服务使这些治理问题变得更加重要了,它们的结果也因此变得更为重要。
治理更多的是政策问题,而不是技术或业务问题。技术的重点是匹配接口和调用协议。业务的重点是为客户服务的功能。技术和业务都关注的是需求。虽然治理也涉及这些方面,但它更多的是要确保所有部分一起工作,独立的工作彼此并不会冲突。治理并不会确定决策的结果是什么,而是考虑必须进行哪些决策以及谁进行这些决策。
使用者和提供者双方彼此就如何一起工作达成一致。这些认识上的一致大部分都能在服务水平协议(Service-Level Agreement,SLA)进行捕获,形成服务提供者愿意提供且服务使用者愿意接受的可度量目标。这个协议就像各方之间的契约,而且可以成为事实上的具有法律效力的合同。SLA 至少要清楚说明提供者必须进行怎样的工作,以及使用者可以期望得到什么服务。
SOA 治理是由精英团队(Center of Excellence,COE)(一组知识丰富的 SOA 技术人员)制订的,他们负责建立策略并监督其执行,从而帮助确保企业的 SOA 成功。COE 将建立各种策略,以用于标识和开发服务、建立 SLA、管理注册中心以及进行其他提供有效治理的工作。COE 成员随后将这些策略付诸实施,指导和帮助团队开发服务和组合应用程序。
治理 COE 制订了策略后,就可以使用相关技术来管理这些策略。技术并不会定义 SLA,但可以用于执行和度量遵从情况。例如,技术可以限制哪些使用者可以调用某个服务以及何时可以调用服务。可以向使用者发出警告,告知服务已经弃用。可以对服务的可用性和响应时间进行度量。
技术执行治理策略的一个不错的途径是通过企业服务总线(Enterprise Service Bus,ESB)和服务注册中心的组合。可以采用特定的方式公开服务,以便只有特定的 ESB 才能调用该服务。然后 ESB/注册中心就可以控制使用者的访问,监视和测定使用情况,确定 SLA 遵从情况等。通过这种方式,服务可以将重点放在提供业务功能上,而 ESB/注册中心则主要负责治理方面的工作。
治理可能成为 SOA 中任何错误的替罪羊。和性能一样,治理可能成为极大的顾虑,成为所有问题的托词和每个有问题的解决方案的正当借口。只需要在任何 SOA 讨论中扔出一句火药味十足的话(随后将成为一个修辞“手榴弹”),然后就可以看着原本有用的讨论瞬时间陷入一片静寂。SOA 的一个挑战就是明智地使用治理来使 SOA 更好地工作,而不会让治理方面的顾虑淹没了所有其他事项。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突