大小“S”结合趋势渐明 不要混淆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注重的是实现服务的思维。
- 1合理选择财务管理软件项目实施方法
- 2SOA架构实践首先从企业级IT架构设计着手
- 3从中西方人力资源管理差异看企业管理问题
- 4为何ITIL难以深化 IT服务管理系统构建对策
- 5企业进行合肥OA选型 如何把握主动权
- 6传统零售商如何面对B2C电子商务的冲击?
- 7从合肥OA到APS 寻找提高企业效率和效益的利器
- 8中小企业选择SaaS服务的四点建议
- 9合肥OA系统上线后 如何做好维护与应用
- 10企业整体信息化项目建设的尴尬及顾虑
- 11并非夕阳或朝阳 IT服务仍在黎明
- 12广州这边哪家OA公司比较好?
- 13广州OA软件有哪几家比较好?
- 14八大障碍 让企业望SaaS而却步
- 15诊断中小企业软件项目管理难题
- 16精细化成就奥运辉煌 企业管理如何效仿
- 17当IT规划变成“鬼话” 信息化几大情境分析
- 18企业网络运维系统 只选对的不要贵的
- 19合肥OA选型要认清“尺码”坚持自己的观点
- 20中小企业基于信息系统的存货管理
- 21客户满意度是决定是否离岸外包的关键
- 22SOA需要四种主要中间件产品的有效支持
- 23泛普OA软件的功能点9:微博动态元素
- 24互联网模式下 从今日SaaS看未来云计算
- 25关键用户掉链子 合肥OA实施易付诸东流
- 26如何把握部署SOA的最佳时机
- 27如家深耕IT 拓展规模尝试新商业模式
- 28企业存储正在为垃圾数据付出昂贵代价
- 29信息化项目实施过程中 14种常见管理问题
- 30浅析合肥OA项目监理的基本概念及实施要点