实施 SOA 可能带来的主要优势有5点:
一,SOA可通过互联网服务器 发布,从而突破企业内网的限制,实现与供应链上下游伙伴业务的紧密结合。通过SOA架构,企业可以与其业务伙伴 直接 建立新渠道,建立新伙伴的成本得以降低。
二,SOA与平台 无关,减少了业务应用实现的限制。要将企业的业务伙伴整合到企业的“大”业务系统中,对其业务伙伴具体采用什么 技术 没有限制。
三,SOA具有低耦合性特点,增加和减少业务伙伴对整个业务系统的影响较低。在企业与各业务伙伴关系不断发生变化的情况下,节省的费用会越来越多。
四,SOA具有可按模块分阶段进行实施的优势。可以 成功 一步再做下一步,将实施对企业的冲击减少到最小。
五,SOA的实施可能并不具有成本显著性。这要分三种情况加以讨论:
当企业从零开始构建业务系统时,采用SOA架构与不采用SOA架构成本可看做是相同的。
当企业业务发展或发生企业重组等变化而原有系统不能满足需要,而需要重构业务系统时,采用SOA架构与不采用SOA架构成本可看做是相同的。
当企业业务发生缓慢变化并可预见到将来需要重构业务系统时,由于可以按模块分阶段逐步实施SOA以适应变化的需要,这样企业不需一下投入一大笔经费进行系统改造,而是根据企业业务发展情况和 资金 情况逐步投入,缓解了信息投入的压力。
但是,SOA并不是天上掉下来的馅饼,企业要实施SOA必须具备一定的条件,否则很难实施成功。SOA会给企业信息设施和管理带来以下4方面的挑战:
一, 人才 的匮乏
SOA是近年来才出现的新概念,懂得和深入了解SOA的人不多,SOA专家更是寥寥无几。企业需要的SOA人才,要有SOA架构师,以及熟悉SOA的 开发 技术人员,同时各SOA应用部门的关键人员,也需要理解SOA的内涵以实现与业务的结合。
二,开发平台和开发工具的选择
实施SOA对开发平台和开发工具没有特别要求,这给企业对平台和工具的选择造成了盲目性。对于不具备丰富实施经验的企业,很有可能选择到最终不适合自身发展需要的平台和工具。这要求企业既要对各开发平台和工具有深刻的了解,又要对自身业务及发展方向有深刻的了解。
对于SOA开发工具来说,总的要求是能够“多快好省”的满足企业实施SOA的需要。虽然一些企业已经推出了SOA开发工具,但还未看到其中有相当成熟的“王者”出现。
三,技术环境的限制
SOA可通过互联网送达到每个角落,这同时也要求了强大的送达能力。在现实 网络 环境中,送达能力由于带宽的限制往往是达不到的。
松耦合往往提高调试的难度,这是笔者的观点。最紧的耦合就是所有代码都在一个过程中完成,一旦发生问题可立即追踪的问题点。采用面向对象的开发后,尤其是 程序 跨进程后,耦合度大为减低,但程序发生错误后要花更高的代价才能找到问题点。当采用Remoting、Web服务及分布式 处理后,耦合性进一步降低,但调试难度也越来越高。实施SOA也会面临这个问题,众多的分布式 服务 ,到底是哪一个出了问题,很难确认。问题往往在若干步后,经过了若干服务才体现出来,要最终到问题的源头非常困难。
网络的不稳定性会对SOA系统造成影响。随着时间的增加及 数据 量的增加,影响程度可能会逐步加大并达到很严重的程度。
四,安全性的影响
松耦合可能会给攻击者找到漏洞的机会。当整个SOA系统节点众多业务复杂时尤其会给攻击造成可乘之机。
数据安全性也难以得到保证,某些关键性数据可能会在非预期的节点流出。