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