Welcome!

SOA & WOA Authors: Jeremy Geelan, Kevin Jackson, Maureen O'Gara, John Savageau, Greg Ness

Related Topics: XML, SOA & WOA

XML: Article

Product Review: Altova Enterprise Suite 2005

XML development is a term that can mean many things to many different people

XML development is a term that can mean many things to many different people. For some, it is the modeling and creation of XML Schemas and instance documents used to exchange data. Others see it as a part of the larger effort of developing Web services. Still others view it as a means to transform and integrate systems whose data structures and definitions are proprietary. All of these types of development require various skills and tools.

Altova's suite of XML tools provides functionality for essentially all forms of XML development. The suite includes core Schema and instance document development support, Web services development support, data transformation and integration support, and finally, presentation support. The products available in the suite include:
  • XMLSpy
  • MapForce
  • StyleVision
  • SchemaAgent
  • Authentic
  • DiffDog
This review will discuss XMLSpy, MapForce, and StyleVision.

XMLSpy
XMLSpy is the core of the enterprise suite from Altova. It provides all of the tools necessary to design, develop, edit, and transform XML documents and schemas. It also supports XML database technologies, Web services, and provides code generation capabilities for the Java, C#, and C++ programming languages.

The first things developers will notice in this iteration of XMLSpy are the simple but effective updates to the UI. For example, the text mode of the application is now collapsible by element in order to more easily manage large documents. Another nice change is the addition of an auto-hide capability to the Project, Info, Elements, Attributes, and Entities panels, providing a more efficient use of screen real estate.

Modeling and Editing XML and XML Schema
XML Schema modeling in XMLSpy is mainly done in a graphical editor as shown in Figure 1. In this view, schema elements are represented as nodes of a tree structure. In the example shown, the PropertiesConfigType is a global Complex Type structure that contains a sequence of repeating Property nodes. The graphical editor also supports visualization of advanced schema objects such as keys (shown), unique constraints, and key refs.

The Details panel in Figure 1 provides access to the lower-level properties of the selected node such as type, cardinality, and reference information, among other characteristics.

Once the XML Schema is modeled, the document may be validated against the latest W3C XML Schema specification simply by clicking the validate button on the toolbar. Documents are also validated when saved. If any errors exist, they are presented to the developer to correct.

XML instance documents are modified in the Text and Grid views. The Text view is the standard text editor within XMLSpy, providing text folding capabilities, autocomplete, and syntax highlighting.

The Grid view is useful for working with documents that contain repeating elements, such as the Properties node in the example above. In this view, XML is rendered in a table format that allows developers to view documents in rows and columns.

Instance documents are similar to XML Schemas and may be validated if a schema is defined in the schemaLocation attribute of the root element, or if the DTD is defined in the DOCTYPE node. Developers may then validate the document either by clicking the validate button in the toolbar or saving the instance document. Any errors are presented on screen.

XMLSpy and Web Services
XMLSpy is also an effective tool for the Web services developer. It provides full support for the latest WSDL and SOAP specifications, allowing it to both model and invoke Web services.

Modeling Web services, as with schemas, is mainly done in a graphical editor. The editor is logically broken into the main components of a WSDL document: Operations, PortTypes, Bindings, and Services. Each component allows a developer to graphically define and update the relevant properties. For example, adding input, output, and fault messages to an operation is as simple as selecting from a context menu and defining the message parts.

XMLSpy may also serve as both a SOAP client and debugger. To act as a client, the WSDL of the service to be called is simply identified and a SOAP document is generated. Once the parameters of the call are set, the document may be sent to the service and the results are displayed. This capability is extremely useful for testing and debugging Web service applications.

When acting as a SOAP debugger, XMLSpy becomes a proxy between the Web service client and the Web service itself. It provides the capability of establishing breakpoints within a SOAP document based on function calls or XPath query statements. Intercepted documents may be inspected and modified before they are forwarded to the service. Service results are then passed back to XMLSpy for inspection and/or modification before reaching the client.

MapForce
Altova's MapForce product is a data mapping and integration tool that provides transformation capabilities for a number of different formats, including XML, flat file, database, and EDI. Like its XMLSpy counterpart, it supports the latest working drafts of XSLT 2.0 and XPath 2.0. The tool may be used to create one-time data conversion mappings, or it can output Java, C#, and C++ code for integration into standard data exchange interfaces.

More Stories By Brian Barbash

Brian R. Barbash is the product review editor for Web Services Journal. He is a senior consultant and technical architect for Envision Consulting, a unit of IMS Health, providing management consulting and systems integration that focuses on contracting, pricing, and account management in the pharmaceutical industry.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Web Services Product Review 08/03/05 08:16:42 AM EDT

Product Review: Altova Enterprise Suite 2005
XML development is a term that can mean many things to many different people. For some, it is the modeling and creation of XML Schemas and instance documents used to exchange data. Others see it as a part of the larger effort of developing Web services. Still others view it as a means to transform and integrate systems whose data structures and definitions are proprietary. All of these types of development require various skills and tools.

XML Journal 08/02/05 10:00:42 PM EDT

Product Review: Altova Enterprise Suite 2005
XML development is a term that can mean many things to many different people. For some, it is the modeling and creation of XML Schemas and instance documents used to exchange data. Others see it as a part of the larger effort of developing Web services. Still others view it as a means to transform and integrate systems whose data structures and definitions are proprietary. All of these types of development require various skills and tools.

XML News Desk 08/02/05 04:37:02 PM EDT

Product Review: Altova Enterprise Suite 2005
XML development is a term that can mean many things to many different people. For some, it is the modeling and creation of XML Schemas and instance documents used to exchange data. Others see it as a part of the larger effort of developing Web services. Still others view it as a means to transform and integrate systems whose data structures and definitions are proprietary. All of these types of development require various skills and tools.