`

取舍于得失之间:权衡Java EE 5.0 & Seam & Spring & Yourself

    博客分类:
  • Java
阅读更多
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 与浏览器同在本地一样。

取舍都是在得失之间,请求响应与事件驱动,轻量级与重量级,这些都不重要,重要的仍是取决于自身的权衡与取舍。
分享到:
评论
39 楼 fireflyc 2008-06-17  
这个帖子有水贴的嫌疑了。^_^~~~

我的归结是这样:
如果你们采用JSF那么请考虑采用Seam,因为它会简化你很多的开发。

如果你不打算采用JSF并且团队中没有人熟悉JSF,那么请不要考虑seam。因为不熟悉JSF那么就无法理解Seam的简化。这样只能导致失败。(同志们,我已经看到不下于4个项目就是死在Seam上的。我的归结就是他们不熟悉JSF。)

[b]一定要熟悉JSF才能使用Seam[\b]
38 楼 Joo 2008-06-16  
zhuyuanxiang 写道
Seam我不懂,不过Apusic的Operamasks也是个JSF的实现,而且我越学越觉得有趣,也推荐一下。


不知道你有趣的标准是什么
我们在用aom做了一个项目之后毫不犹豫地丢弃了它
除了IOVC值得一用以外,AOM组件基本上没有哪个不出点小问题的

本来准备好好推荐一把国产JSF产品,结果...
37 楼 zhuyuanxiang 2008-06-16  
Seam我不懂,不过Apusic的Operamasks也是个JSF的实现,而且我越学越觉得有趣,也推荐一下。
36 楼 peter_rong116 2008-04-18  
[b][/b][i][/i][u][/u]
引用
[img][/img][url][/url][flash=200,200][/flash]
35 楼 fangzhouxing 2007-11-17  
Seam其实很好学的,概念清晰和简洁,文档写得非常好。

另外,使用Seam并不是一定要用EJB+JSF, 我在Tomcat 5.x中使用POJO+ExtJs。
34 楼 yyjn12 2007-11-16  
ray_linn 写道
惊鸿逝水 写道
有个感觉,OpenSource号称不重复制造轮子,其实制造轮子最多的就是OpenSource,只不过他们的轮子相似之中总有那么一点差异,总是让用户去拼凑新的火车拖拉机(N多轮子滚动在轨道上牛车)……

难道Seam就是传说中的火车拖拉机?


浪费人类的精力制造出struts,再弄出spring mvc, webwork。。。。。一长串东西,干得活都差不都,反而把开发者的精力从业务本身拖到无意义的framework hell里。


同意!

似乎天才们和我的差别就在于,这些东西的学习成本对他们来说不值一提,而对我来说,想要完全掌握,能够驾驭它们,并不那么容易.
33 楼 sptzone 2007-11-16  
ray_linn 写道
引用

Seam更象故弄玄虚的一个东西,简单的理解就是对应dotnet里的spring.net Web Framework.

首先,不得不承认asp.net其实已经整合了许多java思想,并将这些思想可以说整合得都看不出破绽,jsf中拿来炫耀的事件机制,在asp.net早就被无缝整合了。
但是如果从这一点就说“Seam是个故弄玄虚的东西”,是否就太以偏概全了。无论怎样,Seam的出发点是好的,现在每个公司都会有自己的一套“官方”的Web开发框架,但如果有个支持官方标准的框架供他们比较选择,也该算是件好事。对于没有内部官方框架的公司,那更期待了。
出于对于这个框架的成熟度的考虑,大部分的人应该还是处于观望态度吧!一旦这个框架被许多企业应用发现成熟度比较高,这“观望”态度也应该会变成“热捧”了。
32 楼 pacificshark 2007-10-14  
JSF+SEAM+EJB3+Ajax4JSF+Richface确实很好东西,Jboss真的挺厉害的。
31 楼 vip01 2007-09-29  
ssuupv 写道
我们以前一个系统,就是采用开源框架,就是因为这一点.经常被客户或者竞争对手狂鄙视.


深有同感
30 楼 ssuupv 2007-09-28  
我们以前一个系统,就是采用开源框架,就是因为这一点.经常被客户或者竞争对手狂鄙视.
29 楼 ssuupv 2007-09-28  
kyo100900 写道
ssuupv 写道
我们也装备用jsf+ejb3.0搞新版本的应用了.SSH.总感觉不正统.卖不了好价钱.


搞笑,价钱和框架没有直接关系吧,哈哈


你们难道没碰到过这样情况吗?奇怪.看来.不是搞市场的.同样功能,.net价格,跟j2ee不一样.同样功能基于开源框架,跟基于商业框架,报价也是不一样的.
28 楼 江南白衣 2007-09-27  
ssuupv 写道
我们也装备用jsf+ejb3.0搞新版本的应用了.SSH.总感觉不正统.卖不了好价钱.


客户居然还关心这个?真是爱好技术的好客户啊,即使是SSH,你也别用Tomcat啊,用一堆Weblogic,Sun V490之类的,就自然水涨船高了。
27 楼 kyo100900 2007-09-27  
ssuupv 写道
我们也装备用jsf+ejb3.0搞新版本的应用了.SSH.总感觉不正统.卖不了好价钱.


搞笑,价钱和框架没有直接关系吧,哈哈
26 楼 elvea 2007-09-26  
假如测试那些都可以抛开Jboss,用glassfish等等就好了。
25 楼 ssuupv 2007-09-25  
我们也装备用jsf+ejb3.0搞新版本的应用了.SSH.总感觉不正统.卖不了好价钱.
24 楼 liuzhg 2007-09-24  
No.1 我看上面的人没有用过JSF开发一个应用。
No.2 如果用过JSF,就会明白Seam解决了什么问题。
No.3 如果不了解,请看一下JSR 299.
23 楼 julyboxer 2007-09-24  
呵呵..JSF确实很适合传统的C/S的开发人员转向B/S开发..它的思想就是很自然...才用上它一段时间..发觉不自然的爱上它了...
特别是1.2版本.比以前有了很在的改进...易用性也比Struts好很多..
22 楼 DigitalSonic 2007-09-24  
之前看Seam Ref的时候有种感觉,Seam的conversation保存了大量的上下文信息在服务器上,个人认为在这种有状态的情况下想做负载均衡就显得麻烦了点。
至于JSF嘛,没用过所以不太好说,记得最早是被Struts逼出来的,现在应该已经有很大不同了吧,对它的事件驱动有点兴趣。
21 楼 chinata 2007-09-23  
江南白衣 写道
我的想法比较朴素,目前还是招SSH的人要比EJB3+JSF的人容易。

不喜欢用jboss的东西,虽然俺觉得他们很用功了,但是真的努力有余,才气不足
但是他们的产品线里面的各个部分永远都不是市场上最容易用的那个(从web server到portal到Jboss mq),除非真的需要用到J2EE的大多数方面(EJB和JMS以及各个J2ee标准间的粘合),俺还是宁可自己去拼装一下。
20 楼 江南白衣 2007-09-22  
我的想法比较朴素,目前还是招SSH的人要比EJB3+JSF容易。

相关推荐

    基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》全书

    ### 基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》全书知识点概览 #### 一、Seam框架简介 Seam框架是JBoss组织推出的一个开源项目,旨在简化企业级应用开发,通过...

    深入浅出JBoss Seam.pdf

    JBoss Seam虽然建立在Java EE 5.0之上,但它的应用并不局限于Java EE 5.0服务器。这意味着一个Seam应用既可以部署在J2EE 1.4应用服务器上,也可以部署在诸如Tomcat这样的容器中。这种灵活性使得Seam能够在不同的环境...

    JBoss Seam: Simplicity and Power Beyond Java EE

    ### JBoss Seam: Simplicity and Power Beyond Java EE #### 一、Seam简介与特点 **JBoss Seam** 是一款强大的开源框架,它在**Java EE** 的基础上提供了更为简单且功能强大的开发方式,旨在简化企业级应用的开发...

    JBoss Seam入门介绍

    Seam将Java EE 5.0组件与JSF托管bean紧密集成,即使不使用Java EE 5.0,也可以选择POJO作为Seam组件,这种灵活性使得Seam适用于更多场景。 #### 3. AJAX支持 Seam支持多个开源JSF AJAX库,如JBoss RichFaces和JBoss...

    图书:JSF2 API和JBoss Seam入门

    《JSF2 API和JBoss Seam入门》是一本面向初学者和中级开发者的图书,旨在帮助读者快速掌握JavaServer Faces(JSF)2.0 API和JBoss Seam框架的使用。JSF是一种Java EE标准的用户界面组件模型,用于构建Web应用程序。...

    深入浅出JBoss Seam.doc

    【深入浅出JBoss Seam】是一本由Michael Yuan和Thomas Heute共同编著的专业书籍,主要探讨了JBoss Seam这一轻量级框架在Java EE 5.0环境下的使用和优势。JBoss Seam是一个旨在提升开发者生产力和增强企业Web应用程序...

    Java EE 6 Overview 新特性

    Java EE 6 的规范由JSR 316(Java Platform, Enterprise Edition 6 Specification)定义,隶属于Java Community Process (JCP) 组织维护。与以往版本不同,Java EE 6 不仅是一套新的技术集合,更是一次重要的改革,...

    Seam深入浅出教程.docx

    Seam是一个轻量级的框架,它补充了Java EE 5.0规范,为开发者提供了一个统一且易于理解的编程模型,特别关注于提升开发效率和应用程序的可扩展性。Java EE 5.0虽然包含了如EJB 3.0和JSF 1.2等核心框架,但它们之间...

    Seam in Action

    《Seam in Action》这本书深度探讨了JBoss Seam这一轻量级Java EE 5.0框架,它旨在简化企业级应用程序的开发,提供了一种整合各种技术的强大方式。Seam的核心理念是消除Java EE组件之间的摩擦,使得开发过程更为流畅...

    深入浅出JBoss Seam

    JBoss Seam是一个旨在简化企业级Web应用开发的轻量级框架,它补充和完善了Java EE 5.0的标准。Java EE 5.0虽然包含了EJB 3.0和JSF 1.2等核心框架,但它们各自独立,缺乏统一的编程模型。Seam的出现就是为了消除这种...

    seam+spring+hibernate+richfaces配置

    Seam、Spring、Hibernate和RichFaces是Java Web开发中的四大框架,它们的集成可以构建功能强大的企业级应用程序。本文将详细解析这四个组件的核心概念、它们如何协同工作以及配置过程。 **Seam框架** Seam是一款...

    基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》摘要

    ### 基于Seam2.1的最新力作《Seam Framework: Experience the Evolution of Java EE, 2nd Edition》摘要分析 #### 核心概念:Seam框架概述 Seam框架是一款革命性的Web应用开发框架,它将标准的Java EE技术与一系列...

    JBoss.Seam.Simplicity.and.Power.Beyond.Java.EE

    根据提供的文件信息,我们可以从标题、描述以及部分内容中提炼出以下关键知识点,这些知识点主要围绕JBoss Seam框架及其与Java EE的关系展开。 ### 关键知识点一:JBoss Seam框架简介 - **JBoss Seam** 是一个基于...

    jsf-seam-jpa文档

    Seam 是一个强大的Java EE框架,它通过整合和强化Java EE 5的多个核心组件,如JSF(JavaServer Faces)和EJB 3.0,来提供一个统一且高效的开发体验。Seam的设计目标是简化Web应用的复杂性,特别是对于有状态的Web...

Global site tag (gtag.js) - Google Analytics