在这个例子中,pause() 方法捕获延续并将模板发送回用户供操作。RIFE 使延续变得很简单,一般的 Web 开发人员也能够使用延续。
不远的将来
您可以看到,延续是 Web 开发框架中一项真正的技术进步。利用这种方式,可以获得更高的生产效率。另外,因为采用直观的 Java 代码(而不是数百个互不相连的 servlet)来表达 Web 应用程序,应用程序更容易理解和维护。
Web 开发方面新的发展使延续方式变得越来越重要。Ajax 应用程序可以异步地获得 Web 页面的一小部分并将结果编织进现有的页面中,而不是用传统的请求/响应模型来获得整个 Web 页面。但是 Ajax 应用程序可能会迫使应用程序长期维持与用户的连接,这样应用程序才能进行响应并使状态跟踪代码比较容易编写。这种做法破坏了无状态编程的优势,因为需要为每个连接的用户占用一定的资源。有了延续,就可以在延续中保存状态并根据需要恢复状态。
在不远的将来,硬件的改进会使延续所增加的资源消耗变得无足轻重。如果不经过彻底的革新,Web 开发框架仍然会太复杂。Ajax 会使 Web 开发更加复杂。这些因素都会促使人们接受延续服务器。在两年内,大多数新的 Web 开发将会使用某种延续服务器或延续的模拟。
下一次,我将谈谈领域特定的语言以及它们在 Ruby on Rails 中的作用。然后将介绍一些思想,向您说明在 Java 编程中领域特定的语言的影响。
参考资料
学习
您可以参阅本文在 developerWorks 全球站点上的 英文原文。
“Java Web Server: Jetty 6.0 Continuations for Ajax Architectures”:Ben Galbraith 讨论了 Ajax 中影响基于延续的方式的因素。
“轻量级开发的成功秘诀,第 8 部分: Seaside”(Bruce Tate,developerWorks,2005 年 11 月):介绍了最流行最重要的延续服务器。
Paul Graham 所著的 Hackers & Painters(O'Reilly,2004 年):这本书中的许多章节之一介绍了使用延续的体验。
Advanced Control Flow - Continuations:Apache Cocoon Project 用户文档的这一部分讨论了 Cocoon 中的延续。
What Is Iowa:阅读关于 Iowa 的教程,这是一种用 Ruby 编写的延续服务器。
RIFE/continuations:RIFE/continuations 是 RIFE 的一个子项目,其目标是使它的延续支持作为通用库在纯 Java 环境中可用。
Experimental continuations in WebWork:WebWork Java Web 应用程序开发框架使用 RIFE 的延续作为新的延续实现。
Spring Web Flow Quick Start:这个教程帮助您学习 Spring Web Flow 1.0。
Beyond Java(O'Reilly,2005 年):Bruce Tate 所著的这本书讨论了 Java 的发展情况以及在某些方面可能挑战 Java 的技术。
Java 技术专区:数百篇关于 Java 编程各个方面的文章。
获得产品和技术
RIFE:RIFE 是一种创新性的框架,它使用延续和在动态语言中流行的许多其他技术。
Spring 的 Web Flow:Spring Web Flow 是一个通用程序流引擎,它主要关注 Web 应用程序中页面流的定义和执行。
Lakeshore:Lakeshore 是一种基于 Java 的 Web 组件框架,它受到了 Seaside 2 和 Borges Ruby 框架的影响。
Jetty 6:Jetty 是一种用 Java 编写的 servlet 容器,具有延续支持。
Seaside:Seaside 是最流行的、最有影响力的延续服务器。
Wee:Wee 是另一种 Ruby 延续框架。
Continuity:Continuity 是一种用于 Perl 的基于延续的 Web 编程框架。
讨论
developerWorks blogs:加入 developerWorks 社区。
文章来源于领测软件测试网 https://www.ltesting.net/