实施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系统节点众多业务复杂时尤其会给攻击造成可乘之机.
数据安全性也难以得到保证,某些关键性数据可能会在非预期的节点流出
文章来源于领测软件测试网 https://www.ltesting.net/