SaaS, SOA, S+S

最近常常看到一些名词,如:SOA, SaaS, S+S 等等,常常搞得头大,好像有点懂,又不是很懂,索性一次性把它查个明白: (注明下,以下部分资源来自互联网,版权属于原作者。)

SaaS(via 百度百科 SaaS)

SaaS 是 Software-as-a-service(软件即服务)的简称,是随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。它与“on-demand software”(按需软件),the application service provider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。它是一种通过 Internet 提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于 Web 的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS 是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。

在这种模式下,客户不再象传统模式那样花费大量投资用于硬件、软件、人员,而只需要支出一定的租赁服务费用,通过互联网便可以享受到相应的硬件、软件和维护服务,享有软件使用权和不断升级,这是网络应用最具效益的营运模式。

就是不用掏钱买硬件,不用自己搭环境,不用自己装软件,只要直接付钱给厂商,然后通过 Web 就能享用服务。 🙂

SOA(via 百度百科 SOA)

面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。

个人理解就是我们现在看到的软件或者网站都可以认为是服务,我们可以通过他们定义良好的接口来访问其中的数据,而这个软件或者网站是通过什么语言实现,以及后面的硬件或者操作系统,我们是不必关注,也是看不到的。不知道是不是这样……

S+S

S+S(软件+服务)是微软对 SOA(面向服务的架构)的理解。他基本概念就是,微软的每一个软件产品,除了采用传统的许可证方式销售给用户之外,他还会有以互联网服务方式提供给用户,用户无需本地安装,只要通过互联网就能访问该服务。比如其办公软件 Office,可以提供软件给用户本地安装,又可以提供 Office Live 的互联网服务。微软认为传统的软件运行方式有其独特的优势,因为本地,所以不需要网络,并且能够充分利用本地计算机的 CPU,内存,硬盘等资源,这样可以有更好的用户体验和更快的响应时间。而互联网的方式的优势则在于无需安装,可以随时随时使用,这就是“软件+服务”模式。详细可以查看微软的 MSDN 相关内容。

我个人比较喜欢微软的 S+S 的模式,这个方式即体现本地计算机的优势,有充分的利用了互联网的优势。如果 Office 能够让我们绑定 Office Live 的账号,这样可以让我们可以在本地编辑文档,然后把文档保存到 Office Live 中,然后就可以在别地下再到本地继续继续编辑(如果安装了 Office )或者在线编辑。