Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT:批处理vs可处置vs无状态_Java_Javascript_Gwt - Fatal编程技术网

Java GWT:批处理vs可处置vs无状态

Java GWT:批处理vs可处置vs无状态,java,javascript,gwt,Java,Javascript,Gwt,我最近观看了几段谷歌I/O视频,谷歌开发者在视频中介绍了GWT的性能和安全性。在该视频中,演讲者提到了几个GWT ISM: 客户端请求“批处理” “可处置性” 追求GWT应用程序的“无状态” 关于“批处理”,似乎可以将GWT配置为对服务器端RPC调用进行排队并一次发送它们(而不是许多微小的、影响性能的调用)。不幸的是,我在这里没有看到森林:GWT是为您处理批处理,还是您必须编写执行此绑定/批处理的逻辑?如果必须这样做,可以/应该捆绑哪些类型的通话?你怎么知道什么时候该停止生产 在GWT行话中

我最近观看了几段谷歌I/O视频,谷歌开发者在视频中介绍了GWT的性能和安全性。在该视频中,演讲者提到了几个GWT ISM:

  • 客户端请求“批处理”
  • “可处置性”
  • 追求GWT应用程序的“无状态”
关于“批处理”,似乎可以将GWT配置为对服务器端RPC调用进行排队并一次发送它们(而不是许多微小的、影响性能的调用)。不幸的是,我在这里没有看到森林:GWT是为您处理批处理,还是您必须编写执行此绑定/批处理的逻辑?如果必须这样做,可以/应该捆绑哪些类型的通话?你怎么知道什么时候该停止生产

在GWT行话中,当有人说:

  • “客户端和服务器是一次性的”;但是
  • “视图”不是一次性的
“批处理”和“可处置性”的概念与GWT应用程序的“无状态”有何关系。该发言者据此将无国籍界定为:

  • 浏览器包含会话(?!?!)
  • 服务器是无状态的-除了缓存(?!?!)
  • 客户端从未注意到重新启动(?!?!)
如果有人能帮助我具体了解这3个项目,以及它们之间的关系,我想我会开始“了解gwt”。提前谢谢

GWT是否为您处理批处理,或者您是否必须编写执行此绑定/批处理的逻辑?如果必须这样做,可以/应该捆绑哪些类型的通话?你怎么知道什么时候该停止生产

GWT-RPC没有批处理机制。您可以(相对地)通过在列表中排队“命令”,然后将列表作为单个GWT-RPC调用发送来轻松添加一些命令。有些项目应该以最少的努力为您做到这一点(例如GWT平台)

另一方面,RequestFactory内置了批处理功能:创建一个
RequestContext
实例,并对其进行批处理调用,直到
fire()
it

“客户端和服务器是一次性的”;但“观点”不是一次性的

第一个与无状态相关(例如,对于AppEngine,您无法控制何时创建、关闭或重新启动新服务器实例:服务器随时可能消失,因此不要将状态保留在内存中)。
第二个是关于性能:浏览器中与DOM相关的一切都很慢,因此构建一个新的视图(小部件堆叠在一起)是很重的任务(但对于单元小部件来说就不那么重了)。因此,你不想让它们成为一次性的,也就是说,时不时地把它们扔掉。您更希望保留一个视图实例,以便在应用程序的生命周期内重复使用。
“可处置性”的概念并不完全相同

浏览器包含会话(?!?!)

GWT是由单页应用程序构建的。你可以简单地将状态存储在应用程序的变量中;您不需要cookies或任何东西来在页面之间共享状态

服务器是无状态的-除了缓存(?!?!)

在服务器上存储会话状态是有代价的(状态必须持久化——特别是在服务器是一次性的情况下——在服务器之间共享——当您在云中拥有集群/运行时——等等。您将花费与执行实际业务逻辑一样多的资源来保持会话状态的存在)

客户端从未注意到重新启动(?!?!)

HTTP是一种断开连接的协议。如果服务器重新启动,客户端将不知道,也不必知道

如果有人能帮助我具体了解这3个项目,以及它们之间的关系,我想我会开始“了解gwt”

这不是关于获得GWT,而是关于获得Web和单页Web应用,以及如何扩展它们。
无论它们是在客户端使用GWT或jQuery制作的,还是在服务器端使用Java或Python或.NET制作的,都无关紧要

阅读关于REST的文章,它总结了一切

GWT是否为您处理批处理,或者您是否必须编写执行此绑定/批处理的逻辑?如果必须这样做,可以/应该捆绑哪些类型的通话?你怎么知道什么时候该停止生产

GWT-RPC没有批处理机制。您可以(相对地)通过在列表中排队“命令”,然后将列表作为单个GWT-RPC调用发送来轻松添加一些命令。有些项目应该以最少的努力为您做到这一点(例如GWT平台)

另一方面,RequestFactory内置了批处理功能:创建一个
RequestContext
实例,并对其进行批处理调用,直到
fire()
it

“客户端和服务器是一次性的”;但“观点”不是一次性的

第一个与无状态相关(例如,对于AppEngine,您无法控制何时创建、关闭或重新启动新服务器实例:服务器随时可能消失,因此不要将状态保留在内存中)。
第二个是关于性能:浏览器中与DOM相关的一切都很慢,因此构建一个新的视图(小部件堆叠在一起)是很重的任务(但对于单元小部件来说就不那么重了)。因此,你不想让它们成为一次性的,也就是说,时不时地把它们扔掉。您更希望保留一个视图实例,以便在应用程序的生命周期内重复使用。
“可处置性”的概念并不完全相同

浏览器包含会话(?!?!)

GWT是由单页应用程序构建的。你可以简单地将状态存储在应用程序的变量中;您不需要cookies或任何东西来在页面之间共享状态

服务器是无状态的-除了缓存(?!?!)

在服务器上存储会话状态是有成本的(状态必须持久化——特别是在服务器是一次性的情况下——在服务器之间共享——当您有一个集群/在云中运行时)——等等。您将花费尽可能多的资源来保持exis