2007-09-08
取舍于得失之间:权衡Java EE 5.0 & Seam & Spring & Yourself
关键字: jboss seam
Java EE 5.0明显比它之前的版本都更容易使用,也更加强大。与Web应用程序开发人员最相关的Java EE 5.0平台的两种规范是JSF和EJB 3.0。
JSF和EJB 3.0究竟好在哪里呢?我们需要先认真了解每种规范中的主要概念和特性,然后用JSF和EJB 3.0编写出一个小实例或应用程序,然后并将它与用Java(如Struts和EJB 2.x)编写Web应用程序的旧方法进行比较。这样,我们才会真正才能得到我们应当关注的所出现的问题。Seam是如何使JSF和EJB 3.0变成一个更强大且更方便的组合呢?Seam与Spring又是怎么样的关系呢?这些,都会有大多的争论与取舍。暂且不讨论这些,先看看Seam本身:
JBoss Seam是一个Java EE 5框架。它通过把JSF与EJB3.0组件合并在一起,从而为开发基于Web的企业应用程序提供一个最新的模式。Seam可以让你把EJB组件直接绑定到 JSF 页面。Seam还可帮助你把jBPM流程定义直接地集成到你的应用程序中。
相关的一些资源:
本土:JBoss Seam:http://www.jboss.com/products/seam
Docs:Seam Document:http://labs.jboss.com/portal/jbossseam/docs
入门:
一个使用JBoss Seam简化Web开发的Flash演示,可以当做JBoss Seam的入门教学
Example showing you how to generate a CRUD web application from a database using JBoss Eclipse IDE
进阶:
IBM developerWorks里的专题《Seam - 无缝集成 JSF》
这个系列讲述了 Seam 是真正适合 JSF 的第一个应用程序框架,能够修正其他扩展框架无法修正的主要弱点。阅读该系列的文章,您可以自己判断 Seam 是不是对 JSF 的适当补充。
目前有三篇文章在里面了
1、为 JSF 量身定做的应用程序框架
JSF 是用于 Java Web 应用程序的第一个标准化的用户界面框架,而 Seam 是一个扩展 JSF 的强大的应用程序框架。本文将发现这两种框架之间的互补性。
2、借助 Seam 进行对话
借助 Seam 开发有状态的 CRUD 应用程序是件轻而易举的事情。本文向您展示如何使用 Java™Server Faces (JSF) 和 Seam 为基于 Web 的高尔夫课程目录开发创建、读取、更新和删除用例。
3、用于 JSF 的 Ajax
JSF 基于组件的方法论促进了抽象,但大多数 Ajax 实现由于公开了底层的 HTTP 交换而使之大受干扰。本文展示了如何使用 Seam Remoting API 和 Ajax4jsf 组件与服务器上的受管 bean 通信,就好像这些 bean 与浏览器同在本地一样。
取舍都是在得失之间,请求响应与事件驱动,轻量级与重量级,这些都不重要,重要的仍是取决于自身的权衡与取舍。
JSF和EJB 3.0究竟好在哪里呢?我们需要先认真了解每种规范中的主要概念和特性,然后用JSF和EJB 3.0编写出一个小实例或应用程序,然后并将它与用Java(如Struts和EJB 2.x)编写Web应用程序的旧方法进行比较。这样,我们才会真正才能得到我们应当关注的所出现的问题。Seam是如何使JSF和EJB 3.0变成一个更强大且更方便的组合呢?Seam与Spring又是怎么样的关系呢?这些,都会有大多的争论与取舍。暂且不讨论这些,先看看Seam本身:
JBoss Seam是一个Java EE 5框架。它通过把JSF与EJB3.0组件合并在一起,从而为开发基于Web的企业应用程序提供一个最新的模式。Seam可以让你把EJB组件直接绑定到 JSF 页面。Seam还可帮助你把jBPM流程定义直接地集成到你的应用程序中。
相关的一些资源:
本土:JBoss Seam:http://www.jboss.com/products/seam
Docs:Seam Document:http://labs.jboss.com/portal/jbossseam/docs
入门:
一个使用JBoss Seam简化Web开发的Flash演示,可以当做JBoss Seam的入门教学
Example showing you how to generate a CRUD web application from a database using JBoss Eclipse IDE
进阶:
IBM developerWorks里的专题《Seam - 无缝集成 JSF》
这个系列讲述了 Seam 是真正适合 JSF 的第一个应用程序框架,能够修正其他扩展框架无法修正的主要弱点。阅读该系列的文章,您可以自己判断 Seam 是不是对 JSF 的适当补充。
目前有三篇文章在里面了
1、为 JSF 量身定做的应用程序框架
JSF 是用于 Java Web 应用程序的第一个标准化的用户界面框架,而 Seam 是一个扩展 JSF 的强大的应用程序框架。本文将发现这两种框架之间的互补性。
2、借助 Seam 进行对话
借助 Seam 开发有状态的 CRUD 应用程序是件轻而易举的事情。本文向您展示如何使用 Java™Server Faces (JSF) 和 Seam 为基于 Web 的高尔夫课程目录开发创建、读取、更新和删除用例。
3、用于 JSF 的 Ajax
JSF 基于组件的方法论促进了抽象,但大多数 Ajax 实现由于公开了底层的 HTTP 交换而使之大受干扰。本文展示了如何使用 Seam Remoting API 和 Ajax4jsf 组件与服务器上的受管 bean 通信,就好像这些 bean 与浏览器同在本地一样。
取舍都是在得失之间,请求响应与事件驱动,轻量级与重量级,这些都不重要,重要的仍是取决于自身的权衡与取舍。
- 17:09
- 浏览 (14459)
- 评论 (38)
- 分类: Java
- 进入论坛
- 发布在 JBoss SEAM 圈子
- 相关推荐
评论
fireflyc
2008-06-17
这个帖子有水贴的嫌疑了。^_^~~~
我的归结是这样:
如果你们采用JSF那么请考虑采用Seam,因为它会简化你很多的开发。
如果你不打算采用JSF并且团队中没有人熟悉JSF,那么请不要考虑seam。因为不熟悉JSF那么就无法理解Seam的简化。这样只能导致失败。(同志们,我已经看到不下于4个项目就是死在Seam上的。我的归结就是他们不熟悉JSF。)
[b]一定要熟悉JSF才能使用Seam[\b]
我的归结是这样:
如果你们采用JSF那么请考虑采用Seam,因为它会简化你很多的开发。
如果你不打算采用JSF并且团队中没有人熟悉JSF,那么请不要考虑seam。因为不熟悉JSF那么就无法理解Seam的简化。这样只能导致失败。(同志们,我已经看到不下于4个项目就是死在Seam上的。我的归结就是他们不熟悉JSF。)
[b]一定要熟悉JSF才能使用Seam[\b]
Joo
2008-06-16
zhuyuanxiang 写道
Seam我不懂,不过Apusic的Operamasks也是个JSF的实现,而且我越学越觉得有趣,也推荐一下。
不知道你有趣的标准是什么
我们在用aom做了一个项目之后毫不犹豫地丢弃了它
除了IOVC值得一用以外,AOM组件基本上没有哪个不出点小问题的
本来准备好好推荐一把国产JSF产品,结果...
zhuyuanxiang
2008-06-16
Seam我不懂,不过Apusic的Operamasks也是个JSF的实现,而且我越学越觉得有趣,也推荐一下。
fangzhouxing
2007-11-17
Seam其实很好学的,概念清晰和简洁,文档写得非常好。
另外,使用Seam并不是一定要用EJB+JSF, 我在Tomcat 5.x中使用POJO+ExtJs。
另外,使用Seam并不是一定要用EJB+JSF, 我在Tomcat 5.x中使用POJO+ExtJs。
yyjn12
2007-11-16
ray_linn 写道
惊鸿逝水 写道
有个感觉,OpenSource号称不重复制造轮子,其实制造轮子最多的就是OpenSource,只不过他们的轮子相似之中总有那么一点差异,总是让用户去拼凑新的火车拖拉机(N多轮子滚动在轨道上牛车)……
难道Seam就是传说中的火车拖拉机?
难道Seam就是传说中的火车拖拉机?
浪费人类的精力制造出struts,再弄出spring mvc, webwork。。。。。一长串东西,干得活都差不都,反而把开发者的精力从业务本身拖到无意义的framework hell里。
同意!
似乎天才们和我的差别就在于,这些东西的学习成本对他们来说不值一提,而对我来说,想要完全掌握,能够驾驭它们,并不那么容易.
sptzone
2007-11-16
ray_linn 写道
Seam更象故弄玄虚的一个东西,简单的理解就是对应dotnet里的spring.net Web Framework.
首先,不得不承认asp.net其实已经整合了许多java思想,并将这些思想可以说整合得都看不出破绽,jsf中拿来炫耀的事件机制,在asp.net早就被无缝整合了。
但是如果从这一点就说“Seam是个故弄玄虚的东西”,是否就太以偏概全了。无论怎样,Seam的出发点是好的,现在每个公司都会有自己的一套“官方”的Web开发框架,但如果有个支持官方标准的框架供他们比较选择,也该算是件好事。对于没有内部官方框架的公司,那更期待了。
出于对于这个框架的成熟度的考虑,大部分的人应该还是处于观望态度吧!一旦这个框架被许多企业应用发现成熟度比较高,这“观望”态度也应该会变成“热捧”了。
引用
Seam更象故弄玄虚的一个东西,简单的理解就是对应dotnet里的spring.net Web Framework.
首先,不得不承认asp.net其实已经整合了许多java思想,并将这些思想可以说整合得都看不出破绽,jsf中拿来炫耀的事件机制,在asp.net早就被无缝整合了。
但是如果从这一点就说“Seam是个故弄玄虚的东西”,是否就太以偏概全了。无论怎样,Seam的出发点是好的,现在每个公司都会有自己的一套“官方”的Web开发框架,但如果有个支持官方标准的框架供他们比较选择,也该算是件好事。对于没有内部官方框架的公司,那更期待了。
出于对于这个框架的成熟度的考虑,大部分的人应该还是处于观望态度吧!一旦这个框架被许多企业应用发现成熟度比较高,这“观望”态度也应该会变成“热捧”了。
pacificshark
2007-10-14
JSF+SEAM+EJB3+Ajax4JSF+Richface确实很好东西,Jboss真的挺厉害的。
vip01
2007-09-29
ssuupv 写道
我们以前一个系统,就是采用开源框架,就是因为这一点.经常被客户或者竞争对手狂鄙视.
深有同感
ssuupv
2007-09-28
我们以前一个系统,就是采用开源框架,就是因为这一点.经常被客户或者竞争对手狂鄙视.
ssuupv
2007-09-28
kyo100900 写道
ssuupv 写道
我们也装备用jsf+ejb3.0搞新版本的应用了.SSH.总感觉不正统.卖不了好价钱.
搞笑,价钱和框架没有直接关系吧,哈哈
你们难道没碰到过这样情况吗?奇怪.看来.不是搞市场的.同样功能,.net价格,跟j2ee不一样.同样功能基于开源框架,跟基于商业框架,报价也是不一样的.
江南白衣
2007-09-27
ssuupv 写道
我们也装备用jsf+ejb3.0搞新版本的应用了.SSH.总感觉不正统.卖不了好价钱.
客户居然还关心这个?真是爱好技术的好客户啊,即使是SSH,你也别用Tomcat啊,用一堆Weblogic,Sun V490之类的,就自然水涨船高了。
kyo100900
2007-09-27
ssuupv 写道
我们也装备用jsf+ejb3.0搞新版本的应用了.SSH.总感觉不正统.卖不了好价钱.
搞笑,价钱和框架没有直接关系吧,哈哈
elvea
2007-09-26
假如测试那些都可以抛开Jboss,用glassfish等等就好了。
ssuupv
2007-09-25
我们也装备用jsf+ejb3.0搞新版本的应用了.SSH.总感觉不正统.卖不了好价钱.
liuzhg
2007-09-24
No.1 我看上面的人没有用过JSF开发一个应用。
No.2 如果用过JSF,就会明白Seam解决了什么问题。
No.3 如果不了解,请看一下JSR 299.
No.2 如果用过JSF,就会明白Seam解决了什么问题。
No.3 如果不了解,请看一下JSR 299.
julyboxer
2007-09-24
呵呵..JSF确实很适合传统的C/S的开发人员转向B/S开发..它的思想就是很自然...才用上它一段时间..发觉不自然的爱上它了...
特别是1.2版本.比以前有了很在的改进...易用性也比Struts好很多..
特别是1.2版本.比以前有了很在的改进...易用性也比Struts好很多..
DigitalSonic
2007-09-24
之前看Seam Ref的时候有种感觉,Seam的conversation保存了大量的上下文信息在服务器上,个人认为在这种有状态的情况下想做负载均衡就显得麻烦了点。
至于JSF嘛,没用过所以不太好说,记得最早是被Struts逼出来的,现在应该已经有很大不同了吧,对它的事件驱动有点兴趣。
至于JSF嘛,没用过所以不太好说,记得最早是被Struts逼出来的,现在应该已经有很大不同了吧,对它的事件驱动有点兴趣。
chinata
2007-09-23
江南白衣 写道
我的想法比较朴素,目前还是招SSH的人要比EJB3+JSF的人容易。
不喜欢用jboss的东西,虽然俺觉得他们很用功了,但是真的努力有余,才气不足
但是他们的产品线里面的各个部分永远都不是市场上最容易用的那个(从web server到portal到Jboss mq),除非真的需要用到J2EE的大多数方面(EJB和JMS以及各个J2ee标准间的粘合),俺还是宁可自己去拼装一下。
江南白衣
2007-09-22
我的想法比较朴素,目前还是招SSH的人要比EJB3+JSF容易。
davexin
2007-09-22
个人觉得现在最好的web框架是struts2,结合spring使用,也就不错了,在05年的时候,电信用过jsf做项目,觉得jsf也就是一个半成品,是从c/s结构开发人员的最爱。本人主要从事b/s结构项目的开发,所以觉得他很难用,并且它是基于事件编成,十分的不爽。性能上也不是有多大的提升。建议还是不要使用的好,至于ejb3.0,完全是被hibernate和spring逼出来的现在的样子,以前使用ejb2.1,也就用了无状态sessionbean,学习了一段时间ejb3.0,感觉不出来他的优越性,所以个人觉得使用ejb3.0会得不偿失。
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 594767 次
- 性别:

