`
sei_ljf
  • 浏览: 59827 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

总结Java部分的框架和开源项目【转】

阅读更多
下面我将为大家总结一下Java部分的框架和开源项目,让您从总的方面对Java部分框架有一定的了解。
  Spring Framework【Java开源JEE框架】
  Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不 是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。然而,这仅仅是完整图景中的 一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
  Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构 还集成了Hibernate和其他O/Rmapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或 者JDBC事务提供一个一致的编程模型。
  Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现 你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和 IoC容器集成的强大而灵活的MVCWeb框架。【SpringIDE:Eclipse平台下一个辅助开发插件】
  WebWork【Java开源Web开发框架】
  WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EEWeb框架。WebWork目前最 新版本是2.1,现在的WebWork2.x前身是RickardOberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和 WebWork2两个项目。Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。
  Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL– theObjectGraphNotationLanguage),IoC(InversionofControl倒置控制)容器等。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是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发 的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签 和信息资源(messageresources)整合到一个统一的框架中,开发人员利用其进 行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。【StrutsIDE:用于Struts辅 助开发的一个Eclipse插件】
  Hibernate【Java开源持久层框架 】
  Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象 编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的 Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的 Hibernate辅助开发工具:【HibernateSynchronizer】【MiddlegenIDE】
  Quartz【Java开源调度框架】
  Quartz是OpenSymphony开源组织在Jobscheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合 也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz1.5.0。
  Velocity【Java开源模板引擎】
  Velocity是一个基于java的模板引擎(templateengine)。它允许任何人仅仅简单的使用模板语言 (templatelanguage)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员 同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。 Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方 案。Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以 被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbineweb开发架构提供模板服务 (templateservice)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 【VeloEclipse:Velocity在Eclipse平台下的一个辅助开发插件】
  iBATIS【Java开源持久层框架】
  使用ibatis提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate实现ORM而言基本 一致,而对于具体的数据操作,Hibernate会自动生成SQL语句,而ibatis则要求开发者编写具体的SQL语句。相对Hibernate等“全 自动”ORM机制而言,ibatis以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM实现的一种有益 补充,ibatis的出现显得别具意义。
  CompiereERP&CRM【Java开源ERP与CRM系统】
  CompiereERP&CRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组 织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票- 付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。
  RollerWeblogger【Java开源Blog博客】
  这个weblogging设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编 辑,TrackBack,提供页面模板,RSSsyndication,blogroll管理和提供一个XML-RPC接口。
  Eclipse【Java开源IDE】
  Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数—4千万美元,而是因为如此巨 大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。
  XPlanner【Java开源项目管理】
  XPlanner一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、userstories 等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。XPlanner特点 包括:简单的模型规划,虚拟笔记卡(Virtualnotecards),iterations、userstories与工作记录的追踪,未完成 stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。
  HSQLDB【Java开源开源数据库】
  HSQLDB(HypersonicSQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据。支持ANSI-92标准SQL语 法。而且他占的空间很小。大约只有160K,拥有快速的数据库引擎。
  Liferay【Java开源门户系统】
  代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts框架技术,基于XML的 portlet配置文件可以自由地动态扩展,使用了WebServices来支持一些远程信息的获取,使用ApahceLucene实现全文检索功能。
  主要特点:
  ◆提供单一登陆接口,多认证模式(LDAP或SQL)
  ◆管理员能通过用户界面轻松管理用户,组,角色
  ◆用户能可以根据需要定制个性化的portallayout
  ◆能够在主流的J2EE应用服务器 上运行,如 JBoss+Jetty/Tomcat,JOnAS
  ◆支持主流的数据库,如PostgreSQL,MySQL
  ◆使用了第三放的开源项目,如Hibernate,Lucene,Struts
  ◆支持包括中文在内的多种语言
  ◆采用最先进的技术Java,EJB,JMS,SOAP,XML
  JetSpeed【Java开源门户系统】
  Jetspeed是一个开放源代码的企业信息门户(EIP)的实现,使用的技术是Java和XML.用户可以使用浏览器,支持WAP协议的手机 或者其它的设备访问Jetspeed架设的信息门户获取信息.Jetspeed扮演着信息 集中器的角色,它能够把信息集中起来并且很容易地提供给用户。
  Jetspeed具有如下的特征:
  ◆即将成为标准化的JavaPortletAPI
  ◆基于模板的布局,包括JSP和Velocity
  ◆通过开放的内容同步技术支持远程XML内容交换
  ◆定制默认的主页
  ◆使用数据库进行用户认证
  ◆内存 缓存技术,加快页面的响应
  ◆通过RichSiteSummary技术,支持同步内容
  ◆和Cocoon,WebMacro,Velocity集成
  ◆WirelessMarkupLanguage(WML)支持
  ◆使用XML格式的配置文件注册portlet
  ◆完整的WebApplicationArchive(WAR)支持
  ◆Web应用程序开发的基础设施
  ◆可以在本地缓存远程内容
  ◆与Avantgo同步
  ◆可移植到所有支持JDK1.2和Servlet2.2的平台
  ◆与Turbine模块和服务集成
  ◆可以根据用户,安装媒体类型和语言的不同设定,产生不同的个性化服务
  ◆持续化服务使得所由的portlet能够容易的存储每个用户的状态,页面和portlet
  ◆使用皮肤技术使得用户可以选择portlet的颜色和显示属性
  ◆自定义功能是的管理员可以选择portlet以及定义个人页面的布局
  ◆在数据库中存储PSML
  ◆通过Jetspeed的安全portlets管理用户,组,角色和权限
  ◆基于角色对访问portlet进行控制
  JOnAS【Java开源应用服务器 】
  JOnAS是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合 Servlet2.3和JSP1.2规范。JOnAS服务器 依赖或实现以下的 JavaAPI:JCA、JDBC、JTA、JMS、JMX、JNDI、JAAS、JavaMail。
  JFox3.0【Java开源应用服务器 】
  JFox是OpenSourceJavaEEApplicationServer,致力于提供轻量级的JavaEE应用服务器 ,从3.0开始,JFox提供了一个支持模块化的MVC框架,以简化EJB以及Web应用 的开发!如果您正在寻找一个简单、轻量、高效、完善的JavaEE开发平台,那么JFox正是您需要的。
  JFox3.0拥有以下特性:
  ◆重新设计的IoC微内核,融入OSGi模块化思想
  ◆设计成嵌入式架构,能够和任何JavaWebServer集成部署
  ◆支持EJB3,JPA规范,支持容器内和容器外两种方式运行EJB和JPA组件
  ◆支持EJB发布成WebService
  ◆采用JOTM(http://jotm.objectweb.org/ ) 提供事务处理,支持两阶段提交(2PC)
  ◆采用XAPool(http://forge.objectweb.org/projects/xapool/ ) 提供XADataSource,支持智能连接池管理
  ◆内置MVC框架,实现自动FormMapping,Validator,Uploading等功能,支持JSP/Velocity /Freemarker页面引擎,并支持直接在Action中注入EJB
  ◆支持多应用模块部署,让中大型应用充分享受模块化开发带来的优势
  ◆提供Manager管理模块,可以查看和管理各种运行时参数
  ◆提供根据JFox特色重写的Petstore应用模块
  EasyJWeb【Java开源Web开发框架】
  EasyJWeb是基于java技术,应用于WEB应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,框架充分借签了当前主 要流行的开源Web框架(Struts、JSF、Tapestry、Webwork),吸取了其优点及精华,利用Velocity作为模板页面引擎,是一 个实现了页面及代码完全分离的MVC开发框架。是一个能实现中小型Web应用系统快速开发的简易Web框架。
  通过EasyJWebTools提供的配套开发工具,可以实现基于EasyJWeb框架的Web应用快速开发,包括常用应用软件的代码自生成、 数据库添删改查(CRUD)代码生成、自动页面模版生成、配置文件管理等。
  框架特点:
  ◆零配文件置支持。以前我们每接触一个框架,开始总都要被他的配置文件折腾一番。EasyJWeb实现零配置支持,可以不写一句配置文件就在框 架基础上构建你的运用。(适合小型网站系统)。
  ◆简易的模板页面设计支持:放弃使用jsp,使用简单Velocity脚本语言作为页面模板。
  ◆页面程序完全分离:实现显示页面与程序逻辑的完全分离,克服了传统jsp页面难于维护的问题。
  ◆基于页面组件的框架。灵活的页面组件配置,可以直接通过配置文件设置字段级的事件组件。
  ◆快速开发支持:通过EasyJWebTools,可以自动生成应用软件模板代码,定制并管理自己的J2EE代码模板,代码生成模板支持最流行 的实用Java开发框架(如hibernate、Spring等)实现快速开发。
  Tapestry【Java开源Web开发框架】
  Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带 有jwcid属性的html标记。其中jwc的意思是JavaWebComponent。Tapestry使得java代码与html完全分离,利用这个 框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用 javabean和xml技术进行开发。【Spindle:Tapestry辅助开发Eclipse插件】
  FreeMarker【Java开源模板引擎】
  FreeMarker允许Javaservlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用 servlet提供的数据动态地生成HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。 【FreeMarkerEclipsePlugin与FreeMarkerIDE:Eclipse平台下的辅助开发工具】
  Lucene【Java开源搜索引擎】
  ApacheLucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文 件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高 效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。
  iText【Java开源PDF类库】
  iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它 的类库尤其与javaServlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。
  Groovy【Java开源动态语言】
  Groovy是一种基于JVM的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性。Groovy已在 WebWork2中的应用。它可以被编译为标准的JavaBytecode。
  OpenCms【Java开源CMS系统】
  OpenCms是一个J2EE的产品,它是用Java写成的。它和Tomcat捆绑在一起。但是也能够使用ATGDynamo、 WebLogic和WebSphere。OpenCms支持多种RDBMS来保存内容,包括Oracle、SQLServer、Sybase和 mySQL。新版本提供了一个新的模板引擎,JSP支持,一种新的连接管理系统,提高了稳定性。
  JUnit【Java开源测试工具】
  JUnit是由ErichGamma和KentBeck编写的一个回归测试框架(regressiontestingframework)。 Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框 架,继承TestCase类,就可以用Junit进行自动测试了。
  BlueJ【Java开源IDE】
  BlueJ是一个专门为入门级教学设计的JavaTM开发环境。它是由澳大利亚墨尔本Monash大学BlueJ小组设计并开发的。
  XWiki【Java开源Wiki系统】
  XWiki是一个强大的Java开源的Wiki引擎。它支持一些受欢迎的特性如:
  ◆内容管理(浏览/编辑/预览/保存)
  ◆支持附件
  ◆版本控制
  ◆全文本搜索
  ◆权限管理
  ◆使用Hibernate进行数据存储
  ◆RSS输出与显示外部的RSSfeeds
  ◆多语言支持
  ◆提供XML/RPC的API
  ◆WYSIWYGHTML编辑器
  ◆导出为PDF
  ◆Groovy脚本支持等等....
  EJBCA【Java开源网络服务器 端组件】
  EJBCA是一个全功能的CA系统软件,它基于J2EE技术,并提供了一个强大的、高性能并基于组件的CA。EJBCA兼具灵活性和平台独立 性,能够独立使用,也能和任何J2EE应用程序集成。
  JXTA【Java开源其它项目】
  Sun微系统公司公开了旨在建立P2P(PeertoPeer)通用技术基础的JXTA计划。JXTA技术是网络编程和计算的平台,用以解决现 代分布计算尤其是点对点(P2P)计算中出现的问题。
  JXTA将建立核心的网络计算技术,提供支持在任何平台、任何地方以及任何时间实现P2P计算的一整套简单、小巧和灵活的机制。JXTA首先将 归纳目前P2P的功能特别,而后建立核心的技术来表达目前的P2P计算的局限性。其重点是创建基本的机制,而具体的策略选择权则交给应用的开发者。 JXTA将充分利用XML、Java等开放技术,使得UNIX操作系统 更强大和灵 活,比如利用管道(Pipes)传输Shell命令实现复杂的计算任务。JXTA支持P2P应用的基本功能来建立一个P2P系统,还将努力证实这些可以成 为建立更高层功能的基础构造模块。JXTA架构可以分为三个层面:JXTA核心层、JXTA业务层和JXTA应用层。
  DWR【Java开源AJAX框架】
  DWR(DirectWebRemoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端 利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成 JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持DomTrees的自动配置,支持Spring(JavaScript远程调用 springbean),更好浏览器支持,还支持一个可选的commons-logging日记操作。
  ZK【Java开源AJAX框架】
  ZK是一个AjaxJavaWeb框架,利用少量代码就能够开发出拥有RichUI的Web应用。ZK提供基于XUL的标记语言和事件驱动的组 件,可以让你像开发桌面应用程序一样简单。支持EL表达式和脚本语言包括:JavaScript、Ruby和Groovy等。支持Annotation及 数据绑定。集成GoogleMaps、FCKeditor、DOJO以及Timeline。
分享到:
评论
1 楼 vasuer 2010-09-13  
不错

相关推荐

Global site tag (gtag.js) - Google Analytics