开源技术选型笔记

    对于从事软件开发的人员,尤其是对于Jave或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词吧。如今,开源社区百花争妍,各种开源软件或框架层出不穷,给人选择余地的同时也让人感到无所适从,自进入web领域开发以来,我也深有体会,通过和几个学习软件的几个朋友商量和总结资料以后,把大家认为比较优秀的开源软件拿来给大家共享,以作抛砖引玉之用,如果您阅后感觉不错或受益匪浅别忘了顶顶哦......编辑这些好辛苦的 呵呵

1、  Web框架篇

说到web,可以说它早已融入了大家的生活当中,在这个大背景下,人们对web开发的重视程度也在不断提高,越来越多的项目采用了B/S方式实现,对于开发的质量、速度等诸多方面也有了更高的要求,显然,原始的开发方式在这种形势下有些力不从心了。最早的web框架是2001Aapche组织推出的Struts(一个优秀的MVC框架)。经过几年的发展,不时有新的框架带着新的想法进入大家的视野,但如果要说目前哪些框架的使用频率比较高,无疑就是StrutsWebWorkSpring、和Seam了。

1、       Struts

Struts2OSGi的设计理念贯穿其中,同时也在实验性地提供REST架构风格和对Ajax的支持。目前,最近的版本是Struts 2.1.8.1 General Availability Release

1.Struts的基本特点

ServletJSP的增强, 减少代码编写量,基于Web MVC模式,规范java Web开发

 

优点

使用广泛, 用户众多, 就业有优势;

历史较长, 有成熟的第三方工具支持;

有很多web应用使用struts.

缺点

由于历史较长, 一些功能比较落后;

配置较为繁琐;  

       网站类:

Struts官方站点

 WebWork&Struts2中文站点

 InfoQ网站

JavaEye社区Java

书籍类:

深入浅出Struts2

作者:IanRoughley  译者:李剑  出版社:C4Media InC.  出版时间:2007

ISBN1430320338

Webwork in Action 中文版》

 

 

Spring Framework

 

     1非侵入式:对于写代码从来不考虑复用和移植的程序员来说,这一点根本就没有吸引力,那么请跳过。所谓非侵入式是指Spring框架的API不会在业务逻辑上出现,也就是说我们的业务逻辑应该是纯净的,不能出现与业务逻辑无关的代码。首先针对应用而言,这样我们才能将业务逻辑从当前应用中剥离出来,从而在其他的应用中实现复用;其次针对框架而言,由于业务逻辑中没有SpringAPI,所以业务逻辑也可以从Spring框架快速的移植到其他框架。

2 容器:Spring提供容器功能,容器可以管理对象的生命周期,对象与对象之间的依赖关系。你可以写一个配置文件(通常是xml文件),在上面定义对象的名字,是否是单例,以及设置与其他对象的依赖关系。那么在容器启动之后,这些对象就被实例化好了,你直接去用就好了,而且依赖关系也建立好了。

      3 IOC:控制反转,谓之依赖关系的转移,如果以前都是依赖于实现,那么现在反转为依赖于抽象吧,其实它的核心思想就是要面向接口编程,至于何谓接口何谓抽象,以及它们的好处,多看看设计模式吧,这里就不费口舌了。

      4 依赖注入:建立对象与对象之间依赖关系的实现,包括接口注入、构造注入、set注入,在Spring中只支持后两种

      5 AOP:面向方面编程,我们可以把日志、安全、事务管理等服务(或功能)理解成一个方面,那么以前这些服务一直是直接写在业务逻辑的代码当中的,这有两点不好;首先业务逻辑不纯净,其次这些服务被很多业务逻辑反复使用,完全可以剥离出来做到复用。那么AOP就是这些问题的解决方案,我们可以把这些服务剥离出来形成一个方面,以期做到复用;然后将方面动态的插入到业务逻辑中让业务逻辑能够享受到此方面的服务

    其他还有一些特点不是Spring的核心,这里只做简单陈述,如:对JDBC的封装与简化,提供事务管理功能,对O/R mapping工具(hibernateiBATIS)的整合;提供MVC解决方案,也可以与其他web框架(StrutsJSF)进行整合;还有对JNDImail等服务进行封装。

2、        参考资料

    网站类

Spring Framework官方网站

Java视线

Spring Framework中文论坛

书籍类

Spring 2.0 核心技术与最佳实践》

作者:廖雪峰  出版社:电子工业出版社  出版时间:20076  ISBN9787121042621

本书结合理论与实践,由浅入深地介绍了Spring Framework 2.0的几乎所有内容,向读者展示了如何用Spring构建灵活的Java EE应用,并提供了大量实例。

Spring 2.0技术手册》

作者:林信良  出版社:电子工业出版社  出版时间:20074  ISBN9787121039850

