内容提示:众所周知,你不必购买软件来提供SOA功能。SOA主要是一种技术架构和业务策略,不是你能够出去买到的东西。
Hinchcliffe & Company公司总裁兼首席技术官Dion Hinchcliffe说,众所周知,你不必购买软件来提供SOA功能。SOA主要是一种技术架构和业务策略,不是你能够出去买到的东西。
但是,这个事实也是真的:实现软件能够让提供SOA的工作容易10倍。或者在某些情况下让提供SOA困难10倍。但是,如果软件确实能够帮助向SOA更快和更方便地过渡,那么,当前的形势就是商业SOA解决方案与开源SOA解决方案之间的日益激烈的竞争。
应该指出,SOA的技术支持(至少从创建兼容性服务方面说)很长时间以来已经建在了大多数现代的开发堆栈中,无论这个堆栈是.NET、J2EE还是目前迅速普及的云计算平台。
然而,当涉及到SOA的全面需求的时候,也就是涉及到需要许多风格的服务、管理、测量、安全等技术能力和轻松地连接到数百种基础的数据集的需求的时候,没有一种开放平台具有全部这些功能。这就意味无论你现在使用什么开发平台,你都需要开发额外的SOA功能、购买这些功能或者越来越多地采用基于社区的解决方案。
因此,许多当前的企业级SOA努力都投资某种软件以支持目前SOA的开发、测试、安全、管理和治理。替代商业SOA产品的开源软件替代软件现在已经出现了很长时间了,但是,我现在才看到人们对开源软件解决方案的兴趣出现了相对突然的和明显的增长以及开源软件解决方案本身竞争力的提高。
出现这种情况的部分原因毫无疑问是经济衰退,是由于成本的敏感性,但是,其它的原因是最新的开源软件SOA产品诱人的性质和成熟。由于实施者努力应对更含糊的很少更新的商业产品,透明度和开源软件的影响力将继续是一个不小的因素。
由于SOA能够并且应该是对于企业核心的经营是具有战略性的,决定在社区建立的解决方案的基础上建立SOA就像是迈出了一大步。这对于把自己的职业生涯押在SOA决策方面的那些人来说有重要的意义。这使我们回到了这篇文章的主题:开源软件真地能够满足认真的“大企业”SOA努力日益高级的需求吗?
这个答案是,同需要复杂的问题一样,这取决于许多因素。
要理解开源软件目前是否能够提供比商业软件产品向SOA提供更多的价值,我们必须考虑开源软件能够在哪些关键的方面改善SOA。Hinchcliffe说,从我的观点看,一个成功的SOA努力一般有三个顶级的要求:
·业务架构。如果你在创建服务,但是没有战略计划,你仅仅是在做低级的整合。这仍然是有价值的,但是,SOA的巨大好处来自于在本地实施的一个弹性的、适应性的全局性的计划。工具对于SOA的这个关键的方面的影响是有限的。但是,某些建模、库和政策解决方案肯定会有帮助。到目前为止,SOA在这些地方还不是非常强大。
·互操作性。这是SOA提供其价值的核心方式,如实现可再利用的业务服务和数据,在这个过程中消除竖井等。没有互操作性,商务流程管理和编排等高序函數就不能实现。Hinchcliffe说,根据我的经验,互操作性出人意料地有大量的敌人,有时候包括标准本身。在SOA领域,有许多各种各样的不同标准。多数人都知道我越来越坚持这个观点,简单的服务能够创建最大的价值。但是,无论采用哪一种方法,开源软件厂商现在都能够满足大多数最高级的互操作性的要求(工具变体、编程语言/平台支持、SOAP和REST等服务类型以及方案的不兼容性),至少在某些程度上能够满足服务质量、治理和一些安全的要求。
·治理。软件支持与控制SOA中的服务有关的活动是治理的一部分。与业务架构一样,这个功能一部分是技术功能。而工具肯定能有帮助。开源软件在这方面仍然很薄弱。
因此,开源软件目前在上述SOA的三个顶级要求中的两项要求方面有很大的局限性,同时,在实际的服务实施和流程自动化方面是很强的。在这个领域,开源软件SOA目前有巨大局限性的唯一的一个地方是连接不同的后台企业数据源的适配器的数量和开源软件混搭开发工具。遗憾的是这是获得SOA价值的重要的障碍之一。Hinchcliffe说,作为一个成熟的SOA战略,我会给开源软件一个合格的肯定答复。但是,我要附加一个警示说明,现在不可能建立一个完全是开源软件的企业SOA栈。
这里的关键问题是开源软件解决方案能够提供目前的SOA努力的真正价值,无论在减少前期成本方面以及开源软件伴随的好处方面都是如此。开源软件的好处包括能够直接影响产品的发展、更透明的架构以及更明确地理解和尊重其在服务架构中的功能实力。
至于未来,Hinchcliffe说,我认为,开源软件将来很可能在这种实践的技术方面继续侵蚀商业SOA软件的领地。但是,在可以预计的未来,与其它商业性产品以及商业性治理软件紧密结合在一起的商业性SOA解决方案将继续拥有可持续的和强大的优势。如果你的机构已经开始实施开源软件战略,那么,你可能会发现开源软件SOA将达到黄金时段,在中长期会满足你的需求。然而,在自己的应用程序组合中有许多现货的企业必须更加小心以保证自己的开源软件工具能够很好地运行并且与自己的数据紧密地集成在一起。
Hinchcliffe说,我在Twitter网站向Software AG首席战略官Miko Matsumura提出了关于目前的开源软件SOA的问题。他在140个字符的限制之内简要地回答说,我对开源软件SOA的意见是:前期成本=A++,基础设施=B+(很好的标准支持糟糕的适配器),治理是D-。