最近10年及下個(gè)10年Apache最有影響的項(xiàng)目
Apache軟件基金會(huì)(ASF)將在今年11月舉辦ApacheCon大會(huì)紀(jì)念10周歲生日,雖然是一個(gè)志愿者組織,但ASF已經(jīng)幫助創(chuàng)建了好多支撐現(xiàn)代互聯(lián)網(wǎng)的主要技術(shù)。本文將帶你看看最近10年改變了計(jì)算機(jī)技術(shù)的Apache項(xiàng)目,以及未來10年可能影響最廣泛的Apache項(xiàng)目。
最近10年最有影響力的Apache項(xiàng)目
1、Apache HTTP Server
Apache HTTP Server項(xiàng)目是為現(xiàn)代操作系統(tǒng)開發(fā)和維護(hù)的一個(gè)開源HTTP服務(wù)器,包括Windows、Unix和Linux操作系統(tǒng)平臺(tái),這個(gè)項(xiàng)目的目標(biāo)是提供一個(gè)安全、高效、可擴(kuò)展的服務(wù)器,提供遵循目前HTTP標(biāo)準(zhǔn)的HTTP服務(wù)。
自1996年4月開始,Apache就成為互聯(lián)網(wǎng)上最流行的Web服務(wù)器。
用戶:連續(xù)13年蟬聯(lián)Web服務(wù)器使用量第一,為超過1.13億網(wǎng)站服務(wù)。
圖 1 Apache HTTP Server Logo
2、Apache Tomcat
Apache Tomcat是一款開源的Java Servlet和JavaServerPages容器,Java Servlet和JavaServerPages規(guī)范是由Java社區(qū)組織開發(fā)的,Apache Tomcat是一個(gè)開放的環(huán)境,基于Apache軟件許可證發(fā)布,它是來自世界各地最優(yōu)秀的開發(fā)人員協(xié)作工作的結(jié)晶。
用戶:Tomcat已經(jīng)幫助實(shí)現(xiàn)許多大規(guī)模,關(guān)鍵業(yè)務(wù)應(yīng)用,如ETrade,沃爾瑪,EMC等。
圖 2 Tomcat Logo
3、Apache Lucene
Apache Lucene是一個(gè)完全用Java編寫的高性能,功能完整的文本搜索引擎,它適合任何應(yīng)用程序都需要的全文搜索,特別是跨平臺(tái)的。最初使用Java創(chuàng)建的,Lucene已經(jīng)被移植到其它編程語言,包括Delphi,Perl,C#,C++,Python,Ruby和PHP。
用戶:蘋果在線商店,CNET,Netfix,Wikipedia,Yelp,Comcast,LinkedIN,很多政府機(jī)構(gòu)(FDA,DOD等),Technorati,AOL等。
圖 3 Apache Lucene Logo
4、Apache Struts
Apache Struts是一個(gè)Java EE Web應(yīng)用開發(fā)開源框架,它使用和擴(kuò)展了Java Servlet API,鼓勵(lì)開發(fā)人員采用模型-視圖-控制器(MVC)架構(gòu)。
Apache Struts項(xiàng)目提供了兩個(gè)主要的Struts框架版本,Struts 1是公認(rèn)的最流行的Java開發(fā)Web框架,它是解決一般問題的最佳解決方案。Struts 2最初叫做WebWork 2,它是對(duì)困難問題尋求簡潔解決方案團(tuán)隊(duì)的最佳選擇。
用戶:美國國稅局,波士頓環(huán)球報(bào),大赦國際,希爾斯,阿拉莫租車服務(wù),全國租車服務(wù)等。
圖 4 Apache Struts Logo
#p#5、Apache Geronimo
Geronimo項(xiàng)目的目標(biāo)是產(chǎn)生一個(gè)服務(wù)器運(yùn)行框架,匯集最好的開源代替品,創(chuàng)造滿足開發(fā)人員和系統(tǒng)管理員需求的運(yùn)行環(huán)境。該項(xiàng)目最流行的發(fā)布是經(jīng)過認(rèn)證的Java EE 5應(yīng)用服務(wù)器。
用戶:AMD,IBM,Virtuas等。
圖 5 Apache Geronimo Logo
6、Apache Ant
Apache Ant是一個(gè)基于Java構(gòu)建的自動(dòng)化軟件構(gòu)件過程的工具,它和Make類似,但是它是使用Java語言實(shí)現(xiàn)的,需要Java平臺(tái),最適合于構(gòu)建Java項(xiàng)目。
Ant和Make之間最大的不同是Ant使用XML描述構(gòu)建過程和它的依賴,而Make使用Makefile文件。
用戶:有很多著名的Java應(yīng)用程序都是使用Ant來構(gòu)建的,美國紐約使用Ant來管理美國最大的青年計(jì)劃,每天更新超過25萬明學(xué)生記錄。
圖 6 Apache Ant Logo
7、Apache Cocoon
Apache Cocoon是一個(gè)基于Spring的框架,主要推崇的是基于組件的開發(fā),使得構(gòu)建Web解決方案時(shí),可以像搭積木一樣將組件組裝起來,不需要編程。
用戶:Apache Lenya,Daisy CMS,Hippo CMS,Mindquarry等。通常用于數(shù)據(jù)倉庫ETL(抽取,轉(zhuǎn)換,加載)工具,或系統(tǒng)間傳輸數(shù)據(jù)的中間件。
圖 7 Apache Cocoon Logo
8、Apache SpamAssassin
SpamAssassin是基于Apache許可2.0發(fā)布了一個(gè)Apache項(xiàng)目,用于過濾垃圾郵件,采用的是基于內(nèi)容匹配的過濾規(guī)則。
SpamAssasion使用了各種垃圾郵件檢測技術(shù),包括基于DNS的和基于校驗(yàn)和,貝葉斯過濾,外部程序,黑名單和在線數(shù)據(jù)庫的垃圾郵件檢測機(jī)制。
SpamAssassin采用了廣泛的本地和網(wǎng)絡(luò)檢測,以確定各種垃圾郵件簽名,這使得垃圾郵件發(fā)生者很難偽造出可以逃過檢測的垃圾郵件。
用戶:SpamAssassin已經(jīng)有成千上萬的開發(fā)人員和獨(dú)立用戶使用,并成為了許多商業(yè)產(chǎn)品的基礎(chǔ)。
圖 8 Apache SpamAssassin Logo
9、Apache Axis
Apache Axis是一個(gè)遵從W3C簡單對(duì)象訪問協(xié)議(SOAP)的實(shí)現(xiàn)。Axis是Apache SOAP的后續(xù)項(xiàng)目。
用戶:WSO2,IBM MuleSource,進(jìn)步軟件。
圖 9 Apache Axis Logo
10、Apache Logging Services
Apache Logging Services項(xiàng)目創(chuàng)建和維護(hù)開源軟件相關(guān)的應(yīng)用程序行為日志,該項(xiàng)目的產(chǎn)品包括三個(gè)日志框架:用于Java的log4j,用于C++的log4cxx和用于Microsoft .NET的log4net框架。還包括一個(gè)日志查看和分析工具:Chainsaw。
Apache logging Services也贊助了log4php。
用戶:Apache logging在Java開發(fā)中無處不在。
圖 10 Apache Logging Services Logo
#p#11、Apache Commons
Commons是一個(gè)重點(diǎn)關(guān)注可重用Java組件的Apache項(xiàng)目,Apache Commons項(xiàng)目由三部分組成:
Commons Proper:可重用的Jaba組件庫
Commons Sandbox:Java組件開發(fā)工作區(qū)
Commons Dormant:一個(gè)沙盒組件庫,目前還無效
用戶:Amazon Web Service,Google
圖 11 Apache Commons Logo
未來10年影響可能最大的Apache項(xiàng)目
1、Apache Hadoop
Apache Hadoop項(xiàng)目讓開源軟件高可靠,可擴(kuò)展和分布式計(jì)算成為可能,它讓應(yīng)用程序在上千個(gè)節(jié)點(diǎn)上運(yùn)行,數(shù)據(jù)可以達(dá)到PB級(jí),它的設(shè)計(jì)靈感來自谷歌的MapReduce和谷歌文件系統(tǒng)(GFS)。
Hadoop現(xiàn)在是一個(gè)頂級(jí)Apache項(xiàng)目,正由分布在世界各地的社區(qū)構(gòu)建和使用,Yahoo一直是該項(xiàng)目的最大貢獻(xiàn)者,并在其網(wǎng)絡(luò)搜索和廣告業(yè)務(wù)中廣泛使用了Hadoop,IBM和谷歌發(fā)起了一項(xiàng)重大倡議,希望大學(xué)的分布式計(jì)算機(jī)編程課程中使用Hadoop。
用戶:Amazon A9,Adobe,NYTimes,Microsoft Bing,IBM,Hulu,Google,F(xiàn)acebook,Yahoo和Baidu。
圖 12 Apache Hadoop Logo
2、Apache CouchDB
Apache CouchDB是一個(gè)面向文檔的數(shù)據(jù)庫,可以使用Javascript以MapReduce的風(fēng)格查詢和索引,CouchDB還提供了雙向沖突檢測,以及增量復(fù)制功能。
CouchDB是用ErLang編寫的,ErLang是一門強(qiáng)大的構(gòu)建分布式系統(tǒng)的理想編程語言,它允許靈活的設(shè)計(jì),易于擴(kuò)展。
用戶:Amazon Web Services,IBM。
圖 13 Apache CouchDB Logo
3、Apache Directory Server
Apache Directory項(xiàng)目提供了一個(gè)完全用Java編寫的目錄解決方案,包括一個(gè)目錄服務(wù)器,它與輕量級(jí)目錄訪問協(xié)議(LDAP)V3兼容,一個(gè)機(jī)遇Eclipse的目錄工具(Apache Directory Studio)。
除LDAP外,Apache Directory Server還支持Kerberos 5和Change Password協(xié)議。它設(shè)計(jì)有觸發(fā)器,存儲(chǔ)過程和視圖。
用戶:Atlassian,IBM,Oracle,Polycom,Red Hat,Sun,很多政府機(jī)構(gòu)等。
圖 14 Apache Directory Server Logo
4、Apache Maven
Maven是一個(gè)軟件項(xiàng)目管理的綜合工具,基于項(xiàng)目對(duì)象模型(POM)的概念,Maven可以管理項(xiàng)目的構(gòu)建,報(bào)告和文檔。
用戶:Sonatype。
圖 15 Apache Maven Logo
5、Apache Jackrabbit
Apache Jackrabbit是一個(gè)完全符合Java技術(shù)API的內(nèi)容倉庫實(shí)現(xiàn),內(nèi)容倉庫是一個(gè)具有結(jié)構(gòu)化、非結(jié)構(gòu)化內(nèi)容,支持全文搜索,版本控制,事務(wù)等的分層內(nèi)容存儲(chǔ)。
用戶:Magnolia CMS,Hippo CMS,Nuxeo,OpenKM等。
圖 16 Apache Jackrabbit Logo
#p#6、Apache Harmony
Apache Harmony是Apache軟件基金會(huì)的Java SE項(xiàng)目,該項(xiàng)目的目的是孵化一個(gè)對(duì)Java SE感興趣的大型健康的社區(qū)。包括:
一個(gè)兼容的,獨(dú)立實(shí)現(xiàn)的基于Apache許可證V2的Java SE 5 SDK。
一個(gè)社區(qū)開發(fā)的模塊運(yùn)行(VM和類庫)架構(gòu)。
用戶:IBM,Eclipse和Google的Android SDK等。
圖 17 Apache Harmony Logo
7、Apache ServiceMix
Apache ServiceMix是一個(gè)開源ESB(企業(yè)服務(wù)總線),結(jié)合了面向服務(wù)架構(gòu)(SOA)和事件驅(qū)動(dòng)架構(gòu)(EDA)創(chuàng)建而成的一個(gè)敏捷的企業(yè)級(jí)ESB。
用戶:Apache Geronimo,arctic.service.net,F(xiàn)USE,聯(lián)合投資等。
圖 18 Apache ServiceMix Logo
8、Apache MINA
Apache MINA是一個(gè)為網(wǎng)絡(luò)應(yīng)用程序創(chuàng)建的多用途基礎(chǔ)架構(gòu),幫助用戶更容易地開發(fā)高性能,高可擴(kuò)展想的為了應(yīng)用程序。
用戶:使用和案例請(qǐng)瀏覽http://mina.apache.org/testimonials.html。
圖 19 Apache MINA Logo
9、Apache Roller
Apache Roller是一個(gè)功能齊全,Java多用戶群博客服務(wù)器,Roller是一個(gè)Java Web應(yīng)用程序,應(yīng)該可以在任何Java EE服務(wù)器和任何關(guān)系數(shù)據(jù)庫上運(yùn)行。目前,Roller在Tomcat和MySQL上的支持最好,但已有用戶報(bào)告在Glassfish,WebSphere,JBoss,Resin,Geronimo,Derby,PostgreSQL,Oracle等上面成功運(yùn)行。
用戶:Apache Roller在Sun,IBM內(nèi)部和外部員工博客,以及其它公司如JRoller.com Java博客社區(qū)上都有成功應(yīng)用。
圖 20 Apache Roller Logo
10、Apache Sling
Apache Sling是一個(gè)使用Java內(nèi)容庫如Apache Jackrabbit存儲(chǔ)和管理內(nèi)容的Web框架,Sling應(yīng)用程序使用腳本或Java Servlet,基于簡單命名規(guī)范進(jìn)行選擇,以REST方式執(zhí)行HTTP請(qǐng)求。
用戶:Idium(挪威網(wǎng)絡(luò)托管服務(wù)商),Sakai 3,英國牛津大學(xué),斯坦福大學(xué),加州大學(xué)伯克萊分校,劍橋大學(xué)等。
圖 21 Apache Sling Logo
【編輯推薦】