Archive for July 2010

Toy Story - Special Edition (Starring Pentaho and Jaspersoft)

I was watching the original Toy Story movie with my kids the other day.  Even watching it today, it’s a surprising movie that still stands up after 15 years.  For the uninitiated, the movie revolves around the misadventures of a toy cowboy named Woody.  In the movie, Woody escapes with Buzz Lightyear from the clutches of Sid, a twisted neighborhood kid who tortures toys in various ways.  All of this is in an attempt to return home, so Woody and Buzz won’t get left behind when their owner moves.

One of the pivotal scenes is when Woody is in Sid’s lair, where he is surrounded by some of Sid’s twisted creations: the head of a pterodactyl on a doll’s body, the body of a strong man and the head of a duck.  You get the jist.  Woody discovers that these “mash ups” are actually friendly, and can help, even though they are an unnatural combination.

With this in mind, below is a quick little combination of Pentaho and Jaspersoft, where Jaspersoft Reports are called from within the Pentaho User Console.  This is admittedly not exactly rocket science, but should spark some thinking of where these disparate platforms can go when they are used collaboratively.

The basic steps to make something like this happen are:

  • Make sure you have a working Pentaho server and a Jasperserver installed.
  • Then, deploy the jasperserver webapp under the pentaho server’s webapps path to allow the jasperserver to ride along with Pentaho’s Tomcat server.
  • Next, within a pentaho solution folder of your choice.  Add a *.url file to the solution that calls the Jasperreport of your choice.  For the URL, add the decorate and jasperserver login parameters like this:
  • http://localhost:8080/jasperserver/flow.html?_flowId=viewReportFlow&reportUnit=/organizations/organization_1/StandardReports/ExampleMultiAxis&decorate=no&j_username=superuser&j_password=superuser
  • And there you go:

 Pentaho - Jasper

 

Yes, there are some limitations here.  It’s passing the plain text user information, and there is no common user model, and sessions are independent.  It also adds some administrative complexity because you now have two different flavors of reporting under the hood, including separate database connections, etc.  There are certainly sexier levels of integration with the jar files/class libraries possible. 

But, simple integration like this can be a quick way to add certain capabilities across platforms, and speaks to the overall coolness that is open source BI.  Yes, you can take the head of a pterodactyl and put it on a doll’s body and you may find that it actually is helpful, and maybe not so scary.

I’ll let you know if I get any more twisted ideas from watching Toy Story 3 this weekend.

|