<html><body bgcolor="#FFFFFF"><div>I think that states it clearly.</div><div><br></div><div>Now we just need more olap4j implementations that Mondrian. :)</div><div><br></div><div>So the xmla server requires an olap4j implementation in the engine side?</div><div><br></div><div>Thanks<br><br>Sent from my iPhone</div><div><br>On Apr 19, 2011, at 8:00 AM, Michele Rossi &lt;<a href="mailto:m.rossi@iontrading.com">m.rossi@iontrading.com</a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div>hi,<div>The xmla servlet is not actually being split from the mondrian codebase (at least for now).</div><div>However its functionality is very distinct from Mondrian and refactoring the two functional areas is a matter of clean design and separation of concerns.&nbsp;</div>

<div><br></div><div>Having an XMLA Servlet that can rely on a standard OLAP4J driver instead of the native mondrian API will allow other OLAP engines that have an OLAP4J driver to be exposed via XMLA.</div><div><br></div>

<div>Another angle on this is that until now mondrian has been both a server (xmla) and an aggregation engine.</div><div>The idea is to split the two things.&nbsp;</div><div>Mondrian can keep being an engine, and the XMLA Servlet allows anyone with an OLAP driver to become an OLAP Server.</div>

<div><br></div><div>Julian can probably put it in a better way.</div><div><br></div><div>thanks,</div><div>Michele</div><div><br></div><div><br></div><div><br><br><div class="gmail_quote">On 19 April 2011 14:17, Andy Grohe <span dir="ltr">&lt;<a href="mailto:agrohe21@gmail.com"><a href="mailto:agrohe21@gmail.com">agrohe21@gmail.com</a></a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#FFFFFF"><div>What are the advantages of splitting out xmla from Mondrian to the community? &nbsp;At this time, they seem linked in my mind.<br>

<br>Sent from my iPhone</div><div><br>On Apr 18, 2011, at 11:20 PM, Julian Hyde &lt;<a href="mailto:jhyde@pentaho.com" target="_blank"><a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a></a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div>



