写点什么

Atmosphere Comet Abstraction Framework Alpha 版发布

  • 2009-03-24
  • 本文字数:1590 字

    阅读完需:约 5 分钟

Atmosphere Grizzly 的升级版)是个基于 POJO 的框架,其目的在于将 Comet 带给大众。该 Comet Abstraction Framework 发布了首个 alpha 版,InfoQ 有幸采访了该框架的创建者 Jean-Francois Arcand 来了解该框架的一些信息。

Atmosphere Framework 的可移植性非常棒,它可以运行在任何基于 Java 的 Web 服务器上,包括 Tomcat Jetty GlassFish Resin Jersey RESTlet 等等,这样我们就无需 Servlet 3.0 规范,也不需要使用任何特定于容器的 push/Comet 机制了。

Jean-Francois 谈到了创建 Atmosphere 的动机

当前我们没法编写可移植的 Comet 应用:JBossWeb 有 AIO 、Tomcat 有自己的一套 AIO API 、Jetty 有自己的 Continuation API 预览版的Servlet 3.0 API 、Grizzly 有自己的 Comet Framework Grizzlet API 等等不一而足。因此为了支持不同的 Comet API,像 DWR ICEFaces Bindows 这样的框架都增加了本地支持及抽象层。更糟的是,如果应用直接使用了这些 API,那么你就被绑定到了特定的 Web 服务器上了。如果使用的是 Grizzly Comet,情况还不算太糟,但如果使用的是其竞争者,那么你就再也没法使用 Grizzly 了! 现在 Servlet 专家组正提议在即将发布的 Servlet 3.0 规范中增加 Comet 支持,但要想让所有产品都支持该规范还尚需时日,同时该提议会包括一些容器已经支持的特性子集,如异步 I/O(Tomcat 及 Grizzly 支持)、针对并发处理的push 操作的容器管理线程池、针对push 操作的过滤器等等。如果使用 Atmosphere ,虽然不能说框架就无需关心本地实现了,但他们可以构建在 Atmosphere 之上。像 Bayeux 这样的协议将会免费发布并运行在所有的 Web 服务器上(通过其本地 API)。

综上所述,我开发了 Atmosphere,希望填充这么多的沟壑并简化基于 Comet 的应用的创建,这是根据这两年来我在 Grizzly Comet Framework 上所获得的经验和反馈而得到的。

官方声明简要介绍了使用 Atmosphere 的一些前提条件:

要想在 Web 应用中使用 Atmosphere,请从 http://download.java.net/maven/2/org/atmosphere/atmosphere-portable-runtime/ 下载 atmosphere-cpr jar 文件并放到 WEB-INF/lib 目录下,从 http://is.gd/ngMm 下载 context.xml 文件(Tomcat 支持所必须的文件)并将其放到 war 文件的 META-INF/ 目录下。你可以通过创建 atmosphere.xml 来定义 AtmosphereHandler,就像 war 文件的 META-INF 目录下的 http://is.gd/ngM1 一样,当然这是可选的。 框架可以自动检测出 AtmosphereHandler 并用其类名进行映射(参见 chat 示例来了解更多信息)。

接下来,InfoQ 向 Jean-Francois 问到关于 Atmosphere 发布的一些信息:

InfoQ:能否介绍一下构成Atmosphere的各个组件么?****

现在我们有 3 个模块。第一个(上周发布)是 CPR(Comet Portable Runtime),想使用 Comet 的 Web 应用可以借助于 CPR 来获得可移植性。第二个叫做 core,它将 CPR 引入到了 Jersey 项目中并支持 REST、注解及 IoC 等等。这样我们就可以轻松构建 Comet 应用了。最后一个是 PlugIn,开发者可以借助它扩展 core(使用注解)。我们还需要向 Web 应用中增加集群功能,也就是说当连接在实例 1 上挂起时,如果发生了 push,那么该连接就会收到通知(如果被注解了)。这样我们就可以集群 Comet 应用并同时对其进行更新。

InfoQ:Atmosphere 的路线图如何,何时发布下一个版本?

我们将在 4 月底完成 core 和 cpr 模块,现在正在开发 PlugIn。

