歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 在Java Web項目中引入Mondrian多維分析框架

在Java Web項目中引入Mondrian多維分析框架

日期:2017/3/1 9:39:28   编辑:Linux編程

一,Mondrian簡介

Mondrian是一個開源項目,一個用Java寫成的OLAP引擎。它用MDX語言實現查詢,從關系數據庫(RDBMS)中讀取數據。然後經過Java API以多維的方式對結果進行展示。

Mondrian的使用方式同JDBC驅動類似。可以非常方便的與現有的Web項目集成。

Mondrian OLAP 系統由四個層組成,可分為從最終用戶到數據中心, 順序為:

1表現層(the presentation layer)

2維度層(the dimensional layer)

3集合層(the star layer)

4存儲層(the storage layer)

表現層以多維"語法(grammar)(維、度量、單元)”的形式發出查詢,然後OLAP服務器返回結果。

維度層用來解析、驗證和執行MDX查詢要求。為了提高效率,維度層把要求查詢的單元成批發送到集合層,查詢轉換器接受操作現有查詢的請求,而不是對每個請求都建立一個MDX 聲明。

集合層負責維護和創建集合緩存,一個集合是在內存中緩存一組單元值,這些單元值由一組維的值來確定。

存儲層是一個關系型數據庫(RDBMS)。它負責創建集合的單元數據,和提供維表的成員。

維度層對這些單元發出查詢請求,如果所查詢的單元值不在緩存中,則集合管理器(aggregation manager)會向存儲層發出查詢請求。

Mondrian應用在java web項目中的目錄結構:

webContent目錄下的jpivot、wcf這兩個文件夾包含mondrian展示查詢結果圖表時需要使用的圖像和css文件。

Busy.jsp顯示服務器忙碌等待頁面、error.jsp顯示出錯頁面、testpage.jsp文件調用了jpivot標簽庫來處理MDX查詢請求,並將最終結果以html的格式返回給用戶。

可以到http://sourceforge.net/projects/mondrian/下載Mondrian的項目包文件。

Java 9 的新特性發布 http://www.linuxidc.com/Linux/2014-08/105707.htm

Java編程思想(第4版) 中文清晰PDF完整版 http://www.linuxidc.com/Linux/2014-08/105403.htm

編寫高質量代碼 改善Java程序的151個建議 PDF高清完整版 http://www.linuxidc.com/Linux/2014-06/103388.htm

Java 8簡明教程 http://www.linuxidc.com/Linux/2014-03/98754.htm

Java對象初始化順序的簡單驗證 http://www.linuxidc.com/Linux/2014-02/96220.htm

Java對象值傳遞和對象傳遞的總結 http://www.linuxidc.com/Linux/2012-12/76692.htm

二,java Web項目中引入mondrian的幾個步驟

(1)在java web項目中引入相應的包。

下載mondrian項目包後解壓,其中的lib目錄下有一個可直接部署的實例mondrian.war。我們需要將war包解壓,然後從中取出我們所需要的文件:jpivot、wcf二個文件夾及busy.jsp、error.jsp、testpage.jsp三個文件,放到web項目的webContent目錄下。

jpivot、wcf這兩個文件夾包含mondrian展示查詢結果圖表時需要使用的圖像和css文件。

jpivot其實是一個自定義jsp的標簽庫,它基於XML/XSLT配置來生成相應的html。

(2)添加配置文件。

在上述war包的解壓目錄下的WEB-INF目錄下選中jpivot、lib、wcf這三個文件夾,復制到web項目到WEB_INF目錄下。Jpivot、wcf這兩個文件夾包含jpivot和wcf用於生成用戶界面的配置文件(*.xml、*.xsl)及標簽文件(*.tld)的定義。lib文件夾包含的是mondrian所要用的jar包。

(3)配置web.xml文件,使web項目能使用mondrian的功能。

可以直接從mondrian.war包中解壓得到的項目文件中的WEB_INF路徑下復制web.xml文件到我們到項目中,在此基礎上進行修改,主要是修改數據庫連接字符串connectString的值,並添加項目需要的自定義的Servlet。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-09/107008p2.htm

Copyright © Linux教程網 All Rights Reserved