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