OracleBIBlog Search

Showing posts with label Open Source. Show all posts
Showing posts with label Open Source. Show all posts

Friday, June 18, 2010

Effective Regression Testing for OBIEE Applications

It's a dark and stormy Friday night, and as you drift off into slumberland in your warm, dry and cozy bed, a thought pops up in your mind: "If a butterfly flaps its wings in Costa Rica tonight, will the CFO's Executive Financial Summary dashboard still work?" Suddenly you are wide awake and feeling a bit of paranoia. You jump out of bed, fire up your laptop, log into the corporate VPN and then into OBIEE...

This sounds like the beginning of a bad BI horror story -- and hopefully for all of you a scenario like this truly is just that - a story. But we've all experienced some variation of this scene. The OBIEE equivalent of butterflies do flap their wings in Costa Rica, and the result does sometimes alter the OBIEE equivalent of weather patterns in Japan. Change the name of a presentation column... or the mapping rules of a logical column... or the aggregation rules of a logical table... or a minor extraction rule in the warehouse ETL logic... or even simply merge your local RPD work into a MUD repository... and you risk causing an error in a report that might not be noticed until days after the change -- usually when the report is most needed.

The real truth is that an OBIEE system just like any other software implementation has some inherent fragility that requires vigorous regression testing strategies to keep it running smoothly. But while most "traditional" software systems have very clearly defined behaviors that lend themselves well to control by means of various specific testing strategies, a Business Intelligence application by nature does not always necessarily have completely predictable outcomes - especially true in OBIEE given the complexity of the BI Server and, for example, how it constructs queries against the underlying data.

Given the complexity of the OBIEE architecture and the fleeting nature of the data, establishing an adequate regression testing strategy is a challenge.

