Seam 路线图

发布者:    |       Seam

1.1 版本 的发布涉及了在 Seam 内部进行大量艰苦的工作,包括重构和修复错误,以及与处理诸如集群和并发等问题的“棘手”代码。当然,有很多新功能,但大部分真正的工作对用户来说是不可见的。现在这些困难的问题已经解决,我们可以快速添加一些有趣的新内容。以下是未来几个月的快速路线图

Spring 集成包

我们经常收到来自那些使用 Spring 框架 编写现有 DAO 和业务逻辑的人的请求,他们希望有一个迁移路径到 Seam,使他们能够在不改变现有代码的情况下重用它。计划中的 Spring 集成包将提供

  • 使用 @In 注入 Spring 容器到 Seam 组件
  • 在 EL 中访问 Spring 容器
  • 使用 Spring XML 注入 Seam 组件到 Spring 容器
  • 将 Spring DAO 框架与 Seam 管理的持久化上下文集成

因此,您将能够轻松地从您的 Seam 组件、JSF 视图或 jBPM 流程定义中调用用 Spring 编写的现有代码,并且这些代码能够利用 Seam 的会话作用域持久化上下文。第一次,您可以拥有不受 LazyInitializationException 威胁的 Spring 代码!

我们甚至可能会走得更远

  • 将 Spring 容器作为 Seam 无状态 JAVA_BEAN 组件处理,具有完整的 Seam 拦截器堆栈

在这种情况下,一个类可以同时是 Seam 组件和 Spring 容器,就像一个类可以同时是 JSF 管理的 bean、EJB3 会话 bean 和 Seam 组件一样。

Seam/Security

Seam论坛中最受欢迎的功能是安全性。遗憾的是,与一些其他规范(EJB)一样,安全性相关规范在Java EE 5中并未经历相同的自我检查和改进过程,因此在平台应该最强的地方出现了巨大的漏洞。(如今Java中最不完善的规范是portlet规范、糟糕的servlet规范以及任何与安全性相关的JSR。)Seam 1.1.5将引入Seam/Security,这是Seam的一个扩展,提供了以下功能:

  • 可用的认证层
  • 基于ACL的授权模型
  • 可选(可定制)的用户/角色模型
  • 一个基于EL和Drools的酷炫(至少我们认为如此)授权机制

授权模型允许您通过编写引用我们正在检查权限的实际对象实例的规则来实现行级安全。

后续版本还将提供一个控制台,用于管理权限、用户/角色和规则。好吧,我现在肯定听起来很模糊,但请继续关注。

Seam和iText

生成PDF非常无聊,但非常有用。Seam 1.1.5将为iText提供JSF控件库,让您快速创建能够渲染PDF、文本和RTF的JSF模板。这将与以下功能一样易于使用:

<f:view [=>xmlns:f=]"=>http://java.sun.com/jsf/core"
        [=>xmlns:it=]"=>http://jboss.com/products/seam/itext">
    <[=>it:paragraph]>Hello World!</=>it:paragraph>
</f:view>

Seam-gen与Hibernate Tools的集成

Rails使命令行工具在Web开发中变得流行,这也是seam-gen的灵感来源。但我是一个顽固的IDE用户,我希望工具能够与Eclipse良好集成。我们将更新Hibernate Tools的GUI,以利用Seam 1.1中的新模板,这将让您在Eclipse中完成所有使用seam-gen可以完成的事情。

Seam/WS

我们已经承诺了几个月,Seam是SOA的杀手级组件模型。不幸的是,我们在Seam 1.1中陷入了困境,远远落后于我们原计划在2006年交付的计划。

Seam 1.2将集成Seam与Java EE 5 Web服务层,并提供对其上下文模型中的服务对话的支持(我尚未决定这是否需要一个全新的SERVICE_CONVERSATION上下文,或者它只是对现有CONVERSATION上下文的一种不同解释,用于WS调用。最终,Seam/WS还将通过jBPM支持服务编排和对话恢复。

实际上,Seam/WS只是将Seam引入ESB和SOA环境更大计划的一部分,但目前这个想法主要还是推测性的。

请期待Seam 1.2的Q1版本。


返回顶部