Altova MissionKit 2008 for Enterprise Software Architects
A Comprehensive Collection of XML Tools
By Mike Riley
I have been reviewing and using Altova products for years, starting with the company s flagship product, XML Spy. Over time, Altova has expanded both the feature set in XML Spy and the company s product line. The company s product catalog has swelled to eight commercial offerings, all centered on XML development and interaction, with some of their applications having stronger affinity to that theme than others. Licensing the entire catalog would certainly appeal to those developers whose projects swim in XML. However, if one were to purchase each of these tools separately, the combined cost is nearly four thousand dollars!
Seeing this as a progressive marketing opportunity, Altova has opted to bundle their entire commercially licensed software catalog under the MissionKit for Software Architects suite. By doing so, they have effectively made MissionKit the most cost-effective way to buy the latest releases of XML Spy and MapForce together, as MissionKit costs less than the total cost of just those two applications combined.
In addition to the enterprise editions of XML Spy 2008 and MapForce 2008, the MissionKit for Software Architects suite also includes enterprise editions of StyleVision 2008 and UModel 2008, as well as DatabaseSpy 2008, DiffDog 2008, SchemaAgent 2008, and SemanticWorks 2008 (Altova also offers Altova MissionKit 2008 for Professional Software Architects).
Although the download and setup of the MissionKit is coordinated via a single file, this is simply a wrapper for the eight separate, standalone programs it installs. A separate license key is provided for each of the applications, making the initial execution of each tool come to a screeching halt until the user name, company, and license key for that specific program is correctly entered. Altova should have been able to combine the license keys to propagate across the entire suite, or, at the very least, supply a screen where all the license keys can be entered in a single dialog box. Thankfully, this inconvenience is only encountered once, but it nevertheless imparts a feeling of a disconnected experience, placing an annoying burden of redundant license authorization on the customer. This licensing step took longer than the actual software installation of the suite a problem that hopefully will be addressed in future Altova bundles.
XML Spy 2008 Enterprise Edition
This is the program that started it all for Altova, and the 2008 release retains its king-of-the-XML-tool-category ranking. In addition to the many features XML Spy has amassed over the years (see my review of the 2004 version at http://www.aspnetpro.com/productreviews/2004/01/asp200401rm_p/asp200401rm_p.asp), this latest edition packs in a number of improvements that justify its purchase independent of its MissionKit inclusion. As the flagship title of the Altova line, it also is by far the most complex program with the steepest learning curve in the MissionKit collection. Although the interface is fairly intuitive, it also is loaded with window panes and tabs, toolbars, and many menu items that lead to more dialog boxes with which to interact and understand. I have been using XML Spy on and off for years and occasionally I still have to re-orient myself when switching between it and other code-editing environments.
Figure 1: XML Spy 2008 continues to reign supreme as Altova s flagship product. It remains one of the most sophisticated, feature-rich XML creation and editing tools available today.
This latest release of XML Spy sports a number of improvements, with one of the most welcome being the ability to work on very large XML documents. Altova has reworked its memory management approach and claims a reduction of up to 80% usage compared to the previous version. I didn t notice that dramatic of a footprint reduction, but I did notice the application was generally better behaved and seemed more responsive, especially with large XML files.
Another addition of special interest to developers working with Office 2007 s new document formats is XML Spy s full support of the Office Open XML (OOXML) formats, allowing developers to both create and interrogate Office 2007 XML-generated file types.
Naturally, the vast array of other XML formats that have accumulated over the years continues to be supported, such as XQuery, SOAP, VoiceXML, MathML, and the various versions of XPath and XSLT. Also available as separate, but free, downloads are extensions that allow the XML Spy environment to be integrated within Visual Studio, or, for Java developers, the Eclipse IDE. While I personally prefer working in the standalone application, the choice is there for those who prefer their tools under a single interface. In addition to XML Spy, both MapForce and the enterprise edition of UModel 2008 also have such plug-ins to integrate these applications under a Visual Studio or Eclipse umbrella.
Other highlights I found valuable in XML Spy are the RDBM s relational mapping, XML Schema generation, and querying support for all the major databases (including SQL Server, Oracle, and DB2 MySQL). Setting up a connection, performing a query, importing and exporting data, and generating the schema are all relatively easy to perform.
With literally hundreds of features in XML Spy, it s a challenge to limit the discussion of this product to only a few paragraphs. But space is at a premium, and there are still seven other applications to explore.
MapForce 2008 Enterprise Edition
The database support in XML Spy is adequate for generating infrequently changing schemas to standard database definitions, but when more heavy lifting is involved and data needs to be mapped across multiple types and transforms, MapForce is the right tool for the job. New features in this release include deeper support for database constructs (SQL SELET statements and inline primary/foreign key creation), Visual Studio 2008 project file type generation, the SOAP 1.2 standard, and more.
The real power of MapForce lies in its ability to auto-generate C++, C#, and Java code using any number of file type combinations for application integration of data transformations. These can be standard XML flat files, X12 EDI messages, Web services, and yes, even Microsoft Excel 2007 OOXML documents.
Figure 2: MapForce 2008 allows developers to visually connect XML relationships to other data sources, such as SQL Server databases.
Although the program also has a variety of options from which to choose, it s easier to learn, in part, because of its focus on data transforms. MapForce exemplifies the theme of specific focus that the other MissionKit applications demonstrate (with DiffDog being the simplest and most straightforward tool of the bunch). In other words, while XML Spy can be used to facilitate data mapping, MapForce is the optimal tool to use for such a requirement. Consequently, it s the choice program for sophisticated transforms and database interactions, ranging from applying various functions like mathematical or string conversions between sources to applying Boolean if/else conditions and true/false filters. As a standalone product, MapForce is a powerful data integration mapping tool I found it to be one of the most remarkable applications in the package.
StyleVision 2008 Enterprise Edition
XML documents in and of themselves are not that interesting to end users. It is what they get transformed into that make them worth their construction and adherence effort. StyleVision helps developers and designers create drag-and-drop XSLT interfaces that can be used to generate multiple output types, including HTML, RTF, Word 2007, and (with the help of XSL:FO) PDF generation. Database-driven publishing also can be performed with the help of StyleVision s Database Connection Wizard. After the connection is made and queries are submitted, results can be visually mapped to fields for database report generation needs. Because StyleVision supports the XPath 2.0 specification, XPath expressions can be validated easily via the built-in XPath editor.
Figure 3: StyleVision 2008 is a partial WYSIWYG XSLT and XSL:FO editor that works in close conjunction with XML Spy-authored XML documents.
Unfortunately, the program still has nowhere near the ease of design compared to that of a solid Web user interface creation tool like Adobe s Dreamweaver. The mega-sized tag representations harken back to the days of the old HoTMetaL editor. Some of my peers actually preferred those big tags. I m not one of those fans, and can only continue to hope that Altova provides an alternative design surface for people who prefer to work with an uncluttered workspace with design and data entry processes that are as intuitive as a word processor.
UModel 2008 Enterprise Edition
Of all the applications in the MissionKit bundle, UModel is the furthest from the core XML theme. Sure, it can generate XML in the form of the XMI 2.1 standard for importation of generated model diagrams into other Model Driven Architecture (MDA) tools, as well as create and export XML Schemas based on the UML defined structure, but it is mainly a UML modeling utility and a feature-rich and relatively inexpensive one, at that.
UModel supports the creation of all 13 UML 2.1.1 standard diagram types, and it can be used to export and reverse engineer C#, Visual Basic, and Java code to and from the diagram definitions. Object dependencies and relationships can be easily discovered via the Show Associations and Show Dependencies menu selections. Exported code can be maintained via UModel s round-trip synchronization. UModel also can diagram and export XSD and XML Schemas, making foreign XML designs much easier to visualize and manipulate. The program also can output diagrams in HTML, Word, and RTF for documentation needs.
Figure 4: UModel 2008 is a UML modeling toolkit that supports all the UML diagram standards, as well as Java, C#, or VB.NET code generation and reverse code-to-model engineering.
Creating diagrams is as simple as selecting the type of diagram from the Diagram Tree pane, dragging and dropping elements from the context-aware toolbars, and editing the element attributes via the Properties pane. Depending on the model type, additional functions are available, such as the ability to easily define overridden methods in a Class diagram. Elements can be selectively styled to help de-clutter the design window, which is especially useful when working with reverse-engineered code and cleaning up diagrams so they re not so verbose. Additionally, diagrams can have selectively visible layers to further drill down into object details. As mentioned earlier, UModel is one of the MissionKit applications via a free plug-in download that can be hosted inside Visual Studio or Eclipse. This works better than the other integration plug-ins because of the tight association with application development and code synchronization.
For a more in-depth review, visit http://www.aspnetpro.com/productreviews/2006/12/asp200612mr_p/asp200612mr_p.asp for my praise and criticism of the previously released 2006 edition of the program. Several improvements have been made to later editions of the utility, most notably the aforementioned inclusion of VB code support and the IDE integration plug-ins.
DatabaseSpy and DiffDog 2008
Like UModel, DatabaseSpy goes beyond the realm of XML design, but because of the extensive database support in XML Spy, MapForce, and StyleVision, it makes sense to have a comprehensive, easy to use management interface that can work with all the RDBMSes those programs support.
Like SQL Server Studio, MySQL Query Browser, and similar such interface tools from Oracle and IBM for their respective database products, DatabaseSpy displays a familiar table view, query browser, stored procedure views, and more. It also supports a SQL editor with syntax highlighting and auto-completion, and can refactor SQL to clean up code comments, add/remove semicolons and quotation identifiers, and reformat syntax to improve readability.
Naturally, it wouldn t be an Altova product if it didn t support XML. Depending on the data source, DatabaseSpy automatically adapts to the capabilities of databases that support XML storage (which include newer versions of all the major RDBMSes). Just as database tables can be browsed, so too can XML Schemas and datatypes. DatabaseSpy s optimal use case is for when you are designing databases specifically for XML storage, which is why its inclusion in the MissionKit suite is so valuable and welcome.
DiffDog is a straightforward file system difference and merging utility. Its power is appreciated when watching it quickly traverse a directory filled with hundreds of files to sniff out the files you have. Yes, many source code management systems support such functionality, but the overhead associated with placing vast numbers of files into a revision system can get unwieldy, especially if these files change on a frequent basis. Plus, with DiffDog s optimization for XML display, identifying changes in DiffDog s side-by-side tree-friendly TextView or GridView panes is much easier to work with than a basic text editing interface used in many diff utilities.
SchemaAgent and SemanticWorks 2008
As XML file repositories grow, keeping track of not only the files but the relationship between file definition types becomes a management nightmare. Fortunately, Altova identified this pain point and created SchemaAgent to specifically address this problem. Users simply target files in their XML project s search path (even when these files are distributed across networked machines) and SchemaAgent does the rest. Files are gathered and displayed on the Explorer pane.
Dragging a file on to the design surface automatically identifies its relationship with other files existing in the design window. Because the files are parsed in advance, these relationships are meaningful identifiers to specific schema and XML elements within the files. File types can range from various XML files (including WSDLs, XSDs, and XSLTs) to MapForce-generated design files. SchemaAgent s graphical view makes file relationship management so much easier than manually keeping track of these associations. It also provides live documentation updates by reflecting any context changes in the view, as well as creating new relationships via simple drag-and-drop editing. Also much appreciated is SchemaAgent s ability to work simultaneously with XML Spy for real-time updating of file relationship visualization.
Figure 5: SchemaAgent 2008 provides a clean interface to easily construct, evaluate, and modify XML schemas.
SemanticWorks is a cutting-edge tool for the cutting-edge Semantic Web. Although its functionality is laser focused on creating and editing Resource Description Framework (RDF) schemas and vocabularies, as well as Web Ontology Language (OWL) files, its first mover advantage in this evolving machine-to-machine conversational Web approach makes creating such structures much easier than using XML editors without SemanticWorks optimizations. Creating new RDF/OWL files in SemanticWorks involves working with the Classes, Properties, Instances, allDifferent, and Ontology tabs, combined with the visualization palette to quickly author, import, or export to RDF/XML and N-Triples files.
Figure 6: SemanticWorks 2008, one of the newest tools in the Altova catalog, assists developers with the creation of RDF and OWL documents for output to RDF/XML or N-Triples formats.
For those who have yet to grasp what is meant by the Semantic Web, Altova has a helpful write-up about the subject on their Web site at http://www.altova.com/semantic_web.html.
The MissionKit is a serious toolkit for serious XML developers; it covers nearly every aspect of XML creation, interrogation, integration, and testing. Though the commercial license cost isn t inexpensive, it s also not exorbitant considering the number of polished, mature applications with which it comes bundled.
For those readers who may be interested in seeing the products in action, Altova has posted screencasts of several of their more popular products, including XML Spy, MapForce, and UModel. These Flash-based demos can be viewed at http://www.altova.com/videos.asp. For those ready to take the next step and try before buying, a free 30-day trial can be downloaded from http://www.altova.com/download/missionkit/software_development_tools_enterprise.html.
Even though there is a lot to learn, and even more to perfect, most developers familiar with XML should be able to assess all these products within a few days. In fact, I would advise those who may initially only be interested in test driving XML Spy to download the MissionKit trial anyway to have an opportunity to see how that product s shortcomings are addressed in other tools included in the package.
I remain impressed by what Altova has been able to amass over the years, as well as the depth of expertise its codified interfaces can deliver to its active customers. MissionKit may be overkill for those developers who dabble infrequently with XML schemas and transformations. This segment will continue to do just fine using inexpensive, and even free, alternatives like XML Notepad. However, for those whose job s success depends on the XML implementations they create and manage, MissionKit is one of the most comprehensive collections of XML tools that will catalyze success.
Mike Riley is an advanced computing professional specializing in emerging technologies and new development trends. He also is a contributing editor for asp.netPRO. Readers may contact Mike at mailto:[email protected].