Pra*_*ral 23 rest soap web-services
据我所知,SOA(面向服务的体系结构)基于离散软件模块的集合,称为服务.这些服务可以与网络范围内的任何其他服务交换信息,而无需人工干预.SOA使用SOAP或REST协议在各种服务之间传输XML或JSON文档.
但我对ROA(资源导向架构)以及这两种架构之间的区别有什么困惑.
任何帮助将不胜感激,如果我错了,请纠正我.
Bar*_*art 18
这些术语暗示面向服务的体系结构面向服务,而面向资源的体系结构面向资源.通常,通过定义A和B的本质,可以最好地解释A和B两个事物之间的差异.因此,它归结为问题,什么是"服务",什么是"资源"?
我将这主要留给读者,因为大多数开发人员可能已经知道其中的任何一个.虽然它实际上并不那么容易,但有一点可以看作服务和资源(类似于物理学中光的经典波粒二象性).例如,Flickr是一种为您提供照片的服务,但也可以将其视为照片资源.但基本上资源是更静态的数据(如照片)和服务更多的处理(例如传送照片,或调整照片大小以便他们可以显示一个的缩略图).
通过查看应用程序实现其"功能"的方式,我了解最佳区别:
小智 15
我先纠正:)
出于这个答案的目的,我们只是说REST是一种组织资源和对它们执行的操作的方法.
SOA使用SOAP或REST协议在各种服务之间传输XML或JSON文档.
绝对不.REST不是协议.SOAP是一种协议,这是真的.它经常用于SOA体系结构,特别是用于实现SOAP over HTTP或SOAP over JMS.但是,SOA并不意味着SOAP.您可以使用任何其他协议.同样适用于XML和JSON.你可以使用任何其他语言或方言.
现在解释.SOA是面向服务的体系结构.因此,整个系统由通常执行某些操作的服务组成.该架构基于此.想象一下服务器云,每个服务器至少拥有一个服务,例如WeatherPredictor,ForexCalculator等.
与此相反,您拥有面向资源的体系结构ROA,系统由资源组成.想象一下服务器云,每个服务器代表一个或多个资源,例如天气,欧元,美元......
ROA通常用于大型开放系统,因为它带来了优势.在ROA体系结构中,您通常会找到RESTfull服务.目前,RESTfull服务通常仅通过HTTP上的JSON或基于HTTP的XML实现.
SOA到处都有用.在SOA中,您通常可以找到SOAP over HTTP,SOAP over JMS等.
但是有一天你可能会遇到一个RESTfull Web服务,由于一些奇怪的原因使用SOAP(可能开发人员需要将消息嵌入SOAP信封中,这是因为某些模糊的原因).我认为你不会在现实生活中找到这个例子,只是为了向你展示SOA或ROA并不意味着使用协议,在本例中是SOAP.
希望这可以帮助.
根据我的经验,我的理解如下:
ROA是数据模型的API包装器,SOA是功能模块上的API.
ROA用于提供CRUD操作.SOA用于在运行时链接模块.
ROA将API使用者与数据模型的更改隔离开来.SOA允许删除模块,简化部署和自定义.
归档时间: |
|
查看次数: |
18913 次 |
最近记录: |