Windward Reports 3.0
Is This Report-generation Product Right for You?
By Mike Riley
Windward Reports 3.0 from Windward Studios is a J2EE-based RTF and XML merge engine that leverages the easy page layout functionality of Microsoft Word and the flexibility of the various document-rendering libraries available throughout the Java community, as well as Windward Studios proprietary contributions. Report templates are created by marking areas containing the desired output data with < wr:> tags, with the <wr:out/> tag being the most frequently used tag for value output. When executed against the Windward Reports server, these tags are populated with the appropriate values from the SQL or XML data source. The merged report can be output into HTML, PDF, RTF, or TXT format. In addition to the literal field names and XML tag identifiers, the < wr:> tag can also contain conditional statements and iterative loops (<wr:forEach>, etc.), as well as JDBC-accessible SQL and XPath statements, extending the capability of the <wr:> tag beyond placeholder identifiers. Essentially, the product takes advantage of what help-documentation authors have known for years: It s much easier to use the rich, yet easy to use, design features of Microsoft Word than having to relearn how to apply these same design rules in a foreign standalone application geared toward developers rather than end users.
Because the server engine is entirely Java-based, system administrators unfamiliar with the paths and property file dependencies often associated with Java configurations will need to follow the documentation carefully. Note that the license key for the product must be manually pasted into the WindwardReports.properties file for the product to work. Once configured, testing the installation with the command line string java net.windward.xmlreport.RunReport order.xml template.rtf report.htm should generate an HTML report from the merged XML data file and RTF template. However, it took me a few tries to finally configure all the property settings and jar file dependencies to run the application successfully. The Windward Reports server requires a JVM of 1.4 or higher and the Java client requires 1.3 or higher. Once properly configured, an instance of the server can be created via java net.windward.xmlreport.server.ReportServer with two additional, optional parameters for the name/location of the properties file and the desired port number on which the server should be listening (port 1707 is used as the default).
Although the product advertises itself as a J2EE/.NET solution, only the client is offered in the two language sets, with the .NET client contained within the WindwardReports.dll assembly. The .NET client requires the .NET 1.1 Framework and, unlike the Java client or server, does not require additional libraries to be installed and configured to work with the Windward Reports server. Because the primary purpose of the client is to transport the data and template to the server for processing, and then receive the resulting file output, programming a .NET client to communicate with the Windward Reports server is straightforward, and the product ships with a single C# demonstration on how to do this. Unfortunately, because the product is so heavily focused on the Java language, the other 12 examples included in the product do not have a .NET equivalent. The product s Programmer s Guide is also primarily geared toward the Java developer, with barely a page of the 26-page guide generically expended on the .NET client. And while the product is designed to work with Java application servers to generate reports from a Web-based platform, no ASP.NET integration is readily apparent, limiting its Web serving functionality to a JSP-oriented market.
To facilitate the tagging of the RTF file within Microsoft Word, Windward Studios has also created a separate COM-based AutoTag library. Although compatible with Word XP, the add-in is best suited for use within Microsoft Word 2003 or higher. This add-in not only helps with tag placement and identification, but also is invaluable for its tag syntax validation feature. To see how the tag (and the product in general) works in action, view the six-minute Windward Reports Flash-enabled demonstration at http://www.windwarddownloads.net/AutoTagSummary.html.
Overall, although the product does deliver what it advertises and makes the process of designing report templates easier than other report-generation packages, its Java-centric nature may be inappropriate for .NET-exclusive development and deployment environments. Additionally, many third-party report and multi-document generation server-side components already flourish in the .NET marketplace. As such, the product s primary draw of a Word-centric report design surface may appeal to a limited subset of .NET shops that are even further constrained by the necessity of running the latest version of Microsoft Word to truly leverage the power that Windward Reports provides. Perhaps if Windward Studios re-engineers their server into a native .NET product with a friendly front-end property configuration utility, the product may become more appropriate and interesting to .NET developers. Until then, it is a product that Java-centric environments will appreciate more than their .NET counterparts.
Mike Riley is an advanced computing professional specializing in emerging technologies and new development trends. Readers may contact him at mailto:[email protected].
Web Site: http://www.windwardreports.com
Price: Single-developer version, US$179; unlimited production edition, US$1,795.