BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

选择Seam的十大理由

| 作者 李剑 关注 1 他的粉丝 发布于 2007年11月13日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。
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账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

测试的问题 by B Necromancer

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

少了点吧 by fan fan

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

Java.. by Li Cao

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

Re: Java.. by Jacky Li

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

我也看好Seam by Xing Botao

我比较看好Seam/ZK/Flex

Re: Java.. by Xing Botao

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

Re: Java.. by shen jaly

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

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

jboss seam是非常优秀的架构,他的web层扩展jsf,提供了丰富的web组件,使开发更快

,复用性更高,同时还提供了强大的ajax功能,很容易实现web2.0开发;业务层也是用

基于组件的方式实现,使两个层次的调用非常简单,省去了复杂的配置文件,同时提供

了ejb3的完美整合,和以前的j2ee架构比,有非常多的创新,但是还是有一些使用及不

不方便的地方:

1.model、HomeBean、ListBean和view的代码只能被生成到同一个包了,特别是大量的

view代码在同一个目录下,如果项目大,就会带来很多不便。
2.表的前缀在生成时,不能被除去。
3.被生成的页面里的字段值都是英文的表名或列明,没有放在资源文件里,使用时每个

页面都要改为对应的中文。

myseam myseam.googlecode.com 不但继承了jboss seam2.0GA的所有特点,同时

解决以上不足,还提供了一下功能:
1.用datascroller tag 去分页列表数据。
2.用rich:calendar tag 去显示日期字段。
3.日期的格式和getMaxResults的值被配置在资源文件里。
4.增加用户和角色管理模块。

以上特点都是通过工具自动生成。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

8 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT