SOA和SaaS是两个范畴的概念
SOA,Web 2.0,和SaaS一定包括在2006年最热门IT词汇表中。按照Garter Group的估计,到2011年,大约有1/4新的商用软件会以SaaS的方式交付用户。什么是SaaS?撇开各种混淆的相关名词,例如:ASP, on-demand, Web 2.0 和SOA,SaaS就是一种新的软件价值传递模式:供应商不是交付软件,而是以研发的软件功能向客户提供所需要的服务,同时为客户正常使用服务提供软件的日常维护和技术支持;软件的用户以服务租赁的方式去享用软件的功能。如果各位有使用网络邮件的经历,对此一定不会陌生。打开浏览器,输入网址,就能用网络邮件软件的功能来处理电子邮件,既不需要安装软件,也不用担心软件升级的问题,所有终端用户不想关心的工作,都不会打扰用户。无疑,对于只关注业务的终端用户是一个巨大的进步,特别是在中小企业用户中,本来就不想承担高昂的IT支持投资。
不过,今天并不想深入讨论SaaS的利弊得失,而是想从另一个角度来考量SaaS,谈谈SOA对SaaS的影响。在市场宣传中常常会混淆SOA和SaaS,其实此“服务”不是那“服务”,SOA作为一种新的软件架构方式,服务既是划分的软件模块化单元(为了避免混淆,本文将用软件模块来称呼SOA中的服务),也是软件中模块间交互模式DD服务供应和消费关系;而SaaS的服务是供应商向终端用户提供的增值产品。SaaS中涉及的软件并不一定要求是面向服务架构的,基本上,SOA和SaaS是两个范畴的概念。回过头来看,面向服务架构的引入对于SaaS带来了不小的冲击。
首先,SOA帮助SaaS提供更多个性化的服务。面向服务架构的软件是通过聚合有标准接口的软件模块产生的,软件模块的交互也以标准协议达成,所以松耦合的软件模块能够容易的被替换。特别是当ISV们针对相同的功能提供各具特色的软件模块,SaaS的供应商能够按照终端用户的偏好或者要求,聚合不同的软件模块,为终端用户提供个性化的服务。比方说,在一个基于SOA的运输路线规划软件中,可以为美国用户使用Google Map提供的软件模块显示地图和卫星图,也能按照中国的用户要求定制,聚合中国本地开发的地图软件模块,更好地提供本土地图细节。这样的软件模块替换,在SOA下更加容易实现,甚至能够低成本的为每个客户定制,而不失SaaS规模化的优势。
其次,SOA推动的软件生产工业化改变着SaaS的生态系统。在软件进入工业化时代中讨论过SOA引起的软件生产工业化变革,这个变革影响着SaaS的生态系统,SaaS从单一供应商的状态逐步过渡到众多供应商分工协作的方式。单一供应商可以举例Intuit,它推出了其成功的会计软件的在线版而伴随SOA,SaaS的增值产品将由众多供应商共同铸造,供应商根据自己的业务优势,大致可以分为如下角色:软件平台供应商,通用应用软件模块供应商,特殊行业应用软件模块供应商,软件模块聚合供应商,软件服务运营供应商。不同的角色为SaaS提供不同的内容,在竞争和协作中产生最符合终端用户要求的产品。
另外,建立在SOA上的SaaS需要探索新的运营模式。虽然SaaS是多供应商的共同协作的结果,但是终端用户可能面对的只是最终的软件服务运营商,就象手机用户通过中国移动订阅诸多天气预报,股市行情等等内容供应商的服务。在这样的格局下,如何划分市场收益,如何进行市场营销,如何打品牌,等等,对整个生态系统中的各个角色都需要重新思考应对,是服务运营商主导,还是平台供应商决定SaaS方向。
评论