技术开发 频道

JBoss Seam–Java开发时代新宠(一)

  【IT168 技术文档】

  EJB3.0 (Enterprise Java Beans 3.0)和JSF (JavaServer Faces) 被标准搭载在JavaEE5里,JBoss Seam是由JBoss公司推出的无缝联结JSF和EJB3.0的一个WEB开发框架。

  JBoss Seam是什么

  EJB3.0 (Enterprise Java Beans 3.0)和JSF (JavaServer Faces) 被标准搭载在JavaEE5里,JBoss Seam是由JBoss公司推出的无缝联结JSF和EJB3.0的一个WEB开发框架。

  JSF作为WEB表现层(Presentation)的一个框架技术,在MVC的WEB开发模型中担当着视图(View)和控制(Controller)的角色,其中JSF框架中的JSP起着View的作用,而Managed Bean则起着《Controller》的作用。Managed Bean的定义在faces-config.xml中加以记述。

  EJB3.0则在WEB应用中担当着业务逻辑处理(Business)的角色。

  虽然JSF与EJB3.0被标准搭载在JavaEE5里,但JavaEE5却没有给出一个结合JSF与EJB3.0的API。要同时在一个WEB应用中使用JSF和EJB3的话,开发者必须自己考虑一个实现方案。

  JBoss Seam便于这样一种WEB开发框架,它提供了统合管理JSF和EJB3组件的方法。通过JBoss Seam,可以简单地实现无缝连接表示层的JSF和逻辑处理层的EJB3组件。

  在一般的开发模型中,JSF的Managed Bean与EJB3的Entity由于分属于2个不同的组件模型,所以他们的状态也不得不分别管理。比如,在JSF里用faces-config.xml定义Managed Bean,JSF框架根据faces-config.xml的定义对Managed Bean加以管理。在使用EJB3的情况,得把Managed Bean传送给EJB3框架,EJB3对自己的Entity的状态加以管理。

  而使用JBoss Seam的情况,JSF的Managed Bean则不再需要在faces-config.xml里定义,JBoss Seam本身提供了一种可以称为Seam组件的Bean(Java Bean),只要在普通的Java Bean里,对它加以标注(annotation),JBoss Seam便可将其自动映射(mapping)为JSF的Managed Bean和EJB3的Entity。

  JBoss Seam的运行环境

  JBoss Seam本身可以运行在任何支持EJB3.0的服务器里。

  JBoss Seam的标准化

  JBoss已正式向JCP(Java Community Process)提出了JBoss Seam所提倡的Web Beans标准:JSR 299,并得到了全体专家组成员的一致同意:http://www.jcp.org/en/jsr/results?id=3865。

  [JSR 299: Web Beans]技术目的是让EJB组件Bean可以当成JSF的Managed Bean使用,但背后同样包含了要简化使用Java的WEB开发模型的目的。

  JBoss Seam很可能会在JavaEE平台里作为一个新的开发模式被加以推广。

0
相关文章