Recently Packt Publishing
contacted me about their new book, Practical Data Analysis and Reporting with BIRT
(John Ward), and asked if I would be willing to review it. While DTP
have enjoyed a close relationship since the beginning of DTP and the early days of BIRT, I have never actually had a chance to use BIRT. Always interested in learning new technology, I figured reviewing the book would be a good chance.
It only takes a few minutes roaming around the Eclipse web site to realize that there’s a lot going on at Eclipse. It seems like new projects appear every week, and existing projects continue to push forward with new features. On the verge of EclipseCon next week, a survey of the Eclipse landscape yield a variety and depth that can be overwhelming. This is true whether you are a new user of Eclipse, or someone involved in working on an Eclipse project everyday.
There’s also no shortage of information about Eclipse. Mature, popular projects like BIRT tend to have numerous articles, books, web casts, and other source of information. The availability of information is great, but it can be hard for new users of a specific Eclipse technology to get up and running quickly. That’s where John Ward’s book fits: in about 300 pages, we are promised a “fast-paced, task-driven, tutorial style” introduction to BIRT, concentrating first on the BIRT Report Designer and later the BIRT Charting engine. OK, this sounds good, and I decided to take it step by step like a new user would. In this post and a series of follow ups, I will discuss my progress and observations. I hope that my commentary is useful for those considering how best to approach BIRT.
The first chapter is an overview of Business Intelligence (BI) and the BI market, with an emphasis on open source options. The author explains how he became interested in reporting tools, and this story helps to put the need for BIRT into the context of challenges that developers face. Frankly, the material in this chapter is a bit disorganized (for example, jokes about the name “BIRT” appear almost verbatim in a couple of places, leading me at first to believe that either the book had duplicated pages or I was reading it backwards.) While the coverage of BI and BIRT is adequate to get the essentials, the sections comparing BIRT to other open source reporting solutions (JasperReports and Pentaho) was sketchy and did not add much. After finishing the chapter, I couldn’t help think that perhaps part of it could have been skipped: the fact that I’m reading tutorial book about using BIRT seems to imply that I know enough about BI/reporting to understand that I at least need to learn how to use BIRT, and the fact that I’ve chosen a book about BIRT itself means that I’ve already made a (perhaps preliminary) choice of which tool to use. I understand that some introduction is necessary, and the first part of the chapter (describing the author’s need for a reporting solution) fits the bill.
The next chapter describes how to obtain and install BIRT. Since Eclipse projects tend to move fast and there are a number of ways to obtain distributions (various download packages, the Eclipse Update Manager), this can be a very confusing area. In fact, we in DTP have often diagnosed problems that arise from installing mismatched versions of various Eclipse components. Luckily, BIRT has an “all in one” download and the chapter recommends using it. I did, and quickly I had a working BIRT installation. (Detail: the chapter talks about the need to download the iText libraries separately. In BIRT 2.2.2, this is not necessary.)
Once you have BIRT installed and running, the first thing you’d like is a quick tour of its main features, and perhaps a simple working example. Chapter three provides this. First the basics of Eclipse (perspectives, views, etc.) are covered, and then a simple report project using the BIRT “Classic Models” sample database is created. This chapter has a “getting started with BIRT” feel, and does a good job of covering the main points in a brief presentation. Within a couple of minutes I was able to generate my first report, and everything worked as expected. Sometimes the hardest part of using software is simply getting the first set of tasks done: once you understand enough to do that, then well-designed software seems to “fall into place” as you learn the rest. Quickly scanning through the books remaining chapters, I found that they seemed to make more sense, now that I understood how to create even this very simple first report.
Of course there’s more to reports than simple charts: we need a variety of components for labels, images, and so on. Chapter four provides a quick tour of these visual components using the BIRT Palette. If you’ve used visual layout tools before, the BIRT components will be familiar, and they interact with the Properties view to set the usual parameters. One interesting difference between the book’s instructions and my development environment appeared when adding an image to the report. The book has us entering the URL for the image directly into a text box, but (at least in BIRT 2.2.2 on my machine), the text box was read-only. I had to open the Expression Builder and enter the URL text there. This was confusing because it seems (according the dialog’s appearance) that you should be able to enter text directly, but in fact it doesn’t work. Anyway, these minor deviations caused me to explore BIRT more, and I quickly understood the options the Palette provides.
After chapter four, the “quick start” feeling fades and the chapters get into more detail. Chapter five covers various ways of working with data sources, and this gives a key insight into the potential of BIRT. Because BIRT has a good assortment of data sources available (for example: databases, XML files, flat files, web services), you can easily imagine aggregating these for business intelligence scenarios. Without going into a lot of detail (and chapter five does cover a lot of ground), by the end of the chapter you will have seen many features provided by BIRT data access through the Open Data Access (ODA) layer. My only concern about the chapter is that, at over forty pages and a lot of material, perhaps it would have been better broken into a couple of separate chapters (maybe one extended example using databases, then another chapter skimming the other data sources?).
The first five chapters cover about one-third of the books length. Introductory material is crucial, since readers will not persist to later chapters if the early learning curve is too steep. My experience was very good: in a few relatively short chapters, I was able to learn enough about BIRT to create some really basic reports, and I felt ready to continue on to the later chapters. In future posts, I’ll discuss my experiences with the rest of the book.