<div><span><font color="#000080" size="2" face="Lucida Sans">Michele,</font></span></div>
<div><span><font color="#000080" size="2" face="Lucida Sans"></font></span>&nbsp;</div>
<div><span><font color="#000080" size="2" face="Lucida Sans">I have checked in your changes as change 14208. I moved 
things around a bit -- I moved your olap4j connection factory out of XmlaServlet 
into a new derived class, Olap4jXmlaServlet. And the previous functionality, to 
start an embedded mondrian server, is in a new subclass 
MondrianXmlaServlet.</font></span></div>
<div><span><font color="#000080" size="2" face="Lucida Sans"></font></span>&nbsp;</div>
<div><span><font color="#000080" size="2" face="Lucida Sans">I hope that I have preserved the intent of your 
changes.</font></span></div>
<div><span><font color="#000080" size="2" face="Lucida Sans"></font></span>&nbsp;</div>
<div><span><font color="#000080" size="2" face="Lucida Sans">
<div><span><span><font color="#000080" size="2" face="Lucida Sans">Thanks for the contribution. It 
definitely moves us down the road to an XMLA server that is independent of 
mondrian.</font></span></span></div>
<div><span><span><font color="#000080" size="2" face="Lucida Sans"></font></span></span>&nbsp;</div>Other 
users (including Pentaho BI server team), take note: Applications that used 
DefaultXmlaServlet should probably now use 
MondrianXmlaServlet.</font></span></div>
<div><span><font color="#000080" size="2" face="Lucida Sans"></font></span>&nbsp;</div>
<div><span><font color="#000080" size="2" face="Lucida Sans">Julian</font></span></div><br>
<blockquote style="border-left:#000080 2px solid;padding-left:5px;margin-left:5px;margin-right:0px">
  <div dir="ltr" lang="en-us" align="left">
  <hr>
  <font size="2" face="Tahoma"><b>From:</b> Michele Rossi 
  [mailto:<a href="mailto:michele.rossi@gmail.com" target="_blank"><a href="mailto:michele.rossi@gmail.com">michele.rossi@gmail.com</a></a>] <br><b>Sent:</b> Friday, April 15, 2011 1:36 
  AM<br><b>To:</b> Mondrian developer mailing list<br><b>Cc:</b> 
  <a href="mailto:jhyde@pentaho.com" target="_blank"></a><a href="mailto:jhyde@pentaho.com" target="_blank"><a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a></a><br><b>Subject:</b> Re: [Mondrian] xmla over olap4j 
  server<br></font><br></div>
  <div></div>
  <div class="gmail_quote">[ re sending to the whole list as requested by Julian 
  ]</div>
  <div class="gmail_quote"><br></div>
  <div class="gmail_quote">Hi Julian,
  <div>I've completed the first stage of the xmla-over-olap4j work.</div>
  <div><br></div>
  <div>I still haven't found out how to create patch files - it can probably be 
  done using the p4 client, I will look at it tomorrow.</div>
  <div><br></div>
  <div>For now I am attaching to this email the three files that I updated and 
  an example web.xml that shows how the servlet could be deployed.</div>
  <div>You can find most of my changes easily by searching for [MROSSI].</div>
  <div><br></div>
  <div>Initially I tried to split out the servlet from the rest of the Mondrian 
  codebase but the dependencies are many and go fairly deep.</div>
  <div>I am not sure that such an&nbsp;endeavour would be very valuable.</div>
  <div>After all there is nothing wrong in just using the whole mondrian jar as 
  it is.</div>
  <div><br></div>
  <div>I've tested my code using Excel and the SimbaO2X adapter.</div>
  <div>I can successfully connect to a Foodmart olap database in the following 
  way:</div>
  <div><br></div>
  <div>Excel--&gt;Simba--&gt;My Server with the modified 
  DefaultXmlaServlet--&gt;Olap4j Xmla Driver--&gt;A standard mondrian 
  installation with a standard xmla servlet.</div>
  <div><br></div>
  <div>I will need to make some more changes to handle the credentials passed by 
  Excel in the XMLA requests.</div>
  <div>I did most of the work last year but never contributed it back.</div>
  <div><br></div>
  <div>What do you think?</div>
  <div>How do you think I should proceed from this point?</div>
  <div><br></div>
  <div>Many thanks!</div>
  <div>Michele</div>
  <div>
  <div></div>
  <div>
  <div>&nbsp;</div>
  <div><br><br>
  <div class="gmail_quote">On 11 March 2011 17:56, Julian Hyde <span dir="ltr">&lt;<a href="mailto:jhyde@pentaho.com" target="_blank"></a><a href="mailto:jhyde@pentaho.com" target="_blank"><a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a></a>&gt;</span> wrote:<br>


  <blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
    <div>
    <div><font color="#000080" size="2" face="Lucida Sans"></font>&nbsp;</div><br>
    <blockquote style="border-left:#000080 2px solid;padding-left:5px;margin-left:5px;margin-right:0px" dir="ltr">
      <div dir="ltr" lang="en-us" align="left">
      <hr>
      <font size="2" face="Tahoma"><b>From:</b> Michele Rossi [mailto:<a href="mailto:michele.rossi@gmail.com" target="_blank"></a><a href="mailto:michele.rossi@gmail.com" target="_blank"><a href="mailto:michele.rossi@gmail.com">michele.rossi@gmail.com</a></a>] <br>

<b>Sent:</b> Friday, March 
      11, 2011 1:43 AM<br><b>To:</b> <a href="mailto:mondrian@pentaho.org" target="_blank"></a><a href="mailto:mondrian@pentaho.org" target="_blank"><a href="mailto:mondrian@pentaho.org">mondrian@pentaho.org</a></a>; <a href="mailto:jhyde@pentaho.com" target="_blank"></a><a href="mailto:jhyde@pentaho.com" target="_blank"><a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a></a><br>

