J2EE开源项目
这篇文章写在我研究J2SEJ2EE近三年后。前3年我研究了 J2SE的SwingSppIeh Net、RMI、Collections› 10、JNI……研究了 J2EE 的 JDBC、Sevlet. JSP、JNDI..… 不久我发现这些好像太浮浅了:首先,我发现自己明白的仅仅是java提 供的大量的API, 根本不能很好地使用它;其次,我根本就没有学到任何有助于写程序的知识,如今我也只只 是能写个几页的小程序。出于这个幼稚的办法我研究了JDK中Collections› LoggerJO.…. 的源代码,发现这个世界确实很神奇,居然有如此的高手一一利用java语言最最基本的语 法,制造了这些优秀的Frameworko
从此一发不可收拾,我继续研究了 J2EE的部分,又发现这是一个我根本不能懂得的方 向(曾经有半年停滞不前),为什么只有接口没有实现啊!后来由于一直使用TOmCat、 Derby等软件突然发现:哦!原先J2EE仅仅是一个标准,只是•个架构。真正的实现是不 一致提供商提供的。
接着我研究了 MoM4J、OPenJMS、MoCki、发现这些就是J2EE的实现 啊!原先软件竟会如此复杂,竟会如此做....规范与实现又是如何成为•体的呢?通过上面的 研究发现:原
先J2EE后面居然有太多太多理念、太多太多的相似!这些相似就是其背后的 理念一一设计模式!(很幸运,在我学java的时候,我通常学java的一个方向就会读一些 关于设计模式的书!很幸运,到能领会•点的时候能真正明白这是为什么!)事实上模式就是 一种思维方式、就是一种理念......模式是要运用到程序中的,只有从真正的项目中才能领 会模式的含义……
学得越多,发现懂得越少!在学习过程中发现一些很有用,很值得学习的开源项目,今天在 此推荐给大家。
一、JaVaSerVIet 与 JSP 方向
很多人都是从SerVIet与JSP步入J2EE的。它就是J2EE的表现层,用于向客户呈现 服务器上的内容。J2EE很重要的方面。不罗嗦了!大家都明白的!下面就开始推荐吧!
1.Jakarta Tomcat
Apache基金会提供的免费的开源的Serlvet容器,它是的Jakarta项目中的一个核心 项目,由APaChe、SUn与其它一些公司(都是IT界的大鳄哦)及个人共同开发而成,全世 界绝大部分Servlet与Jsp的容器都是使用它哦!由于Sun的参与与支持,最新的Servlet 与Jsp规范总能
在Tomcat中得到表达。
下面推荐两个小一点的吧!
2.Jetty
struts框架是干什么的3.Jigsaw
4.Jo!
二、JDBC方向
很多人都喜欢JDBC,数据库吗!很深奥的东西,一听就能够糊弄人。事实上等你真正研 究了数据库的实现后发现,接口事实上确实太简单,太完美了!要想设计如此优秀的框架还 是需要学习的。下面就推荐几个数据库的实现吧!
1.Hypersonic SQL
2.Mckoi DataBase
3.Apache Derby
只是在没有足够的能力前,不要试图读懂它!注释与源代码15000页左右,我一年的阅 读量!能读下来同时能真正领会它,绝对高手!你能读完Derby的源代码只有两种可能:1. 你成为顶尖的高手一一至少是数据库这部分;2,你疯了。选择吧作为我自己我先选择 HyPerSoniCSQL这样的数据库先研究,能过这一关,再继续研究Derby!不就是一年的阅 读量吗!我能够化3年去研究如何做一个数据库事实上还是很值得的!有的人搞IT一辈子自 己什么都没有做,也根本没有研究别人的东西!
作为一个IT落后于别国若干年的、从事IT的下游产业''外包〃的国家的IT从业人员, 我认为还是先研究别人的优秀的东西比较好!能够先研究别人的,然后消化,学为己用!一 心闭门造车实在遗憾!
三、JMS方向
JMS可能对大家来说是一个比较陌生的方向!事实上JMS是一个比较容易懂得,容易上 手的方向。要紧是JaVa消息服务,API也是相当简单的。只是在企业应用中相当广泛。 下面就介绍几个吧!
OPenJMS是一个开源的JaVa Message Service API 1.0.2规范的实现,它包含有 下列特性:
1.它既支持点到点(Point∙to∙point)(PTP)模型与公布/订阅(PUb/Sub)模型。
2.支持同步与异步消息发送。
3.JDBC持久性管理使用数据库表来存储消息。
4.可视化管理界面。
5. Applet 支持。
6.能够与JakartaTOmeat这样的SerVlet容器结合。
8.客户端验证。
9.提供可靠消息传输、事务与消息过滤。
3.ActiveMQ
4.JORAM
我个人推荐:OPenJMS与ActiveMQ!
四、EJB方向
EJB 一个比较''高级〃的方向。SUn公司曾经以此在分布式计算领域重拳出击。只是自从 出现了 SPring、后大概没落了!这个方向单独开源的也比较少,要紧EJB 是与JNDI、JDBC、JMS、JTS、JTA结合在一起的是以很少有单独的。下面推荐两个只是 好像也要下载其它类库。
1.EasyBeans
五、J2EE容器
上面谈了这么多,都是J2EE的各个方向的。事实上J2EE是一个规范,J2EE的产品 通常要求专业提供商务必提供它们的实现。这些实现本身就是J2EE容器。市场上流行的 J2EE容器很多,在开源领域流行的只有很少,很少。其中最著名的是JBoSs。
在J2EE应用服务器领域,JboSS是进展最为迅速的应用服务器。由于JboSS遵循商业 友好
的LGPL授权分发,同时由开源社区开发,这使得JbOSS广为流行。另外,JboSS应 用服务器还具有许多优秀的特质。
其一,它将具有革命性的JMX微内核服务作为其总线结构;
其二,它本身就是面向服务的架构(SerViCe-Oriented Architecture, SOA);
其三,它还具有统一的类装载器,从而能够实现应用的热部署与热卸载能力。因此,它 是高度模块化的与松耦合的。JbC)SS用户的积极反馈告诉我们,JbOSS应用服务器是健壮 的、高质量的,而且还具有良好的性能。为满足企业级市场日益增长的需求,JboSS公司从 2003年开始就推出了 24*7、专业级产品支持服务。同时,为拓展JbOSS的企业级市场, JbOSS公司还签订了许多渠道合作伙伴。比如,JbOSS公司同HP、Novelk Computer Associates、UniSyS等都是合作伙伴。
在2004年6月,JboSS公司宣布,JbOSS应用服务器通过了 Sun公司的J2EE认证。 这是JboSS应用服务器进展史上至今为止最重要的 里程碑。与此同时,JbOSS一直在紧跟 最新的J2EE规范,而且在某些技术领域引领J2EE规范的开发。因此,不管在商业领域, 还是在
开源社区,Jboss成为了第一个通过J2EE 1.4认证的主流应用服务器。现在,Jboss 应用服务器己经真正进展成具有企业强度(即,支持关键级任务的应用)的应用服务器。
关于JBoSS的使用资料也非常多,甚至比商业软件的还多。有机会研究吧!
2.JOnAS
ApacheGeronimo是Apache软件基金会的开放源码J2EE服务器,它集成了众多 先进技术与设计理念。这些技术与理念大多源自独立的项目,配置与部署模型也各不相同。 GerOnimo能将这些项目与方法的配置及部署完全整合到一个统一、易用的模型中。作为 符合J2EE标准的服务器,GerOnimo提供了丰富的功能集与无责任Apache许可,具 备''立即部署〃式J2EE 1.4容器的各类优点,其中包含:
1.符合J2EE1.4标准的服务器。
2.预集成的开放源码项目。
3.统一的集成模型。
4.可伸缩性、可管理性与配置管理功能。
六、其它
讲了这么多大家可能很厌烦了!是不是很多很多啊!事实上不然,我们不可能的太多太多 了!不可能的太多太多了。不管你是不是J2EE高手,还是J2SE高手,有些东西你要绝对 很精明的。比如:LJaVa的ColIeCtionSFrameWork就是java的数据结构了,不仅要吃 透它,还要能按照需要扩展它,利用其思想创建•个自己的数据结构。2,网络编程确信要会 吧,现在以及以后很多程序都是不在同一台机器上的,不可能网络怎么行哦!3.IO确信要 会的吧!你的程序难道不用输入输出数据啊!整个IO包加NIO也有600多页的源代码 哦!4.JDBC你要会吧!数据库都不可能,在你的企业应用中你的数据又储存到哪里啊!文件 中一一太落后了吧!典型的没有学过J2EE。尽管数据库背后也是使用文件储存的。
5.Serverleh JSP你要是做网页做网站,确信要做到。问你-个简单的问题,网页中如何 实现分页啊!有具体方法的就在本 文章后发言吧!6∙ Ant要会吧!java语言中公布的工具, 类似与C中的make工具。7JUnit用过吧!单元测试软件。你不要啊!你的软件就没有bug! 你牛!(建议大家研究研究其源代码,很有用的框架,包含大量的设计模式,源代码不到100 页!看了只能感
叹一一高手就是高手)细心的朋友能够看到在你使用的很多IDE工具中都有 JUnit哦僦是它。
一切的一切才刚刚开始!有兴趣,有需要你能够研究数据库连接池的框架,如:C3P0、 Jakarta DBCP. DBPoOl.…能够研究J2EE框架Spring…….Web框架Struts……持久 层框架Hibernate.•…甚至开发工具Eclipse..…Sun领导的点对点通信的JXTA.•…报表工 具JFreeehart、JaSPerRePOrtS..…分布式网络编程的CORBA、网络通信的JGROUPS、 XML解析的XerCeS.….(在不经意间开源己经步入你的电脑,不信啊!你JDK的安装目录 jdkl.6.0 src com sun org apache就是Xe「ces, 一个XML解析的著名的开源 项目)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论