Web services 命令模式与RESTful web服务兼容吗?

Web services 命令模式与RESTful web服务兼容吗?,web-services,gwt,rest,servlets,command,Web Services,Gwt,Rest,Servlets,Command,Google在构建复杂的GWT应用程序时使用命令模式。这个想法似乎有一些优点,并且已经开发了各种框架来提供帮助。然而,我发现的大多数示例都使用GWT-RPC进行客户机/服务器通信 我们正在考虑为Java后端开发一个RESTful web服务——并将其用于客户机/服务器通信(可能使用类似的框架) 但是命令模式甚至与RESTWeb服务兼容吗?那些Rest URL是什么样子的?如何支持命令批处理和撤消?如果不使用支持批处理的软件包,您必须自己实现批处理。在我们公司,我们决定使用直接的REST接口——在

Google在构建复杂的GWT应用程序时使用命令模式。这个想法似乎有一些优点,并且已经开发了各种框架来提供帮助。然而,我发现的大多数示例都使用GWT-RPC进行客户机/服务器通信

我们正在考虑为Java后端开发一个RESTful web服务——并将其用于客户机/服务器通信(可能使用类似的框架)


但是命令模式甚至与RESTWeb服务兼容吗?那些Rest URL是什么样子的?如何支持命令批处理和撤消?

如果不使用支持批处理的软件包,您必须自己实现批处理。在我们公司,我们决定使用直接的REST接口——在单个API上编写我们自己的批处理的费用低于制作RequestFactory API和公共API的费用


您必须以某种方式将多个rest url和有效负载编码为单个url和有效负载

命令模式是/曾经是一种推荐的模式,它是使用RemoteService和RemoteServiceServlet构建RPC接口的一个重大进步,而RemoteService和RemoteServiceServlet在您提到的Google I/O演示时几乎是可用的

GWT-RPC方法非常好,运行良好,并提供批处理和撤销机制。我必须说,我从未在任何处理程序上实现过一个undo()函数,尽管我确实使用了批处理

一种较新的方法是使用RequestFactory并将代码映射到服务上。这不支持批处理,但不支持撤消。这不是一个很大的工作来实现,但有它的特点。我们可以找到一个很好的例子

如果您需要一个REST接口,那么在GWT中利用它来节省开发两个接口似乎是一个明智的想法。但正如@Riley Lark所说的,您必须编写自己的批处理(如果需要,还必须编写undo()

我的感觉是批处理和撤销都不适合REST方法,但这只是我的观点。还有一些类似问题的信息

Perosnaly我可能会利用GWTs基础设施和RequestFactory进行客户机到服务器的通信,并利用批处理、optomised协议和跨站点脚本保护,为需要使用它的任何东西编写一个单独的REST接口