SOA管理是我经常谈论的一个话题,得到的反馈也是好坏参半,这是因为对愿意以及方式缺乏了解。不管你的组织开始SOA多长时间,SOA管理都是需要多加注意的。我将首先解释一下SOA管理需要注意的原因,而后再谈一下需要注意的方面。
但在我开始之前,我首先要澄清SOA管理与SOA治理的区别。对于我来说,SOA管理是SOA治理的一部分。SOA治理是由流程、标准以及政策来治理SOA实施的。一个完整的SOA治理解决方案设计注册表、存储、管理变革、服务控制、服务质量、安全等等。
在此我将只谈SOA管理,对于多数厂商来说是服务控制、安全、业务流程可见度以及异常事件处理。
首先,让我们看看传统的智慧。组织通常认为他们不需要SOA管理的原因在于没有足够的业务动力。或者说:"在我们的SOA架构还没建立起来的时候就需要SOA管理呢?"这种想法正确吗?你可以在读完这篇文章之后做出自己的决定。
我早前曾经提到过SOA实施像一场旅行,你的组织要达到一定的SOA成熟度是需要时间的。在SOA实施的某一个时间点,SOA管理就会牵涉进来,原因有两点:
1. 你的SOA架构将单个的应用程序和筒仓型业务功能变成了分布式服务。随着灵活性和灵敏度的增加,安全和访问控制的复杂性也随之提高。这就需要管理工具上的新想法。
2. 即使是在基础的SOA环境中,你的组织也将需要SOA架构的可见度。可见度的要求包括业务流程、服务使用、性能瓶颈等等。随着你的环境变得越来越分散,使用原有的管理工具就会逐渐丧失可见度。因此,当SOA促进你的业务时,你需要SOA促进你的管理环境去超越传统系统管理。
这是SOA发展的适当时机吗?
那么,什么时候才是考虑SOA管理的适当时机呢?这个时间应该早于还是晚于你的SOA部署期呢?决定因素有以下几点:
1 访问权控制和安全是SOA管理提出的关键问题。因此,SOA管理应该是你的SOA基础架构整体中不可分割的一部分,而不是随后加入。从实际出发,你需要在SOA项目早期考虑安全和控制。
2 有了妥善的规划,SOA管理将降低SOA项目的成本实施时间。人们普遍认识到项目周期早期发生的改变/修复相较于晚期来说影响更小。换句话说,你越晚决定对SOA管理提出的问题进行解决,对你之前所做决策的影响就会越大,而代价往往是巨大的。
3 组织往往只有在出现问题的时候才会想到管理。我们很难去量化由于基础架构中累赘服务或安全破坏所造成的干扰带来的成本。你要做的不是去寻找救火措施,而是利用SOA管理工具主动的控制和监控业务。
4 业务流程管理(BPM)是亚洲企业中的一大主题。SOA实施则是另外一个主题。SOA管理工具是BPM很好的补足解决方案。
在使用BPM的时候,多数企业都想如何利用BPM工具建立并管控其业务流程。但是,我需要提出以下几个问题以供考虑:
1 是不是所有的业务流程都能用BPM解决方案来定义?
2 如果不是,那么你要如何处理那些没有被BPM工具定义的业务流程?
3 这些业务流程是遵循最初设计构想来运作的吗?
换句话说,你要如何发现你的业务流程正导致一些始料未及的后果?
我认为大多数企业都无法通过BPM解决方案为所有的业务流程建模。如果你的业务存在已久,那么就可能会比你想象中还要多的未定义业务流程。一些SOA管理工具,带有自动发现功能,能弥补这一空白。这些工具能够"看到"并告知你基础架构中正在发生的问题。所以不要以你认为有效的方式模拟业务流程,而让你的 SOA管理工具来告诉你真正发生的问题。这不仅仅有利于IT针对应用和瓶颈下功夫,还有利于分析师看到实时的业务流程。
目前,我们已经讨论了进行SOA管理的原因,如果你认为你真正需要SOA管理,以下几点是在挑选解决方案时需要注意的:
注意事项:
1 性能:所有的管理和监控工具会带来一些开销,你需要确定你的系统性能不会受到太大的影响。
2 标准支持:你的业务是在异构的应用程序、服务和标准中运行的,你的管理解决方案也需要如此。如果你需要改变基础架构投资以服务SOA管理,那么你有可能在寻找错误的解决方案。
3 跨功能支持。你的SOA基础架构可以跨越多个功能或应用解决问题,同样,你的SOA管理方案也是如此。千万确保你所制定出的解决方案能够真正的满足IT部门的需要,同时也能满足业务分析人员,甚至可能会是保安人员的需要。
就如同整个企业架构体系中的其他资产一样,如果你能确切的知道SOA管理解决方案存在的意义以及如何使用将会让你获得更加明显的竞争优势。那么,你是否真的需要SOA管理?这个决定是由你选择的。