不要混淆 SOA和SaaS相关概念解析 |
发布时间: 2012/9/13 7:31:28 |
SOA和SaaS,必须区分开。SOA和SaaS的结合,可能会成为一种趋势。SOA在中国,还未SaaS化。说到SOA,不能不说ESB。ESB是在SOA体系结构的框架中加入的一个新的软件对象。 现在已经出现了一些通过互联网提供SOA服务的需求。美国一家ESB供应商Cape Clear的老板Dana Gardner曾对媒体谈过将SOA、ESB作为一个集成的服务提供的可能性。之后不久,他的公司就通过云计算为用户提供ESB服务。 Dana Gardner说,通过云计算提供的SOA工具和平台对于中小企业来说应该有很大的吸引力,因为部署SOA的工程对中小企业来说,需要太多的时间和专业技能,而且还需要后期的维护,让中小企业感觉负担太重。所以,通过“云”提供SOA的服务,应该是不错的解决办法。 国外媒体把这一趋势称为“SOA gets SaaSy”,我们姑且翻译成“SOA的SaaS化”,即通过SaaS的模式提供SOA服务。 SOA和SaaS,一度被喻为软件圈内的大、小S。她们有时被称作姐妹,有时被看作欢喜冤家,有时看似貌合神离,有时又不得不走到一起。 SOA和SaaS的概念,必须区分开来。SOA和SaaS的结合,可能会成为一种趋势。SOA在中国,好像还未“SaaS化”。 不要混淆SOA和SaaS 相关概念解析 SOA,Service Oriented ArchITecture,面向服务的架构;SaaS,Software as a Service,软件即服务。如果把SOA和SaaS称作一对姐妹,其中的血缘恐怕就是Service,服务。虽然都和服务有关,但内涵大相径庭。 从业务角度理解SOA,它是针对企业的一些旧的软件体系重新利用,进行整合,构建一套松散耦合的软件系统,同时也能方便的结合新的软件共同服务于企业的一个体系。使系统能够随着业务的变化更加灵活适用。 从技术角度理解SOA,SOA实际上是系统分析设计思想的进一步发展,它的思想超出了对象的概念,一切都以服务为核心,而服务由组件构成,组件是若干操作的集合,操作对应具体实现的程序函数。服务是通过对业务过程模型的分析而识别出来的。每个服务能够实现若干功能,这些功能由组件而不是操作来实现。组件是操作的调用集合,是服务功能实现的最小单位,而不是程序实现的最小单位。 在具体实现上,只要能提供服务的技术都可以实现SOA思想,如Web Service、RMI、Remoting、CORBA、JMS、MQ、甚至JSP、SERVLET等,另外还可以通过分布式事务处理和分布式软件状态管理来进一步地改善它。但是如果想让这些服务能够更广泛的被使用,或被大家认可,在互联网上发布,那么就要遵循一定的规则标准了。这一类的标准有SOAP、Java API for XML-based RPC (JAX-RPC)、WSDL 和 WS-* 规范等等。另外它的实现还需要安全性、策略管理、可靠消息传递以及会计系统的支持。 本文出自:亿恩科技【www.enkj.com】 |