java开源工具简介(1)


  
  开源不是开放编译器的 源代码.
  通俗点说, 就是你写了一个 软件, 然后把这个 软件的源代码发布到网上, 让大家都可以学习,改进. 就是开源!
  专业点说, 就是要符合一定的规范, 比如GPL等. 在codeproject等你可以找到很多这样的开源软件.
  --------------------------------------------------------------------------------
  Spring Framework
  【Java开源 J2EE框架】 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框架。【SpringIDE:Eclipse平台下一个辅助开发插件】.
  WebWork
  【Java开源 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等。在WebWork2.2中添加了对 AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上. 【EclipseWork:用于WebWork辅助开发的一个Eclipse插件】
  Struts
  【Java开源 Web框架】 Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一 年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个 非常不错的应用框架。【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】
  Hibernate
  【Java开源 持久层框架】 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来 操纵 数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命 意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工 具:【Hibernate Synchronizer】【MiddlegenIDE】
  Quartz
  【Java开源 Job调度】 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个, 甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 1.5.0。
  Velocity
  【Java开源 模板引擎】 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模型进行开发。 【VeloEclipse :Velocity在Eclipse平台下的一个辅助开发插件】
  IBATIS
  【Java开源 持久层框架】 使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由 空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。
  Compiere ERP&CRM
  【Java开源 ERP与CRM系统】 Compiere ERP&CRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多 成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收 款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。
  Roller Weblogger
  【Java开源 Blog博客】 这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模 板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。
  Eclipse
  【Java开源 开发工具】 Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数 —4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。
  XPlanner
  【Java开源 项目管理】 XPlanner 一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。 XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。
  Liferay
  【Java开源 Portal门户】 代表了完整的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
  【Java开源 Portal门户】 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
  【Java开源 J2EE服务器】 JOnAS是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合 Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。
  EasyJWeb
  【Java开源 Web框架】 EasyJWeb是基于java技术,应用于WEB应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,框架充分借签了当前主要流行的开 源Web框架(Struts、JSF、Tapestry 、Webwork),吸取了其优点及精华,利用Velocity作为模板页面引擎,是一个实现了页面及代码完全分离的MVC开发框架。是一个能实现中小型 Web应用系统快速开发的简易Web框架。
  通过EasyJWeb Tools提供的配套开发工具,可以实现基于EasyJWeb框架的Web应用快速开发,包括常用应用软件的代码自生成、数据库添删改查(CRUD)代码生成、自动页面模版生成、配置文件管理等。
  框架特点:
  1、零配文件置支持。以前我们每接触一个框架,开始总都要被他的配置文件折腾一番。EasyJWeb实现零配置支持,可以不写一句配置文件就在框架基础上构建你的运用。(适合小型网站系统)。
  2、简易的模板页面设计支持:放弃使用jsp,使用简单Velocity脚本语言作为页面模板。
  3、页面程序完全分离:实现显示页面与程序逻辑的完全分离,克服了传统jsp页面难于维护的问题。
  4、基于页面组件的框架。灵活的页面组件配置,可以直接通过配置文件设置字段级的事件组件。
  5、快速开发支持:通过EasyJWeb Tools,可以自动生成应用软件模板代码,定制并管理自己的J2EE代码模板,代码生成模板支持最流行的实用Java开发框架(如hibernate、Spring等)实现快速开发。
  Tapestry
  【Java开源 Web框架】 Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有 jwcid属性的html标记。其中jwc的意思是Java Web Component。Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。 Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。【Spindle:Tapestry 辅助开发Eclipse插件】.
  Turbine
  【Java开源 Web框架】 Turbine是基于Servlet的框架包,也是开放源代码Jakarta项目。目前还没有关于Turbine的大量文档。它类似于Struts,但是 有一些主要区别。突出的一点就是它并没有与JSP耦合。Turbine的特点是它提供了大量可重用的组件。此框架包中包含了大量组件,但是这些组件是离散 的。它似乎应该给出更多的组件库,但是由于它缺少文档,所以很难掌握完整的体系结构。
  FreeMarker
  【Java开源 模板引擎】 FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器 速度快,输出接近静态HTML页面的 速度。 【FreeMarker Eclipse Plugin与FreeMarker IDE:Eclipse平台下的辅助开发工具】
  Lucene
  【Java开源 全文检索】 Apache Lucene是一个开放源程序的搜寻器引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引 让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是 使使用者可以随时应自己需要自订其功能。
  iText
  【Java开源 PDF组件包】 iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其 与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。
  Beanshell
  【Java开源 动态语言】 Beanshell是用Java写成的,一个小型的、免费的、可以 下载的、 嵌入式的Java源代码解释器,具有对象脚本语言特性。BeanShell执行 标准Java语句和表达式,另外包括一些脚本命令和语法。它将脚本化对象看作简单闭包方法(simple method closure)来支持,就如同在Perl和JavaScript中的一样。 它具有以下的一些特点:使用Java反射API以提供Java语句和表达式 的实时解释执行;可以透明地访问任何Java对象和API;可以在命令行模式、控制台模式、小程序模式和远程线程服务器模式等四种模式下面运行;与在应用 程序中一样,可以在小程序中(Applet)正常运行(无需编译器或者类装载器);非常精简的解释器jar文件大小为175k