<b>Subject:</b> Re: [Mondrian] xmla 
      over olap4j server<br></font><br></div>
      <div>
      <div></div>[re-sending from my private email address as it's not working 
      from my work address] 
      <div><br>
      <blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
        <div class="gmail_quote"><br>
        <div class="gmail_quote"><span style="border-collapse:collapse;font-family:arial, sans-serif;font-size:13px">Julian, 

        <div>I have a few questions for you:</div>
        <div><br></div>
        <div>1. How do I get started?</div>
        <div>Can you create an account on perforce for me with write 
        permissions?<span><font color="#000080" size="2" face="Lucida Sans">&nbsp;</font></span></div></span></div></div></blockquote></div></div></blockquote>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans">Please submit your changes as patches attached to jira 
    cases. We don't give people committer privileges until they have made a few 
    successful contributions. </font></span></div>
    <div>
    <blockquote style="border-left:#000080 2px solid;padding-left:5px;margin-left:5px;margin-right:0px" dir="ltr">
      <blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
        <div class="gmail_quote"><span>&nbsp;</span>2. Olap4j drillthrough</div>
        <div class="gmail_quote">The mondrian olap4j driver implements 
        drillthrough via the "executeQuery" method which returns a 
        java.sql.ResultSet right?&nbsp;</div>
        <div class="gmail_quote">Can we not leverage that method to implement 
        drillthrough on the xmla server?<span><font color="#000080" size="2" face="Lucida Sans">&nbsp;</font></span></div></blockquote></blockquote></div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans">Possibly. Depends on your requirements. Mondrian's XMLA 
    clients expect more in the XMLA response than is currently available in the 
    ResultSet returned by that method. Therefore the XMLA server calls a method 
    in XmlaExtra. The default implementation of XmlaExtra calls executeQuery. 
    Same effect, longer route.</font></span></div>
    <div>
    <blockquote style="border-left:#000080 2px solid;padding-left:5px;margin-left:5px;margin-right:0px" dir="ltr">
      <blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
        <div class="gmail_quote"><span></span>&nbsp;</div><font color="#000080" size="2" face="Lucida Sans"></font></blockquote>
      <blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
        <div class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font><br></div>
        <div class="gmail_quote">3. The new project:</div>
        <div class="gmail_quote">We will need a new "olap4j xmla server" project 
        with its separate build an dependencies.</div>
        <div class="gmail_quote">Can you think of a good name for it?</div>
        <div class="gmail_quote">Perhaps Olap4jXmlaServer could be a good 
        candidate :)<span><font color="#000080" size="2" face="Lucida Sans">&nbsp;</font></span></div></blockquote></blockquote></div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans">Sounds reasonable.</font></span></div>
    <div>
    <blockquote style="border-left:#000080 2px solid;padding-left:5px;margin-left:5px;margin-right:0px" dir="ltr">
      <blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
        <div class="gmail_quote">4. How to build the new project:&nbsp;</div>
        <div class="gmail_quote">I know that mondrian is built using Ant.</div>
        <div class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font><br></div>
        <div class="gmail_quote">Have you ever thought about starting to use 
        Maven?</div>
        <div class="gmail_quote">I've used Maven successfully for years and I've 
        totally forgot how to use ant.</div>
        <div class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font><br></div>
        <div class="gmail_quote">I think it would also be beneficial in terms of 
        linking olap4j releases with server releases.</div>
        <div class="gmail_quote">We could then distribute both olap4j, mondrian 
        and the xmla server on public maven repositories.<span><font color="#000080" size="2" face="Lucida Sans">&nbsp;</font></span></div></blockquote></blockquote></div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans">At this point I don't want to create a new project. I 
    would like to work with the xmla server code in situ in the mondrian code 
    base, to learn what the necessary changes are, and where would be the 
    appropriate cut points. Then I will help you factor it into another project. 
    But first, let's get it working in situ.</font></span></div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans"></font></span>&nbsp;</div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans">Re. maven, see below.</font></span></div>
    <div>
    <blockquote style="border-left:#000080 2px solid;padding-left:5px;margin-left:5px;margin-right:0px" dir="ltr">
      <blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font>
        <div class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font><font color="#000080" size="2" face="Lucida Sans"></font><font color="#000080" size="2" face="Lucida Sans"></font><font color="#000080" size="2" face="Lucida Sans"></font><font color="#000080" size="2" face="Lucida Sans"></font><font color="#000080" size="2" face="Lucida Sans"></font><br>

