Pentaho之解決方案
???在這里我只是閱讀了關(guān)于Pentaho之解決方案,由于是英文版的說明,所以在這里邊翻譯邊加入了一些自己的看法和心得,與君共享之。
????Pentaho的目標(biāo)是集成企業(yè)的各類系統(tǒng)、開源程序及組件,使之能夠更加容易地建立企業(yè)的解決方案。
基于解決方案的方法
???很多年來我們公司一直致力于為客戶建立各類分析及報告系統(tǒng),用戶的需求都是千差萬別的,但是最基本的要求總是一樣!這樣看來可以把BI的實施當(dāng)作一個大型的
過程來處理。
核心過程
???Pentaho平臺是建立在過程和過程定義上的。
SOA
???
???服務(wù)是建立自動運(yùn)行商業(yè)過程的模塊。
過程的集成
???系統(tǒng)中的每個行為都懂得如何成為其他過程的一部分。
規(guī)則
???靈活的業(yè)務(wù)規(guī)則是自動運(yùn)行商業(yè)過程的關(guān)鍵部分。
商務(wù)智能和商業(yè)過程的區(qū)分
???Pentaho把他們結(jié)合到一起了。
案例分析
???案情:如果醫(yī)院中有個醫(yī)生的行醫(yī)執(zhí)照過期了,將會造成以下兩種后果:
???????????????1、如果使用新的醫(yī)生替代他,直到他的執(zhí)照更新,則會增加雇傭費。
???????????????2、如果繼續(xù)使用他,則會損害病人的安全并且有責(zé)任風(fēng)險。
???目標(biāo):保證病人安全就醫(yī)、降低責(zé)任風(fēng)險、減低費用開支。
???當(dāng)前的工作流程:每個管理人員都有一份他們科室的醫(yī)生執(zhí)照信息表。
???可行的解決方案:定期從中心數(shù)據(jù)庫統(tǒng)計出一個報告,其中包含每一個科室醫(yī)生的執(zhí)照信息,及當(dāng)前執(zhí)照的期滿時間。
解決方案一:他們要什么我們就給什么
???即每個月給用戶提供一份50多頁的報告。
解決方案二:給他們他們需要的
???1、建立商業(yè)規(guī)則,由它們來決定所需時間,使每類執(zhí)照的申請留有足夠的準(zhǔn)備時間,并增加了解決問題案例的方法。
???2、每天或每周運(yùn)行一個審核報表,列出即將到期的醫(yī)生名單,并為他們列出詳細(xì)的更新執(zhí)照所需步驟。
使用Pentaho建立解決方案
解決方案引擎簡介
???Solution:由許多文檔組成,這些文檔共同定義了解決一個商業(yè)問題的過程和行為。包含:Action Sequence Definitions、工作流過程定義、報表定義、圖片、規(guī)則、疑問等。
???Solution Repository:組成Solution?的文檔及元數(shù)據(jù)存放的位置。
???Solution Engine:用于定位action的定義并控制它的執(zhí)行。
???Component:提供???Solution Engine與執(zhí)行業(yè)務(wù)邏輯的程序的接口,用于實現(xiàn)一個任務(wù)。
???Action Definition:是一個包含參數(shù)、資源和設(shè)置的XML文件,詳細(xì)說明了一個Component所要執(zhí)行任務(wù)的配置。Action Definition還定義了調(diào)用那一個Component,傳入什么數(shù)據(jù)和從Component獲取什么數(shù)據(jù),以及Component需要什么特殊信息。Action Definition是Action Sequence Definition中的一部分。
???Action Sequence Definition:定義了Action Definition之間的交互,它定義了Solution Engine所能執(zhí)行的最小任務(wù)單元。Solution Engine通過獲得Action Sequence 文檔來執(zhí)行,可以單獨或自動執(zhí)行。Action Sequence Definition保存在Solution Repository中。
???Runtime Context:用于維護(hù)Solution Engine 和Action Sequence之間的通信,以及components和Action Sequence之間的通信。

???
Design Studio
???Design Studio是一個基于Eclipse的插件程序,可以從下面的地址下載。
???
http://www.pentaho.org/downloads/clientsSolution Repository
???解壓Design Studio后可以直接運(yùn)行exe文件打開。
???每個Solution都包含許多文件,如Action Sequence文件(*.xaction)等,其中*.xaction文件可以使用Action Sequence editor進(jìn)行編輯。
Action Sequence Editor
???Action Sequence是一個XML文件,它定義了solution engine可以執(zhí)行的最小任務(wù),并且定義了BI平臺各個components的執(zhí)行順序。
???Action Sequence Editor包含4個標(biāo)簽頁,具體功能如下:
???1、General
???包含一些通用信息,如Title、Author、Icon等將顯示在網(wǎng)頁頁面上。
???注意到有些時候這些項填寫了諸如“%title”等信息,這表示title信息保存在一個與xaction文件同名的property文件中。
???在這里還可以設(shè)置日志記錄級別,日志存放在jboss/server/default/log/server.log文件中。
???2、Define Process
???定義了Action Sequence的inputs、outputs及resources,并允許組織Action Sequence及Components間的交互。
???inputs為Action Sequence需要從外界導(dǎo)入的信息,有四個信息源:Runtime,為保存在Runtime Context中的參數(shù);Request,為URL中設(shè)置的name-value信息對;Session,為保存的用戶Session,且每個用戶都對應(yīng)唯一值;Global,類似Session,但保存的信息所有用戶都相同;Default,用于每個input和Action Sequence文檔。
???resources為Action Sequence為了完成自己的任務(wù)所需的文件。例如:如果一個Action Sequence想要運(yùn)行一個報表,則resources就應(yīng)當(dāng)包含報表的定義文件。
???outputs為Action Sequence執(zhí)行完成后向外界輸出的信息,有三類信息:Runtime;Session;Content,為http響應(yīng)header或內(nèi)容。
Flow Control
???這里有兩種方法來控制Action Sequence的執(zhí)行:循環(huán)和條件。
Actions (Components)
???Actions (Components)為Action Sequence執(zhí)行的單元。
???下面我們來介紹一下Actions (Components)是如何協(xié)同工作來完成一個任務(wù)。
???a、可以訂制一個Actions (Components)來從數(shù)據(jù)庫中抽取用戶的信息(包含Email)。這個Actions (Components)將輸出查詢結(jié)果供其他Actions (Components)使用。
???b、下面訂制一個循環(huán),把上一個Actions的查詢結(jié)果集作為循環(huán)參數(shù),這樣,對應(yīng)查詢的每一條數(shù)據(jù),都將執(zhí)行一遍循環(huán)。
執(zhí)行Action Sequence
???可以通過許多方式運(yùn)行Action Sequence,如Design Studio, URL, Java Code?或 Web Service。
???在這里我就不向大家一一介紹了,具體可以參照Pentaho_Creating_Solutions-XXX.pdf,可以從Pentaho官方網(wǎng)站下載得到(英文版)。
???