- 来自: 福建莆田@广州

- 详细资料
搜索本博客
我的相册
力拔千斤
共 146 张
共 146 张
最近加入圈子
链接
- 超越黎明
- CJSDN
- CSDN
- JavaWorld@TW
- JavaEye
- Spring中文论坛
- Matrix
- BEA dev2dev
- Agile Tao Forum
- Flickr
- developerWorks
- TheServerSide
- Sun Java Forum
- JavaRanch
- 满江红开源
- del.icio.us
- Sun中国技术社区
- 希赛网中国软考
- AJAX Design Patterns
- CSS: The Missing Manual
- Java Persistence with Hibernate
- Script in Java
- Building Spring 2 Enterprise Applications
- Tuscany中文社区
- 我爱人开的购物店,欢迎光临
- Beginning Spring 2: From Novice to Professional
- Effective Java Second Edition
最新评论
-
惊人大秘密:中国人必看! ...
怎么没人评价啊~帮你顶下!
-- by ╱/罒呍唲 -
记08.07.19 Beijing OpenP ...
呵呵 是"空军总司令呀". 介绍时在我后面:P 我是"杀手":P
-- by woods -
记08.07.19 Beijing OpenP ...
@dearwolf哈,小刀同学不厚道呀,。。。原来带o6z去制作烟囱去了。。。不 ...
-- by YuLimin -
记08.07.19 Beijing OpenP ...
引用dearwolf 18 小时前恩……o6z当时跑到外面去吸烟了,所以轮到他的 ...
-- by ozzzzzz -
记08.07.19 Beijing OpenP ...
- - 嘿嘿。那香蕉确实很赞! 不过我怀疑是ThoughtWorks员工的。 ...
-- by sg552






评论排行榜