JSF峰会2009后回传

发布    |       CDI JSF Rich Faces Seam

个性化体验。这是NFJS会议系列的主旨,NFJS是JSF峰会背后的品牌,JSF峰会是一个专注于JSF生态系统的会议活动。很难想象比在佛罗里达州奥兰多市的洛厄斯波托菲诺湾度假村举办的2009年JSF峰会更加个性化的体验。演讲者和与会者在演讲期间以及演讲之间进行了交流。交流从早餐开始,一直持续到午餐、晚餐,甚至在酒吧的最后时刻。虽然大多数时间对话都是关于JSF和相关Java EE技术,但它们也涉及到了宗教、放松、口味、旅行和写作等话题。

要了解与会者的视角,请查看我们宝贵的社区成员之一Steven Boscarine撰写的这篇评论

2009年JSF峰会的主要主题是JSF 2和Java EE 6,这是有充分理由的。在会议的第一天,宣布Java EE 6及其余的规范得到了批准。JSF 2比这提前了半年多,终于与它的平台相结合;这个平台支持强大的编程模型,具有类型安全的依赖注入、上下文生命周期管理和事件通知功能,这些功能由JSR-299引入。结合JSF 2的无数改进,Java EE 6的变化和价值令人惊叹。该周还发布了JBoss AS 6.0.0 M1,这是一个里程碑式的发布,实现了Java EE 6 Web Profile,并包括了Java EE 6完整配置中的许多技术。

上半场

Ed Burns 以一次带领大家游览 JSF 在生产中使用的几个场所的旅程开启了会议,他的主题演讲是 JSF Around the World。他播放了关于 JSF 如何帮助开发者提高生产力和它在生产中的表现如何的访谈。共同的观点是 JSF 使得构建应用程序变得容易,并且它的扩展性非常出色。Ed 与的大部分客户要么使用 JSF 与 Seam,要么已经开始使用 JSF 2。工具被列为开发中最关键的资源之一,其中至少提到了一次 JBoss Tools 中 Facelets 视图的自动完成功能。

第二天早上,会议的专题演讲由我和 Andy Schwartz 主持,题目为 JSF 2: Keeping progress coming。这次演讲被证明是第一个位置的绝佳候选人,因为它向与会者提供了一个关于 JSF 2 新特性的广泛概述,帮助他们选择稍后参加的会议以更深入地了解一个主题,为参与做了铺垫,并强调了我们对未来展望的态度,准备好接受已经开始流传的关于 #jsf2next 的想法。

作为 JSF EG 为参与社区而进行的倡议的一部分,主题演讲《Keeping progress coming》以关于新的 JSF 社区网站 www.javaserverfaces.org 的公告结束。该网站的目标是

  • 为用户提供一个明确的起点,以便他们参与 JSF,
  • 提供有关 JSF、规范、如何入门、关键文档、如何参与以及其他资源的信息,以帮助参与社区并鼓励参与,并且
  • 在企业和开发者层面推广 JSF 作为具有竞争力、吸引人的 Java 网络框架解决方案

最后,JSF 有了一个

除了我自己的演讲外,我无法对星期三余下的时间发生的事情发表太多评论,因为我除了一个时段外都在进行演讲。(请留意配套帖子)。实际上,我整个星期都很忙,以至于没有时间去看到度假村里的两个游泳池或水上滑梯。(我的妻子代表我享受了它们)。

在下一个时段,我和 Lincoln Baxter III 一起介绍了 Seam and RESTEasy integration,他出色地阐述了 REST 的架构原则。然后我们通过展示如何利用 Seam 的 CRUD 框架用 2-3 行 XML 设置一个完整的 REST 服务,让观众大吃一惊。我们还演示了 Lincoln 组建的 Android 客户端,让人们为 REST 可以打开的可能性和数据感到兴奋。

午餐时,JSF EG 在 Kito Mann 主持的讨论会上登台。从左到右,讨论小组包括 Jay Balunas、Lincoln Baxter、Dan Allen、Ted Goddard、Jeremey Grelle、David Geary、Ed Burns、Andy Schwartz 和 Kito Mann。我们讨论了我们在 JSF 2 中最喜欢的特性以及我们希望解决哪些挑战。关于基于 XML 而不是 XHTML 的 Facelets 模板的辩论再次展开。一如既往,主题是展望未来和保持进步。

