Halogen debuts at MySQL conference

1 view
Skip to first unread message

Julian Hyde

unread,
Apr 17, 2008, 2:43:45 AM4/17/08
to Halogen Development
Halogen made its debut at MySQL conference today. It took a bit of
hacking to get it to build and run, with Will's help, but I was able
to get it running with both mondrian and XMLA drivers. (A mere 20
minutes before the presentation started!!)

The demo was an awesome proof of the concept that an olap4j viewer can
run unchanged against multiple servers. Kudos to you all for getting
it to this stage.

A few comments about what I had to hack to make it work.

I had to hack the Halogen-compile and Halogen-launch scripts for
windows. There were o/s differences (such as the -XstartOnFirstThread
option and the name of the gwt jar). The main problem was that the
third-party jars were missing from the class path. I could replace
these with an ant script with 'compile' and 'launch' targets (among
others) that would run on all platforms. I would be happy to
contribute this build.xml - unless you have other plans to improve the
out-of-the-box build process - let me know.

I added the line
Class.forName("org.olap4j.driver.xmla.XmlaOlap4jDriver") to the code.
This probably does not need to be added permanently - I plan to make
olap4j drivers self-registering (see olap4j bug 1879400 "xmla driver
should self-register per JDBC 4.0",
http://sourceforge.net/tracker/index.php?func=detail&aid=1879400&group_id=168953&atid=848534
)

One minor bug. During the demo, while using the XMLA driver, I added
the Customers dimension to rows. I got an OutOfMemoryException. I
think that this is because Customers is a larger dimension, and
surmise that Halogen was loading all members, even though only one
level at a time is needed to populate the tree. The olap4j XMLA driver
probably shares the blame for using too much memory per member.

For the record, the two connect strings I used were

jdbc:mondrian:Jdbc=jdbc:odbc:MondrianFoodMart;Catalog=c:/open/mondrian/
demo/FoodMart.xml

jdbc:xmla:Server=http://localhost:8080/mondrian/
xmla;PROVIDER=Mondrian;Catalog=FoodMart

and I hacked my datasources.xml a little:

-
<DataSourceName>Provider=Mondrian;DataSource=MondrianFoodMart;</
DataSourceName>
+ <DataSourceName>MondrianFoodMart</DataSourceName>

-
<DataSourceInfo>Provider=mondrian;Jdbc=jdbc:oracle:thin:foodmart/
foodmart@//marmalade.hydromatic.net:1521/
XE;JdbcUser=foodmart;JdbcPassword=foodmart;JdbcDrivers=oracle.jdbc.OracleDriver;Catalog=/
WEB-INF/queries/FoodMart.xml</DataSourceInfo>
+
<DataSourceInfo>Provider=mondrian;Jdbc=jdbc:odbc:MondrianFoodMart;Catalog=c:/
open/mondrian/demo/FoodMart.xml</DataSourceInfo>

Julian

william...@gmail.com

unread,
Apr 21, 2008, 12:07:30 PM4/21/08
to Halogen Development
Wow... sorry about the effort it took to get that working. I haven't
got around to do any packaging for it since I consider what's in svn
to be just a developers playground. You're absolutely right about the
out of memory error. It's been on the roadmap for a while to change
it to bring back only displayed levels... just haven't gotten around
to it.

I'll be happy to give you write access to the halogen SVN so that you
can commit any changes/enhancements/files you see fit.

I'm glad the demo went well.

Bill

On Apr 17, 2:43 am, Julian Hyde <julianh...@gmail.com> wrote:
> Halogen made its debut at MySQL conference today. It took a bit of
> hacking to get it to build and run, with Will's help, but I was able
> to get it running with both mondrian and XMLA drivers. (A mere 20
> minutes before the presentation started!!)
>
> The demo was an awesome proof of the concept that an olap4j viewer can
> run unchanged against multiple servers. Kudos to you all for getting
> it to this stage.
>
> A few comments about what I had to hack to make it work.
>
> I had to hack the Halogen-compile and Halogen-launch scripts for
> windows. There were o/s differences (such as the -XstartOnFirstThread
> option and the name of the gwt jar). The main problem was that the
> third-party jars were missing from the class path. I could replace
> these with an ant script with 'compile' and 'launch' targets (among
> others) that would run on all platforms. I would be happy to
> contribute this build.xml - unless you have other plans to improve the
> out-of-the-box build process - let me know.
>
> I added the line
> Class.forName("org.olap4j.driver.xmla.XmlaOlap4jDriver") to the code.
> This probably does not need to be added permanently - I plan to make
> olap4j drivers self-registering (see olap4j bug 1879400 "xmla driver
> should self-register per JDBC 4.0",http://sourceforge.net/tracker/index.php?func=detail&aid=1879400&grou...

Julian Hyde

unread,
Apr 22, 2008, 7:02:06 PM4/22/08
to Halogen Development
I just (revision 32) checked in build.xml. It should now be easier to
compile and build olap4j. Just run 'ant compile shell'.

It assumes that you have gwt-windows-1.4.61 in a sibling directory of
halogen (or gwt-linux-1.4.61 or gwt-mac-1.4.61 as appropriate) and of
course that you have ant on your path. Let me know whether it works on
operating systems other than windows, other JDKs, etc.

If this works for people, I propose that we obsolete Halogen-compile
and Halogen-shell; no point in maintaining separate scripts.

Julian
Reply all
Reply to author
Forward
0 new messages