InfoQ

新闻

选择Seam的十大理由

作者 李剑 发布于 2007年11月12日 下午5时45分

社区
Java
主题
Web框架
标签
JBoss Seam,
EJB,
JSF
JBoss Seam中文站发表了一篇文章:选择Seam的十大理由,较为全面地概括了Seam的优势。这十大理由简要总结如下:

1. 增加Ajax特征的最快捷方式。Seam1.1整合了许多基于JSF的开源Ajax解决方案……开发人员可以轻松地在程序中应用Ajax,甚至不需要学习JavaScript;并且将远离 单独使用Ajax时潜在的bugs和性能问题。
2. 开始使用EJB3.0的最简单方式。EJB 3.0是Seam使用的核心技术,你可以无处不在地使用整合的EJB 3.0组件模型。因为在Seam应用中,每个类都是一个EJB组件。你甚至不用写任何整合代码,即可美化”你的框架。
3. 充分挖掘JSF特性的最佳方式。Seam使用注解的方式代替繁琐的XML配置,减少代码量的同时也提高了开发效率。Seam在很多方面扩展了JSF的功能:包括多窗口操作、工作空间管理、基于模型的验证、基于jBPM的页面流、国际化和页面分段缓存等等,甚至还加入了控制标签化页面的机制。
4. 实现业务流程管理(BPM)的最简单方式。Seam深度整合了jBPM,使用jBPM进行任务管理和页面流管理将变得异常简单。
5. 使得CRUD同样简单。在创建数据驱动的应用中,Seam将整合现有易用的数据层框架,包括JPA、Hibernate等,使开发人员可以通过一些数据库反向工程工具和命令行工具高效地开发数据库应用。
6. 持久层工作将是”小菜一碟”。Seam来源于Hibernate社区,由Hibernate创始者Gavin King设计和开发。它的会话模型解决了传统无状态的Web应用架构导致的持久层相关问题。
7. 注解功能。Seam是第一个从始至终、从持久层到表示层,都使用Java 5注解功能的程序模型。你将不会再因为繁琐的XML配置而感到迷失方向。
8. 为自动化集成测试而喝彩。Seam引入了一种新方式:”自动化集成测试”。你可以模拟每个请求或者会话的全部业务流,来测试应用中从持久层到表示层的所有Java代码。
9. 开放性标准与开源的结合。Seam建立在实现开放标准的、像JSF和 EJB 3.0这样的开源项目基础上,并且整合了其他优秀的开源项目,如Hibernate、jBPM、Facelets、Drools等等。是完全建立在“致力于Java平台的创新和提高”的开源项目理念上的开源框架。
10. 快速上手

该站点同时还推出了连载系列:“JBoss Seam,一个深度集成框架(一)(二)(三)”,详述了JBoss Seam的产生背景、概念、应用示例和Seam编程模型中的关键要素。

请继续关注InfoQ中文站,我们会为你带来更多有关Jboss Seam的精彩报道。

相关赞助商

InfoQ中文站Java社区,关注企业Java社区的变化与创新,通过新闻、文章、视频访谈和演讲以及迷你书等为中国Java技术社区提供一流资讯。

8 条回复

回复

