下一代 Java Web 开发的王者
2007-11-11 22:06
141 查看
为什么是Seam是下一代Java Web开发的王者?
Seam是一个Java EE 5.0 环境下的轻量级的开发框架,Seam基于Java EE 5.0 并且提供了如下的功能:
1. 一站式的框架,
以往我们谈到程序开发的框架,例如Struts,Hibernate,Spring,等都是服务于程序开发的一个方面,或者说一个层面的,例如Struts通常用来简化表示层的开发,Hiberante通常用来处理数据访问,而Spring通常用来把不同的框架粘合起来;Seam不同在于Seam提供了所有的这些内容,使用JSF作为表示层,EJB3中的Entity Bean作为数据存储层,使用Stateless Bean集合了JSF和Entity Bean,并且Seam提供了对JSF,EJB3等规范的扩展。
2. 基于标准的
Seam基于Java EE 5.0 标准,使用了标准中定义的JSF和EJB3.也许现在由于各个应用服务器厂商保护投资的必要JavaEE 5.0 的服务器还没有普及,但是这是一个趋势,使用基于规范的技术会获得服务器更好的支持。
3. 集成AJAX
使用JBoss的RichFaces和ICEFaces,可以不使用JavaScript编码而达到你想要的AJAX效果。
4. 集成业务流程管理(BPM)
Seam集成了JBoss的jBPM,可以方便的处理业务流程。
5. 声明性的状态管理
可以使用声明的方式处理事务,安全,甚至是持久化上下文(Persistence Context)
6. 双向依赖注入(bijection)
在其他的很多框架中都浅雕依赖注入,Seam不但提供了注入,而其提供了注出。除了能使用外部定义的服务,内容外,还可以将内部的状态注出到外部组建。
7. 工作区管理和多窗口浏览(Workspace management and multi-window borwsing)
用户可以在浏览器的不同tab之间切换,Seam可以识别一个用户的多个Tab的Session。
8. 多用标注(Annotation)少用XML
Seam不但支持传统的XML的配置方式,而且更支持JDK 5所引入的Annotation
9. 简单的处理集成测试
Seam都是使用POJO对象,所以很容易测试
10. 补充完善了Java EE 规范的不足
例如JSF不方便处理GET类型的请求,而Seam做了对应
11. Seam让你的Web应用更完善
Seam支持PDF,JFreechart等多种类型的输出。
Seam支持JPA,Hibernate3访问数据库,支持EJB Timer Service,Quartz处理定时任务,支持jBPM处理业务流程,以及Mail,JMS等。
Seam与其他Java EE技术的关系如下图所示:
使用Seam开发Java Web应用
学习Seam需要的一些基础
第一部分
第一章, Seam介绍
第二章,一个简单的Seam应用程序分析
第三章,使用Seam Gen构建程序开发框架
第二部分
第四章,基于状态的Web项目的开发
第五章,短会话(Conversation)
第六章,并发短会话(Concurrent Conversation)
第七章,事务处理
第三部分
第八章,校验输入
第九章,数据表
第十章,Seam处理JSF的Http Get操作
第十一章,Seam CRUD 程序
第十二章,异常处理
第四部分
第十三章,Seam中的AJAX支持
第十四章,RichFaces & ICEFaces
第十五章,最底层的JavaScript
第五部分
第十六章,Seam & jBPM
第十七章,Pageflows
第十八章,Rule-Based 安全框架
第十九章,集成Testng测试
第二十章,其他
Seam 常见问题解决&方法
对于Seam我不了解,想一边学习一边将介绍补充上去。所以现在根本没有提纲/目录的概念所以九借用了,Michael JunTao Yuan的《JBoss Seam simplicity and power beyond java ee》这本书的提纲。Michael的blog在如下的位置,大家可以参照。后期随着我对Seam的理解,我肯定会慢慢的修改上述章节的名字,内容和布局。
Michael的blog http://www.michaelyuan.com/blog/
Seam是一个Java EE 5.0 环境下的轻量级的开发框架,Seam基于Java EE 5.0 并且提供了如下的功能:
1. 一站式的框架,
以往我们谈到程序开发的框架,例如Struts,Hibernate,Spring,等都是服务于程序开发的一个方面,或者说一个层面的,例如Struts通常用来简化表示层的开发,Hiberante通常用来处理数据访问,而Spring通常用来把不同的框架粘合起来;Seam不同在于Seam提供了所有的这些内容,使用JSF作为表示层,EJB3中的Entity Bean作为数据存储层,使用Stateless Bean集合了JSF和Entity Bean,并且Seam提供了对JSF,EJB3等规范的扩展。
2. 基于标准的
Seam基于Java EE 5.0 标准,使用了标准中定义的JSF和EJB3.也许现在由于各个应用服务器厂商保护投资的必要JavaEE 5.0 的服务器还没有普及,但是这是一个趋势,使用基于规范的技术会获得服务器更好的支持。
3. 集成AJAX
使用JBoss的RichFaces和ICEFaces,可以不使用JavaScript编码而达到你想要的AJAX效果。
4. 集成业务流程管理(BPM)
Seam集成了JBoss的jBPM,可以方便的处理业务流程。
5. 声明性的状态管理
可以使用声明的方式处理事务,安全,甚至是持久化上下文(Persistence Context)
6. 双向依赖注入(bijection)
在其他的很多框架中都浅雕依赖注入,Seam不但提供了注入,而其提供了注出。除了能使用外部定义的服务,内容外,还可以将内部的状态注出到外部组建。
7. 工作区管理和多窗口浏览(Workspace management and multi-window borwsing)
用户可以在浏览器的不同tab之间切换,Seam可以识别一个用户的多个Tab的Session。
8. 多用标注(Annotation)少用XML
Seam不但支持传统的XML的配置方式,而且更支持JDK 5所引入的Annotation
9. 简单的处理集成测试
Seam都是使用POJO对象,所以很容易测试
10. 补充完善了Java EE 规范的不足
例如JSF不方便处理GET类型的请求,而Seam做了对应
11. Seam让你的Web应用更完善
Seam支持PDF,JFreechart等多种类型的输出。
Seam支持JPA,Hibernate3访问数据库,支持EJB Timer Service,Quartz处理定时任务,支持jBPM处理业务流程,以及Mail,JMS等。
Seam与其他Java EE技术的关系如下图所示:
使用Seam开发Java Web应用
学习Seam需要的一些基础
第一部分
第一章, Seam介绍
第二章,一个简单的Seam应用程序分析
第三章,使用Seam Gen构建程序开发框架
第二部分
第四章,基于状态的Web项目的开发
第五章,短会话(Conversation)
第六章,并发短会话(Concurrent Conversation)
第七章,事务处理
第三部分
第八章,校验输入
第九章,数据表
第十章,Seam处理JSF的Http Get操作
第十一章,Seam CRUD 程序
第十二章,异常处理
第四部分
第十三章,Seam中的AJAX支持
第十四章,RichFaces & ICEFaces
第十五章,最底层的JavaScript
第五部分
第十六章,Seam & jBPM
第十七章,Pageflows
第十八章,Rule-Based 安全框架
第十九章,集成Testng测试
第二十章,其他
Seam 常见问题解决&方法
对于Seam我不了解,想一边学习一边将介绍补充上去。所以现在根本没有提纲/目录的概念所以九借用了,Michael JunTao Yuan的《JBoss Seam simplicity and power beyond java ee》这本书的提纲。Michael的blog在如下的位置,大家可以参照。后期随着我对Seam的理解,我肯定会慢慢的修改上述章节的名字,内容和布局。
Michael的blog http://www.michaelyuan.com/blog/
相关文章推荐
- java web整合开发 王者归来
- Java web 环境搭建 环境依赖 操作系统 :Windows 7 开发工具 :IntelliJ IDEA 开发工具依赖环境
- 与Boss大雷探讨JavaWeb开发、电商与网络安全
- 读javaWeb开发记录-类装载器
- 关于Java web开发中的中文乱码问题
- Tomcat 与java web 开发技术详解笔记(二)----Servlet
- Portal-Basic Java Web 应用开发框架:应用篇(十三) —— REST Convention
- 用Axis开发基于Java的Web服务
- JAVAWEB开发之Struts2详解(三)——Struts2信息国际化、自定义拦截器以及Struts2文件上传和下载详解
- 戏说java web开发中的listener和filter
- java web开发中,如何查看JSP和Servlet版本
- java web开发 高并发处理
- JAVAWEB开发之HttpServletResponse和HttpServletRequest详解(上)(各种乱码、验证码、重定向和转发)
- 暑期打卡——Ubuntu下的java web开发环境搭建(eclipse+tomcat+mysql+jdk)
- 使用 IDEA + Maven + Git 快速开发 Java Web 应用
- Java Web开发框架对比
- java web 开发 分页功能 mysql数据库
- 使用Struts2开发Java Web应用程序(目录)
- 浅析Comet技术在Java Web实时系统开发中的应用
- 基于WEB应用开发的java程序员必备工具