PDF version of this report
You must have Adobe Acrobat reader to view, save, or print PDF files. The reader
is available for free
download.
XML Development Tools
Market Trends
Copyright 2018, Faulkner Information Services. All Rights Reserved.
Docid: 00018397
Publication Date: 1806
Report Type: MARKET
Preview
Increasingly, mainstream development tools provide native
support for XML. There are still some specialized products used in
cutting-edge applications, however, and some facets of the technology
that must be considered when choosing a tool. This report looks at the
history and current state of the XML development tool marketplace.
Report Contents:
- Executive Summary
- Market
Dynamics - Market
Leaders - Market
Trends - Strategic
Planning Implications - Web Links
Related
Reports
Executive Summary
[return to top of this
report]
Since the World Wide Web Consortium
(W3C) first released the base specifications for XML 1.0, there has
been widespread interest in the Web-based standard.
Related Faulkner Reports |
XML Development Tools Tutorial |
With
standards-based development tools now a commodity item, the XML market
has fragmented with hundreds of smaller vendors delivering development
tools that they claim are the market leaders. Large
software developers also stepped up with
their own development tools and additions to existing products that support and
use XML. IBM, Oracle, and Microsoft each released kits for
developing XML applications with proprietary technologies, and each are
lending support to initiatives establishing XML standards across
industries. Meanwhile, a number of smaller companies have begun
focusing exclusively on XML development tools for content delivery,
systems integration, and B2B collaboration.
Market Dynamics
[return to top of this report]
XML is a standard used to define the structure of data within a document. Unlike HTML, which is a markup
language for presentation, XML is a language for creating markup
languages that describe structured data. The language has no defined
rules for presentation except those developed to use data stored in an
XML document. As a result, several specifications have been added to
define special XML applications. For example, XSL was developed to
define the use of stylesheets for viewing XML documents in a Web
browser and XML Linking Language (XLink) was created to allow
hyperlinks to be inserted into XML documents. While these are
relatively simple applications used primarily for Web-based content
display, there is a push for industry-specific XML applications that
could facilitate enterprise communications and collaboration both
internally and externally.
XML has now gained widespread acceptance
in the business world. There are three main reasons:
- Open Standards –
XML can be
used with virtually any operating system, and it integrates well
with both back-end and front-end systems. - Usability –
XML is simpler to
learn than many programming languages such as C++ and Java. Its
flexible structure also makes XML relatively easy to implement. - Flexibility –
XML can be used
to build a number of applications and to perform a variety of
tasks.
XML may be used for a number of purposes
in the internal operations of an enterprise and in its dealings with
clients and other businesses. Currently, there are three main
categories of XML development: Content delivery, systems integration,
and B2B collaboration.
Content Delivery
By
separating the content of a document from its formatting, XML enables
the same content to be reused in multiple documents. This makes it
easier to keep information accurate, up to date, and consistent
throughout an organization. For example, product information can be
used in marketing, development, training, and user documentation
without having to be rewritten separately for each of these purposes.
Conversely, preserving formats allows high-volume document creation to
be automated. Invoices, financial statements, and monthly reports all
use the same document formats, for example, but contain different
information.
Systems Integration
XML provides
a freely available, cross-platform method for sharing data. It allows
metadata to be re-used and re-purposed by several applications at once,
making it an ideal middleware component for communicating detailed
information across several different types of applications. While
businesses used to rely on enterprise application integration (EAI)
frameworks to provide hand-coded, point-to-point integration between
their various ERP, CRM, and supply-chain applications, XML provides a
data interchange solution that can make information available across
several different platforms at once. The implementation would therefore
result in significant cost savings when deploying and maintaining a
system to integrate data across applications. The relatively low cost
of XML development and deployment could cut costs at the outset, while
the technology’s data interchange standard makes it fairly immune to
application and systems upgrades that would normally mean the complete
re-tooling of an EAI framework.
Business-to-Business Collaboration
For the same reasons that XML is being increasingly used in enterprise systems
integrations, the standard provides a comprehensive tool for
business-to-business collaboration. Whether companies are working
together on a new technology or simply exchanging supply chain or
inventory information, XML can be used to share structured data between
vendors without implementing costly proprietary integration systems.
Before XML, business partners were often limited by the functionality
of middleware used to connect their companies, and sometimes had to
install a different integration tool for communications with each
partner’s systems. In contrast, XML provides a one-size-fits-all
solution that allows companies to share data with all of its partners,
without having to install separate conduits to communicate with
each.
Market Leaders
[return to top of this
report]
Many companies have stepped forward to
meet the demand for XML development tools. Tools are focused in several
areas including IDE development environments dedicated to XML,
middle-tier tools in other more general purpose IDEs, and tools at the
database level. In addition, it is possible to do XML
development using a standard text editor, however it does require more
skill, and is more error-prone.
Dedicated
XML IDEs
There are two companies that stand out from the crowd supplying dedicated XML development tools. Altova provides a suite of products dedicated to XML development, and
StylusStudio, part of the XML Business Group of Progress Software Corp.,
provides a full-featured XML IDE.
Altova MissionKit. The Altova
MissionKit is a suite of products that provides tools for creating and
editing XML documents and XSL stylesheets, and tools for integrating
XML, EDI, databases, XBRL, Excel, Web services, and flat files. The
current version includes support for OpenXML files, such as those in
Microsoft Office 2007 and higher, and is offered in separate versions for
developers and software architects.
XMLSpy 2018 R2
is Altova’s flagship product. XMLSpy is a complete XML programming
environment with advanced editing capabilities and can also generate
C++, C# and Java classes based on data items in the schema, to allow for
easy programmatic access to XML data from your applications. XMLSpy
supports the latest industry standards, including XML, DTD, XML Schema,
XSLT 1.0, 2.0 and 3.0, XPath 1.0, 2.0, and 3.1, HTML5, OOXML, CSS3, and
XQuery, as well as SOAP and WSDL for Web services development, and has XBRL certification from XBRL International.
It
features a Java API and SQLite support, and contains Altova’s patented SmartFix error correction
XMLSpy includes the following:
- Support for XInclude and
XPointer - Evaluation and viewing of the
resolution of XPath expressions across multiple files - Java, C# and C++ code generation
from XML schemas - Support for editing of database data
in the database query window - An XML Schema editor
- The SchemaAgent for managing complex
schemas in workgroups while maintaining standards
compliance - XSLT 2.0 and 3.0 and an XSLT
debugger - Implementation of XPath 2.0 and 3.0 and an
XPath debugger - XQuery editor and
debugger - Graphical WSDL editor and SOAP client
and debugger - WSDL 2.0 editing and conversion
- Visual Studio 2017 integration
- Eclipse 4.7 integration
- Integration of RaptorXML
- Support for more databases, including SQL Server 2016,
PostgreSQL, DB2 9.5 through 10.5, Informix 11.7, MySQL 5.7,
Sybase ASE 16, Access 2010 and 2013, Firebird
2.5, IBM DB2 pureXML, Oracle XML DB, SQL Server XML database,
Progress OpenEdge, ADO .NET drivers, Microsoft Access 2003 – 2013, AzureSQL, SQLite 3.x, Teradata 16,
MariaDB 10, Oracle 9i – 12c - SharePoint server support
- Chart creation
- .NET 4.0 scripting
- JDBC database drivers
- JSON editor and JSON XML converter
- 64 bit support
- XML schema to JSON schema converter
- Integrated XPath/XQuery debugger
- Apache Avro support
- Windows Server 2016 support
- JSON5 support
- JSON Schema extras for Azure Resource Manager
- XSLT and XQuery back-mapping
- Support for processing JSON with XSLT, XPath and XQuery
- Support for editing XSLT value templates
- Support for FOP 2.2
- Code generation support for Visual Studio 2013, 2015, and 2017
- Support for XML Signatures 1.1
- Support for XBRL Versioning 1.0
- Improved XSLT engine
XMLSpy is tightly integrated with Microsoft
Visual Studio 2005 and up, J2EE, and Eclipse so that developers can
easily access and manipulate XML in these environments. Additional
integration is available through an ActiveX control. The company has
also released RaptorXML, an XML standards-based cross-platform processor
that developers can download and use, royalty-free, in their own
applications. It contains XSLT 1.0, 2.0
and 3.0 engines, XQuery 1.0 and 3.1
engines, an XBRL validating engine,
JSON and Avro validation, validation of EDGAR filing documents, and an XML validating
parser.
There is a free trial available.
Altova also offers StyleVision, a full featured
XSLT designer; Authentic, an electronic forms editor for enterprise XML
solutions; SchemaAgent, a tool for visual design and management of
relationships of XML, XSD, XSLT, and WSDL files across projects; and MapForce, a powerful visual tool to map XML to flat
files or EDI data.
Stylus Studio. Like XMLSpy, Stylus Studio
provides a fully featured XML editing and programming
environment. Stylus Studio supports all the XML standards and many
emerging ones and has advanced GUI tools for editing information.
It also offers a free trial. Stylus Studio includes the following:
- Numerous synchronized, visual XML
editing views: Sense:X (Intelligent XML Editing), Integrated
Validator, and XML differencing. - XSLT development support, including
XSLT debugging, XSLT mapping, XSLT profiling, visual HTML-to-XSLT
stylesheet design, SXL:FO, and support for XSLT processors
including Saxon. - Support for visual
XQuery editing, XQuery mapping, and XQuery
debugging. - Support for visual
XML Schema editing, validation, XSD documentation generation, and
other XSD utilities. - A visual
DTD editor, integrated DTD validator, and other DTD generation
utilities. - Utilities for XPath 1.0/2.0, including XPath Evaluator, XPath
Expression Generator, and Sense:X for XPath (Intelligent XPath
Editing). - Support for Web
Service Development via a Web Service Call Composer, UDDI Registry
Browser, and other tools that make it easier to find, test, and use
Web Services. - Support for mapping
of data in one format to another using visual drag-and-drop
mappers, which include support for mapping to and from XML
documents and flat files. - Convert
to XML, a visual tool for extracting XML data from any file format
including CSV, tab separated, binary data files, EDI, or any other
flat format, as well as other data import/export utilities for
RDBMS, XML, and ADO. - The ability to create XML views
of relational databases and renders relational data as XML with
Stylus Studio 6’s SQL/XML
utilities. - XML-enabled Java applications using Stylus Studio’s JSP Editor and
an XML-Java debugger. - Stylus Studio to build XML-enabled Microsoft applications with MSXML,
Microsoft .NET XML (System.XML), and SQL Server 2000 and
2005. - XML Pipeline, for editing, debugging, and
deploying advanced XML data services, and XML Publisher for
creating enterprise publishing and content management
applications. - New tools in 2008 included C# code generation
for .NET, simplified Java code, a WSDL editor, support for
DataDirect XML converters, support for Saxon SA 9.0.0.1 processor
and large (gigabyte) file support. - New in 2009 were an XQuery mapper, EDI
to XML module enhancements, NCPDP and TRADACOMS EDI support, and
file explorer enhancements. - New for 2010 were XQuery code refactoring, import of
XQuery models, visual support for updating relational data
sources, support for XQuery API for Java (XQJ) 1.0, new
navigation features, improved XML converters, support for
SOAP 1.2, and the ability to use zip, jar, Microsoft Open
Office, and Open Document formats as data sources. - New for 2011 were XQuery and Web service tools, support
for MySQL and PostgreSQL, and Microsoft .NET code
generation. - New for 2012 were Saxon 9.3 support, XSLT 3.0 draft support, and
support for XPath 3.0 functions in the mapping tool. - New for 2013 were support for Windows 8, Internet Explorer 10, and
Java 1.7, plus real time visual HTML editing, inline CSS editing,
and a spell checker. - New for 2014 were support for XSLT 3.0, XPath 3.0, XQuery 3.0,
XML Schema 1.1, SQL Server 2012, Azure SQL, MySQL 5.5, Oracle
Advanced Security encryption and data integration, Apache FOP 1.1,
Internet Explorer 11, Windows 8.1, Java 1.8, and the ability to move
licenses from machine to machine. - New for 2015 were an HTML WYSIWYG editor tab, editor
enhancements, one click intelligent autolink for XSLT and XQuery
mapping tools, and support for Windows 8.1, IE 11, and Java 1.8. - New for 2016 were multicore execution
optimization, 64 bit support, a new SQL editor with connectivity to
SQL Server, Oracle, MySQL, and DB2, a new generic converter, the
latest Saxon release, and Windows 10 certification.
There have not been 2017 or 2018 releases; the current version is Stylus Studio X16.
Popular Development
IDEs
Microsoft Visual
Studio. Microsoft was one of
the first advocates of Web Services and distributed computing, and has
played an active role in creating XML development tools. In June 2000,
Microsoft unveiled Microsoft .NET, touting it as “a platform for Web
Services” that integrates existing Windows programming technologies
including Visual Basic, Active Server Pages, and ActiveX Data Objects
with XML standards. The company also co-developed SOAP and has been
active in the standards process for both WSDL and UDDI. Microsoft’s
SOAP toolkit has been available as a Visual Studio download since early
2001.
Visual Studio 2008 and higher has full XML/XSLT support,
includes support for XML Schema, and has robust support for creating
Web Services and the associated WSDL and UDDI documents. The Visual
Studio debugger can now be used on XSLT. Microsoft has its own XML
parser that differs slightly from Apache’s Xalan and Xerces
projects, but it can be faster on Microsoft
platforms.
The XML
editor includes the following functionality:
- Design
time well-formedness and validation errors - Validation support for Schema, DTD, and
XDR - Inferring
an XSD Schema from an XML instance - Converting a DTD or XDR to XSD
Schema - Context-sensitive Intellisense
- XSLT
editing, viewing the results of the transform - Extensible XML Snippet
library - Standard
Visual Studio code editing, such as outlining and commenting or
un-commenting
The XSLT
debugger comprises the following functionality:
- Invoking
the debugger from the XML Editor - The
ability to set and remove breakpoints - Standard
Visual Studio debugger function key and menu bindings (F9 for
setting/removing breakpoints, F11 for Step In, and so
on) - Viewing
the output of the transform as it is being
generated - Locals,
Watch, and Call stack windows - Stepping
into the XSLT from a C# (or any other CLR language)
program
Microsoft also offers a free
downloadable editor, XML Notepad 2007, with edit, search, schema
validation, Intellisense, HTML viewer, diff tool, and XInclude
support. It is no longer maintained. However the
company has released a free new lightweight code editor, Visual Studio
Code, that supports over 30 programming languages including XML.
IBM WebSphere
IBM has positioned itself to lead the drive for
XML-based e-business applications, integrating XML capabilities into
its existing products. The company co-developed the SOAP/UDDI stack
with Microsoft and has since used that framework to create tools
bringing Web service capabilities to e-business. In January 2002, IBM
unveiled new software tools designed to strengthen its Web services
offerings. These included the IBM Web Services Hosting Technology, a
group of management tools that allowed businesses to track and bill
customers for the use of Web services through subscription-based
models, and the Web Services Gateway, which provided security and
authentication functions for XML technologies.
IBM now offers a wide range of XML-based
products, and has included native support for XML in many applications.
In addition, IBM offers parsers, modeling tools, Java-based XML tools,
XSLT tools, an XML Security Suite, scripting tools, and forms packages.
There are over 50 products in all that relate to the development,
translation, editing, or parsing of XML.
Other
Tools
Several open source projects also
contain XML development tools, and commercial vendors have released
free and paid IDEs as well. For example, the Alchemist Freeware XML IDE
contains an XSLT debugger as well as a code generator for PHP, Java,
Python, C#, Delphi, PL/SQL, and other languages; an object inspector; and
support for Oracle and MySQL. Alchemist is still available on
download sites but appears to have been abandoned by its
publisher.
On SourceForge, one open source project
is the Butterfly XML IDE. Butterfly XML Editor is an IDE built on top
of a new real-time incremental XML parsing algorithm. The editor
features syntax and error highlighting, incremental validation, code
completion, XSLT pipelines, and side-by-side DOM and source viewing.
It was last updated in 2016.
The NetBeans IDE for Java also contains an XML module.
The <oXygen/> editor is a cross-platform XML development tool that can be
used standalone or as an Eclipse plugin. It supports all XML schema languages
and may be used with all XML-based technologies. The current version includes
an XML database, an XML IDE, intelligent XML editing, XProc pipelines and web
services, XML validation, XML schema modeling, XSL/XSLT support, XQuery support,
single source XML publishing, and more.
XMLmind XML Editor is a strictly validating near WYSIWYG
extensible editor that comes in commercial and free (for personal use) versions.
Databases
Oracle.
Oracle began the adoption of XML in its software in late 1999 with the
release of Oracle 8i. At the time, the product provided relatively
loose integration with XML, with content transformation taking place
externally from the database itself. Oracle followed by releasing XML
Developer’s Kits (XDK) containing applications for reading,
manipulating, and viewing XML documents. Hoping to support a number of
programming options, Oracle has made XDKs available for Java,
JavaBeans, C, C++, and PL/SQL standards. Oracle 9i, released in 2001,
provided tighter integration with XML standards including a number of
tools for processing XML content into and out of the product database.
In 2002, Oracle 9i Database Release 2 began to provide native-level XML
DB features allowing Oracle customers to separate data definition and
the physical storage of data for the first time. The Developers kits
for Oracle 9i offer Java support for XML.
In 2004, Oracle released the Oracle 10g database
and application server product lines. The products are designed with
the development of Web services in mind. Oracle JDeveloper 10g is the
basic Java development tool that is being used to create Web services
as well as database applications. 10g also supports XML as a native
datatype in the database and allows developers to freely mix
relational data with XML data without performance degradation. New in
10g is the concept of an XML repository that Oracle exposes as a
virtual file system accessible via FTP, WebDAV, and HTTP. XML documents
are stored as optimized relational data within the database, but
application developers can access these documents as if they exist on a
file system.
Oracle 11g provides a native XML storage and
retrieval technology, Oracle XML DB, absorbing the W3C XML data model
into the database and providing new standard access methods for
navigation and query.
Oracle 12c contains the Oracle XML Developer Kit, a bundled set of tools,
components, and utilities to ease the task of building and deploying XML-enabled
applications. The developer kit is also included with other Oracle products.
Oracle also sponsors the open source CAM XML editor project.
Microsoft SQL
Server. Microsoft SQL Server 2000 featured XML support using the
SQLXML extensions. It allowed developers to store and query XML from
the database as well as convert relational data to XML on the
fly.
SQL Server 2005 significantly expanded XML
support making it a native data type, and adding XQuery support plus
support for XML for Analysis Services (XMLA), a native, standards-based
protocol for communicating with the Analysis Services
server.
It also allows development of XML Web services in
the database tier, making SQL Server an HTTP listener. This provides a
new type of data access capability for applications that are
centralized around Web services. In SQL Server 2005, you can use HTTP
to access SQL Server directly without using a middle-tier listener such
as Microsoft Internet Information Services (IIS). SQL Server exposes a
Web service interface to allow the execution of SQL statements and
invocation of functions and procedures. Query results are returned in
XML format and can take advantage of the Visual Studio Web services
infrastructure.
SQL Server 2008 R2 carries on the strong focus on
XML, adding features such as Lax validation, new datatypes, and union
functionality for list types – all designed to provide greater
flexibility in defining XML schemas. SQL Server 2012 extends its data management to
the cloud. SQL Server 2014 reaches further into the cloud
and also offers an in-memory database, and SQL Server
2016 has XML support integrated into all components, with XML values
stored natively in XML data type columns, as does SQL
Server 2017.
Market Trends
[return to top of this report]
Many companies and governments have adopted XML as a standard for
content and data management, in fact, it is now required for EDGAR filings.
One of the reasons for this is that XML
provides rich metadata information, which is useful for enterprise-wide
document searches. In addition, XML’s ease of use and shortened
deployment time provide enterprises with an inexpensive means of
implementing simple, interoperable content management and data
interchange systems. XML’s commitment to standards and open-source
development have lent to its adoption as an across-the-board
tool for simplifying complex information storage and exchange across
platforms.
Also important will be the creation of applications for vertical
industries and the development of more powerful XML tools and processes.
While many organizations see some value in XML’s power as a data
interchange format that will allow them to communicate more easily with
employees, customers, and partners, more and more see XML at the heart
of a distributed computing network or even as a tool that could re-shape
the way some vertical industries work. The cost of deploying the
technology and the risks involved have scared a number of companies away
from the full promise of XML-based computing, but that fear is being
allayed by increasing mainstream acceptance of XML. Given the
proliferation of "killer apps" that never lived up to expectations, the
skepticism with which organizations and industries approached XML
deployment is neither surprising nor unwarranted. Leading software
developers have also sought to dispel this skepticism through the
creation of industry-specific standards and by releasing tools that
simplify the use of XML.
The problem that supporters of XML are facing is
that of legacy data repositories, legacy networks, and huge HTML bases
of information that companies have created. The expense involved in
migrating all of this information, and infrastructure, is daunting to
many companies. Consultants can make sure that the work is done
correctly, but this only adds to the cost involved. The optimal
solution for this problem lies in the development of products that can
act as interpreters between legacy data and new XML
repositories.
Some critics have said that XML is too complex and cumbersome for many
applications. Thus, a W3C community group was working on a specification for MicroXML,
a subset providing rules defining markup languages intended for encoding data
objects, and specifying behavior for software modules accessing them. The first
draft was released in October 2012 by the MicroXML Community Group; there have
been no updates since.
Strategic Planning Implications
[return to top of this report]
XML has solidly
entrenched itself in the industry. It is an extremely effective,
simple, and elegant solution to the problem of system independent data
storage. Many large companies have thrown their weight behind XML as a
standard and developers are more apt to choose XML as a solution to
data storage problems because of its ubiquity and standards-based
approach. Before choosing development tools, however, it would be
beneficial to create an overall XML strategy for the enterprise. Like
any technology, XML is not the ideal solution for every situation and
most times a hybrid of relational storage and XML is implemented. XML
really shines in middleware and conversion solutions as it allows for
the most open communication between systems. XML is easily converted
from one format to another at any time.
When it is time to decide on a toolset, it is
important to understand how that tool will fit into the overall
development process. Do the developers need or want an expensive
standalone tool dedicated to XML development, or can their existing
tools do the job? Increasingly, as mainstream tools have adopted XML as a
natively supported format, this is the case. If the organization already
uses a current version of a product like WebSphere or Microsoft Visual
Studio, that tool will often provide the functionality needed. If, on
the other hand, the company is working on the leading edge of XML
technologies, it may make sense to purchase a dedicated tool that is
more apt to include cutting-edge features. XML is often unwieldy
and many times the shortcuts that a tool can provide are worth the
initial investment. In terms of the actual tools, it is really
developer preference as to the user interface and ease of use that
counts. The dedicated tools all support about the same feature set
since XML is standards based, and most use the same backend XML parsers
provided by the Apache Group and Microsoft.
Web Links
[return to top of this report]
- Altova: http://www.altova.com/
- Butterfly XML: http://sourceforge.net/projects/butterflyxml
- IBM: http://www.ibm.com/
- Microsoft: http://msdn.microsoft.com/en-us/xml/default.aspx
- NetBeans XML Support: http://xml.netbeans.org/
- Oracle: http://www.oracle.com/
- <oXygen/> XML Editor: http://www.oxygenxml.com/
- Stylus Studio: http://www.stylusstudio.com/
- World Wide Web Consortium: http://www.w3.org/
- XML.com: http://www.xml.com/
- XMLmind: http://www.xmlmind.com/
About the Author
[return to top of this report]
Lynn Greiner is Vice President, Technical Services
for a division of a multi-national corporation, and also an
award-winning computer industry journalist. She is a member of
Faulkner’s Advisor Panel.
[return to top of this report]