InfoQ:你如何看待Atmosphere 的发展与Servlet 3.0 规范的关系?****

Atmosphere 不仅会支持 Servlet 3.0 异步 API,而且还会提供 3.0 规范所没有提及的一些功能。例如,Atmosphere 的 Broadcaster 在挂起的连接之间 push/aggregate/filter 数据时就非常有用。

可以通过项目主页 Twitter 邮件列表 Jean-Francois 的博客找到更多关于 Atmosphere 的信息。

查看英文原文: The Atmosphere Comet Abstraction Framework Releases Alpha

2009-03-24 04:101679
用户头像

发布了 88 篇内容, 共 264.8 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

ChatGPT与软件架构(4) - 架构师提示工程指南

俞凡

人工智能 架构 ChatGPT

软件测试|PC端应用自动化最佳解决方案——Pywinauto

霍格沃兹测试开发学社

听说最近AI应用爆了?!来AI Studio玩转大模型应用

飞桨PaddlePaddle

百度飞桨

ChatGPT会取代低代码开发平台吗?

力软低代码开发平台

ChatGPT与软件架构(2) - 基于Obsidian和GPT实现解决方案架构自动化

俞凡

人工智能 架构 ChatGPT

软件测试|手把手教你用Python来模拟绘制自由落体运动过程中的抛物线

霍格沃兹测试开发学社

利用 AWS CodeWhisperer 激发孩子的编程兴趣

汪子熙

人工智能 AI AWS AIGC 代码生成器

精选一线企业最佳生产实践,《Apache Doris 用户案例集》重磅发布!

SelectDB

数据库 大数据 数据分析 实时数仓 Doris

软件测试|一步到位教会你Python字典操作(一)

霍格沃兹测试开发学社

龙蜥社区 5 月度运营大事件回顾

OpenAnolis小助手

开源 总结 生态 龙蜥社区 运营月报

区块链代币DAPP通缩燃烧模式系统开发技术方案

I8O28578624

架构实战营模块 1 第 4 课 - 如何做好架构设计

净意

【零售电商系列】走进电商

小诚信驿站

6 月 优质更文活动

au音频编辑 Audition 2022 中文激活版

真大的脸盆

Mac Mac 软件 音频编辑 音频处理 编辑音频

AI版女网红“半藏森林”上线,服务项目让人意想不到

引迈信息

人工智能 AI 低代码 JNPF

朱珠代言Moto razr40登618手机榜首,小折叠成新摩登主义造风者

科技之家

软件测试|Pytest的必会技巧(一)

霍格沃兹测试开发学社

ChatGPT 之后,B 端产品设计会迎来颠覆式革命吗?| Liga妙谈

LigaAI

交互设计 产品设计与思考 tob产品 ChatGPT 企业号 6 月 PK 榜

使用Leangoo领歌敏捷工具实施多团队规模化敏捷管理

顿顿顿

项目管理 敏捷项目管理 敏捷工具 scrum工具

面试官问:kafka为什么如此之快?

JAVA旭阳

kafka

inBuilder低代码平台特性推荐系列-第三期

inBuilder低代码平台

ChatGPT与软件架构(3) - 软件架构提示工程

俞凡

人工智能 架构 ChatGPT

你说的是哪一种 IDP:内部开发者门户 OR 内部开发者平台?

杨振涛

DevOps 平台工程 内部开发者平台 内部开发者门户 IDP,

国产芯片开发为什么这么难?2023 中国芯片开发者调查报告发布

博文视点Broadview

九科信息获评“第一新声”最佳信创企业管理软件,案例入选信创产业研究报告

九科Ninetech

大模型时代下的企业系统架构变革

蔡超

架构 AI 大模型 GPT ChatGPT

软件测试|不会Python RPC,一篇文章教你入门

霍格沃兹测试开发学社

深入剖析Redis性能问题及优化方案

xfgg

redis 优化 6 月 优质更文活动

大数据公司数据分析取数流程以及SQL示例

MobTech袤博科技

多模块项目使用枚举配置spring-cache缓存

javalover123

Java lombok Enum spring-boot spring-cache

Atmosphere Comet Abstraction Framework Alpha版发布_Java_Dio Synodinos_InfoQ精选文章