盘点java届16大开源项目

盘点java届16大开源项目

旨在为云和数据中心提供企业级开源解决方案厂商OpenLogic,近日推出了针对开源软件的2011趋势报告。该报告将十六大开源项目分成3个重要类别:Web和应用服务器、应用框架、数据库和大数据。该报告的形成,OpenLogic分析了被视作核心基础设施的各种企业级应用——包括目前最为流行的和最具未来前瞻性的开源项目。

分析的目的是为了帮助评估企业所采用的项目是否符合未来趋势。

根据该报告,增长最快的五大开源项目有:HBase——一种建立在Hadoop之上的分布式、面向列数据库系统;Node.js——为编写基于JavaScript的高扩展性网络应用程序的平台;nginx——高并发性、低内存使用的Web服务器和方向代理;Hadoop——跨计算机集群的大型数据集分布式处理框架;RubyonRails——一种高扩展性的Web应用程序框架。

1、HBase

HBase是HadoopDataba的简称,它是一个分布式的、面向列的开源数据库,该技术来源于Changetal所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。

HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

2、Node.js

Node.js是专门针对编写高扩展性网络应用而设计的软件系统,尤其是针对Web服务器。通过采用JavaScript编写的程序,使用事件驱动、异步I/O以最大化减少资源消耗,最大程度提高可扩展性。Node.js包括谷歌的V8JavaScript引擎和一些内置库。

3、nginx

nginx(同“engine-x”发音)是一个Web服务器和针对HTTP、SMTP、POP3和IMAP协议的方向代理服务器,主要围绕高并发、高性能和低内存占用为特色。其授权类似BSD许可,运行在Unix、Linux和BS平台上。

4、Hadoop

ApacheHadoop是一个支持数据密集型分布式应用的开源软件架构。它可以帮助应用程序轻易处理数千个节点和PB级数据。Hadoop的灵感来自于谷歌MapReduce和GoogleFileSystem。Hadoop也是一个由全球贡献者使用Java编写搭建的顶级Apache项目。其中,雅虎是最大的贡献者,并在其业务中广泛使用Hadoop。

5、RubyonRails

RubyonRails——很多时候直接简称为Rails或者Ruby——采用Ruby编程语言的开源全栈Web应用程序框架。作为一个完整的协议栈框架内,ROR可以帮助Web开发人员收集Web服务器信息,访问和查询数据库。

因此,Rails拥有一套独立于Web服务器的路由系统。RubyonRails与Ruby不可混淆,它是一种基于RubyonRails的通用编程语言。在RubyonRails首次发布之前,Ruby的存在时间就已经超过了10年。

6、MongoDB

MongoDB是一个开源的、高性能和易部署、易使用的分布式文件存储的数据库。它由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。它具有面向集合(Collection-Oriented)、模式自由(schema-free)的特点,采用BSON(BinarySerializeddOcumentFormat)存储形式,MongoDB服务端可运行在Linux、Windows或OSX平台,支持32位和64位应用。

7、Tomcat

ApacheTomcat(或者称为JakartaTomcat或者Tomcat),是一个开源Web服务器和Apache软件基金会开发的核心项目。Tomcat技术先进、性能稳定,而且免费,深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

8、MySQL

MySQL是一个关系型数据库管理系统,能够为多个用户提供访问多个数据库服务。MySQL开发者MichaelWidenius的女儿出生之后,获得了灵感,从而选定了这么一个名字——My。而MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。

9、ApacheHTTPServer

ApacheHTTPServer,通常是指Apache——在Web发展伊始扮演核心作用的Web服务器软件。在2009年,它成为首个Web服务器软件,超过千万的网站都使用ApacheHTTPServer。Apache也是NetscapeWeb服务器(现在称为甲骨文iPlanetWebServer)首个可行的替代方案,并且已经发展成在功能和性能方面能与其他Web服务器相抗衡。

10、SpringFramework

SpringFramework是一个基于IoC和AOP的构架多层j2ee系统的框架。首个版本由RodJohnson编写,并在2002年10月他的书籍《ExpertOne-on-OneJ2EEDesignandDevelopment》中发布了该框架。该框架在2003年6月的时候首次发布,并基于Apache2.0许可。首个里程碑式的产品发布则在2004年3月的1.0版本。随后在2004年9月和2005年3月也推出了重要更新。SpringFramework的核心功能可以应用在Java应用平台上,还支持在JavaEE(Java企业版)平台上搭建Web应用。

11、PostgreSQL

PostgreSQL——通常也指Postgre——是一种对象关系型数据库管理系统。PostgreSQL支持大部分SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。经过十几年的发展,PostgreSQL是世界上可以获得的最先进的开放源码的数据库系统,它提供了多版本并行控制,支持几乎所有SQL构件(包括子查询,事务和用户定义类型和函数),并且可以获得非常广阔范围的(开发)语言绑定(包括C,C++,Java,perl,tcl,和python)。

12、Grails

Grails是一个开源Web应用框架,使用Groovy编程语言(反过来它也是基于Java平台)。它致力于提供高效率的开发环境,而且将众多配置细节面向开发人员进行隐藏。

13、Struts

ApacheStruts也是一种开源Web应用框架,不过它主要针对开发JavaEEWeb应用程序。它使用JavaServletAPI接口并予以扩展,鼓励开发人员采用Model-View-Controller(MVC)架构。它首先由CraigMcClanahan创建,并在2000年5月份的时候捐献给了ApacheFoundation基金会。

14、JBoss

JBoss应用服务器(JBossAS)是基于JavaEE应用的开源服务器。由于它基于Java,JBoss应用服务器可以跨平台运行——任何支持Java的操作系统上都可以运行。JBossAS由JBoss开发,现在已经成为红帽的一个分支。

15、GlassFish

GlassFish由Sun系统公司开设的一个开源应用服务器项目,也是针对JavaEE平台,现在它由Oracle赞助。GlassFish虽然是一个标准的JavaEE服务器,但是它同样具有轻便的Web容器的优点,它和Tomcat一样是优秀的Servlet容器,同时,它具备延迟加载的功能。

16、CouchDB

  CouchDB,也被称为Apache CouchDB,是用Erlang编程语言开发的面向文档的数据库系统。CouchDB可以提供基于Web应用的新一代存储系统,支持REST API,可以让用户使用JavaScript来操作CouchDB数据库,也可以用JavaScript编写查询语句。

相关推荐