全文 3.4 K
文末送免费电子书
01
SaaS与ASP的异同
SaaS和ASP的重点都是“软件部署为托管服务,通过因特网存取”。
1、相同的地方
-
运营模式:
软件所有权属于供应商,供应商来负责基础设施和软件维护升级工作。
-
服务方式:
客户按一定的付费周期来租赁供应商的服务,费用可能随着客户使用规模大小不同。
供应商定期和客户一起整理需求,以使服务能响应客户变化。
-
盈利方式:
通过专业化和规模经济来降低供应商软件服务成本,以此达到盈利目的。附加的盈利方式有广告和无线增值等。
只有达到一定的规模,才能使供应商投入的硬件和专业服务成本和营业收入达到平衡。在此之后,随着规模的增大,供应商的销售成本丝毫不受影响,利润才开始增长。
2、SaaS和ASP的主要区别
SaaS虽然是建立在ASP的基础上,它们的根源是相同的。ASP曾经倒在大众的一片“喝彩”声中,只是过眼烟云。
今天的SaaS又有什么新的变化呢?这是大加都很关心的,SaaS并不是简单的由ASP改变一下,也不是一种慨念的炒作。现在我们来讨论下SaaS和ASP的主要区别:
(1)ASP是“一对一”关系,而SaaS是“一对多”关系
ASP提供客户服务是“一对一”关系,即针对不同的客户定制不同的应用。而SaaS
提供客户服务是“一对多”关系,即针对所有客户都是相同的应用服务。
ASP模式下每个客户运行供应商为自己定制的特有实例。
从技术角度来说,就是每个客户使用一个数据库、一个Web站点或者虚拟目录。数据库中的数据结构和应用的代码可能都根据客户需求做过定制化修改。
(2)SaaS是可自定义的
SaaS对于应用系统来说,更强调应用的可自定义,SaaS的自定义能力使得SaaS应用能适合更广泛的企业用户,增多了很多用户体验,比如说自定义表单,自定义数据结构,自定义报表,自定义用户界面,自定义业务流程。用户可以通过这些可自定义的工具来满足自己的个性要求。
(3)服务范围不同
SaaS应用更拓展了ASP的应用范围,并不仅仅局限于应用系统的托管,而更着眼于提供更多的互联网服务。
如Google Apps、Google Map甚至于邮件服务,都可以认为是SaaS应用的一种表现形式,原来含义上的托管已经从窄义的应用向广义的互联网应用转换。
总之,SaaS提供了企业更多可供选择的互联网服务,这些服务通过SaaS进行整合,集约地提供给企业用户,和敏捷的应用互相辉映。
(4)租户模型
传统的ASP只是针对每个客户定制不同的应用,而没有将所有的客户放在一起进行考虑。
在SaaS模式中,在用户和Web服务器上的应用之间增加了一个中间层,这个中间层用来处理用户的定制、扩展性和多用户的效率问题。
(5)技术复杂程度不同
SaaS模式ASP模式都秉承“软件即服务”的理念,但是SaaS要比ASP复杂的多。
而SaaS的软件架构有较大改变,广泛应用Ajax技术,支持界面局部刷新,让用户有更好的体验感受。
-
扩展性不同
SaaS模式的代码和数据结构都是相同的,供应商在设计应用的时候已经考虑了扩展性,所以针对不同需求的客户,可以采用灵活的配置来响应,但是应用数据仍然是隔离的。
从技术角度来说,所有客户都是使用一套安装包,数据库结构和一样。
(6)三个层面比较的主要区别
-
表现层以应用为中心,软件开发商和应用服务商分离以应用为中心,软件开发商和应用服务商合一。
-
接口层支持远程标准接口应用级的调用不支持远程标准接口应用级的调用。
-
应用实现层强调对资源的合理调配及共同使用一般通过软件复用实现应用共享。
02
SaaS与SOA的异同
SOA广泛被业界所关注。大家一谈到SaaS,似乎都要联想到SOA。
SOA和SaaS,虽然有许多相似之处,一度被比喻成软件圈内的双“S”。
它们有时被称作挛生姐妹,真是情同手足;但有时又被看作冤仇世家,看似貌合神离,又不得不走到一起。
这么多的难以理解的东西缠在一起确实搞得人一团雾水,还是让我们先来正确地理解SOA是什么?
1、什么是SOA?
SOA(Service-Oriented Architecture,面向服务架构)是一个面向服务的架构模型,它将应用程序的不同功能单元——服务(service),通过服务间定义良好的接口和契约(contract)联系起来。
接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。
SOA与大多数通用的客户端/服务器模型的不同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。
-
从业务角度理解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的最大利用率,并提高重用度。
(2)虽然SOA和SaaS的本质都是Service(服务),但内涵却大相径庭
通过上面的分析,SOA和SaaS的区别大概可以概括为以下几点:
-
服务的方式不同
SaaS所说的服务实际上是基于web的应用软件,而SOA所说的服务是web API,或者叫web service。
这两个概念是完全不同的。比如一个SaaS的运营商,在SaaS平台上提供了HR,CRM等系统。
用户可以通过在网上租赁的形式来租借这些软件。而SOA是提供的不是软件,而是接口函数,比如说查询IP地址和城市对应的API,查询天气的API。
当然SOA主要还是用户开发应用软件的中间件,这些中间件可以在互联网上发布,这是将来互联网的趋势,也可以解决软件的版权问题。
-
服务的对象不同
SOA包括了关于软件是如何被架构起来的东西,而SaaS是关于软件是如何被应用的。
SOA是种技术,这种技术供软件生产者使用。SaaS是种商业模式,是把开发出的软件通过租赁的方式供用户使用。
-
服务的范围不同
SaaS模式的软件既可用SOA来架构,也可以不需要SOA。SOA不仅仅在SaaS模式的软件上被采用,而且大胆的应用在任何WEB软件架构中,包括一个小型的单用户软件。
-
整体与部分的关系
在SaaS当中,应用程序可以像任何服务一样被传递,就像您家中电话的语音一样,看起来似乎就是为您的需求量体裁衣得到的,SaaS是个整体的软件系统;而SOA的定义和这个无丝毫的联系。
SOA支持的服务,都是些离散的可以再使用的事务处理,这些事务处理合起来就组成了一个业务流程,是从基本的系统中提取出来的抽象代码,SOA只是构成一个完整系统的部分框架。
-
SaaS主要提供服务而SOA提供技术支持
SaaS主要是指一个软件企业向其它企业提供软件服务。
而SOA一般是企业内部搭建系统的基础。
SaaS注重的是提供服务的思维。而SOA注重的是实现服务的思维。
电子版送给大家
点喜欢或分享,加作者,或回复“路线图”
——推荐阅读——
真实的“产品总监”简历啥样:这有两份!【保真】
本篇文章来源于微信公众号: 唧唧歪歪PM
关于下载
本站分享的产品前端、B端竞品和所有付费资源,均不是该资源的价格,本身资源是不用付费的,这是赞助知识库资源模板的收集整理、服务器维护的基础开销费用!免责声明
1、本站分享的产品前端、B端竞品和产品知识库主要来源于网络的公开信息,均为网络搜索,微信缓存,免费下载,互联网平台整理而来,产品知识库的资料文档仅限用于学习交流。如若有侵权你的知识版权的嫌疑,请及时告知我们,我们会在24小时内进行删除。联系管理员:2841552294@qq.com2、上述资源和模板的知识产权及相关权利归作者及制作公司所有。
3、上述资源和模板仅供学习参考及技术交流之用,未经源码的知识产权权利人同意,用户不得进行商业使用。
4、上述资源和模板如需商业使用,请自行联系源码知识产权权利人进行授权,否则,我们将积极配合作品知识产权权利人 一起维权。
5、上述资源和模板如有侵犯您的知识产权,请您立刻联系我们,我们会在24小时内做删除下架处理。