posts - 7, comments - 2, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          Jakarta項(xiàng)目是ASF(The Apache Software Foundation)的一部分。ASF是一個(gè)非贏利組織,她鼓勵基于開放的軟件許可下進(jìn)行合作、注重實(shí)效的開發(fā),并提供各個(gè)領(lǐng)域的高質(zhì)量軟件,她涉及到Http服務(wù)器,編譯工具,類庫,開發(fā)架構(gòu),服務(wù)器端Java技術(shù),J2EE容器,數(shù)據(jù)庫工具,日志工具,XML解析等等諸多領(lǐng)域。ASF提供的java項(xiàng)目有一部分在Jakarta中,還有一些成為獨(dú)立的諸如Tomcat的項(xiàng)目,Jakarta項(xiàng)目則提供了多種多樣開源的java解決通用方案。

          先介紹一下ASF中和Jakarta項(xiàng)目并列的java項(xiàng)目:

          Ant ——java構(gòu)建工具,使用一個(gè)配置文件就可以完成java的項(xiàng)目的,編譯、打包、測試、運(yùn)行、部署、生成文檔等諸多工作。
          Avalon ——是一個(gè)包括核心框架、工具、組件和容器的面向組件編程(AOP)的完整開發(fā)平臺。使用關(guān)鍵設(shè)計(jì)模式,如反向控制模式(IoC)和分離考慮模(SoC)。 Avalon提供各種基本組件和缺省的應(yīng)用程序模塊,幫助你快速的建立你自己的應(yīng)用程序解決方案。
          Excalibur ——集多個(gè)開源項(xiàng)目(Avalon Framework、LogKit和Cornerstone)于一身的輕量級可嵌入式反向控制容器。
          Gump ——是Apache組織自己也使用的一個(gè)持續(xù)集成工具,全面支持Ant和Maven,當(dāng)有新的改動提交到版本控制系統(tǒng),它可以檢查出潛在 的沖突,并及時(shí)通知項(xiàng)目組的所有成員并自動生成改動的詳細(xì)報(bào)告。
          James ——是一套用java開發(fā)的郵件、新聞組、消息服務(wù)器,提供了比較完善的配置方案,尤其是關(guān)于郵件內(nèi)容存儲和用戶信息存儲。 支持 SMTP, POP3 , NNTP , IMAP 。
          Logging ——可靠,快速的日志工具。
          Lucene ——Java開發(fā)的高性能,全方位的文本搜索引擎。替文件的每一個(gè)字作索引,索引讓搜尋的效率比傳統(tǒng)的逐字比較大大提高, Lucen提供一組解讀,過濾,分析文件,編排和使用索引的API,它的強(qiáng)大之處除了高效和簡單外, 是最重要的是使使用者可以隨時(shí)應(yīng)自已需要自訂其功能。
          Maven ——是一個(gè)潛在的基于java的apache ant的構(gòu)建工具的替代者。提供了更強(qiáng)大的功能和易用性。
          Portals ——提供了功能全面的、具有商業(yè)價(jià)值的企業(yè)門戶。門戶概念:門戶對企業(yè)內(nèi)的各種資源如信息管理系統(tǒng)進(jìn)行整合并通過單一接口 對外提供服務(wù),雇員、合伙人及顧客可以通過任何裝置在任何地點(diǎn)通過門戶入口享受到企業(yè)提供的服務(wù), 分析家們預(yù)計(jì),門戶將成為下一代的桌面環(huán)境。
          Struts ——一個(gè)實(shí)現(xiàn)MVC model2的web應(yīng)用程序開發(fā)框架。通過一個(gè)配置文件可以很好的對各種組件進(jìn)行裝配,結(jié)構(gòu)清晰,應(yīng)用的最廣泛的額web開發(fā)框架。
          Tapestry——類似 Struts,也是一個(gè)基于servlet的應(yīng)用程序框架,支持MVC,出現(xiàn)的較晚,不如Struts普及,主要利用javabean和xml技術(shù)進(jìn)行開發(fā),
          Tomcat ——Serlvet容器,同時(shí)具有傳統(tǒng)的Web服務(wù)器的功能,如:處理Html頁面。能夠處理動靜態(tài)網(wǎng)頁。
          Watchdog ——用來檢查一個(gè)servlet或jsp容器在相應(yīng)規(guī)范上的執(zhí)行情況的兼容性。但是該項(xiàng)目已經(jīng)靜止了,只支持Servlet2.3、JSP1.2,相應(yīng) 的Serlvet容器如Tomcat也只支持Tomcat4.x。

          下面介紹下Jakarta的各個(gè)子項(xiàng)目:

          Alexandria——已經(jīng)不再開發(fā)
          BCEL ——The Byte Code Engineering Library (formerly known as JavaClass) 字節(jié)碼引擎類庫,它讓用戶方便的分析,創(chuàng)建,操作java的class文件成為可能。 它可以讓您深入 JVM 匯編語言進(jìn)行類操作的細(xì)節(jié)。
          BSF ——bean腳本框架 在java應(yīng)用內(nèi)對腳本語言提供了支持,通過腳本語言可以訪問java的對象和方法。
          Cactus ——一個(gè)基于JUnit框架的簡單測試框架,用來單元測試服務(wù)端Java代碼。 Cactus單元測試服務(wù)端內(nèi)容包括servlet,EJB,  tag librarie, filter等
          Commons ——提供很多日常開發(fā)中使用率很高的功能解決方案,已被很多著名的開源項(xiàng)目采用。具體的項(xiàng)目列表后面會有。
          ECS ——使用Java語言和面向?qū)ο蠓椒▌?chuàng)建標(biāo)記語言文檔(HTML,XML)的開源項(xiàng)目。
          HiveMind ——是一個(gè)服務(wù)和配置的微型內(nèi)核, 一套通過簡單的java對象和接口創(chuàng)建復(fù)雜應(yīng)用的框架。
          HttpComponents ——提供了java.net包所不能提供的更多強(qiáng)大的、方便的http協(xié)議處理功能。
          JCS ——一個(gè)分布式的緩存系統(tǒng),用來提高應(yīng)用程序的性能,并且提供很多強(qiáng)大的額外功能。
          JMeter ——純java開發(fā)的一套桌面應(yīng)用程序。用來進(jìn)行功能測試和性能測試。它可以用來測試靜止資料庫或者活動資料庫中的服務(wù)器的運(yùn)行情況, 可以用來模擬對服務(wù)器或者網(wǎng)絡(luò)系統(tǒng)加以重負(fù)荷以測試它的抵抗,或者用來分析不同負(fù)荷類型下的所有運(yùn)行情況。 它也提供了一個(gè)可替換的界面用來定制數(shù)據(jù)顯示,測試同步及測試的創(chuàng)建和執(zhí)行。
          ORO ——一套文本處理工具,能提供perl5.0兼容的正則表達(dá)式、 AWK-like正則表達(dá)式, glob 表達(dá)式。還提供替換,分割,文件名過慮等功能。
          POI ——一套用來創(chuàng)建,讀寫基于OLE 2組件文檔格式的文件。使用Java來讀寫MS Excel ,Word文件。
          Regexp ——一套純java的正則表達(dá)式相關(guān)的包。
          Slide ——主要模塊是一個(gè)可以做為內(nèi)容管理框架底層的內(nèi)容倉庫.它可以把內(nèi)容信息存取到專門的,異質(zhì)的,分布式的數(shù)據(jù)庫中.Slide還增加了security, locking, versioning等特性.
          Taglibs ——一套在開發(fā)web應(yīng)用時(shí)十分有用的,jsp 通用 tag包。
          Turbine ——類似 Struts,也是一個(gè)基于servlet的應(yīng)用程序框架,支持MVC。提供了大量可重用的組件。此框架包中包含了大量組件,但是這些組件是離散的。
          Velocity ——是一個(gè)基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。  當(dāng)Velocity應(yīng)用于web開發(fā)時(shí),界面設(shè)計(jì)人員可以和java程序開發(fā)人員同步開發(fā)一個(gè)遵循MVC架構(gòu)的web站點(diǎn), 也就是說,頁面設(shè)計(jì)人員可以只關(guān)注頁面的顯示效果,而由java程序開發(fā)人員關(guān)注業(yè)務(wù)邏輯編碼。 Velocity將java代碼從web頁面中分離出來,這樣為web站點(diǎn)的長期維護(hù)提供了便利, 同時(shí)也為我們在JSP和PHP之外又提供了一種可選的方案。 Velocity的能力遠(yuǎn)不止web站點(diǎn)開發(fā)這個(gè)領(lǐng)域, 例如,它可以從模板(template)產(chǎn)生SQL和PostScript、XML,它也可以被當(dāng)作一個(gè)獨(dú)立工具來產(chǎn)生源代碼和報(bào)告, 或者作為其他系統(tǒng)的集成組件使用。Velocity也可以為Turbine web開發(fā)架構(gòu)提供模板服務(wù)(template service)。 Velocity+Turbine提供一個(gè)模板服務(wù)的方式允許一個(gè)web應(yīng)用以一個(gè)真正的MVC模型進(jìn)行開發(fā)。 
          Apache java項(xiàng)目全介紹2
          下面介紹一下Jakarta下的Commons:一個(gè)csdn網(wǎng)友描述得很貼切,Commons就好比一個(gè)java百寶箱。
          commons分為3部分Commons Proper、Commons Sandbox和Commons Dormant
          Commons Proper:提供了設(shè)計(jì)良好可重用的java組件,并都經(jīng)過了廣泛、嚴(yán)格的測試。
          Commons Sandbox:處于實(shí)驗(yàn)、測試階段的組件。
          Commons Dormant:處于停滯狀態(tài),從Sandbox退出的,不活躍的組件,謹(jǐn)慎使用。

          Commons Proper組件:

          Attributes—— 支持源代碼級的元數(shù)據(jù)。
          BeanUtils——提供對 Java 反射和自省API的包裝,處理javabean的工具。
          Betwixt——將JavaBeans與XML相互轉(zhuǎn)換。 
          Chain——對Chain of Responsibility(責(zé)任鏈)設(shè)計(jì)模式的實(shí)現(xiàn)。使多個(gè)對象都有機(jī)會處理請求, 從而避免請求的發(fā)送者和接收者之間的耦合關(guān)系。將這些對象連成一條鏈,并沿著這條鏈傳遞請求,直到有一個(gè)對象處理它為止。
          CLI——處理命令行的命令的解析。
          Codec——包含一些通用的編碼解碼算法。包括一些語音編碼器, Hex, Base64, 以及URL encoder。
          Collections——擴(kuò)展和增加標(biāo)準(zhǔn)的 Java Collection框架。
          Configuration——操作各種格式的配置文件。Properties文件 /XML文件 /JNDI /JDBC 數(shù)據(jù)源 /System properties /Applet parameters / Servlet parameters
          Daemon——創(chuàng)建類似unix守護(hù)線程的java代碼,可以安全地執(zhí)行一些后臺操作,線程不被某個(gè)應(yīng)用程序控制,而是由操作系統(tǒng)控制 類似windows的service,可以設(shè)置一個(gè)服務(wù)依賴于另一個(gè)服務(wù),一個(gè)服務(wù)關(guān)閉前必須先執(zhí)行另一個(gè)服務(wù)。
          DBCP——一個(gè)數(shù)據(jù)庫連接池
          DbUtils——一個(gè)JDBC的工具類,比如可以將ResultSets生成javabean。
          Digester——基于規(guī)則的XML文檔解析,主要用于XML到Java對象的映射.
          Discovery——提供工具來定位資源 (包括類) ,通過使用各種模式來映射服務(wù)/引用名稱和資源名稱。
          EL——JSP 2.0引入的表達(dá)式
          Email——處理e-mail
          FileUpload——web應(yīng)用中的文件上傳組件
          HttpClient——使用HTTP協(xié)議的客戶端開發(fā)框架
          IO——幫助進(jìn)行IO功能開發(fā)
          Jelly——Jelly能夠把XML轉(zhuǎn)換成可執(zhí)行代碼,所以Jelly是一個(gè)基于XML與Java的腳本和處理引擎。 Jelly借鑒了JSP定指標(biāo)簽,Velocity, Cocoon和Xdoclet中的腳本引擎的許多優(yōu)點(diǎn)。Jelly可以用在命令行,Ant或者Servlet之中。
          Jexl——Jexl是一個(gè)表達(dá)式語言,通過借鑒來自于Velocity的經(jīng)驗(yàn)擴(kuò)展了JSTL定義的表達(dá)式語言。
          JXPath——使用XPath語法操作javabean的工具。
          Lang——提供對java.lang包的擴(kuò)展。 
          Launcher——跨平臺的java程序的啟動
          Logging——提供的是一個(gè)日志(Log)接口(interface),同時(shí)兼顧輕量級和不依賴于具體的日志實(shí)現(xiàn)工具。 它提供給中間件/日志工具開發(fā)者一個(gè)簡單的日志操作抽象,允許程序開發(fā)人員使用不同的具體日志實(shí)現(xiàn)工具。用戶被假定已熟悉某種日志實(shí)現(xiàn)工具的更高級別的細(xì)節(jié)。JCL提供的接口,對其它一些日志工具,包括Log4J, Avalon LogKit, and JDK 1.4等,進(jìn)行了簡單的包裝,此接口更接近于Log4J和LogKit的實(shí)現(xiàn).
          Math——Math 是一個(gè)輕量的,自包含的數(shù)學(xué)和統(tǒng)計(jì)組件,解決了許多非常通用但沒有及時(shí)出現(xiàn)在Java標(biāo)準(zhǔn)語言中的實(shí)踐問題.
          Modeler—— 支持兼容JMX規(guī)范的MBeans開發(fā)。
          Net——集合了網(wǎng)絡(luò)工具和協(xié)議工具的實(shí)現(xiàn)
          Pool——Commons-Pool 提供了通用對象池接口,一個(gè)用于創(chuàng)建模塊化對象池的工具包,以及通常的對象池實(shí)現(xiàn)。
          Primitives——對java原始類型的支持。
          SCXML——處理SCXML
          Transaction——事務(wù)處理,實(shí)現(xiàn)了多層次鎖、事務(wù)集合、事務(wù)文件的訪問。 
          Validator——提供了一個(gè)簡單的,可擴(kuò)展的框架來在一個(gè)XML文件中定義校驗(yàn)器 (校驗(yàn)方法)和校驗(yàn)規(guī)則。支持校驗(yàn)規(guī)則的和錯(cuò)誤消息的國際化。
          VFS——訪問各種文件系統(tǒng),可以是本地文件、HTTP服務(wù)器上的文件、zip中的文件。
          Commons Sandbox組件:

          Compress——處理壓縮文件如tar, zip 和 bzip2 格式。
          CSV——處理CSV文件
          Exec——安全地處理外部進(jìn)程
          Finder——實(shí)現(xiàn)類似UNIX find命令的功能
          I18n——處理軟件的I18n功能
          Id——生成id號功能
          Javaflow——捕捉程序運(yùn)行狀態(tài)
          JCI——java編譯接口
          OpenPGP——處理加密方法OpenPGP. 
          Pipeline——處理類似工作隊(duì)列的管道工具
          Proxy——生成動態(tài)代理


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 保山市| 盈江县| 卢龙县| 巴楚县| 南川市| 和田县| 塔河县| 稻城县| 闻喜县| 德州市| 保山市| 镇康县| 板桥市| 霍城县| 禄丰县| 阳山县| 大化| 元谋县| 攀枝花市| 南岸区| 泰安市| 龙井市| 定襄县| 银川市| 孝感市| 安泽县| 武冈市| 尼勒克县| 仙居县| 乌鲁木齐县| 霍林郭勒市| 巴里| 韶山市| 马公市| 石楼县| 舞阳县| 达州市| 镇远县| 安多县| 定边县| 铜川市|