Mondrian in action第10章 翻译



 第十章

这一章的内容包括:

商业分析(Business analysts

数据架构(Data architects

企业架构(Enterprise architects

应用开发(Application developers

  

    在这一个章节里,你将学习在你自己的应用中使用Mondrian。这一个章节主要是写给软件开发人员阅读的。

    Adventure Works公司的管理人员决定对存在的web和桌面应用加入分析功能,这些功能将帮助分析与管理人员基于现有系统的数据查看报表与趋势,而不采用其他工具。他们想用蒙德里安这样做是因为其丰富的功能集内置的安全现有的用户基础

    他们发现有2种方式在他们的应用中使用Mondrian,如果是廋客户端,他们可以使用XMLAjavascriptMondrian通讯,在这样的场景中,Mondrian将作为XMLAsource配置在服务端,在10.1节中,我们将看到,通过jquery xmla4j javascript 库,如何使用Mondrian

 

   如果用java 或者类似语言写应用,则可以选择olap4j来使用Mondrianolap4jMondrian可以配置成web服务或者直接集成到项目中,用olap4j,你能使用更多的功能,如通过它使缓存控制的spi(廋客户端通过xmla调用服务端的时候,不能用这种功能),在10.2节,我们将学习到olap4j的使用。

  

10.1 通过廋客户端使用Mondrian

 

我们已经知道,可以通过廋客户端和java应用来调用Mondrian,二者技术相似但办法不同,我们先介绍XMLA,接着介绍用jqueryajax,调用基于MondrianXMLA服务,最后,我们将介绍xmla4js库,通过xmla4js库,将能使得XMLA的使用更容易。但是了解XMLA原生的复杂方式还是有价值的,(个人理解是为了根好的使用xmla4js)。

 

10.1.1 XML for Analysis (XMLA)

 

Xmla是一个标准,这个标准规定了系统如何通过soap消息与OLAP 服务进行交互。这个标准最早在2000年由微软提出,2001年成立了xmla的委员会,从那时候起,众多olap供应商,都使自己的产品支持XMLA协议,这其中也包括Mondrian

 

soap用于系统间通讯,可以把这个协议想象成2个朋友间来回通讯,soap好像是个信封,信封上有地址啥的,当然也有其中的信件。信的内容当然是放在信件中的,专业名称是body,只不过我的内容是通过xml形式表现出来的,我们的xmla既是在放在body中,一般情况下,对这个消息的响应是另外一个soap消息,soap消息交换,一般是异步实现的,我们一般使用jquery实现它。

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<SOAP-ENV:Header />

<SOAP-ENV:Body>

XML message here

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

(基本的soap例子)

   XMLA由二种类型的信息组成,discover messages execute messages(这里我把它翻译为发现信息与执行信息),discover messages用于检索数据源与立方体信息,而execute messages 用于执行远端MDX查询,你可以创建包含一系列消息的应用,和xmla服务进行交换,从而分析数据,而不用自己写分析代码。这就可以用相同的后端,支持一系列分析应用,或者在不同的olap厂家的产品间切换。

 

 



 

 

10.1.2 配置Mondrian是其成为XMLA web 服务 (Configuring Mondrian as an XMLA web service)

 

 

10.1.3 Calling XMLA services with Ajax

ajax 调用XMLA 服务

 

10.1.4 xmla4js

 

10.2Calling Mondrian from a Java application

 

10.2.1 Creating connections via olap4j

通过olap4j进行连接

java应用中。调用Mondrian

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自wh-xia-jun.iteye.com/blog/2201278