你所能用到的开源技术 (一)

 

声明:一下内容均是节选自《开源技术选型手册》 电子工业出版社 2008.5
笔者只是将其中所涉及到的开源技术进行列举出来,以供参考。

Chapter 2: Web 框架篇

2.1 Struts

你所能用到的开源技术 (一)_第1张图片


这个就不多介绍了,给出几个参考网站:
1. Struts官方站点:http://struts.apache.org/
2.Struts官方文档:http://cwiki.apache.org/WW/home.html/
3.WebWork&Struts2中文站点:http://webwork.javascud.org/
4.InfoQ中文站点:http://www.infoq.com/cn/struts/
5.Iteye(JavaEye)社区Java版面:http://www.iteye.com/
书籍类:
1.《深入浅出Struts2》
2.《Webwork in Action中文版》

2.2 Spring

 
这个也不解释了,说一句目前Spring已发布3.1.1版本
参考网站:
1.Spring Framework官方网站:http://www.springsource.org/
2.Spring Framework中文论坛:http://spring.jactiongroup.net/
3.Spring官方文档:http://static.springsource.org/spring/docs/2.5.x/reference/index.html

2.3 Seam

你所能用到的开源技术 (一)_第2张图片 
JBoss Seam是著名开源厂商RetHat旗下JBoss退出的下一代开源企业级Java Web开发平台。之所以称之为下一代,其原因之一是其目标超越传统的Struts、Webwork、Struts和Webwork也已合并的Struts2及Spring等Java Web框架;原因之二是其整合了AJAX、JSF、JPA、EJB3和BPM等下一代Java EE标准和规范,以及热门的各种技术。
功能及特点
1. 一站式(Full Stack)的统一组件模型
        JBoss Seam为所有业务逻辑提供了统一的组件模型,这种统一也覆盖了Web应用的各个分层。开发者不必考虑各个分层之间的对象数据的转移问题,这极大简化了开发者的工作。JBoss Seam组件在表现层和应用层上没有什么区别。
2.POJO和EJB
        JBoss Seam并不强制开发者使用EJB3.0,虽然新的EJB3.0已经完全轻量化了,开发者仍然可以使用纯粹的POJO来代替EJB3.0。
3. 声明式的状态管理
JBoss Seam的组件模型是有状态的,这是与Struts、Webwork和Spring等无状态的Web框架最大的不同之处。JBoss Seam提供了声明式的状态管理机制,能够提供完善的状态管理服务。这也是JBoss Seam被称为有状态的Java Web框架的原因。
4. 扩展的上下文
JBoss Seam定义并扩展了Java Servlet规范中的上下文模型,首创了对话上下文和业务流程上下文。这两个扩展的上下文模型也是JBoss Seam被称为企业级Web开发框架的重要原因之一。JBoss Seam通过扩展的上下文对组件的状态进行管理。
5. 超越依赖注入的双向注射(Bijection)
JBoss Seam使用Java5注释实现双向注射,双向注射笔传统的轻量的依赖注入更进一步,JBoss Seam中的双向注射是动态的,上下文相关的,当然也是双向的,不仅可以注入(injection),还可以注出(outjection)。
6. 使用注射配置
JBoss Seam可以使用Java 5注释特性来替代XML文件进行配置。在使用注释还是XML文件进行配置的问题上,Java社区还有很多争论,JBoss Seam采取了折中的方式将配置问题交给开发者来决定,开发者可以使用注释进行配置,也可以使用XML文件进行配置并覆盖注释的配置。
7. 增强的表达式语言
JBoss Seam提供了标准的统一表达式语言的扩展JBoss EL。通过JBoss EL,开发者能够在方法表达式中直接传递参数。
8. 现有的Java EE规范和标准的补充
JBoss Seam之所以声称是下一代的Java Web框架式因为JBoss Seam开发者对于Java Web开发规范的前瞻性设计和实现。和传统的Java Web框架主要承担胶水(Glue)功能不同,JBoss Seam设计目标不仅仅是将各个规范实现整合在一起,提供统一的、开箱即用的开发框架,更加深远的目标是推动Java EE规范的演化和进步。JBoss Seam对多个Java EE规范进行了补充和扩展,例如JSF、Servlet等。JBoss Seam本身就推动了一个新的Web Bean规范(JSR299)来统一JSF和EJB3的组件模型。JBoss Seam对于Web Bean规范来说,就像JBoss Hibernate对JPA规范那样影响深远。
9. 强大的胶水功能
 