我接下来的演讲是关于Seam安全。我总是很享受我的Seam安全演讲,因为这项技术的演示也使观众叹为观止。在90分钟的时间里,我能够展示Seam安全是如何工作的,然后在演示上花费整整半小时。当访问控制列表(ACL)和规则杂交以允许用户在运行时授予上下文相关权限时,就产生了影响。

在完成三个演讲后,当轮到我介绍CDI(JSR-299)、Weld和Seam的未来时,我已经处于最佳状态。我首先明确了CDI、Weld和Seam之间的区别。在此基础上,我解释了CDI的重要性,它如何很好地与Java EE平台集成和支持,推荐使用它而不是JSF托管Bean,然后开始了我的CDI教程。这一切都导致了Seam 3的介绍,这是Java EE的第一个便携式扩展集,以及它们将如何彻底改变游戏规则。单体中间件框架已经死亡,创新将由模块化和便携性推动。我很遗憾没有记录那次会议,因为我不确定我能否像那天那样清晰地解释这个堆栈。

JSR-314 EG会议

在第一天的会议之后,JSR-314专家小组(EG)决定在晚餐后举行面对面的会议。我们在Donatello会议室,面积为1,990平方英尺,这是一个商务级的会议室。舒适的座位和一张大的会议桌确实让这次会议感觉非常正式。出席(按顺序围坐一圈)的有Ed Burns、Kito Mann、David Geary、Jeremey Grelle、Ted Goddard、Jim Driscoll、Lincoln Baxter、III、Andy Schwartz、Matt Drees、Martin Marinschek和Jay Balunas。电话会议的有Roger Kitain和Stephen Kenna。如果你没有出席,不要感到被排除在外。这次会议并没有在闭门中进行。会议议程和会议的音频记录可以在jcp.org上的JSF Summit 09会议页面上找到。(这是JSR-314 EG会议的音频记录首次向公众开放)。如果你对JSF社区和/或规范感兴趣,请收听。

会议的主要重点是社区。我们讨论了未来邮件列表的计划以及社区如何使用它们来参与。目前,邮件列表正在迁移到jcp.org的基础设施。计划有三个列表

  • jsr-314-public
  • jsr-314-observers
  • jsr-314-eg

第一个列表实际上是一个公共论坛,jsr-314-public,社区可以用来讨论规范和JSF的未来。阅读和写作将向公众开放(可能需要免费jcp.org账号来发表帖子,我们还没有决定是否保留这个限制)。第二个列表,jsr-314-observers,是主要的设计列表。阅读将向公众开放,而扩展EG(EG加上负责实现、组件库或扩展的受邀嘉宾)的成员将被允许发表帖子。最后,还有一个内部EG列表,jsr-314-eg,用于离线讨论,通常涉及许可或法律问题。不会在该列表上进行涉及设计的讨论。

林肯随后宣布了上文介绍的 JavaServer Faces 社区网站 创新计划。关于宣传 JSF 2 的意义、如何吸引社区参与并让他们有机会发声,以及最终使 JSF 持续繁荣发展,大家进行了很多讨论。与 JSFCentral 的关系得到了明确,Kito 分享了他对 JSFCentral 2.0 的计划,该计划将基于 Liferay 门户,并包含社交网络功能。我们还讨论了为 JSF 设计标志的重要性,以便人们更好地与这项技术产生共鸣(敬请期待详细信息)。

将注意力转向技术问题,我们开始讨论组件库(RichFaces、ICEFaces、ADF Faces 等)之间的 Ajax 交互。这很快引发了关于 JSF 2.next 计划的讨论。Ed 向大家保证,JSF 2.0 将在不久的将来(大约一月)发布维护版本,以纠正规范错误和其他小错误。正式发布将更远一些。显然,Sun-Oracle 的交易使得事情变得复杂,但 EG 团队致力于推动 JSF 的发展。