测试的问题 发表人 Necromancer B 发表于 2007年11月13日 上午9时39分
少了点吧 发表人 fan fan 发表于 2007年11月13日 下午6时44分
Java.. 发表人 Cao Li 发表于 2007年11月19日 上午8时45分
Re: Java.. 发表人 凉粉 小刀 发表于 2007年11月19日 上午9时6分
Re: Java.. 发表人 Botao Xing 发表于 2007年11月20日 上午12时24分
Re: Java.. 发表人 jaly shen 发表于 2007年11月20日 下午11时20分
我也看好Seam 发表人 Botao Xing 发表于 2007年11月20日 上午12时22分
myseam解决了jboss seam2使用上的一些不足 发表人 chen hong 发表于 2007年11月27日 上午2时40分
  1. 返回顶部

    测试的问题

    2007年11月13日 上午9时39分 发表人 Necromancer B

    试了几个例子,在单元测试时候,依然要“费力”的摆脱EntityManager,在集成测试的时,不支持类似String query="select u.name from u where u.id={#user.id}"。不知道是不是自己的原因?

  2. 返回顶部

    少了点吧

    2007年11月13日 下午6时44分 发表人 fan fan

    个人认为是对“会话变量”的管理,这个很多文章都谈到过啊

  3. 返回顶部

    Java..

    2007年11月19日 上午8时45分 发表人 Cao Li

    我不太相信Java的东西很快速上手

  4. 返回顶部

    Re: Java..

    2007年11月19日 上午9时6分 发表人 凉粉 小刀

    嗯~~~那你认为什么的东西容易快速上手呢?脚本语言?

  5. 返回顶部

    我也看好Seam

    2007年11月20日 上午12时22分 发表人 Botao Xing

    我比较看好Seam/ZK/Flex

  6. 返回顶部

    Re: Java..

    2007年11月20日 上午12时24分 发表人 Botao Xing

    我比较讨厌跟风学习脚本语言,到底自己家公司的产品/项目是不是真的适合用脚本语言来开发?根本不考虑,看有的所谓的大虾说Ruby好,就学Ruby,并跟着起哄

  7. 返回顶部

    Re: Java..

    2007年11月20日 下午11时20分 发表人 jaly shen

    支持楼上的说法。很多东西都是被炒作起来的。

  8. 返回顶部

    myseam解决了jboss seam2使用上的一些不足

    2007年11月27日 上午2时40分 发表人 chen hong

    jboss seam是非常优秀的架构,他的web层扩展jsf,提供了丰富的web组件,使开发更快 ,复用性更高,同时还提供了强大的ajax功能,很容易实现web2.0开发;业务层也是用 基于组件的方式实现,使两个层次的调用非常简单,省去了复杂的配置文件,同时提供 了ejb3的完美整合,和以前的j2ee架构比,有非常多的创新,但是还是有一些使用及不 不方便的地方: 1.model、HomeBean、ListBean和view的代码只能被生成到同一个包了,特别是大量的 view代码在同一个目录下,如果项目大,就会带来很多不便。 2.表的前缀在生成时,不能被除去。 3.被生成的页面里的字段值都是英文的表名或列明,没有放在资源文件里,使用时每个 页面都要改为对应的中文。 myseam http://myseam.googlecode.com 不但继承了jboss seam2.0GA的所有特点,同时 解决以上不足,还提供了一下功能: 1.用datascroller tag 去分页列表数据。 2.用rich:calendar tag 去显示日期字段。 3.日期的格式和getMaxResults的值被配置在资源文件里。 4.增加用户和角色管理模块。 以上特点都是通过工具自动生成。

独家内容

构建的可伸缩性和达到的性能:一个虚拟座谈会

这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。

OpenSocial的分析与实现

本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。

缓存系统MemCached的Java客户端优化历程

Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。

超越SOA:动态业务应用的新企业应用框架(2)

在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。

使用ClickOnce细分发布版本

ClickOnce让WinForms应用程序的部署轻而易举。David Cooksey演示了如何在ASP.NET中编写一个HttpHandler来实现对ClickOnce部署的版本细分。

敏捷教练,从A到Z

敏捷带来了新的领导者角色,“敏捷教练”。它是不是跟“部门经理”或“技术领导”一样,只是换汤不换药呢?教练Pat Kua在这篇启蒙文章中对敏捷教练一职做了概述。

利用Ruby简化你的Java测试(进阶篇)

本文是Productive Java with Ruby系列文章的第二篇,通过上一篇的介绍,我想大家对如何利用Ruby进行单元测试有了一个基本的了解,从这里开始,我将和大家一起讨论一些利用Ruby进行单元测试时的高级话题。

书评:《应用SOA》

《应用SOA》是由四位一流SOA专家合著关于SOA的新书,其主旨是帮助你成功地实施SOA。尤其是,这本书将帮助你把你的SOA项目与企业架构、IT治理、核心数据和BPM项目结合起来。