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

???
Design Studio
???Design Studio是一個基于Eclipse的插件程序,可以從下面的地址下載。
???http://www.pentaho.org/downloads/clients
Solution Repository
???解壓Design Studio后可以直接運行exe文件打開。
???每個Solution都包含許多文件,如Action Sequence文件(*.xaction)等,其中*.xaction文件可以使用Action Sequence editor進行編輯。
Action Sequence Editor
???Action Sequence是一個XML文件,它定義了solution engine可以執行的最小任務,并且定義了BI平臺各個components的執行順序。
???Action Sequence Editor包含4個標簽頁,具體功能如下:
???1、General
???包含一些通用信息,如Title、Author、Icon等將顯示在網頁頁面上。
???注意到有些時候這些項填寫了諸如“%title”等信息,這表示title信息保存在一個與xaction文件同名的property文件中。
???在這里還可以設置日志記錄級別,日志存放在jboss/server/default/log/server.log文件中。
???2、Define Process
???定義了Action Sequence的inputs、outputs及resources,并允許組織Action Sequence及Components間的交互。
???inputs為Action Sequence需要從外界導入的信息,有四個信息源:Runtime,為保存在Runtime Context中的參數;Request,為URL中設置的name-value信息對;Session,為保存的用戶Session,且每個用戶都對應唯一值;Global,類似Session,但保存的信息所有用戶都相同;Default,用于每個input和Action Sequence文檔。
???resources為Action Sequence為了完成自己的任務所需的文件。例如:如果一個Action Sequence想要運行一個報表,則resources就應當包含報表的定義文件。
???outputs為Action Sequence執行完成后向外界輸出的信息,有三類信息:Runtime;Session;Content,為http響應header或內容。
Flow Control
???這里有兩種方法來控制Action Sequence的執行:循環和條件。
Actions (Components)
???Actions (Components)為Action Sequence執行的單元。
???下面我們來介紹一下Actions (Components)是如何協同工作來完成一個任務。
???a、可以訂制一個Actions (Components)來從數據庫中抽取用戶的信息(包含Email)。這個Actions (Components)將輸出查詢結果供其他Actions (Components)使用。
???b、下面訂制一個循環,把上一個Actions的查詢結果集作為循環參數,這樣,對應查詢的每一條數據,都將執行一遍循環。
執行Action Sequence
???可以通過許多方式運行Action Sequence,如Design Studio, URL, Java Code?或 Web Service。
???在這里我就不向大家一一介紹了,具體可以參照Pentaho_Creating_Solutions-XXX.pdf,可以從Pentaho官方網站下載得到(英文版)。
???
???在這里我只是閱讀了關于Pentaho之解決方案,由于是英文版的說明,所以在這里邊翻譯邊加入了一些自己的看法和心得,與君共享之。
????Pentaho的目標是集成企業的各類系統、開源程序及組件,使之能夠更加容易地建立企業的解決方案。
基于解決方案的方法
???很多年來我們公司一直致力于為客戶建立各類分析及報告系統,用戶的需求都是千差萬別的,但是最基本的要求總是一樣!這樣看來可以把BI的實施當作一個大型的過程來處理。
核心過程
???Pentaho平臺是建立在過程和過程定義上的。
SOA
???
???服務是建立自動運行商業過程的模塊。
過程的集成
???系統中的每個行為都懂得如何成為其他過程的一部分。
規則
???靈活的業務規則是自動運行商業過程的關鍵部分。
商務智能和商業過程的區分
???Pentaho把他們結合到一起了。
案例分析
???案情:如果醫院中有個醫生的行醫執照過期了,將會造成以下兩種后果:
???????????????1、如果使用新的醫生替代他,直到他的執照更新,則會增加雇傭費。
???????????????2、如果繼續使用他,則會損害病人的安全并且有責任風險。
???目標:保證病人安全就醫、降低責任風險、減低費用開支。
???當前的工作流程:每個管理人員都有一份他們科室的醫生執照信息表。
???可行的解決方案:定期從中心數據庫統計出一個報告,其中包含每一個科室醫生的執照信息,及當前執照的期滿時間。
解決方案一:他們要什么我們就給什么
???即每個月給用戶提供一份50多頁的報告。
解決方案二:給他們他們需要的
???1、建立商業規則,由它們來決定所需時間,使每類執照的申請留有足夠的準備時間,并增加了解決問題案例的方法。
???2、每天或每周運行一個審核報表,列出即將到期的醫生名單,并為他們列出詳細的更新執照所需步驟。
使用Pentaho建立解決方案
解決方案引擎簡介
???Solution:由許多文檔組成,這些文檔共同定義了解決一個商業問題的過程和行為。包含:Action Sequence Definitions、工作流過程定義、報表定義、圖片、規則、疑問等。
???Solution Repository:組成Solution?的文檔及元數據存放的位置。
???Solution Engine:用于定位action的定義并控制它的執行。
???Component:提供???Solution Engine與執行業務邏輯的程序的接口,用于實現一個任務。
???Action Definition:是一個包含參數、資源和設置的XML文件,詳細說明了一個Component所要執行任務的配置。Action Definition還定義了調用那一個Component,傳入什么數據和從Component獲取什么數據,以及Component需要什么特殊信息。Action Definition是Action Sequence Definition中的一部分。
???Action Sequence Definition:定義了Action Definition之間的交互,它定義了Solution Engine所能執行的最小任務單元。Solution Engine通過獲得Action Sequence 文檔來執行,可以單獨或自動執行。Action Sequence Definition保存在Solution Repository中。
???Runtime Context:用于維護Solution Engine 和Action Sequence之間的通信,以及components和Action Sequence之間的通信。
???
Design Studio
???Design Studio是一個基于Eclipse的插件程序,可以從下面的地址下載。
???http://www.pentaho.org/downloads/clients
Solution Repository
???解壓Design Studio后可以直接運行exe文件打開。
???每個Solution都包含許多文件,如Action Sequence文件(*.xaction)等,其中*.xaction文件可以使用Action Sequence editor進行編輯。
Action Sequence Editor
???Action Sequence是一個XML文件,它定義了solution engine可以執行的最小任務,并且定義了BI平臺各個components的執行順序。
???Action Sequence Editor包含4個標簽頁,具體功能如下:
???1、General
???包含一些通用信息,如Title、Author、Icon等將顯示在網頁頁面上。
???注意到有些時候這些項填寫了諸如“%title”等信息,這表示title信息保存在一個與xaction文件同名的property文件中。
???在這里還可以設置日志記錄級別,日志存放在jboss/server/default/log/server.log文件中。
???2、Define Process
???定義了Action Sequence的inputs、outputs及resources,并允許組織Action Sequence及Components間的交互。
???inputs為Action Sequence需要從外界導入的信息,有四個信息源:Runtime,為保存在Runtime Context中的參數;Request,為URL中設置的name-value信息對;Session,為保存的用戶Session,且每個用戶都對應唯一值;Global,類似Session,但保存的信息所有用戶都相同;Default,用于每個input和Action Sequence文檔。
???resources為Action Sequence為了完成自己的任務所需的文件。例如:如果一個Action Sequence想要運行一個報表,則resources就應當包含報表的定義文件。
???outputs為Action Sequence執行完成后向外界輸出的信息,有三類信息:Runtime;Session;Content,為http響應header或內容。
Flow Control
???這里有兩種方法來控制Action Sequence的執行:循環和條件。
Actions (Components)
???Actions (Components)為Action Sequence執行的單元。
???下面我們來介紹一下Actions (Components)是如何協同工作來完成一個任務。
???a、可以訂制一個Actions (Components)來從數據庫中抽取用戶的信息(包含Email)。這個Actions (Components)將輸出查詢結果供其他Actions (Components)使用。
???b、下面訂制一個循環,把上一個Actions的查詢結果集作為循環參數,這樣,對應查詢的每一條數據,都將執行一遍循環。
執行Action Sequence
???可以通過許多方式運行Action Sequence,如Design Studio, URL, Java Code?或 Web Service。
???在這里我就不向大家一一介紹了,具體可以參照Pentaho_Creating_Solutions-XXX.pdf,可以從Pentaho官方網站下載得到(英文版)。
???