参考资料:
1.JBoss网站:http://www.jboss.org/
2.JBoss Seam主页: http://seamframework.org/
3.IBM Developerworks对JBoss Seam的介绍:http://www.ibm.com/developerworks/cn/java/j-seam/
4.InfoQ对JBoss Seam的介绍:http://www.infoq.com/cn/articles/jboss-seam/
5.InfoQ对JBoss Seam的技术访谈:http://www.infoq.com/cn/presentation/mayue-seam-framework/
6.JBoss开发者的Blog站点之一: http://in.relation.to/
7.中国满江红开发文档项目中JBoss Seam中文参考:http://www.redsaga.com/opendoc/Seam2.0/html/
8. Web Bean JSR: http://www.jcp.org/en/jsr/detail?id=299/

3. 开源Web服务器
         3.1 Apache
Apache是一款性能稳定、安全、功能强大的开源Web服务器,但是性能不算优秀,多用来转发静态资源。
参考网站 : http://www.apache.org/
        3.2 Lighttpd
Lighttpd是一个性能非常优异的轻量级开源Web服务器。和Apache相比,Lighttpd是一个后起之秀,是近年来才出现的Web服务器。Lighttpd不同于Apache的多进程模型,它采用的IO多路复用,还可以在Linux平台上使用内核级别的事件驱动模式,因此Lighttpd具有远高于Apache的性能,能够在单台服务器上支撑超过上万个并发请求。
参考资料:
1. Lighttpd的官方网站:http://www.lighttpd.net/
2.Jan Kneschke的博客:http://blog.lighttpd.net/
3.Lighttpd的wiki:http://trac.lighttpd/net/
        3.3 Nginx
Nginx的功能要比Lighttpd简单得多,代码量也非常少,可以说是比Lighttpd还轻量级的Web服务器,与此同时,Nginx提供了比Lighttpd还要高的性能。但是由于该服务器的作者是俄国人,所以资料比较缺乏。
参考资料:
1. Nginx的英文wiki网站: http://wiki.codemongers.com/NginxModules/
2.淘宝对在Nginx的基础上改进的Tengine开源站点:http://tengine.taobao.org/

4. 应用服务器篇
    4.1 JBoss
JBoss应用服务器构建在JBoss高可伸缩的微内核架构之上,为用户提供了一个稳定可靠、兼容标准的产品级的服务器平台。
参考资料:
1. 开源中国社区一篇很有名的Jboss架构分析的博文:http://oss.org.cn/ossdocs/jboss/jboss.cn.html
2. Jboss官方网站:http://labs.jboss.com/jbossas/
                                http://wiki.jboss.org/
                                http://labs.jboss.com/jbossas/docs/index.html/
                                http://anonsvn.jboss.org/repos/jbossas/
3. JBoss社区:http://www.jboss.com/index.html?module=bb/
                         http://labs.jboss.com/jbossas/blog/
4. JBoss邮件列表:[email protected] 
                                 [email protected]
5.Jboss项目最新进展:http://jira.jboss.com/jira/browse/JBAS

4.2 Geronimo
Apache Geronimo是Apache软件基金会的开放源码J2EE服务器,它集成了众多先进技术和设计理念。更多的信息可参考下面的站点:
1. Geronimo官方站点:http://geronimo.apache.org 
                                       http://cwiki.apache.org/geronimo 
                                       http://geronimo.apche.org/source-code.html
2. IBM开发者社区: http://www.ibm.com/developerworks/cn/opensource/topprojects/geronimo.html
3. Geronimo邮件列表:[email protected] 
                                       [email protected]
4. 更多资源 http://www.nabble.com/Apache-Geronimo---Dev-f136.html
 

4.3 JFox
JFox是源自中国灰狐开源社区(http://www.huihoo.org)的开放源代码Java EE应用服务器领域的首次尝试,JFox经历了从模仿到自主研发再到创新的过程。
参考资料:
1. JFox官方网站:http://www.jfox.org.cn
2.JFox社区网站:http://www.huihoo.org/jfox
3.JFox项目网站:http://code.google.com/p/jfox
4.JFox参考指南:http://www.jfox.org/cn/doc/JFox_3.1_Reference_Guide(CN).html
5.JFox联系方式:[email protected]

待续...

你可能感兴趣的:(开源技术选型)