Open Source Java 2008-08-20 21:34
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。
这一高价值的商业应用程序,易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了!功能未减,实施时间缩减到 4 小时。最重要的是:这一高价值的商业应用程序是免费的!可以自行安装和实施这套系统(如果您略懂 Oracle 和 Java 技术)。
中文站点:http://www.compiere-china.com/
这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。
与Struts结合使用最出名的一个tag主要是显示表格数据很漂亮、完善。
JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数 —4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。
代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。
主要特点:
1、提供单一登陆接口,多认证模式(LDAP或SQL);
2、管理员能通过用户界面轻松管理用户,组,角色;
3、用户能可以根据需要定制个性化的portal layout;
4、能够在主流的J2EE应用服务器上运行,如JBoss+Jetty/Tomcat,JOnAS;
5、支持主流的数据库,如PostgreSQL,MySQL;
6、使用了第三放的开源项目,如Hibernate, Lucene, Struts;
7、支持包括中文在内的多种语言;
8、采用最先进的技术 Java, EJB, JMS, SOAP, XML;
Jetspeed是一个开放源代码的企业信息门户(EIP)的实现, 使用的技术是Java和XML. 用户可以使用浏览器, 支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息. Jetspeed扮演着信息集中器的角色, 它能够把信息集中起来并且很容易地提供给用户.
Jetspeed具有如下的特征:
* 即将成为标准化的Java Portlet API
* 基于模板的布局, 包括JSP和Velocity
* 通过开放的内容同步技术支持远程XML内容交换
* 定制默认的主页
* 使用数据库进行用户认证
* 内存缓存技术, 加快页面的响应
* 通过Rich Site Summary技术, 支持同步内容
* 和Cocoon, WebMacro, Velocity集成.
* Wireless Markup Language (WML) 支持
* 使用XML格式的配置文件注册portlet.
* 完整的Web Application Archive (WAR) 支持
* Web应用程序开发的基础设施
* 可以在本地缓存远程内容
* 与Avantgo同步
* 可移植到所有支持JDK1.2和Servlet 2.2的平台
* 与Turbine模块和服务集成
* 可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务
* 持续化服务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet
* 使用皮肤技术使得用户可以选择portlet的颜色和显示属性
* 自定义功能是的管理员可以选择portlet以及定义个人页面的布局
* 在数据库中存储PSML
* 通过Jetspeed的安全portlets管理用户, 组,角色和权限
* 基于角色对访问portlet进行控制
JOnAS是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合 Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。
Turbine是基于Servlet的框架包,也是开放源代码Jakarta项目。目前还没有关于Turbine的大量文档。它类似于 Struts,但是有一些主要区别。突出的一点就是它并没有与JSP耦合。Turbine的特点是它提供了大量可重用的组件。此框架包中包含了大量组件,但是这些组件是离散的。它似乎应该给出更多的组件库,但是由于它缺少文档,所以很难掌握完整的体系结构。
Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有 jwcid属性的html标记。其中jwc的意思是Java Web Component。Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。 Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。
Apache Lucene是一个开放源程序的搜寻器引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。
iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。
Beanshell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性。 BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。它将脚本化对象看作简单闭包方法(simple method closure)来支持,就如同在Perl和JavaScript中的一样。 它具有以下的一些特点:使用Java反射API以提供Java语句和表达式的实时解释执行;可以透明地访问任何Java对象和API;可以在命令行模式、控制台模式、小程序模式和远程线程服务器模式等四种模式下面运行;与在应用程序中一样,可以在小程序中(Applet)正常运行(无需编译器或者类装载器);非常精简的解释器jar文件大小为175k
OpenCms是一个J2EE的产品,它是用Java写成的。它和Tomcat捆绑在一起。但是也能够使用ATG Dynamo、WebLogic和WebSphere。OpenCms支持多种RDBMS来保存内容,包括Oracle、SQL Server、Sybase和mySQL。新版本提供了一个新的模板引擎,JSP支持,一种新的连接管理系统,提高了稳定性。
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
opencrx很容易与你现存的系统集成 (ERP, IVR, CTI, ...)是你对你以前投资的最大保护而且openCRX支持大多数通用技术,例如 RMI, CORBA, JMS, SOAP, 以及 JCA; openCRX也包括了支持典型插件的智能前台,例如文档管理,库存跟踪, 设备管理,等. openCRX 可以运行于任意J2EE兼容的应用服务器 (e.g. JBoss, BEA WebLogic or IBM WebSphere) 和主流数据库 (e.g. MaxDB, Firebird, PostgreSQL, MS SQL, Oracle, or IBM DB2). 容易定制 基于 XML 的定制:径直的,迅速的以及可行的(包括多语言特性) 容易扩展写下你自己的工作流,或者发展可扩展的—得益于openCRX的基于组件的体系和像 J2EE,MDA 等的开放标准,这是一个很简单的任务。(摘自http://www.opencrx.com.cn/crx/)
Sun微系统公司公开了旨在建立P2P(Peer to Peer)通用技术基础的JXTA计划。JXTA技术是网络编程和计算的平台,用以解决现代分布计算尤其是点对点(P2P)计算中出现的问题。
JXTA 将建立核心的网络计算技术,提供支持在任何平台、任何地方以及任何时间实现P2P计算的一整套简单、小巧和灵活的机制。JXTA首先将归纳目前P2P的功能特别,而后建立核心的技术来表达目前的P2P计算的局限性。其重点是创建基本的机制,而具体的策略选择权则交给应用的开发者。JXTA将充分利用 XML、Java等开放技术,使得UNIX操作系统更强大和灵活,比如利用管道(Pipes)传输Shell命令实现复杂的计算任务。JXTA支持P2P 应用的基本功能来建立一个P2P系统,还将努力证实这些可以成为建立更高层功能的基础构造模块。JXTA架构可以分为三个层面:JXTA核心层、JXTA 业务层和JXTA应用层。
BlueJ是一个专门为入门级教学设计的JavaTM 开发环境。它是由澳大利亚墨尔本Monash大学BlueJ小组设计并开发的。
利用OpenLaszlo免费平台可以快速地,简单地开发漂亮Web 应用程序。这些Web应用程序可以运行在当前任何流行的浏览器与桌面操作系统。它只需要一个XML文件。
XWiki是一个强大的Java开源的Wiki引擎。它支持一些受欢迎的特性如:
* 内容管理(浏览/编辑/预览/保存),
* 支持附件,
* 版本控制,
* 全文本搜索,
* 权限管理
* 使用Hibernate进行数据存储,
* RSS输出与显示外部的RSS feeds,
* 多语言支持,
* 提供XML/RPC的API,
* WYSIWYG HTML编辑器,
* 导出为PDF
* Groovy脚本支持等等....。
EJBCA是一个全功能的CA系统软件,它基于J2EE技术,并提供了一个强大的、高性能并基于组件的CA。EJBCA兼具灵活性和平台独立性,能够独立使用,也能和任何J2EE应用程序集成。
SimpleJTA实现了一个独立的JTA事务管理器.它主要是运用在一个没有J2EE服务器的环境中,比如在Servlet应用程序或单独的 Java程序中.SimpleJTA当前支持Oracle 9i和Apache Derby数据库管理系统而且也支持实现XA接口的其它数据库系统.SimpleJTA可被运用于Spring Framework中.
Java.tri是一个可扩展的开源J2EE代码生成器和MDA工具. Java.tri导入UML模型并生成一个完整的Hibernate-Struts Web应用程序或被用于生成你应用程序关键的部分.
CAS Generic Handler是一个插件它使得CAS具备利用不同方法((LDAP, database, files, NIS,...)来验证用户的能力。
耶鲁大学开发的单点登录(Single Sign On)系统称为CAS(Central Authentication Server)被设计成一个独立的Web应用程序(cas.war)。它目前用几个Java Servlet作为实现并且通过一个Https服务器来运行。
YaCy基于p2p的分布式Web搜索引擎.同时也是一个Http缓存代理服务器.这个项目是构建基于p2p Web索引网络的一个新方法.它可以搜索你自己的或全局的索引,也可以Crawl自己的网页或启动分布式Crawling等.
karma是一个轻量级并且易于使用的J2EE应用程序框架.
当前它包含"COMMON" 与"JCR"这两个组件.
"COMMON" 组件是整个框架的核心并且基于mvc模式.这个组件易于测试(提供mock对象供测试),很少的XML描述,易于学习因为它使用简单的POJO动作 (actions),拦截器(interceptors)和过滤器(filters) 还提供对AJAX的支持.
"JCR"组件是一个持久层框架但它没有XML映射文件并能与其它web框架相结合如:Spring MVC框架.
XLSJDBC是一个只读JDBC驱动器提供了Java访问XLS文件的能力,它把一个XLS文件当做一个SQL数据库表来进行查询。
CsvJdbc提供了Java访问csv文件的的JDBC驱动,它其实是把一个csv文件当做一个数据库表来操作,提供简单的查询。
VJDBC是一个JDBC type 3驱动器.它提供一个用于通过各种不同的网络协议来远程访问JDBC数据源的client-server模型.
LDBC(Liberty DataBase Connectivity)是一个基于ANSI-SQL与JDBC标准的JDBC驱动器,它提供了一个与厂商无关的数据库访问.利用LDBC可以在不修改任何源代码的情况下就能让你的应用程序可运行在所有主流数据库上.
这个开源项目通过对Microsoft JDBC Driver进行包装以解决它运行速度慢及在处理Object和Nvarchar数据时的缺陷,使MS Jdbc Driver运行地更快和更好,同时使它能更好地支持Hibernate 2.0和3.0.
Lepido为Apache Cocoon web框架提供一个IDE和工具集用来简化利用此框架所进行地开发. 这个工具包括或将要包括利用向导来快速布署一个项目的结构并为在开发应用程序的过程中用到的各种复杂XML文件提供编辑器.Lepido还提供其它一些运行期工具如调试器和剖析器.
JavE是一个免费的Ascii编辑器.支持通过鼠标进行描述,支持FIGlet包括195种字体.它能够把GIF/JPG/BMP转换成Ascii等.
CSVObjects Framework是一个免费开源基于J2SE 1.5的框架用于映射,分解,解组(unmarshalling)CVS文件内容成POJOs.这个框架同样也提供了对Xdoclet的支持,所以可以在 Java代码中插入用于生成CVS文件的Javadoc注释.
csvBeans是一个Java类库.利用这个包可以解析CVS文件并把它们的内容转换成Java对象.也可以反过来操作利用Java对象来生成CVS文件.
Imprimatur是一个Web应用程序测试工具.它通过一个简单的XML文件来对测试进行描述.除了能够处理标准的GET与POST动作之外,Imprimatur还能处理HTTP sessions和文件上传.可以利用正则表达式对返回的结果进行验证.
Abuky利用Jsp开发的Bug追踪系统。
BugRat是一个免费的Java软件它提供一个成熟的,灵活的Bug报告与跟踪系统。它利用关系数据来存储数据,既可以通过web来报告Bug也可以通过email报告Bug,可通过web来浏览和查询Bug.BugRat还包括一个Java客户端来管理数据库。
CsaWiki是一个利用Java开发的wiki引擎。它具有以下特点:100%Java(J2EE没有EJB),基于文件没有数据库,版本控制,PDF导出,简单的Wiki sintax等。
lGantt是一个Java应用程序用来创建Gantt甘特图表,评估基于时间的活动和项目管理.
JProjectTimer可以帮助你计划一个项目的时间线(timeline).你可以输入任务,它们的持续时间和与其它任务的依赖关系.然后就你可以打印出一张可以纵览你整个项目的甘特图表.
OLMS-Open Learning Management System开放学习管理系统.
FSL(Freestyle Learning)与OpenUSS(Open University Support System)都是内容学习系统(LCS:Learning Content System)与学习管理系统(LMS:Learning Management System)的规范。这个项目提供用J2SE,J2ME和J2EE标准来实现这些规范。OpenUSS是一个ASP (Application Service Provider)运行模式的e-learning平台。
Javanti用于开发交互式介绍与eLearning应用程序的综合的开发平台(IDE)。它可以让你很容易地创建用于演讲,介绍或对话训练的且具有交互式性的虚拟幻灯片.Javanti的幻灯片可包含表态和动态的元素,从简单的文本到复杂的仿真与实验.
eConf是一个开源利用Java开发的e-learning软件.它可以容易地记录web会议并可用于记录多台电脑上的科学课程。eConf是一个HTTP代理服务器的附件能够捕获在会议期间显示的Web页面并记录下发表人的声音,声音与web页面将被同步以便学生能够听到被记录的课程。 eConf当前的版本是构建在W3C的Jigsaw代理服务器上,但也允许使用其它代理服务器。eConf需要java1.3以上的虚拟机与Java多媒体框架(JMF).
a-LMS是一个用Java语言实现并遵守SCORM 1.2的学习管理系统(LMS)。
OLAT(Online Learning And Training:在线学习与练习)是一个基于Web的开源学习管理系统(LMS))/内容学习管理系统(LCMS).它基于纯HTML的GUI。 OLAT的课程编辑器可以在很短的时间内创建一个新的课程,它的课程系统是基于IMS学习设计的思想。还有其它一些特性可通过这个网址了解。
Sakai提供一组软件工具来帮助教师,研究员和学生创建一个用于协作的网站。使用一个浏览器,用户就能从Sakai提供的工具中选择一个来创建符合她们要求的网站。以下列出几个利用Sakai可能创建的例子:项目主管可以创建一个网站来发布通知与共享资源,比如文档或链接到其它网站的资源。教师可以创建一个网站来让学生们可在线讨论。学生可以创建一个课程网来学习与提交电子作业。
Eledge开放学习管理系统.这个软件提供一个框架来创建一个用于在线教育的web网站.包括学生注册,认证,内容创建,知识测验,家庭作业评分,教师考评登记,课程安排,在线帮助等。Eledge没有提供知识内容,它只为教师提供通过互联网这种便利,灵活的方式来使他们的课程能够让学生更易于理解.Eledge使用Java servlets技术并利用MySQL数据库来存储信息与课程。
TinyLMS是一个遵守SCORM1.2(Shareable Course Object Reference Model:可共享课程对象参照模型)的轻量级学习管理系统(LMS).利用TinyLMS生成的指南(Tutorials)可在线或离线使用。指南 (Tutorials)运行环境只需支持HTML,JavaScript和Cookies的浏览器。
Bodington是一个免费开源符合JISC e-learning框架的虚拟学习平台/学习管理系统。Bodington当前提供一个开源的平台来支持学习,讲授和研究。它最适合于综合的,多学科的大组织机构。
Bugtracker是一个完整的bug/issue管理系统.它使用Java Servlet作为web前台,MySQL数据库作为后台.
ELIPS是一个能够让用户管理不同类别问题(issues)的Bug追踪工具.这些问题(issues)包括:bug修改请求,任务处理请求,工作处理请求,增进请求.Elips采用java与jsp技术开发,到目前为止可运行在Tomcat/Jetty,MySQL/SqlServer /Oracle/Postgresql和Windows/Linux/MacOs X 平台上.ELIPS安装与配置都很容易.
天乙社区是一套基于JAVA技术的网络虚拟社区,采用了Hibernate+Spring+Struts的轻量级J2EE框架.
1、全文检索:天乙社区6.0采用Lucene全文检索,并支持完全国际化多语言的全文检索。
2、MVC框架:天乙社区6.0继续了5.x的Struts框架,但经过优化,WEB端更加简洁高效。
3、集群支持:系统可以运行在集群上。
4、功能方面:大大加强了管理功能,用户可以多样化的定制系统的各项信息,包括用户级别、封锁IP、过滤字等等,论坛功能上主要增加了投票帖、上传附件类型多样、帖子中显示用户信息等等功能等。
DataStore是一个基于Java的文档库,可以用作存储,查询,读取基于XML的文档。它把文档存储在关系型的数据库中 (Postgresql, MySQL, IBM DB2, SAP DB).
GeiNuke一个用Java开发且稳定,简单,可扩展的CMS,支持HSQLDB和MySql数据库.它的配置非常简单,它使用iBatis作为它的持久层并利用Spring + Caucho Hessian来提高的伸缩性.对于MVC层它使用到Velocity模板引擎.
Commons-Convert的目标是提供一个简单的包来完成把一种类型的对象转换成另一种.但它目前只支持String到Object或Object到String的转换.
Lorentz是一个对象到对象的转换框架.它提供一个简单的API用来把一种类的Java对象转换成另一种类型的对象.开发这个项目的目的是用来代替现存转换框架:JavaBeans PropertyEditor,Jakarta Commons-Convert,Jakarta Commons-BeanUtils converters.
GmailClipse是一个可在Eclipse3.x开发平台中查看和读取GMail邮件的插件还可以利用它来发送邮件,回复邮件,查看通信录.支持邮件缓存离线阅读,支持通过代理连接等。
Regexp是一个100%纯java正则式处理包,是Jonathan Locke捐给Apache软件基金会的。
Jakarta ORO一套文本处理工具,能提供perl5.0兼容的正则表达式,AWK-like正则表达式, glob表达式。还提供替换,分割,文件名过虑等功能.
OpenIM Java Jabber ® Server是一个开源用Java实现的Jabber即时消息服务器.
JSJaC是一个用JavaScript开发的jabber客户端包.可以利用它来开发基于web的jabber客户端.它利用AJAX技术与jabber服务器的进行通信.
Jive Messenger是一个开源的XMPP即时消息与群聊服务器.它的特点是高性能,可缩放性,跨平台支持,安装简单和一个基于web的管理平台.该项目还提供一个开源客户端包Smack
PAW (pro-active webfilter)是一个用来过滤HTTP的代理服务器.它基于Brazil框架(由SUN提供作为开源的一个项目).PAW允许增删 Handlers(过滤所有输出requests)与Filters(过滤所有输入HTML response).PAW还有包括一个针对最终用户的GUI.它所有的配置文件都以XML的格式存在.
JADE-Java代理开发框架是一个用在基于p2p应用程序上的开源框架.
Craftsman Spy是一个开源的JDBC日记框架.它实现了JDBC驱动.这个日记器将记录所有SQL连接,所有批处理,所有返回的记录集,所有带参数的存储过程和执行处理所发费的时间.
KnowledgeTree是一个开源基于Web的文档管理系统.它具有知识管理,文档版本控制,分层文档管理和支持一些流行的文件格式也可以自定文件类型等.
Xinco DMS是一个强大基于Web-Service的消息和文档管理系统.
*可用于管理Files/ Text/URLs/Contacts等,
*一个全文本搜索引擎可用于搜索Text, Adobe PDF, MS Word, MS Excel, HTML, ... .
*数据导入工具
*一个版本控制用于管理文档的版本记录.
*c/s模式客户端与服务器通过SOAP Web Services进行通信.
*MySQL做为后台数据库等.
jZonic是一个Web应用程序框架.它由许多部分组成:
◆ 工作流引擎,
◆ 用户管理,
◆ 访问控制与综合权限管理,
◆ 一个配置框架(jConfig),
◆ 支持JSP,XML,XSL,velocity,freemarker等,
◆ i18n支持,
◆ 用户剖析(profiling),
◆ jcron(指定在某一个时间运行Jobs)等.
jzForum论坛就采用这个框架开发。
Guglhupf XTE(XML Transformation Engine:XML转换引擎) 是一组用来转换XML文件的工具。它提供了一种比XSLT更简单的方式来转换XML。XTE不同于XSLT与Velocity这样的XML转换工具,它们都用特殊的语言来处理XML文件输入,然后把目标数据作为输出陈述.而XTE是以相反的方式进行它的模板是已经写在输出格式上的,而输入处理命令则是写在特殊的注释块中.它的模板文件采用Java代码编写.
Canvas是一个基于Groovy脚本语言模板生成器。它使用类似于Velocity Java API来绑定变量并允许在你的模板中使用Groovy脚本表达式。
XTest是一个新的测试框架,它主要是为NetBeans IDE提供测试功能而开发的.但它也可以用于测试其它Java产品.XTest是基于Ant的,这就意味着它允许用户使用所有Ant的tasks.
JUnitEE是对JUnit的一个简单扩展,可以支持在一个J2EE应用程序服务器上执行标准的测试案例。它主要由一个把测试结果输出为html的servlet组成。
这个项目继承于JUnit目的是提供一个分布式的测试环境.它给开发者/测试人员一个运行远程JUnits和复杂测试案例的能力,这个案例由几个并行运行的远程JUnit测试组成。
JellyUnit是一个基于Jelly的JUnit测试机制.它允许用Jelly脚本来完成单元测试.尤其是对于XML,XPath,SQL,HTTP,JMS和SOAP交互的测试特别有用.
SAIF(Struts Action Invocation Framework )是一个开源组件.它让Struts框架具备Action拦截器与IOC的功能,就像WebWork2/XWork框架一样.目前只支持Struts1.1.
Syrup是一个自适应的工作流系统,它不同其它工作流解决方案没有遵循复杂的标准如Wf-XML,BPML和XPDL。Syrup可以用来描述作业,程序步骤,资料导入/导出需求和作为描述每个商业流程步骤的工具。为了能达到这些需求,Syrup提供了五种基础概念 Tasks(作业), Links(链接), Workflows(工作流), Workers(工作者)和WorkSpace(工作环境).
PXE-Process eXecution Engine是一个模块化的商业流程执行引擎.支持用WS-BPEL2.0或用BPEL4WS1.1规范描述的商业流程.
bexee是一个BPEL执行引擎并且是BPEL标准的一个开源实现.
jYMSG是一组API它可以让Java应用程序连接和使用Yahoo即时消息协议。
Azureus-Java BitTorrent客户端,它用Java语言实现了BitTorrent协议。以下列出它的一些特点:支持多个torrent同时下载,可对每一个 torrent的上传和下载速度进行限制,可调整硬盘缓存,对所有的torrent只使用一个端口,支持多种语言(包括中文)等其它功能。
Juxy是一个用Java开发的完全依赖于TRaX API的简单XSLT单元测试包。
Click一个高性能的J2EE Web应用程序框架适用商业Java开发者。它具有:
◆ 简单易学,
◆ 面向页面与组件设计,
◆ 基于事件编程模型,
◆ 自动表单验证,
◆ 使用Velocity模板作为页面视图,
◆ 漂亮的错误报告功能,
◆ 使用Rico(一个开源的JavaScript库,它提供对AJAX完全支持并可让Web应用程序支持拖放操作等其它功能)来对AJAX的支持等。
JmDNS是multi-cast DNS的一个Java实现并可被用来在本地广域网中实现DNS服务注册与发现。
LimeWire是一个开源的基于Gnutella网络的客户端。
Gnutface是一个gnutella客户端。它使用开源的limewire作为它的gnutella引擎。
Hammurapi是一个开源的代码审查/评审(review)工具.它可以帮助改进Java代码的质量.
利用这个插件可以在Eclipse IDE中远程控制一个Winamp.
Jigloo SWT/Swing GUI Builder是一个免费的不能用于商业用途的SWT/Swing构建工具。最新版本支持Eclipse3.1并改进对GridBag,JGoodies FormLayout和TableLayout的支持。
LuaJava是一个Java脚本工具.用Lua编写的脚本可以通过这个工具来操作用Java开发的组件.LuaJava允许Lua用访问本地 (native)对象的语法来访问Java组件,不需要任何定义或进行任何类型的预处理。LuaJava还允许利用Lua来实现一个Java接口。
InfoSapient是一个开源的规则引擎.它设计用来表达,执行和维护在同一个公司中商业规则.InfoSapient基于纯Java开发,使用到MVC,Visitor,Strategy,Facade,Factory Method,Observer,Iterator等设计模式.
Retroweaver是一个字节码组织器,它能够让你用java1.4的虚拟机来运行用1.5的新特性所编写Class.Retroweaver的操作是把用1.5编译器编译的Class文件转换成可以在任何1.4虚拟机上运行Class文件.
JaxMe是对JAXB(Java/XML绑定规范)的一种开放源代码实现。它对基本的JAXB 规范作了一些改进之外并且集成了数据库和Enterprise JavaBeans.
AndroMDA 是一个遵循模型驱动结构(MDA)范例的代码生成框架。它从CASE工具中获得的一个UML模型并生成一个完全可部署的应用程序和其它组件。
Compiere Looks是一个3D color,它扩展了Java Metal pluggable Look and Feel。
MockLib是一个很小的包所以可容易地动态创建一个模拟对象.你可以从模拟的系统中抛出异常来确保你的系统能够正确处理错误.它同样也是一个线程安全的模拟对象库.
Clickstream:它是一个JavaServlet过滤器,用来跟踪用户请求(比如:点击)和请求队列(比如:点击流)以向网络管理员显示谁在她的网站上以及每个用户正在访问那个页面。本开源项目由http://chineseren.mblogger.cn/提供.
WebLang是一个代码生成器,用来生成一些Web组件包括:html,JSP页面,EJBs,MDBs,JMS,servlets,struts,clients, RMI对象等.它用一个编译器来编译一个以.la为扩展名的文件来生成代码或组件并可把这些组件部署到JBoss应用服务器中.这个编译器使用 JavaCC与Java_1.5语法.
micro-workflow框架适用于那些要在他们程序中分离控制与逻辑方面的开发者,所以这个框架可以使他们的流程相互独立。这样有利于代码重复使用与代码的完整性。
这是一个开源的访问控制策略引擎.它用Java实现了所有XACML1.1标准必须实现的规则,同时也实现了一些可选的规则.
Commons Betwixt这个组件提供一个XML自省(introspection)机制用来把Java Bean映射到XML文档.他实现了与标准的Introspector及BeanInfo类相似的XMLIntrospector及XMLBeanIfno类.
Jpam是一个连接Java与PAM的一个中间件.PAM(Pluggable Authentication Modules)是一个在Linux,Solaris,Mac OS X和其它Unix系统上使用的标准安全体系.JPAM允许运行在这些平台上的Java程序使用PAM认证.
jGuard是一个基于JAAS(java authentication and authorization security)的Java安全框架.这个开源项目主要是简单地解决Web应用程序访问控制问题.
Bugdel这个插件利用AOP编程在程序中插入调试代码。
Eclipse RSS Reader允许创建RSS频道,并在Eclipse工作区的透视图中阅读在线RSS新闻。
通过使用标准的浏览器可以访问,管理的电子信箱.
SourceID开源的联合身份认证管理.它提供了实现SAML,ID-FF和WS-Federation安全协议的工具包与项目.
OpenSAML1.1是一组开源的Java与C++类库.它实现了SAML(Security Assertion Markup Language)1.0与1.1规范.
Shibboleth是一个针对SSO的开源项目。Shibboleth项目主要应用在校园内Web资源共享,以及校园间的应用系统的用户身份联合认证