</div>
        <div class="gmail_quote">5. Proposed solution</div>
        <div class="gmail_quote">I can put together a webapp project quickly using 
        the following ingredients&nbsp;</div>
        <div class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font><br></div>
        <div class="gmail_quote">a. maven build</div>
        <div class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font><br></div>
        <div class="gmail_quote">b. unit tests based on mondrian:&nbsp;</div>
        <div class="gmail_quote">You create an in-process mondrian instance and 
        connect to it using the mondrian olap4j driver.&nbsp;</div>
        <div class="gmail_quote">Then you hit the new server using the olap4j xmla 
        driver.&nbsp;</div>
        <div class="gmail_quote">You can then compare results making assertions on 
        the equality of metadata and values.</div>
        <div class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font><br></div>
        <div class="gmail_quote">c. The output artifact would a standard .WAR 
        file&nbsp;</div>
        <div class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font><br></div>
        <div class="gmail_quote">d. Jetty launcher</div>
        <div class="gmail_quote">I propose the creation of a jetty launcher 
        too.&nbsp;</div>
        <div class="gmail_quote">I can create such launcher using maven reasonably 
        quickly.&nbsp;</div>
        <div class="gmail_quote">The result would be a tar.gz file with a number 
        of sub-folders, one of them containing the .war file discussed above, 
        others containing shared jetty libraries and finally the .bat and .sh 
        launchers.</div>
        <div class="gmail_quote"><font color="#000080" size="2" face="Lucida Sans"></font><br></div>
        <div class="gmail_quote">We could then have a "cfg" folder with a template 
        .properties file where a user would have to put the details of his/her 
        favourite olap4j driver and the connection details.<span><font color="#000080" size="2" face="Lucida Sans">&nbsp;</font></span></div></blockquote></blockquote></div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans">All of the above sounds fine. In due course. But please, 
    don't make big changes as the first step. (I've found that the most 
    successful committers are the ones who submit small patches at 
    first.)</font></span></div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans"></font></span>&nbsp;</div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans">In this case, the patches would be whatever hacks to 
    mondrian's xmla server are necessary to build your flavor of the server. I 
    will learn a lot from those patches.</font></span></div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans"></font></span>&nbsp;</div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans">When time comes to create the new project, we can discuss 
    using maven. You'd have to make a strong case, because it would be a Pentaho 
    project (containing about 15k of mondrian source code, plus unit tests) and 
    Pentaho projects have standardized on using an ant+ivy+subfloor 
    infrastructure.</font></span></div>
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans"></font></span>&nbsp;</div><font color="#888888">
    <div dir="ltr" class="gmail_quote"><span><font color="#000080" size="2" face="Lucida Sans">Julian</font></span></div></font></div></blockquote></div><br></div></div></div></div><br></blockquote>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Mondrian mailing list</span><br><span><a href="mailto:Mondrian@pentaho.org" target="_blank"><a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a></a></span><br>

<span><a href="http://lists.pentaho.org/mailman/listinfo/mondrian" target="_blank"><a href="http://lists.pentaho.org/mailman/listinfo/mondrian">http://lists.pentaho.org/mailman/listinfo/mondrian</a></a></span><br></div></blockquote></div><br>_______________________________________________<br>


Mondrian mailing list<br>
<a href="mailto:Mondrian@pentaho.org"><a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a></a><br>
<a href="http://lists.pentaho.org/mailman/listinfo/mondrian" target="_blank"><a href="http://lists.pentaho.org/mailman/listinfo/mondrian">http://lists.pentaho.org/mailman/listinfo/mondrian</a></a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse"><p style="margin-top:0px;margin-right:0px;margin-bottom:12pt;margin-left:0px"><b><span style="font-size:8pt;color:navy"><br>

</span></b></p><p style="margin-top:0px;margin-right:0px;margin-bottom:12pt;margin-left:0px"><b><span style="font-size:8pt;color:navy">Michele Rossi</span></b><span style="font-size:8pt;color:rgb(31, 73, 125)"><br><br></span><span style="font-size:8pt;color:rgb(31, 73, 125)">&lt;image001.jpg&gt;</span><span style="font-size:8pt;color:rgb(31, 73, 125)"></span></p>

<p style="margin-top:0px;margin-right:0px;margin-bottom:12pt;margin-left:0px"><span style="font-size:8pt;color:rgb(31, 73, 125)">Via San Martino, 52, 56125 Pisa, ITALY<br>T: +39 050 220 3894<br><a href="mailto:m.rossi@iontrading.com" style="color:rgb(42, 93, 176)" target="_blank"><span style="color:blue">m.rossi@iontrading.com</span></a><br>

<a href="http://www.iontrading.com/" style="color:rgb(42, 93, 176)" target="_blank"><span style="color:blue">http://www.iontrading.com</span></a></span></p></span><br>
</div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Mondrian mailing list</span><br><span><a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a></span><br><span><a href="http://lists.pentaho.org/mailman/listinfo/mondrian">http://lists.pentaho.org/mailman/listinfo/mondrian</a></span><br></div></blockquote></body></html>