这种状况表明,SOA从理想走向现实,还需要走很长的路。甲骨文中国区SOA技术推广经理周有衡认为,决定SOA成败的三大因素包括企业文化、方法论和实施平台。企业要成功利用SOA有企业IT应用的因素,也有企业管理的因素。换言之,当企业实施SOA时,要有相应的技术与标准做准备,而且在公司的策略、组织架构、信息共享、IT治理以及业务处理的流程等管理方面,也要有相应的配合与优化,这样才能把SOA的优势发挥出来。
理解服务网络结构
基于SOA的系统能够和应该是动态的。服务可以任何时候增加、更新或者删除。在这种转变的环境中,理解安装了什么和运行什么。这个问题在SOA领域是一个很大的问题。在SOA领域任何服务都可以通过调用增加到这个结构中,尽管对于这个调用的存在也许没有记录。
做得正确,运行时治理能够动态发现SOA服务网络的结构。它观察安装在这个环境中的实际组件和记录它们的存在。这个治理系统还能够记录发现的服务接口的细节。这个发现信息还能够存储到注册表或者存储处,把信息提供给架构、开发和运营团队。
通过记录存在哪一种服务、当前的状态和这些服务从一个阶段向另一个阶段的推广速度,企业对于服务重新使用率将有更明确的概念,从而提高SOA计划的效率。
保证运营健康
很长时间以来,保持性能、可用性和服务级管理对于IT一直是一个挑战。然而,基于SOA的应用程序增加了一些额外的窍门。例如,服务可以重复使用,重复使用最多的服务遇到的性能问题也最多。服务本身的负荷可能会独立地改变使用这些服务的任何特定的应用程序。因此,每一项服务的性能都必须跟踪并且对照已知的重复使用的服务进行检查,以确定这些服务的新的应用是否会阻止它支持现有的应用程序。在出人意料的沉重负荷下,这项服务也许不能满足其性能要求。
解决这个问题的窍门是不让这项服务的负荷过重。你的运行时治理系统能够跟踪服务重复使用率和性能指标。这样,你能够使请求工作量符合服务级协议或者根据需要增加容量。
这个治理系统应该提供详细的信息(详细到每个最终用户和每一个交易),让运营团队最充分地利用服务级监视和强制措施。这个运行时治理系统能够把数据分解为各种尺寸,从多个有利的位置检查性能统计数据。运行时治理系统还能够应用到仍在开发之中的服务中,以保证提供的服务将满足性能的要求。
确保运行的完整性
SOA的巨大挑战之一是在发生变化的时候验证服务网络运行的正确性。运行的完整性问题在SOA环境中是很简单的,因为这些服务是在应用程序中共享的,一项服务的改变可能影响到许多应用程序。此外,服务可能会动态地变化,因为服务的改变在这个更新的服务安装完毕并且把通讯信息提供给它之后就能立即生效。由于这个运行环境中的一项服务可能需要修改才能支持新的或者现有应用程序,所有使用这项服务的应用程序也许都能受到这个改变的影响。