Web Services
XML: It's The 'X' That Matters
XML: It's The 'X' That Matters
Feb. 28, 2000 12:00 AM
As XML survives its debutante ball and begins to be accepted by mainstream IT shops, it's being put to work, creating excitement among CIOs with its extensibility. Having had first-hand experience with several next-generation XML e-business application deployments, I'd like to describe how the extensibility of XML is revolutionizing e-business, making it possible to finally develop applications that are flexible enough to keep pace with today's constantly changing business requirements.
What Is Extensibility?
When we talk about XML's extensibility, we're talking about the ability to dynamically create new tags or attributes to a single record. For example, consider a database for an inventory of cars in which each car has a make, model and price. If you decide to add a used car to your inventory, you may also want to record the mileage. XML's extensibility enables you to create a new record for that car with the additional attribute without disrupting any of the other records.
Even more compelling is how easy it is to include ad hoc, unstructured data to an XML record. Since you can create a new tag and extend a record at any time, you can record a dent by adding a attribute. You can even add your daughter's auto-savvy witticisms with an tag. The ability to easily incorporate unstructured data is at the heart of e-business because then you can begin to leverage all the information that's not in a formal data-management system. What percentage of information on your hard drive or in your head can be searched, cross-referenced or shared with partners?
This isn't possible with traditional technology. In order to add a new attribute to a record in a relational database, you'd have to add a new column to the entire table. This may be acceptable if there are relatively few additional attributes, but if every new business partner (such as a car dealership) or new product configuration (such as a new vehicle type) demands different attributes, it quickly becomes an unwieldy way to manage your e-business application.
The extensibility of XML also passes the interoperability test. Since XML is portable and an industry standard, it's the de facto format for data sharing between applications over the Web and across organizations. When an XML data object is passed from one server to another, the ASCII tree is parsed and the application can extract the elements and attributes it needs. If there are new and unknown attributes, they're simply ignored. Compare this to what would happen if a C++ or Java object contained unexpected fields - you'd end up with skewed data and memory leaks.
The extensibility of XML enables you to add new fields and attributes to data records at will, without fear of disrupting any other records or breaking applications. This is why XML is not just another "EDI" and why it will succeed where EDI failed. XML's extensibility is causing developers to think differently about system design and to be less fearful of the rapid changes that occur with e-business.
E-Business Demands XML Extensibility
The GartnerGroup defines the role of e-business as follows: "E-business enables and manages relationships between an enterprise and its functions and processes, and those of its customers, suppliers, value chain, community and industry." Successfully implementing e-business applications requires leveraging information assets from many different sources and in many shapes and sizes - structured and unstructured, familiar and proprietary. To complicate matters, this information needs to be consumed by many types of applications and users. XML is the ideal solution to this "Tower of Babel" because it's simple, flexible and portable. It's the standard for e-business.
E-business applications are a new breed of application. They require constant change because corporations need to deliver targeted products and services to their customers faster than the competition can. Organizations need to work with partners over an extranet as easily as with people down the hall. E-business applications have to be able to withstand new products, services and partners without requiring rearchitecting. XML's extensibility is the key to making this possible.
XML Makes Customization a Breeze
Because of XML's extensibility, applications can be customized to accommodate new requirements without any code having to be rewritten. XML applications tend to be more like frameworks that are dynamically customized by the data model. In the car example above, an application might list all the attributes of a given vehicle and let you query on any of them, but the car's description and the search menu wouldn't be generated until runtime. If you wanted to add trucks to your inventory, and now towing capacity is important, simply extend the data record with that new attribute and the application takes care of itself.
This concept can be applied to a variety of different e-business application areas.
On-line product catalogs or e-commerce sites are constantly changing with new products or new departments. By extending XML with new information, such as customer comments or an auto-loan worksheet, the Web site can accommodate changes without redesigning data structures or destabilizing existing applications.
Business-to-business (B2B) extranets can reap the same benefits. Many times when businesses come together they won't be using the same semantic expressions to describe the same information (for example, one vendor may use "price" where another uses "cost"). The various competing DTDs already available virtually assure this. Because of the portability of XML, the syntactical problem of sharing data is separated from the semantic problem, and because of its extensibility, differences in semantics can be accommodated as well. If a partner supplies you with information about a car with a "price," you can extend the data object to add a "cost" attribute and both your application and your partner's will continue to operate safely.
Enterprise Application Integration (EAI) is much simpler with XML. With EAI, adding or upgrading a module can have a ripple effect that destabilizes any connected system. For this reason upgrades often have to be performed across an organization in unison. For example, new middleware has to be installed on every server, much to the chagrin of every MIS director. XML lets you extend data objects to accommodate new modules without breaking the old ones, so you can upgrade servers asynchronously. This means that if your growing automobile enterprise gets a new accounting system that requires you to track the date of every transaction, you can add that attribute to every car without worrying about disrupting your Web-based showroom.
Conclusion
XML has received inordinate amounts of praise and hype, most of it coming from the fact that it's portable, standard and - let's face it - just plain fun to use. XML has survived the initial skepticism and is emerging as an essential tool for e-business primarily because of its extensibility. The extensibility enables applications to turn on a dime, leverage structured and unstructured data, and take many of the major headaches and fears out of managing a major MIS initiative. What more could you ask for?
About Coco JaenickeCoco Jaenicke was, until recently, the XML evangelist and director of product marketing for eXcelon, the industry's first application development environment for building and deploying e-business applications. She is a member of XML-J's Editorial Advisory Board.