你好,游客 登录 注册 搜索
阅读内容

JBoss Seam

运行环境:
授权方式:BSD
软件大小:M
下载量:
更新日期:2013-07-30
来源地址:
联系作者:Linux

JBoss Seam是“Java EE 5.0的一个轻量级的框架”。它在Java EE 5.0框架的上层,为所有的在企业Web应用中的组件提供了一个统一的、易于理解的编程模型。它同样使基于状态的应用和业务流程驱动的应用的开发易如反掌。换句话说,Seam致力于开发者生产力和应用扩展性。

简介

JBoss Seam是“Java EE 5.0的一个轻量级的框架”。这是什么意思?难道Java EE(Enterprise Edition) 5.0本身不是一套“框架吗”?为什么在官方规范之外,还需要另外一个框架?好吧,我们就将seam看作是本应该被包括在Java EE 5.0中的一个“遗漏的框架”吧。它在Java EE 5.0框架的上层,为所有的在企业Web应用中的组件提供了一个统一的、易于理解的编程模型。它同样使基于状态的应用和业务流程驱动的应用的开发易如反掌。换句话说,Seam致力于开发者生产力和应用扩展性。

整合和强化Java EE框架

Java EE5.0的核心框架是EJB(Enterprise JavaBeans)3.0和JSF(JavaServer Faces)1.2。EJB 3.0(以下简称EJB3)是基于一个POJO(Plain Old Java Objects)的业务服务和数据库持久化的轻型框架。JSF是一个基于MVC(Model-View-Controller)的Web应用框架。大多数的Web应用都将包含有业务逻辑的EJB3组件和Web应用前端显示的JSF组件。EJB3和JSF虽然互补,但是他们是根据各自的理念设计的独立的框架。例如,EJB3使用注解(annotation)来配置服务,而JSF使用的是XML文件。更进一步讲,EJB3和JSF组件在框架层面上是互不敏感的。要整合EJB3和JSF,开发者必须手动地构造facade对象(如:JSF支持bean),将业务组件与Web页面和样板代码(又称plumbing代码)联结起来,以便能跨框架调用方法。将这些技术粘合起来是Seam的职责之一。

Seam打破了EJB3和JSF之间的人工层,它为整合EJB3和JSF提供了一个一致的,基于注解的途径。只需要个别简单的注解,Seam中的EJB3业务组件就能直接被用来支持JSF Web表单或者处理Web UI事件。Seam允许开发者将“同一种东西”——有注解的POJOs——应用于所有的应用组件。与其他Web框架开发的应用相比,Seam应用概念简洁,同样的功能却需要较少的代码(在JAVA和XML中)。如果没有耐心,或者想要快速预览,一个Seam到底有多简单,你可以现看看本文描述的hello world一例。

在JSP来说困难的任务,Seam可以轻易的完成。例如,JSF头疼的一个问题就是过分依赖HTTP POST。这使得将一个添加到书签中的JSF网页,通过HTTP GET访问相当困难。但是有了Seam,生成一个REST网页是非常容易的。Seam提供了一系列JSF组件标签和注解,增加了“web友好”和JSF应用的网页效率。

同时,Seam拓展了EJB3到POJO的组件模式, 从web层到业务层都有了状态上下文。进一步说,Seam整合了一系列主要的其他开放源代码框架,例如jBPM、JBoss Rules(又名Drools)、JBoss Portal、JBoss Microcontainer等等。Seam不仅能将它们“有机结合”起来,而且可以像整合JSF和EJB3一样强化原有的框架。

Seam位于Java EE 5.0底层,但它的应用并不局限与Java EE 5.0服务器。一个Seam应用可以部署在J2EE 1.4应用服务器和Tomcat服务器上。这意味着现在能在Seam应用中得到产品化支持。

1 + 1 > 2

或许有这样一种误解,认为Seam仅仅是将各种不同框架串起来的另外一个集成框架。Seam提供了它自身管理的状态上下文,允许框架通过注解和EL(表达式语言)表达式与其他框架进行深度整合。整合的程序来自于Seam开发者对第三方框架的认知。

linux
相关资讯       JBoss Seam 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款