SOA 和webservice 的区别
3个回答
展开全部
SOA是一个组件模型,他将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来。SOA整合发布平台将完全无关的平台所提供的各种服务整合起来发布给外界,客户端不知道真正的服务发布者是谁。Webservice只是实现soa的一种途径。Webservice服务接口需要绑定具体实现的服务组件来实现服务,并且对具体的服务实现完成了封装,他本身知道服务是如何实现的,客户端调用webservice组件时,需要知道webservice的具体位置和传输协议。但是soa架构平台只和服务接口进行绑定,实现了服务接口的透明化,服务位置的透明化,服务传输协议的透明化。Soa本身也不知道服务具体是如何实现的。SOA实现了更高程度的抽象。
展开全部
对 SOA的定义和理解分两类
一类认为: SOA主要是一种架构风格
另一类认为: SOA是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期:建模——开发——整合 ——部署 ——运行 ——管理
Service-architecture.com将 SOA定义为:本质上是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。
所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数
虽然不同厂商或个人对 SOA有着不同的理解,
但是我们仍然可以从上述的定义中看到 SOA的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型
由此可以得出,只要某个软件系统符合了SOA的架构,就可以说它是基于SOA的
如,我们完全可以把word这个软件,设计成一个个组件,并让其符合SOA架构。
所以SOA不一定需要web service来实现。
Web service 简单来说就是一个向外界暴露出的能够通过internet进行调用的api和应用程序, 是基于SOA松耦合等思想开发出来的一套framework(个人观点),但是它并一定完全符合SOA的架构。 比如你自己写的基于ws的一个小函数。
现阶段,我们能看到的大部分SOA系统好像都是 用web service实现的,
因为某个软件如果不开源让所有人一起开发,你就不知道它到底是不是基于SOA的,
你想用别人的服务,一般需要到网上去搜索,搜到以后是直接使用,而不是下载下来,这些正是web service给我们提供的功能。
但一定要明确,那些把自己能提供的服务包装一下,对外提供一个ws接口,就声称自己是SOA,肯定是错误的,因为他的系统并不一定符合SOA架构。
一类认为: SOA主要是一种架构风格
另一类认为: SOA是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期:建模——开发——整合 ——部署 ——运行 ——管理
Service-architecture.com将 SOA定义为:本质上是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。
所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数
虽然不同厂商或个人对 SOA有着不同的理解,
但是我们仍然可以从上述的定义中看到 SOA的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型
由此可以得出,只要某个软件系统符合了SOA的架构,就可以说它是基于SOA的
如,我们完全可以把word这个软件,设计成一个个组件,并让其符合SOA架构。
所以SOA不一定需要web service来实现。
Web service 简单来说就是一个向外界暴露出的能够通过internet进行调用的api和应用程序, 是基于SOA松耦合等思想开发出来的一套framework(个人观点),但是它并一定完全符合SOA的架构。 比如你自己写的基于ws的一个小函数。
现阶段,我们能看到的大部分SOA系统好像都是 用web service实现的,
因为某个软件如果不开源让所有人一起开发,你就不知道它到底是不是基于SOA的,
你想用别人的服务,一般需要到网上去搜索,搜到以后是直接使用,而不是下载下来,这些正是web service给我们提供的功能。
但一定要明确,那些把自己能提供的服务包装一下,对外提供一个ws接口,就声称自己是SOA,肯定是错误的,因为他的系统并不一定符合SOA架构。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SOA是一种架构模式,而WebService是利用一组标准实现的服务。
SOA本身应该是“如何将软件组织在一起”的抽象概念,它依赖于用xml和 webservice实现并以软件的形式存在的更加具体的观念和技术,此外,它还需要安全性,策略管理,可靠消息传递以及会计系统的支持,SOA才能有效的工作.
SOA概念没有确切地定义服务具体如何交互,而仅仅定义了服务如何如何交互以及相互理解,其中具体的区别,就是定义如何执行流程的战略和如何执行流程的战术之间的区别。而另一个方面,webservice在需要交互的服务之间如何传递消息有具体的知道原则,这就是SOA服务和webservice在设计方面的区别。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询