The first big question is of who can use the product. Jasper is not business-user friendly because it requires substantial developer knowledge/skill, but Windward is so easy to use that anyone can do it! As a follow up to that question, you might also ask of how easy it is to learn how to use the product. Well, there is no free documentation for Jasper, except for the very outdated online documentation, so it is difficult to learn how to use it without committing to it first. Windward provides great documentation and training videos to help new users save time - free of charge.Jasper's report designer is iReport, which delivers as a stand-alone Java application. iReport is excellent for working with JasperReports because otherwise you would have to write the XML report templates by hand. You are required to build a special report query for your report because that is the only way the report knows how to make the details band repeat (more on bands later). There isn't any substantial assistance with construction of the report query, so you must have a solid understanding of the query language (SQL most likely).
Jasper also makes heavy use of Java expressions, which means that you must also understand the programming language, Java.Windward's report designer is AutoTag, which delivers as an add-in for Microsoft Word. That means that you get to use the familiar Word interface as your report development environment. Windward does not use bands, so there's no need to create a report query - just select your data as necessary. No matter what kind of data source you use, Windward provides wizards to take the work out of constructing tags, which map data into the report.Jasper uses band-style layouts. This means that report templates are divided up into meaningful sections called bands. The main benefit of bands is that you don't have to mark blocks of your report as repeating - you just put them in the details section. The drawback is that in order to have reports in which more than one set of data repeatedly displays, you must create subreports and map them into the master report. Band-style layouts greatly reduce your control over the placement of report elements. Windward uses free-flow layouts. This means that report elements are placed wherever you want them to go in your template. The main drawback is that in order to have sections of your report repeat, you must mark them. This is a minor drawback though since 1) its more natural to think of creating your report in this way because people think sequentially, and 2) you gain maximum control over the placement of elements in your report template. Even if you're using iReport, Jasper's only means of incorporating simple text and images is to draw fields and fill them in - you have to do extra work just to include regular text and images!
On the other hand, mapping data into your report is very easy since you only have to insert the field, although, if you need to format that data or do a special calculation on it, you could end up having to use a full-blown Java expression. iReport assists you with some formatting and calculations, but not all. Adding regular text and images to your template is trivial with Windward because it is all done in Word. Mapping data into your report is also very easy, just insert a tag. If you need to format the tag, you can set the tag attributes in the tag editor, or you can just format it using Word's formatting features.Grouping data in iReport isn't very hard, but it does require the use of an extra element and it requires extra adjustments to be made to the report query. If you want to group your customers by country, then you just need to create a group element, set its expression to the country field, and make sure that your query sorts the customers by country. However, when you decide that you want to start nesting groups, this becomes more and more cumbersome. You'll have to add a new group element for each group level, and then you'll have to make sure that the data is sorted by each group expression, from the innermost group to the outermost group in your report query. It can be difficult to see if you made a mistake in the query because your report will still output all of the records, but it won't do it the way you wanted it to. Also, if you decide that you want to change the order in which the groups are nested, you'll have to reset the expression for each of the groups involved, and then you'll have to adjust the report query as well.
Why do all of that extra work when you can use standard Windward features? All you would have to do with your Windward template is to use the ForEach tag, which also happens to be the tag that you use to make a repeating set of elements - it's a common tag that you use all of the time! Jasper enables you to print pieces of your report based on certain conditions that you choose by setting the printWhenExpression value for a particular element. That sounds pretty easy! But don't forget - that's a Java expression you have to write. If you want a piece of your report to be hidden under certain conditions, you can just mark it with Windward's If tag. It's as simple as that.With Windward, setting report parameters is easy. Just include a map. Compared to Windward, Jasper's parameters are a pain. Create a parameter element, set its initial value expression, set its name, and set its Java data type - too much trouble.
Creating hyperlinks is easy to do in both Jasper and Windward. With Jasper, you can set the hyperlink expression and what kind of hyperlink it is. Windward's hyperlinks are even easier. If you just want a static hyperlink (www.WindwardReports.com), Word usually turns your text into one automatically, or you can use Word's insert hyperlink feature. If you want a hyperlink that comes from your data source, just use the Link tag. Makes perfect sense doesn't it? It also makes sense to support a few other HTML features. Windward does. Jasper does not.
Both Windward and Jasper allow you to include a subreport, and better yet, they let you include subreports within subreports within - well, you get the idea - but Jasper wins on this feature. While it is more difficult to create a subreport element in Jasper, you get the added benefit of being able to link subreports to their parent report. One interesting thing about subreports in Jasper is that they are the only way to include multiple data sources, so make sure you know how to use them. The truth is that you only get one data source per report, but if you use subreports that have different data sources, then your final report ends up getting data from multiple sources. As reporting software should, Windward allows you to include multiple data sources in a single report. It's much more efficient using one report with multiple data sources than jumping around between reports and having to link them all together.
Windward's new chart building features are awesome! You get to use the wizards, drag & drop data selection, and you get to preview the chart as you adjust all of its properties. You can even add other graphs to the chart with the click of a button! Jasper has a large selection of graphs, which can include hyperlinks to other parts of your report to simulate drill-down. The chart will only graph data that has already been displayed in the report, so it always has to go at the bottom of your report or whatever list of data it is summarizing. As things stand right now, it's not possible to build a cross-tab in Windward, and it will take you a great deal of effort to even simulate one. Jasper on the other hand does include cross-tabs. Building cross-tabs can be very difficult if you're doing it without iReport, but with iReport, it's absolutely easy! Jasper definitely makes a capable reporting solution. With it, you can create any kind of report you want, no matter how advanced. Generally though, Windward beats Jasper feature by feature, and when it comes to ease of use, and easy to learn, Jasper isn't even a competitor.