`
baiwenwo
  • 浏览: 67668 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

SOA和SaaS的区别

阅读更多

据国外媒体报道,现在已经出现了一些通过互联网提供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-* 规范等等。另外它的实现还需要安全性、策略管理、可靠消息传递以及会计系统的支持。

  直观地理解,可以把SOA看做是模块化地组件,每个模块实现独立功能,不同的拼合提供不同的服务。利用SOA,把一团乱麻庞大无章的系统规整成一个一个的模块,方便地实现IT的最大利用率,并提高重用度。普元软件曾拿灵活变换而能够千变万化地拼接的乐高玩具做比喻,可见一斑。

  说到SOA,不能不说说ESB。ESB是在SOA体系结构的框架中加入的一个新的软件对象。这个对象就是企业服务总线(Enterprise Service Bus,ESB),它使用许多可能的消息传递协议来负责适当的控制流甚至还可能是服务之间所有消息的传输。虽然ESB并不是绝对必需的,但它却是在SOA 中正确管理业务流程至关重要的组件。ESB本身可以是单个引擎,甚至还可以是由许多同级和下级ESB组成的分布式系统,这些 ESB一起工作,以保持SOA系统的运行。在概念上,它是从早期比如消息队列和分布式事务计算这些计算机科学概念所建立的存储转发机制发展而来的。

  与SOA相关的,还有SCA与SOD。随着面向服务的体系结构不断发展和成熟,开发人员和架构师将面临不断增多的编程接口、传输协议、数据源和其他细节内容。服务组件体系结构(SCA)和服务数据对象(SDO)可以为各种服务和数据源提供单一编程接口。

  SaaS是一种软件服务提供的模式,是一种将软件部署为托管服务并通过 Internet 进行访问的模式。SaaS作为一种有效的软件交付机制,其出现为 IT 部门创造了机会,使他们可以将工作重心从部署和支持应用程序转移到管理这些应用程序所提供的服务上来。不仅可以通过Portal为用户提供服务,还可以通过其它方式,如API、WSDL等提供服务。

  SaaS方便、节省成本,受到很多企业,尤其是中小企业的青睐,但SaaS的权限控制、安全问题可能让用户有所顾忌。

  SOA和SaaS的区别,大概可以概括为以下几点:

  1. SOA包括了关于软件是如何被架构起来的东西,而SaaS是关于软件是如何被应用的。

  2. 在SaaS当中,应用程序可以像任何服务一样被传递,就像你家中电话的语音一样,看起来似乎就是为你的需求量体裁衣得到的。而SOA的定义和这个无丝毫的联系。SOA支持的服务,都是些离散的可以再使用的事务处理,这些事务处理合起来就组成了一个业务流程,是从基本的系统中提取出来的抽象代码。

  3. SOA是一个框架的方法,而SaaS是一种传递模型。

  4. 通过SaaS传递Web服务并不需要SOA。

  5. SaaS主要是指一个软件企业向其它企业提供软件服务。而SOA一般是企业内部搭建系统的基础。SaaS注重的是提供服务的思维。而SOA注重的是实现服务的思维。

  SOA和SaaS会结合吗?

  谈到SaaS,就不能不提马克·贝尼奥夫。贝尼奥夫曾是甲骨文公司最年轻得志的副总裁,在一次甲骨文内部讨论中,贝尼奥夫了解到网络服务取代软件包的可能性,凭着对软件产业的深入了解,贝尼奥夫觉得,这个模式拥有足够的威力,足以变革整个软件产业。在1999年3月,贝尼奥夫创立了为客户提供按需供应和 SaaS的Salesforce公司,并提出了“终结软件”的思想。

  SaaS的核心是在线提供软件服务,能够省去用户配置服务器、购买软件产品等所要支付的高额IT费用,而且不用再像应用套装软件那样进行软件升级和后续投入。SaaS支付模式的这些优势,给全球软件供应商带来无限的想象空间。当SAP、微软和甲骨文等IT巨头都把按需软件作为未来发展方向时,SaaS市场变得异常活跃。尽管贝尼奥夫期望的“终结软件”这一局面还没有真正到来,但整个软件产业的风向已发生改变。

  在最新发布的《软件业的下一个十年——中国软件运营服务(SaaS)市场发展趋势研究报告》中指出, 2006 年中国SaaS产业的规模为68亿元,2011年将突破400亿元,达到406亿元,5年的复合增长率将达到43%。SaaS是未来10年软件产业发展的新方向。

  说到SOA和SaaS的结合,微软的“S+S”战略应该是最好的例证。几年以来,微软一直在针对“S+S”进行研究和思索,发现在实际当中,用户并不是只需要软件或者只需要服务,而往往是对两者都有欲罢不能的需求,因此“S+S”的核心要义在于,并不是“软件”或“服务”,而是“软件”和“服务”——你不必在软件和服务当中选择,你可以也应该两者兼备。软件与服务在“S+S”中扮演了互补的角色。

  通过 SaaS的模式提供SOA的服务,看起来是一个不错的想法,SaaS最受到中小企业的欢迎,节省人力成本、知识成本、设施成本,何乐而不为。但大型企业,大多持观望态度。大型企业有实力在IT方面做出投资,他们更加在乎业务的安全性、可控性,他们不放心将自己的核心业务放在他人的承载上。中石化相关人士就曾经表示,把核心业务运营系统放到托管商那里,简直可以用“疯狂和可怕”来形容。作为关系到国计民生的重点企业,在安全、技术标准、法规遵从等方面没有完善之前,根本不会考虑采用SaaS模式。但他们也承认SaaS的发展趋势,认为在未来10年,这个应用应该会发生。

  SOA+SaaS在中国生存现状

  目前中国的IT现状,是否会出现SOA的SaaS化?

  面向构件的中间件厂商普元软件的副总裁程朝晖先生认为,目前,在中国,SOA的SaaS化还没有见到明确的客户需求和支撑的商业模式,只在一些特殊的公司有此类需求和可能,大家更多处于该技术的早期试验阶段。Amazon推出的EC2就在于推进这方面的应用,对于昂贵的机器资源可以通过租赁计算能力和基础架构设施来降低企业的服务部署代价。应该说SaaS是继2000年初的ASP模式的一次提升,部署的单元由应用系统降到了更为小颗粒、更高复用度和灵活度的服务上。这项技术、商业模式和客户需求在中国目前还有待进一步的探索,不宜轻易跟风。普元目前还没有考虑提供这样的模式和平台供社会租用,不过普元已经和一些有SaaS考虑的大企业在进行相应的技术交流。

  SaaS应该是中小企业非常欢迎的一种模式,但是前几年的ASP模式在中国没有很好的应用和广泛推广,现在很热门的SaaS确实还需要在技术方案、业务需求和商业模式上有更多的尝试和验证。对于中小企业的信息化,程先生认为,同样需要一个能够帮助他们屏蔽底层的技术细节却又能跟上技术发展的步伐,并且能够用更为低成本的方式,更快速和更高质量地开发、部署和管理这些中小企业所需的应用服务。普元的EOS同样是他们的最好的平台选择。另外,普元的EOS社区版和EOS专业版产品本来就是专为中小企业特定打造的商业平台。

  东方通首席软件设计师朱律玮先生特别向笔者强调,用户首先必须能够区分,SOA和SaaS中的服务是两个概念,SOA中的服务是指业务服务,由IT技术来实现; SaaS中的服务是指运营服务,是一种盈利模式。SaaS需要一个技术平台,SOA相关技术可以成为这个技术平台的一个重要组成部分,提供服务管理、调度和运维管理,可以更灵活构建SaaS应用。可以采用SOA思想和技术构建应用系统,这些系统可以实现成为SaaS模式。东方通目前着重提供中间件技术产品,其中很重要的方面是提供SOA的基础设施产品,支持SOA系统的开发,运行,和运维管理。东方通提供的SOA产品可以成为SaaS技术平台的一个部分,通过间接方式支持SOA和SaaS。

  东方通已经认识和感受到了中小企业对SaaS的需求和对SOA的需求,朱先生认为,中小企业需要产品功能稳定、简单易用,大部分中小企业用户不需要过于复杂的系统,东方通的产品充分考虑到中小企业用户的需求,尽量为用户提供更加适用的产品,满足用户实际应用需求。

  小结

  无论是SOA还是SaaS,最终的和最大的驱动力还是市场的需求。虽然中小企业占到99%以上,但多数SOA厂商的收入来源主要还是来自大型企业、行业用户。很多技术趋势的发展,很多时候都可以用经济学的原理加以解释和预测。虽然在中国,通过SaaS的模式提供SOA服务还不成气候,但已经冒出了星星之火。SOA在逐渐地、悄悄地,gets SaaSy,也许会成燎原之势。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/andycpp/archive/2008/08/29/2847077.aspx

分享到:
评论

相关推荐

    从eBay的SOA解决方案谈SaaS扩展性

    eBay的SOA解决方案为SaaS提供商提供了一个值得学习的范例,通过实施SOA,不仅可以提升服务的可用性和响应速度,还能够促进业务创新和增长。在SaaS领域,扩展性已经成为衡量服务竞争力的重要指标,只有不断探索和实践...

    2021-2022收藏资料基于SOA的SAAS模式是中小企业管理信息化的主要模式.doc

    4. 技术门槛降低:SOA和SaaS均减少了对专业技术团队的依赖,服务的标准化接口使得非专业人员也能进行一定的管理和维护。 5. 可持续性:SaaS提供商负责软件的更新和维护,企业可以专注于核心业务,不必担心软件过时...

    SOA+SaaS

    在此背景下,SOA(Service-Oriented Architecture,面向服务的架构)和SaaS(Software as a Service,软件即服务)成为推动软件产业发展的两大关键概念。 **面向服务的架构(SOA)** SOA是一种设计方法,它将复杂的...

    SOA and SaaS as Enablers For New Business Models

    SOA and SaaS as Enablers For New Business Models.ppt Gary Newbold : Head of Research and Development Martin Leatherbarrow : Senior Business Analyst

    基于SaaS 模式的SOA 服务分析与设计

    3. **云计算平台**:SaaS模式的实现离不开强大的云计算平台,包括IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务),其中PaaS层为SOA服务的部署和管理提供了弹性、可扩展的环境。 4. **数据标准化...

    SOA+SaaS在中国生存现状 不要混淆概念

    SOA和SaaS是当前IT行业两大重要概念,它们虽然都与服务相关联,但在概念、功能和应用场景上存在明显差异。SOA(面向服务的架构)作为一种系统设计思想,主要是为了解决企业内部旧有软件的整合与重用问题,通过松散...

    saas和soa (软件即服务和面向服务的体系结构)

    尽管SaaS和SOA在名称上相似,但它们有着本质上的区别: - **SaaS关注的是软件如何被应用**,是一种软件交付和使用的方式。 - **SOA关注的是软件如何被构建**,是一种软件设计和架构的方式。 然而,SaaS和SOA之间也...

    saas相关资料(mvcd模式,soa,以及几个saas案例)

    通过学习这些SaaS模式、MVCD设计原则和SOA架构,开发者可以更好地构建适应市场需求、高度可扩展和灵活的云服务。同时,了解不同的SaaS案例有助于理解如何将理论应用于实际,提升软件产品的竞争力和用户体验。在撰写...

    SOA虚拟化SaaS详解云计算应用.doc

    总的来说,云计算以其灵活性、可扩展性和经济性正在深刻改变IT行业,推动软件服务模式的革新,促使企业重新考虑其IT战略,而SOA、虚拟化和SaaS等技术的融合,将进一步增强云计算的影响力和应用范围。随着技术的持续...

    SaaS的开发模式1.doc

    SaaS不仅改变了软件的分发和服务模式,还推动了一系列相关技术的发展,如面向服务架构(Service-Oriented Architecture,简称SOA)和云计算技术等。本文将围绕SaaS的开发模式,探讨其关键技术和应用场景。 #### ...

    解析SOA架构与相关技术

    SOA的灵活架构使其成为支持SaaS的理想选择,尤其是在ERP和CRM等领域,SOA和SaaS的结合可以极大地提升应用的灵活性和服务质量。 #### SOA与ESB - **ESB的角色**:ESB(Enterprise Service Bus)作为一种中间件,为...

    基于SaaS和SOA的高职教务云服务关键技术研究.pdf

    本研究的主要内容集中在SaaS(软件即服务)和SOA(面向服务的架构)这两种云计算关键技术在高职教务云服务中的应用。下面分别从这两个技术出发,详细探讨它们在高职教务云服务中的作用和应用。 首先,SaaS是一种...

    c#2018最新saas软件具体实现例子

    【C# 2018最新SaaS软件具体实现例子】是针对软件即服务(SaaS)模式的一个实例,展示了如何利用C#编程语言和微软的最新技术来构建可租用的多用户应用。SaaS是一种云计算模型,允许用户通过互联网访问应用程序,而...

    解析SOA架构及相关技术

    BPM(Business Process Management,业务流程管理)和SOA之间存在紧密联系但又有本质区别。BPM关注于流程的管理和优化,而SOA则侧重于服务的构建和组合。两者的结合可以更好地满足企业的业务需求和技术需求。 - **...

    SOA作业及要求,soa

    - **云服务**:通过互联网提供按需计算资源和服务,如IaaS、PaaS、SaaS。 - **微服务架构**:SOA理念下的现代实践,将应用分解为一组小型、独立的服务。 ### 作业要求解析 本次作业要求以团队形式,理解并应用SOA...

    saas项目练习小demo

    在SaaS项目中,SOA架构有助于实现多租户模式,即在同一软件实例下为多个客户提供服务,每个客户有自己的数据和配置,但共享底层基础设施。 Dubbo是阿里巴巴开源的一款高性能、轻量级的Java分布式服务框架。它提供了...

    基于SaaS模式的流程引擎和规则引擎服务模型研究

    基于SaaS模式的流程引擎和规则引擎服务模型研究的知识点涵盖了SaaS的概念、SOA架构、云计算、服务化软件交付模式、多租户设计、以及流程引擎和规则引擎在SaaS环境中的应用与优势。以下是对这些知识点的详细解读。 ...

    c#saas软件具体实现例子

    **C# SaaS软件具体实现例子** ...结合SOA原则、WCF服务、工作流、界面定制、数据隔离和身份验证机制,开发者可以创建出满足不同客户需求的高效SaaS解决方案。这个实例为深入学习和实践这些技术提供了宝贵的资源。

    使用IBM中间件实现SaaS解决方案

    使用 IBM 中间件实现 SaaS 解决方案,第 1 部分 挑战和体系结构模式 ...使用 IBM 中间件实现 SaaS 解决方案,第 8 部分 WebSphere DataPower SOA Appliances 路由多租户请求的 Web 服务中介代理模式

Global site tag (gtag.js) - Google Analytics