网站建设规划案例,建设网站公司管备案么,口碑营销的优点,知名的设计网站Atmosphere 1.0是一个新的Java/Scala/Groovy框架#xff0c;它试图将Web浏览器与应用服务器之间的通信抽象出来。在Web Socket、HTML5服务器端事件和其他特定于应用服务器的解决方案可用时#xff0c;该框架可以透明地支持#xff0c;此外还可将长轮询作为一种备选方案。\u0…Atmosphere 1.0是一个新的Java/Scala/Groovy框架它试图将Web浏览器与应用服务器之间的通信抽象出来。在Web Socket、HTML5服务器端事件和其他特定于应用服务器的解决方案可用时该框架可以透明地支持此外还可将长轮询作为一种备选方案。\u0026#xD;\n最初Web应用程序是采用客户端/服务器模型构建的始终由客户端向服务器发起连接。对于特定类型的应用如仪表板Dashboard、报价器和在线聊天等它们都需要实时通信功能而传统的HTTP请求/响应循环无法满足其要求。在这些情况下服务器必须能够以异步方式当事件可用时向客户端Web浏览器推送数据。\u0026#xD;\n随着基于AJAX 的富互联网应用rich internet applicationsRIA的出现这种需求变得尤为明显。RIA不再刷新整个页面而是采用了一种更为动态的方法当应用服务器上有新数据可用时仅更新页面的某些部分。最基本的解决方案是使用轮询客户端连续不断地向服务器询问更新信息可能基于一定的时间间隔。这种方法非常简单不需要特殊的支持但是可能存在带宽方面的问题。而且如果有很多客户端的话即使没有新数据可用服务器也很容易就不堪重负了。\u0026#xD;\n异步通信的另一种实现方式是HTTP流也称Comet。这种方案强制浏览器连接到服务器而且在指定时间也可以不限制时间内保持连接。当服务器有事件需要推送到浏览器时就可以使用这一持久连接。该方案也有些限制。持久连接是资源密集型的可能被代理和防火墙意外关闭而且浏览器对连接到每个应用服务器的连接数也有限制。\u0026#xD;\n以上方法都不是标准的解决方案。本质上Comet是一个宽泛的术语包含了遵循上述理念的一些实现。目前已经有些努力致力于WebSocket的标准化。WebSocket是一种新的网络协议它从一开始就是为支持异步通信而设计的。然而该协议需要Web浏览器和应用服务器双方提供显式地支持。只要双方都支持WebSocket就可以将HTTP连接“升级”为web socket。针对WebSocket的编程也有其自身的问题因为当前每种应用服务器都有自己的API这很容易导致供应商的封闭。\u0026#xD;\nAtmosphere是一个Java框架也支持Groovy和Scala可以作为以上各种方案之上的一个抽象层使开发者无需处理底层的通信细节从而将精力集中在实际的业务逻辑上。开发者只需利用统一的Atmosphere API编程即可由该API在背后提供对以下各场景的支持\u0026#xD;\nWebSocket\u0026#xD;\n HTML5 服务器端事件\u0026#xD;\n HTTP流/Comet\u0026#xD;\n 长轮询\u0026#xD;\n JSONP\u0026#xD;\n同时Atmosphere也提供了一个JavaScript模块支持jQuery该模块位于客户端负责将Web浏览器的异步支持功能抽象出来。这种抽象的核心理念是控制连接的两端。详细文档参见支持的应用服务器和浏览器supported application servers and browsers。\u0026#xD;\nAtmosphere的主要特性是在可行的情况下比如可以使用WebSocket能够自动选择最高效的方案还支持一种备选方案比如长轮询。它也有可能提前发现客户端和服务器之间支持的方式。请注意使用Nettosphere时Atmosphere可以运行在 非servlet的容器中。\u0026#xD;\n除基本API之外Atmosphere也提供了一些插件或扩充能够与以下框架集成\u0026#xD;\nREST/Jersey\u0026#xD;\n GWT/Vaadin\u0026#xD;\n Socket.io\u0026#xD;\n Spring\u0026#xD;\n Guice\u0026#xD;\n Wicket\u0026#xD;\n PrimeFaces/RichFaces\u0026#xD;\n更多信息请访问该项目的Wiki、示例、FAQ和Javadocs。\u0026#xD;\n作者Kostis Kapelonis是软件工程师专注于企业级应用开发。\u0026#xD;\n查看英文原文Atmosphere 1.0: Asynchronous Communication For Java/JavaScript