还讨论了其他事项,例如建立性能基准,以帮助我们做出明智的决定,关于引入新功能,并允许我们将注意力集中在 JSF 性能可能成为问题的领域。我们推迟了对 JSR-314 过程的总结分析和如何改进它以供未来会议讨论。但这并不意味着我们停止了讨论。经过一个半小时的讨论,我们都感到非常口渴,决定结束会议,前往 Thirsty Fish 喝饮料并享受社交(尽管不可否认是技术性的)时光。

下半场

第二天早上我起床有点慢(毕竟我做了 4 个 1.5 小时的演讲,并参加了 EG 会议后的圆桌讨论;不仅仅是因为喝了饮料)并且花了一整天的时间与人聊天或参加我对这些话题不太了解的会议。我听了 Micha Kiener 关于 Edoras 框架的演讲,这是一个对 JSF 的全面扩展,涵盖了与 Seam 相似的大部分领域,但角度略有不同。

当天的最后一项演讲是我整周都在期待的,是林肯·巴克斯三世关于他的项目 PrettyFaces 的演讲。 PrettyFaces 是一个针对 JSF 1.2 和 JSF 2.0 的开源扩展,它能够创建可书签的、漂亮的 URL。EG 的几位成员都希望能将漂亮的 URL 引入 JSF 2.0,但当时很清楚我们没有一个可靠的提案,部分原因是我们并不完全确定目标。这次演讲很可能会被视为一个重大转折点。林肯在包括我在内的 8 位 JSF EG 成员面前发表了演讲。林肯对主题的阐述非常出色,我认为我们清楚地理解了需要解决的问题。我坚信我们可以将漂亮的 URL 引入规范的下一个修订版。

在晚餐期间,我脱离人群为接下来的Java EE 6主题演讲做准备,演讲题目为《Java EE 6:现在与未来》(演示文稿)。又一次,时机恰到好处。在演讲中,我谈到了这周在Java EE历史中的重要性。就在前一天,Java EE 6得到了批准。我强调,虽然技术有所改进,但这次规范修订的特点是各个规范之间的广泛协作和整合。JSF和CDI的结合将使应用程序的开发变得极其愉快和高效。而且,Web Profile的创建将缩小servlet容器和应用程序服务器之间的差距,达到开发者既能高效工作又能拥有创建企业级Web应用程序所需的所有关键技术的平衡点。最重要的是,未来就在我们眼前。Java EE 6现在已经可用,无论是在GlassFish V3还是在JBoss AS 6(Web Profile实现)中。我离开讲台时,对平台感到无比自豪,观众亦是如此。

主题演讲之后,我们在Thirsty Fish又度过了一个漫长的夜晚,分享故事、想法,互相了解。第二天早上,我听了Stan Silvert关于JSFSpy和WARlets的演讲,但我听说我错过了Cagatay Civici(PrimeFaces的创造者)的精彩演讲,所以一定要看看那个项目。几场BOF(Birds-of-a-Feather)会议使会议圆满结束。在Seam BOF上,我解释了Seam 3的模块化,我们计划将代码库迁移到Git(或Mercurial),并鼓励大家参与其中。

反思

2009年JSF峰会是一个规模不大但精神饱满的会议。大家对JSF 2充满了热情,对组件库如何支持它以及用户如何迁移(每个演讲都提到了迁移话题)都表示了兴趣。鉴于此,RichFaces正在开发3.3.3版本,该版本将与JSF 2兼容,然后是4.0版本,将充分利用JSF 2 API,特别是JavaScript库。会议上的各种组件库代表(RichFaces、ICEFaces、ADF Faces、PrimeFaces等)不仅交流良好,而且在他们之间有一种强烈的社区感。正如David Geary所说,“我们是一个非常宽容的群体。”这种合作将导致组件和组件集之间的互操作性得到提高。最终,这对用户和技术都将大有裨益。

这个会议的独特之处在于,与会者、演讲者和EG成员之间没有界限。演讲者与参会者坐在一起,参会者参与会议,演讲者坐在会议中,EG成员坐在“专家小组”的两边,社区成员加入EG会议,每个人都在twitter上实时分享他们的经验。我把这种互动水平归功于相互尊重和愿意在合作和进步的精神中放下自我。这就是我希望人们如何看待JSF 2。


返回顶部