Mondrian in action第10章 翻译
第十章
这一章的内容包括:
商业分析(Business analysts)
数据架构(Data architects)
企业架构(Enterprise architects)
应用开发(Application developers)
在这一个章节里,你将学习在你自己的应用中使用Mondrian。这一个章节主要是写给软件开发人员阅读的。
Adventure Works公司的管理人员决定对存在的web和桌面应用加入分析功能,这些功能将帮助分析与管理人员基于现有系统的数据查看报表与趋势,而不采用其他工具。他们想用蒙德里安这样做是因为其丰富的功能集,内置的安全,与现有的用户基础。
他们发现有2种方式在他们的应用中使用Mondrian,如果是廋客户端,他们可以使用XMLA与javascript和Mondrian通讯,在这样的场景中,Mondrian将作为XMLAsource配置在服务端,在10.1节中,我们将看到,通过jquery 及xmla4j 的javascript 库,如何使用Mondrian。
如果用java 或者类似语言写应用,则可以选择olap4j来使用Mondrian。olap4j与Mondrian可以配置成web服务或者直接集成到项目中,用olap4j,你能使用更多的功能,如通过它使缓存控制的spi(廋客户端通过xmla调用服务端的时候,不能用这种功能),在10.2节,我们将学习到olap4j的使用。
10.1 通过廋客户端使用Mondrian
我们已经知道,可以通过廋客户端和java应用来调用Mondrian,二者技术相似但办法不同,我们先介绍XMLA,接着介绍用jquery与ajax,调用基于Mondrian的XMLA服务,最后,我们将介绍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
上一篇: 流程设计