Rest SOA的功能和表现形式到底是什么?

Rest SOA的功能和表现形式到底是什么?,rest,soa,Rest,Soa,为了寻找REST到底是什么的答案,我偶然发现了一篇关于SOA关于堆栈溢出的帖子: “magine您正在开发一个web应用程序,您决定将功能与应用程序的表示分离,因为它提供了更大的自由度。 您创建了一个API,并让其他人在其上实现自己的前端。您刚才所做的是实现一种SOA方法,即使用web服务” 据我所知,这意味着SOA是一个总括术语,用于以功能和表示分离的方式设计软件(这不是MVC吗?)。而这种休息就是这样做的一种方式 功能是什么,演示是什么?这种情况下是什么 我将REST理解为一种设计服务器端代

为了寻找REST到底是什么的答案,我偶然发现了一篇关于SOA关于堆栈溢出的帖子:

“magine您正在开发一个web应用程序,您决定将功能与应用程序的表示分离,因为它提供了更大的自由度。 您创建了一个API,并让其他人在其上实现自己的前端。您刚才所做的是实现一种SOA方法,即使用web服务”

据我所知,这意味着SOA是一个总括术语,用于以功能和表示分离的方式设计软件(这不是MVC吗?)。而这种休息就是这样做的一种方式

功能是什么,演示是什么?这种情况下是什么

我将REST理解为一种设计服务器端代码的体系结构,该代码创建浏览器上HTML中包含的URI链接,并处理无状态服务器请求。这是正确的吗?如果是这样的话,还有什么替代方案

不是无状态的服务器请求究竟是什么

原来的问题是:

我不知道我的问题是否有道理,我很困惑

据我所知,这意味着SOA是一个总括术语,用于以功能和表示分离的方式设计软件

是的,这就是目标。但SOA意味着实现该目标的一种特殊方法,即系统的不同部分实际上是独立的程序,通过一些API进行通信。这些部分中的每一部分可能使用不同的编程语言,或者在物理上独立的主机上

(这不是MVC吗?)

MVC是一种通过将代码分解为可重用单元来构建单个程序的方法。但是,模型对象只有在可以在应用程序中传递时才有用,不能作为单独的程序运行。但是,您可以编写一个MVC程序,该程序是SOA系统中的组件之一,例如,以特定的方式使用API,并将其结果转换为模型对象,然后将其传递给HTML视图

我将REST理解为一种设计服务器端代码的体系结构,该代码创建浏览器上HTML中包含的URI链接,并处理无状态服务器请求。这是正确的吗?如果是这样的话,还有什么替代方案

不完全是。REST与HTML无关,只与HTTP有关:REST使用URL和HTTP请求类型(GET、POST、PUT、DELETE)来描述所需内容,而不是像XML文档那样使用包装器,包装器上写着“我希望您执行操作X,这里是输入Y”(这大致是SOAP所做的)。它的原理是,动作的宾语(例如/user/42)比特定动词(例如ResetPassword)更为中心

不是无状态的服务器请求究竟是什么

HTTP本身是一种无状态协议,但这并不意味着不能在其上构建有状态的应用程序。例如,通过使用cookies,该网站保持了我登录的状态,以对我的回答进行信任。在许多API中,每次请求都会传递某种形式的会话标识符,这样您就可以在预订之前建立一篮子项目。这可以简化API的使用,但会限制操作的发生顺序。相反,RESTful方法可能允许您创建任意数量的篮子,并随时检索它们,从而使诸如搜索产品之类的操作成为真正无状态的

据我所知,这意味着SOA是一个总括术语,用于以功能和表示分离的方式设计软件

是的,这就是目标。但SOA意味着实现该目标的一种特殊方法,即系统的不同部分实际上是独立的程序,通过一些API进行通信。这些部分中的每一部分可能使用不同的编程语言,或者在物理上独立的主机上

(这不是MVC吗?)

MVC是一种通过将代码分解为可重用单元来构建单个程序的方法。但是,模型对象只有在可以在应用程序中传递时才有用,不能作为单独的程序运行。但是,您可以编写一个MVC程序,该程序是SOA系统中的组件之一,例如,以特定的方式使用API,并将其结果转换为模型对象,然后将其传递给HTML视图

我将REST理解为一种设计服务器端代码的体系结构,该代码创建浏览器上HTML中包含的URI链接,并处理无状态服务器请求。这是正确的吗?如果是这样的话,还有什么替代方案

不完全是。REST与HTML无关,只与HTTP有关:REST使用URL和HTTP请求类型(GET、POST、PUT、DELETE)来描述所需内容,而不是像XML文档那样使用包装器,包装器上写着“我希望您执行操作X,这里是输入Y”(这大致是SOAP所做的)。它的原理是,动作的宾语(例如/user/42)比特定动词(例如ResetPassword)更为中心

不是无状态的服务器请求究竟是什么

HTTP本身是一种无状态协议,但这并不意味着不能在其上构建有状态的应用程序。例如,通过使用cookies,该网站保持了我登录的状态,以对我的回答进行信任。在许多API中,每次请求都会传递某种形式的会话标识符,这样您就可以在预订之前建立一篮子项目。这可以简化API的使用,但会限制操作的发生顺序。相反,RESTful方法可能允许您创建任意数量的篮子,并随时检索它们,从而使诸如搜索产品之类的操作成为真正无状态的

据我所知,这意味着SOA是一个总括术语,用于以功能和表示分离的方式设计软件