freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

pentaho源代碼閱讀報告(完整版)

2025-04-28 00:33上一頁面

下一頁面
  

【正文】 屬性是部署于Pentaho平臺上的Solution的根目錄,如果這個屬性設(shè)置錯誤,會導(dǎo)致Pentaho平臺找不到Solution根目錄的嚴(yán)重錯誤,這樣該平臺將無法提供BI服務(wù)。資源庫中保存的信息主要包含四個部分:一是Pentaho平臺的配置信息;二是運行于Pentaho平臺上的Solution的元數(shù)據(jù),如共有多少個Action,每個Action的描述文件的存放位置等等;三是Pentaho平臺第三方插件的私有信息;四是Pentaho平臺運行過程中的跟蹤和審計信息。Action是Pentaho平臺所提供的最基本的BI操作,大到生成一個報表,小到打印一行字,都可以是一個Action?!癆ction”是Pentaho平臺提供的最基本的操作單元,它類似于一種編程語言的基本語句。Pentaho SDK共包含五個部分:Pentaho平臺、Pentaho示例數(shù)據(jù)庫、可獨立運行的Pentaho平臺、Pentaho解決方案示例和一個預(yù)先配制好的Pentaho網(wǎng)絡(luò)服務(wù)器。Pentaho源代碼閱讀報告作者:曾坤,吳大愚,張百達(dá) 注:此文檔為2006年國防科大計算機(jī)學(xué)院高級軟件工程課程實習(xí)大作業(yè)。其中Pentaho平臺是Pentaho平臺最主要的部分,囊括了Pentaho平臺源代碼的主體;Pentaho數(shù)據(jù)庫為Pentaho平臺的正常運行提供的數(shù)據(jù)服務(wù),包括配置信息、Solution相關(guān)的信息等等,對于Pentaho平臺來說它不是必須的,通過配置是可以用其它數(shù)據(jù)庫服務(wù)取代的;可獨立運行的Pentaho平臺是Pentaho平臺的獨立運行模式的示例,它演示了如何使Pentaho平臺在沒有應(yīng)用服務(wù)器支持的情況下獨立運行;Pentaho解決方案示例是一個Eclipse工程,用來演示如何為Pentaho平臺開發(fā)相關(guān)的商業(yè)智能解決方案。所有完成具體功能的BI產(chǎn)品作為“插件”集成到Pentaho平臺中,每種插件為Pentaho平臺提供一種或幾種“Action”,每個Action有自己的輸入和輸出,多個Action連接起來就構(gòu)成了Action序列,完成一個較復(fù)雜的功能。Action之間可以順序執(zhí)行,也可以有分支或循環(huán)。在通常情況下,資源庫通常是一組數(shù)據(jù)庫服務(wù)。Pentaho的Solution配置文件主要是指“solutionpath”,該文件規(guī)定了Solution相對于Pentaho平臺的配置信息,主要包括Pentaho平臺所需的數(shù)據(jù)源訪問類,各個插件的EventListener(參見“插件的加載與卸載” 一節(jié)),以及系統(tǒng)預(yù)定義的一些系統(tǒng)Action序列的相關(guān)信息。界面層是外部用戶訪問Pentaho服務(wù)的接口,主要包含三個部分:UDDI、Web頁面、和Navigation Component。從圖3中可以看出,插件層又可分為兩類模塊,一類叫作Component模塊,這種模塊是插件層與核心層的接口模塊,它們將各種不同的插件的功能以一個統(tǒng)一的接口提供給上層使用,起到一個功能抽象的作用。圖中所示的各個Servelet并不是真正部署于應(yīng)用服務(wù)器上的提供界面顯示的Servelet,界面顯示的功能往往是另一些jsp文件來完成,這里的Servelet則為那些jsp文件提供相關(guān)的功能。這些類是維護(hù)Pentaho平臺全局運行環(huán)境的類。服務(wù)處理部分Pentaho平臺的服務(wù)處理部分負(fù)責(zé)將來自界面層的服務(wù)請求轉(zhuǎn)發(fā)給適當(dāng)?shù)念悾⊿lutionEngine)進(jìn)行處理。ActionResource類描述一個Action的執(zhí)行所需要的數(shù)據(jù)資源,而IOutputHandler接口實現(xiàn)類則負(fù)責(zé)將Action的輸出結(jié)果進(jìn)行適當(dāng)?shù)奶幚矸祷亟o客戶。如圖 8所示,它有兩個實現(xiàn)類:SolutionEngineAgent和SolutionEngine,前者在Pentaho平臺的其他部分沒有找到任何的引用,似乎是廢棄不用的類,SolutionEngine則是當(dāng)前Pentaho平臺的核心類。圖 9所示為Action、Component和插件之間的關(guān)系。Solution 資源庫所謂Solution資源庫,是指存放Solution描述文件的那個目錄及其子目錄中的所有文件。該資源庫只存在于內(nèi)存中,有一組接口和類進(jìn)行維護(hù)。但從源代碼中的注釋以及該資源庫在軟件總體結(jié)構(gòu)的對照結(jié)果中可以猜想,該資源庫應(yīng)當(dāng)是給各個具體的Action訪問磁盤文件提供的統(tǒng)一接口。IContentItem224。在應(yīng)用服務(wù)器啟動時,Pentaho平臺需要完成自己的初始化工作,這些工作主要包括:1. 讀取應(yīng)用服務(wù)器的相關(guān)參數(shù),以決定Pentao自身的行為,如系統(tǒng)的語言、編碼、地區(qū)等等。在PentahoSystem::shutdown()方法中,已安裝的各個插件將被安全的清除,具體過程詳見“Pentaho的插件管理”一節(jié)。Pentaho平臺的Publish機(jī)制當(dāng)用戶完成Solution的開發(fā)或修改時,需要讓Pentaho平臺重新掃描Solution的根目錄以反映這個修改;當(dāng)用戶修改了Pentaho平臺的某些系統(tǒng)配置文件的時候,也需要Pentaho平臺刷新相關(guān)的設(shè)制以反映這種修改,這個過程成為發(fā)布(Publish)。圖 20 Pentaho平臺Action序列執(zhí)行順序圖Action序列在Pentaho平臺的Web頁面中的表示是一個圖標(biāo),當(dāng)用戶點擊該圖標(biāo)時,Pentaho平臺就執(zhí)行這個Action序列。5. ().execute()完成Component的動作。插件調(diào)用的參數(shù)傳遞插件在完成其功能時,往往需要從外部獲取部分參數(shù),執(zhí)行完畢后又要傳遞輸出結(jié)果給調(diào)用方。在Pentaho平臺中,所有插件的配置文件都存放在Solutionpath/system/***/目錄下,其中***代表插件的名字,例如Quartz的配置文件就存放在Solutionpath/system/Quartz/目錄下。Pentaho核心與Style分離的機(jī)制Phentaho核心與其外部“皮膚”是分離配置的。本文中所講述的設(shè)計模式并不是Pentaho中所用到的全部,只是其中的幾個典型。抽象工廠模式抽象工廠模式在Pentaho平臺中的應(yīng)用很多,其中最典型的就是資源庫的實現(xiàn),下面以Runtime資源庫的實現(xiàn)為例,講述抽象工廠模式在資源庫實現(xiàn)中的應(yīng)用。這有點像Singleton模式,但由于這個方法沒有保證該類對象的個數(shù)特征,因此不應(yīng)當(dāng)算作Singleton模式,而應(yīng)當(dāng)算作工廠方法的一種特殊形式。其中Audit機(jī)制的實現(xiàn)方案就是十分典型的代表??偨Y(jié)與收獲無論是從應(yīng)用創(chuàng)意的角度,還是軟件工程的角度來看,Pentaho都有自己的獨到之處??赡苁且驗榘姹静粩喔?,Pentaho平臺內(nèi)出現(xiàn)了一些多余的代碼,但瑕不掩瑜,Pentaho仍舊堪稱面向?qū)ο笤O(shè)計的典范。該對象被封裝為AuditEntry類的私有成員auditEntry;整個Audit功能,完全通過AuditHelper暴露給使用者,外部不能看到除AuditHelper以外的類,AuditHelper就是這里的Facade;同時,AuditEntry類又是通過工廠方法來創(chuàng)建具體的IAudit對象的,這里的工廠方法不很明顯,因為它是一段靜態(tài)代碼,在AuditEntry類初始化時執(zhí)行。ade模式如圖 31所使,PentahoSystem是整個Pentaho平臺核心層的對外接口,外部訪問Pentaho平臺的各種功能完全通過該接口完成,這是一個典型的Fa231。其中,IRuntimeRepository所扮演的角色就是抽象工廠接口,實現(xiàn)它的RuntimeRepository則是一個具體的工廠類,用戶RuntimeContext要創(chuàng)建一個IRuntimeElement類型的實例,則需要調(diào)用RuntimeRepository的newRuntimeElement()方法。圖 26 Pentaho的SystemEventListener模式如圖 26所示,Pentaho的EventListener機(jī)制的事件發(fā)出者是PentahoSystem類,事件響應(yīng)者是IPentahoSystemListener接口的實現(xiàn)類。這樣一來,Pentaho平臺的核心邏輯與其UI感觀分離開來,可以分別進(jìn)行配置。Pentaho的Audict機(jī)制圖 24 Pentaho的Audit機(jī)制實現(xiàn)類圖Pentaho的Audit機(jī)制主要包含兩個主體:被Audit的對象和Audit執(zhí)行者。Pentaho平臺有一組專門的接口和類來完成這兩項工作。并繼續(xù)執(zhí)行下一個Action。進(jìn)而,ViewAction使用PhentahoSession對象初始化HttpServletRequestHandler對象,調(diào)用該對象父類BaseRequestHander的handleActionRequest方法,該方法中初始化SolutionEngine并執(zhí)行Action序列,將結(jié)果返回。如圖 17所示,目前的Pentaho系統(tǒng)共有四個Publisher類,代表了三種可發(fā)布的資源,即:全局配置參數(shù)(Settings)、全局列表(GlobalListes)、Solution和Shark。其中StandAlonSession這一支是為了實現(xiàn)獨立于應(yīng)用服務(wù)器的Pentaho平臺而實現(xiàn)的;PentahoHttpSession則是用于處理應(yīng)用服務(wù)器Session相關(guān)的功能。3. 為所有已安裝的插件完成初始化工作。圖 14 Content資源庫類圖Aud
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1