SOA促使业务敏捷
成本的降低、资产重用以及业务有效性这些都是推动SOA实施的重要因素,但是业务敏捷性或许是企业从SOA中获得的最为重要的收益。不过就目前现状看来,业务敏捷性也许也是最难以计算投资回报率的。因此,许多组织从一开始都关注于SOA的其他益处,来作为评估SOA的初步措施,同时,它也会帮助SOA在企业中得到认同。只有在SOA取得一定收效之后,业务敏捷性才会成为促进SOA推广的主要推动因素。
为了理解业务敏捷性的益处,首先需要明确业务敏捷性的定义包含两个方面的内容。在ZapThink的定义中,业务敏捷性指的是面对变化的快速高效的响应,以及通过变化获取竞争优势。定义的第一部分中,强调快速响应变化,是定义中最为主要的部分。在第二部分中,通过变化获取竞争优势是具有战略性的。实际上,通过变化获取竞争优势是在企业竞争中更为基本的因素。最终的结果是,业务敏捷性和创新是紧密相关的。
时间评估
有时候,对于创造性的关注将有助于将新奇独特的产品推向市场。在某些情况下,创新有助于将新产品更快的推向市场。比方说在电信行业中,往往有着持续的行业竞争压力,迫使行业不断面向用户推出新的产品和服务。如果企业可以提前竞争对手一到两个月的时间推出新的产品,那么将在竞争中占据巨大的优势。
尽管在这种情况下,商业利益往往与商业效率相互重叠,组织所寻求的工作效率与推出新的产品和服务息息相关。SOA可以说是推动新产品进入市场的关键性因素,并且是将产品进行集中化的有效基础设施。
对于电信行业来说,将资源集中是目前常见的思路。试图将有线、无线、闭路电视和其他产品提供的能力通过基础设施集成起来,但是在这方面,电信并不是唯一的行业。任何发现这种创新模式的行业都可以在评估SOA优势的同时获得益处,这些行业包含保险业、银行业、旅游业、供应链行业以及其他等等。
请牢记即便是当新产品到达了市场,评估仍然没有结束。很明显,这些产品和服务必须继续在其生命周期中为用户提供价值,并且必须革新保持弹性。这些都是非常关键的,因此,为了继续保证提高业务逻辑的价值,在SOA实施中提供整个生命周期管理是重要的。
策略差异
评估业务敏捷性的获益是策略的差异,还记得我们对于业务敏捷性的定义包含两个部分:业务敏捷性要求对于变化的快速高效的响应,以及通过变化获取竞争优势。策略差异是业务敏捷性第二个部分的内容,但是并没有自动提供策略的差异。
为了理解SOA如何真正的提供策略差异性,让我们看一下下面的例子。在未来某个时期,在某电信公司的市场策略中,包含开发一个创建自我服务的产品提供给客户使用。通过SOA的帮助,可以使其客户自行挑选并且从一组电信功能中提取适用的新服务,同时保证针对不同客户提供可定制的服务。更重要的是,客户可以在任何需要的时候重用这些服务。在这些业务实施的情况下,用户仅需要进入电信公司的网站,就可以建立所需的服务并运行起来使用。
通过提供这些策略,可以使得公司区别于其他的竞争者。如果不是实施面向服务策略的话,没有哪个公司可以提供这样动态持续变化的用户服务。更重要的是,服务使得用户可以在任何需要的时候得到所需功能,市场本身决定了产品的属性。对于市场的期望,毕竟在最为基础的无法预测的业务变化根源之中。因此电信业实施SOA来平衡竞争、策略优势的变化。
然而,需要指出的是,SOA本身并没有提供这样的差异。公司常常使用SOA来平衡商业环境中的变化,仅是为体现策略上的竞争优势,比方说将更好的产品推入市场。毕竟,SOA本身不能帮公司提出一个新的策略。如果仅是将SOA作为使得IT适应于本身的业务需要的工具,那么就很容易陷入一个陷阱。我们上述讨论的SOA众多益处,使得业务取得策略上的进步:如减少集成的开销,服务重用等等。然而,那些可以针对策略优势平衡SOA的组织,更有助于帮助其达到长期的商业目标。
处理异常变化
在时间评估和策略差异上,业务敏捷性从商业计划中获益。但并不是所有的商业可能性都是计划的一部分。无论是自然灾害或是政治或经济剧变等情况的发生,业务必须相应去处理环境中的异常变化。
对于商业市场中的异常变化,无法进行预测,并且无法有效的提前计划。达到业务敏捷的需求,来响应变化管理的需要以及解决方案的适应性来迎合组织需求。SOA自身可以帮助用户提高这个层次上的敏捷性,但是这些还不够。实际上,乐观是大多数人固有的特性,一些机构仅是在这方面比其他机构拥有的更多而已。然而事实仍然是,乐观的组织中SOA的实施,较之缺少灵活IT设施的组织,为应对异常变化做出了更多的准备。
通过治理来实现SOA价值
一旦架构定义了解决实际问题的适合解决方案,那么解决方案就需要适应SOA所要求的特性,下一步就是要确保他们的SOA计划以及相应实现试图真正的去解决要处理的问题。这就是需要SOA治理的原因。
治理在 SOA 中比在普通 IT 中更为重要。在 SOA 中,服务使用者和服务提供者运行于不同的进程中,由不同的部门开发和管理,为了成功地一起工作,需要进行大量的协调工作。为了 SOA 能成功,多个应用程序需要能共享相同的服务,这意味着它们需要进行协调,以便共享和重用这些服务。这些就是治理问题,比采用独立应用程序时要复杂得多。
随着各个公司开始使用 SOA 来更好地保持 IT 与业务间的一致,可以使用 SOA 治理来非常理想地改进总体 IT 治理。如果公司要实现 SOA 的各种好处,采用 SOA 治理是非常关键的。对于 SOA 的成功,SOA 业务和技术治理不是可选的,而是必须使用的手段。
SOA 治理包括以下内容:
◆ 服务定义(服务的范围、接口和边界)
◆ 服务部署生命周期(各个周期阶段)
◆ 服务版本治理(包括兼容性)
◆ 服务迁移(启用和退役)
◆ 服务注册中心(依赖关系)
◆ 服务消息模型(规范数据模型)
◆ 服务监视(进行问题确定)
◆ 服务所有权(企业组织)
◆ 服务测试(重复测试)
◆ 服务安全(包括可接受的保护范围)
ZapThink针对SOA的治理发布了不少白皮书,无论如何,针对这个主题的深入探讨并不在本文的范围之中。