One excellent approach is to identify commonly executed queries with Usage Tracking (or just identify a specific request's logical query), then execute the corresponding logical sql using nqcmd.exe. This is an excellent approach but can respond to only two results: success or failure. In most cases this is entirely adequate.

Another approach favored of course by Oracle is to implement their Application Testing Suite, which looks ike a promising tool but frankly I have not heard of any usage in the real world -- if anyone has direct experience with this tool, feel free to respond. Moreover it goes without saying that license fees would be a significant factor in evaluating its total ROI.

A third way to address regression testing in OBIEE is to set up a series of webcat (HTTP) requests that can be executed on a scheduled basis by an automated web testing utility. Several such utilities exist - LoadRunner being the most prevalent - but as with Oracle's offering, most require licensing.

One popular web testing utility distributed as open-source software and therefore free of licensing costs has gained some following among the developer community: a Firefox plugin called Selenium (the IDE flavor, to be precise), which can execute a wide range of web page interactions and combine them into test scripts. These test scripts can then be assembled into test suites and exported to a full-fledged program in a variety of commonly used languages/frameworks (C#, Java, Perl, PHP, Python, Ruby), at which point this program can be scheduled for execution just like any other.

While Selenium is highly flexible, fairly easy to use and very cheap (at least in terms of licensing costs), it also has some drawbacks, particularly when used to test an OBIEE system. In the hopes of blazing the "Selenium for OBIEE" trail, I have attempted my own small POC by writing some basic test scripts against the Paint webcat. In doing so I identified some gotchas and workarounds that will at the very least help you successfully construct OBIEE test scripts using this very capable tool. I will explore those workarounds and advanced configurations in later posts. But my overall opinion is that Selenium is a very capable testing tool which deserves serious consideration for use in an OBIEE environment.

Here are what I consider general strengths of Selenium:

Flexible

  • Can execute a variety of actions: open urls, click links, interact with prompts, execute javascript ...
  • Can be designed to respond to specified conditions either by failing OR by simply logging and continuing
  • Can assemble multiple test scripts within a single test suite
  • Can export scripts in a variety of languages / platforms - C#, Java, Perl, PHP, Python, Ruby
Straightforward to use
  • Scripts can be written using a simple Firefox plugin
  • Applies open standards: page elements are identified using Xpath
Economical
  • Open Source therefore no licensing
  • Fairly wide adoption therefore a decent user community
  • Commercial organizations exist that specialize in Selenium development & support
And some general challenges:

Somewhat steep learning curve
  • Though basic use is straightforwad, still takes a bit to get the hang of the tool
  • Because it's based on open standards like XPath, the skills learned are not "siloed" but can be useful elsewhere
  • Extending test suites for scheduled execution requires a leap of additional complexity
Open Source = No official support
  • On the other hand, there are plenty of answers to common problems on the web
  • Googling a solution is probably just as fast as relying on traditional paid support
OBIEE-Specific Challenges
  • Problematic handling of daughter or "target" windows
  • Default page element XPath queries cannot be used because they rely on IDs, which in OBIEE are dynamic

Friday, October 9, 2009

Open Source Business Intelligence

We all love Open Source software, right? Apache, Java, Linux, Eclipse... What would our profession be without it?

But with the growing maturity of Open Source Business Intelligence solutions, perhaps the right question we should be asking is: What will our profession be WITH it?

Several factors are pointing to the potential near-term growth of Open Source BI solutions in the marketplace.

First is a wider acceptance of Open Source solutions in general among the business community. The Open Source Peace Prize for this effort should go to Linux. Every year more businesses are finding that Linux-based servers are proving their nettle in terms of stability and performance quality. Furthermore, as a legitimizing move for Open Source BI in particular, Gartner this year for the first time decided to invite two of the biggest names in Open Source BI - Jaspersoft and Pentaho, which Gartner considers "viable players in the BI platform market" - to participate in their Magic Quadrant study of BI vendors. And, judging from the fact that traditional BI vendor MicroStrategy is marketing a free limited-use version of its ReportingSuite software in obvious response to Open Source alternatives (try Googling "Open Source Business Intelligence" and note the resulting Sponsored Link), the Open Source "threat" has also clearly affected marketing strategies of traditional vendors.

But before we go any further, let's be clear about the specific definition of Open Source. A common misperception outside of the developer community is that "Open Source" simply means "free." This is not necessarily the case. The more important distinction is that the underlying source code of the application is not only visible to the community but is also readily modifiable, so that members of the community can contribute their own changes in the form of improvements or bug fixes to that code. Hence "Open" (visible & modifiable) "Source" (source code). There are legal nuances to the different kinds of licensing reserved by authors of Open Source intellectual property but we can save that for a different discussion.

In the Linux case, while it is true that some variations of Linux are in fact "free," wise corporations who invest in Linux will almost always opt for the "Redhat" flavor that requires a paid subscription fee whose real value is access to tech support and upgrades - not to mention supportability by certain vendors of software that are hosted on Linux operating systems.

The Open Source paradigm - not just software but the concept of community-supported development - presents both threats and opportunities to the Oracle Business Intelligence community. I'd like to share some that have come to my mind.

Threats

* Slashed software budgets - With less software spending power, the lower acquisition cost of Open Source options will entice tech-savvy organizations, particularly SMBs, to evaluate Open Source solutions alongside traditionally licensed options. The sales strategy of traditional solutions will need to consider this challenger more seriously.

* Given the reality that any Open Source technology matures with every implementation, the result is a mathematical effect - perhaps OS may not be a viable solution for certain sectors now, but in one year, who knows? Within two years we will almost certainly see greater acceptance.

Opportunities

* Slashed IT staffing budgets improves the attractiveness of pre-built & supported solutions like Oracle's BI Apps against Open Source options, which by their always-in-development nature will require more internal staff support.

* The demonstrated success of Open Source subscription-based business models together with wider acceptance of "Cloud computing" for the Enterprise portends the viability and popularity of BI solutions provided under a Software-as-a-Service (SaaS) model.

* Oracle's acquisition of Sun - With MySQL officially within its corporate portfolio, Oracle may need to deal with this hugely popular Open Source database one way or the other. Either Oracle will maintain a kind of status quo and frame MySQL as a fringe product best used for scrappy startups, or it will recognize MySQL's value as a kind of "gateway drug" that provides an easy path to Oracle's standard licensed database products. In that scenario we could see MySQL cultivated and eventually supported as a target warehouse provider.

* Open Source methodologies can be applied to the development of ancillary components for traditional BI solutions. In the case of Oracle BI, there's no reason why we can't host a library of Open-Source helper apps, like Java applets or JSP pages or JavaScript routines that can perform a variety of functions when invoked within the OBIEE platform, or even XML renderings of OBIEE reports themselves that demonstrate clever tricks of the technology.

This latest opportunity excites me the most, as I believe it could serve to unify our community and provide tangible means for us to build our credibility. The biggest barrier to this effort will be a natural bias against giving away valuable intellectual property, especially when that IP serves as differentiator among BI consultancies. On the other hand, in an Open Source ecosystem, the contributions of a company or individual to the Oracle BI Open Source collective will serve to demonstrate and therefore legitimize their technical abilities far more powerfully than any marketing material, sales pitch or dare I say even a series of intelligent and insightful blog posts :-). As this effort is more focused on the community overall, it makes sense to see the community take on this initiative. (Hear that, UGOBI?)

In the spirit of "Open Sourcing" my thought processes, I remain eager to hear your feedback. What threats or opportunities do you see?

Here are some interesting articles on the topic for further reading:

Commercial Open Source BI Redux
http://www.dashboardinsight.com/articles/digital-dashboards/fundamentals/commercial-open-source-bi-redux.aspx
Penned by founders of OpenBI, this article reviews the current state and future opportunities of Open Source BI. A quote: "We wouldn't be surprised if Cloud vendors Amazon and Google started offering OSBI platform capabilities for free to customers contracting for their servers and storage."

Who Is Using Open Source Business Intelligence, and Why
http://www.itbusinessedge.com/cm/community/features/interviews/blog/who-is-using-open-source-business-intelligence-and-why/?cs=35889
Interview with Mark Madsen, founder and president of BI consultancy firm Third Nature and author of a recent study of open source adoption in the business intelligence and data warehousing markets.

Magic Quadrant for Business Intelligence Platforms
http://mediaproducts.gartner.com/reprints/sas/vol5/article8/article8.html
Gartner's opinion of the main software vendors that should be considered by organizations seeking to develop business intelligence (BI) applications. "This year Gartner gave serious consideration to including open-source BI suppliers in the Magic Quadrant, and even altered the inclusion criteria to allow for this eventuality. As yet, though, no open-source BI platform supplier generates enough revenue to be included in the Magic Quadrant [$20m in revenue]. However, while they don't meet the revenue requirement, Jaspersoft and Pentaho have emerged as viable players in the BI platform market and as such we invited these firms to take part in the Magic Quadrant user survey."

Sites

BeyeNetwork - Specifically the Open Source "Channel"
http://www.b-eye-network.com/channels/1405

Vendors

Jaspersoft
http://jaspersoft.com/

Pentaho
http://www.pentaho.com/

Microstrategy
(again, not truly Open Source, but offers free limited licensing of proprietary ReportingSuite)
http://www.microstrategy.com/freereportingsoftware/index.asp?gclid=cnhim4p3q50cfsreagodzw3-ja