A great many of today's application developers must address interoperability between applications not initially designed to communicate with each other. Small and large enterprises both tackle the problem of coaxing multiple applications to work together to keep up with ever-evolving business processes. Interoperability challenges can require tying together different:
Hardware platforms
Operating systems
Data protocols
Commercial software applications
Local custom software applications
So how can a developer create business processes that leverage the functionality distributed on different corporate computing assets and make them interoperate? Assuming the networking infrastructure is in place to access the required assets, the last essential task needed to achieve interoperability is data exchange. Data exchange requires communicating the values that represent business knowledge and the schema that describes those values. Both are needed to drive the business processes built by linking distributed software applications.
Fortunately, the rise of the Internet has provided a universal, standards-driven platform to achieve interoperability between heterogeneous application assets within an enterprise or even among a larger circle of an enterprise and its business partners.
The development of the Internet is being guided by many groups that all promote interoperability. For example, the World Wide Web Consortium (W3C) develops interoperability technologies for the web. To that end, this consortium approved a data exchange standard called the Extensible Markup Language or XML. A markup language is a data description standard that includes both data and markup in a single document. (In XML, you can think of the markup and data as being analogous to field name and field value pairs presented in a logical structure.)
The W3C has also defined a companion standard to XML to provide rich schema definition for the elements of an XML document. This standard is known as XML Schema and it defines the means for defining the structure, content, and semantics of XML documents with much more detail. The language of XML Schema is known as the XML Schema Definition language (XSD).
The combination of XML and XML Schema provides an easy, standards-based vehicle for tackling a very wide array of data exchange challenges.
Since its introduction, XML has quickly grown to be the most widely-used markup language. XML makes it easy to describe data that must be used by more than one application. Its ease of use makes it a popular tool for data exchange in many scenarios, not just Internet applications. Any two applications that are XML-enabled can share data and schema.