本书全面深入地介绍了Spring Framework 2.0的很多方面,无论是初学者还是有一定经验的开发者都能从中获益匪浅。

expert one-on-one J2EE Development without EJB

作者:(美)詹森(Johnson,R.)、(美)赫鲁(HoellerJ.  译者:JavaEye出版社:电子工业出版社  出版时间:20059  ISBN9787121016844  Spring Framework作者Rod Johnson的力作,书中介绍了时下流行的一些概念和开源框架,阐述了Spring背后的思想和理念,告诉读者该如何正确地选择一种架构、一种技术。

 

3Seam

JBoss Seam 是著名开源厂商 RedHat 旗下JBoss 推出的下一代开源企业级 Java Web 开发平台。之所以称之为下一代,其原因之一是其目标超越传统的 StrutsWebworkStruts Webwork 业已合并为 Struts2 Spring Java Web 框架;原因之二是其整合了 AJAX, JSF, JPA, EJB3 BPM 等“下一代”Java EE 标准和规范,以及热门的各种技术。Seam在任何Java EE应用程序服务器中都可以运行,甚至在Tomcat中也可以。如果你的环境支持EJB 3.0,好极了! 如果不支持,也没关系,你可以使用Seam为持久化内置的包含JPA或者Hibernate3的事务管理。 或者,你可以在Tomcat中部署JBoss Embedded,同时享有对EJB 3.0 的完整支持。

参考资料:

网站类

JBoss网站

JBoss Seam主页

IBM DeveloperWorksJBoss Seam的介绍

 InfoQJBoss Seam的介绍:

InfoQJBoss Seam的技术访谈

JBoss开发者的Blog站点之一(该站点使用JBoss Seam开发)

中国满江红开放文档项目中JBoss Seam中文参考(向其致敬)

Web Bean JSR

书籍类

JBoss- Seam

作者:Michael Juntao Yuan and Thomas Heute  Paperback: 432 pages出版社:Prentice Hall  出版时间:May 6, 2007  Language: English  ISBN-10: 0131347969

ISBN-13: 978-0131347960

Practical JBoss® Seam Projects (Practical)

作者:Jim Farley    Paperback: 229 pages   出版社:Apress   出版时间:July 20, 2007

Language: English  ISBN-10: 1590598636  ISBN-13: 978-1590598634

Seam in Action

作者:Dan Allen  Paperback: 500 pages  出版社:Manning Publications 出版时间:June 15, 2008  Language: English  ISBN-10: 1933988401  ISBN-13: 978-1933988405

Beginning JBoss® Seam: From Novice to Professional

作者:Joseph Faisal Nusairat  Paperback: 376 pages  出版社:Apress

出版时间:February 28, 2007  Language: English  ISBN-10: 1590597923  ISBN-13: 978-1590597927

3、  开源服务器篇

      1、Apache

      2、Lighttpd

      3、Nginx

4、 应用服务器篇

       1、Jboss

    2、Geronimo

    3、Jfox

5、开发平台篇(IDE)

    1、Eclipse

    2、NetBeans

6、动态语言篇

    1、Python

    2、Ruby

    3、Groovy

7、AJAX开发篇

    1、Buffalo

    2、Dojo

    3、Prototype

    4、JQuery

    5、DWR

8、富互联网应用篇(RIA)

    1、Adobe FLEX

    2、OpenLaszlo

9、版本控制篇

    1、CVS

    2、Subversion

    3、Git

10、项目管理篇

    1、Mantis

    2、Bugzilla

    3、Scarab

    4、Teamwork

11、面向方面编程篇(AOP)

    1、AspectJ

    2、SpringAOP

    3、JBossAOP

12、反向控制容器篇(IOC)

    1、NanoContainer

    2、Equinox

    3、HiveMind

    4、Guice

    5、JBoss MicroContainer

13、用户界面篇(UI)

    1、Script.aculo.us

    2、YUI

    3、Ext

    4、Echo2

14、商业智能篇(BI)

    1、分析工具--Mondrian

    2、分析工具--JPivot

    3、报表工具--BIRT

    4、ETL工具--Kettle

    5、开源商业智能解决方案--Pentaho

15、建模工具篇

    1、ArgoUML

    2、Poseidon

    3、Jude

    4、StarUML

    5、Trufun

    6、EclipseUML

16、对象关系映射篇(ORM)

    1、Hibernate

    2、TopLink Essentials

    3、iBATIS

17、数据库篇(DB)

18、软件测试篇

    1、Junit

    2、JMock

    3、Selenium

19、面向服务架构篇(SOA)

    1、Apache CXF

    2、Apache ODE

    3、Apache Tuscany

20、工作流篇(WorkFlow)

    1、jBpm工作流系统

    2、OSWorkflow工作流系统

    3、Teampo工作流系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值