5

问题几乎说明了一切,尽管我明确地在寻找我可能会错过的关于 Java EE 6 环境中的 Seam 2 的东西(“损失”)。

对于我最新的(小型)项目,JavaEE 6 或更具体地说 JSF 2 是一个修复要求,因此使用 Seam 2 不是一个选项(也不会是)。尽管有人说让 Seam 2 与 JSF 2 一起工作,但我从未成功过。到目前为止,我只使用了 Seam 2,我担心切换到普通的 JavaEE 环境会带来比我目前意识到的更多的问题。

该项目具有以下基本/核心要求:

  • 基于角色和权限的安全概念(约 50 个用户)
  • JPA 2 事务持久性
  • ...

其余的将是相当基于 GUI、搜索表单、客户端验证等,将通过 RichFaces 4 和 JavaEE 6 bean 验证来处理。没有网络服务,没有宁静的 URL,没有消息传递,没有电子邮件。

我可以看到使用 Seam 安全性肯定会是一种损失,但我不确定 Seam 持久性、实体/查询框架、JBoss EL 等会是什么,尤其是整体编程模型(导航、EL、bean) . 请注意,我们将能够在有意义的情况下添加 Seam 3 模块,因此您可以在“收益”部分的讨论中包含 Seam 3。

那么,有人可以澄清一下吗?(它不必是一个完整的总结,无论你想到什么,继续)

PS:我无法连接到 Seam 论坛,所以我觉得我需要在这里提问。

4

2 回答 2

6

我可以告诉你的 - 具有各种 Java EE 5 / Seam 2 和 Java EE 6 / Seam 3 应用程序的背景:

使用 Java EE 6 / Seam 3 没有什么是您无法解决的,而且很多事情都感觉更加成熟(例如,类型安全的 CDI 比 Seam 2 基于字符串的组件要好得多,JBoss AS 7比所有其他版本好得多)。

但是:虽然 Seam 2 更像是一个一站式解决方案,可以满足您在企业 Web 应用程序中可能遇到的所有需求,但使用 Java EE 6,您几乎可以肯定最终会遇到来自不同模块的更多令人费解的问题。

Seam 3 是一个很好的开始,但它还没有完全准备好生产,至少不是所有部分。因此,您将不得不处理仍需解决的问题和异常。这肯定与 Seam 2.x 不同,后者的道路感觉铺得很好。

没有与Seam 2 的集成导航/页面流概念等效的东西。您要么必须使用 JSF 2 导航,要么集成 Drools 或类似的东西 -您自己

在 Seam 2 中您可能会喜欢嵌套对话。在 CDI 中没有这样的东西 - 但 OpenWebBeans / CODI 提供了一个很好的解决方案作为 CDI 扩展。

所有 GUI 的东西(pdf、邮件、报告)都在 Seam 3 中——但还没有 100% 准备好(9/2011)。这将在下一次改变 - 但现在,你正在使用 alpha 和 beta 的方式。

说了这么多,下面是我的建议:

尽快(并且有争议)切换到 Java EE 6 / CDI。这就是未来。:-)

于 2011-09-05T09:01:27.853 回答
1

我也有同样的经历。Java EE 在某些情况下是不够的,而且并非有意如此。所以有 CDI 扩展。几天前我了解到其他人也有同样的经历:

Java EE 满足您的所有需求

如果它太容易令人难以置信

如果您是 Seam2 用户,请使用 Seam3(我认为他们计划再次提供类似的东西 - 只是对话非常糟糕)并帮助他们使其稳定,添加您错过的功能,......或切换到其他扩展。有很多,例如我们更喜欢 MyFaces CODI,因为它非常稳定和快速,而且他们的对话概念更好。还有一个非常开放的社区,他们也提供了很多帮助,倾听想法,...

问题不是“什么”,而是“什么时候可以在扩展中使用”。我想一旦有人要求一个功能。

于 2011-09-04T20:23:59.353 回答