Breadcrumbs

The Future of the Universal Data Storage - XML

XML is the universal method of data storage. Storing data in XML makes it portable to literately any platform (operating system) and a variety of programming languages for manipulation. XML features simplicity, portability, adaptation, and ease of maintenance. What more could you ask for in data storage?

In order for XML to become popular it took over ten years! Even after this long period of time, it still isn't used as widely as it could. Branches of XML have spread in many directions creating a firm foundation for XML to rapidly grow upon.

XML's Web Future

The power of XML has already arrived at the web and is creating a presence for itself. Many of us know about the web markup language HTML. If you've studied XML and HTML you will have seen how the syntax of each is very similar. Both are based off of SGML, therefore their syntax share great similarities.

A developer with a strong background and knowledge in HTML will find learning XML is one of the easiest task. The only challenge that most developers first face with XML is learning the exact purpose.

Many confuse XML and HTML, believing that it shares the same purpose as HTML, but little do they know they could be considered opposites. XML is just text that describes a set of data. HTML is a set of guidelines for setting up a web page.

Using sister technology to XML you can display it as if it were HTML. XSL and CSS can both be used to display XML.

Although you have the resources and ability to use XML as an HTML substitute, it isn't its intended purpose and I personally recommend that you don't substitute them. If you really like XML though, there is a solution...

XML came to the web with the arrival of XHTML. Unlike XML, XHTML has the same generic purpose as HTML. The difference lies in the proper syntax of XHTML and HTML. HTML has a loose set of guidelines that can create, and allows, messy code. XHTML takes on XML syntax that contains a strict set of rules. XHTML code becomes neater and more organized where HTML generally lacks.

Overtime more and more web developers have adapted XHTML over HTML after the W3C declared it a recommendation and web standard. XHTML is the future dominate markup language and will eventually rule over HTML.

Creating an XML based alternative to HTML was a major jumpstart in brining XML to the web, but it doesn't end there! XML also stuck its foot in the door with an XML based news-feed system known as RSS.

RSS has become one of the leading alternative methods for delivering content, because it's really simple! RSS uses XML to record raw documents. RSS provides an easy way of syndicating content to other sites and a layout-independent way of serving content.

The raw XML documents (RSS) can then be used by RSS aggregators. RSS aggregators will download the latest RSS feed from the sites you specify and format them. This ability makes a great method to easily deliver the latest content to your readers.

With firm paths already laid out for it, XML's child technologies will soon dominate their area on the web. XHTML and RSS are already growing, and as this continues they'll be more widely used and increase the use of standards on the web!

XML Dominates Data Storage

The purpose of XML is to describe and store data. Eventually all data will be stored in an XML format. Storing all data using one method releases the restrain on portability between platforms. If all data was stored using XML then data could easily cross between operating systems and different software.

XML's data capabilities do have one restrain, this lies in the storing of relational data. Properly storing relational data using XML may prove to be difficult, if not impossible. Non-relation data has the advantage when using XML. New technologies are beginning to appear that may eliminate this restriction, but this is the future.

Storing any data in XML makes it much more dynamic. Here we'll look at some possible scenarios of where the use of XML is a great benefit to the program. Some of these are currently possible and others will eventually come to be.

PHP and XML

Currently, PHP has the ability to work with XML. Few people take complete advantage of the PHP and XML relationship. As the popularity of XML increases so will the use of PHP to read XML. Even though it isn't widely used, the PHP and XML relationship is strong.

Let's say that you're making a Content Management System and you want the most convenient way of backing up the database. Using PHP you could make a script that would run through the database and create an XML file based on the data.

This backup has now become 10x more than a backup. You could use this in literately any platform. With your backup in XML, your data is easy to read and portable.

Say that your CMS was going to update from PHP to Perl and you're changing the database configuration slightly. You can use your same backup system to create an XML file. Then you can use Perl to read this XML file and install (or upgrade) your new CMS.

Your data could also be used in Java, C++, Python, etc. platforms for extensions to your CMS.

Java and XML for Ultimate Portability

Java's goal is to be a portable, effective development solution. It has achieved its goal and is platform independent. The XML and Java combo of platform independency makes it a practical solution for a variety of development situations.

Java has the integrated ability to work with XML. Unlike its rival development languages' interaction with XML, Java has the ability to move its code and its data to any platform with the Java and XML combo. Rather than storing program information in a special file, format, or database you have the option of XML, which makes it portable.

When Java first supported XML, developers like mad were rushing to learn this powerful combination. Although this insane rush has died down, the Java and XML relationship provides the most portable use for XML.

Transferring Between Programs and Platforms - Programming Utopia

Imagine a world where any program can open any file and work with it. Sounds close to impossible, but yet using XML this is highly possible. It would require extreme corporation, thought nearly impossible with the drive of competition between companies.

This would require standards for all fields of development from office software to web browsers. This programming Utopia draws near as slowly the use of XML is increasing with large corporations.

Using XML, you could have a standard XML format of storing an office document. Then any office program could read this newly made XML document. This allows an MS Word document to be opened in Open Office and then to be opened in Notepad.

There are no longer file formats assigned to a particular program, but rather everything is saved as XML. Operating Systems wouldn't be a restrain either. An office document could go between Windows, Linux, and Mac OS X, then back again.

With the elimination of retrains between software and operating system the world of technology will open up and expand in ways that developers have never dreamed of.

With the overwhelming use of Open Source Software, the Utopia of Universal XML isn't far away. The Open Source Community is open to the best ideas to increase the functionality of software. Closed Source Software relies greatly on competition to fuel itself and would never be a contributor to the Utopia of Universal XML.

We already have a worthy example similar to a universal method of data storage. This is known as the World Wide Web. Think deeply about what makes a web page, and what renders it. Keep thinking...

Think of it yet? Well read on anyways:

All web pages are formatted in one, single markup language that we know as HTML. There are a variety of interpreters (web browsers) that render HTML. Each one displays the markup slightly different, but the generic output is the same. Recently the drive of web standards has increased, making the rendering of each browser closer to being identical.

The World Wide Web is an example of the future of programming. When all data is stored using the same method endless possibilities become available.

As the Open Source Community grows, the closer we'll come to the Utopia of Universal XML.

Source Code

Far, far in the future of programming, the actual structure of programming will most likely change to accommodate for XML's capabilities. The next generation programming systems will most likely store source code as XML (replacing traditional flat text).

I originally encountered this idea when reading the December/January 2005 issue of the ACM Queue. As I thumbed through the pages of the magazine I read "Extensible Programming for the 21st Century". The ideas presented in this article intrigued my interest again in a variety of programming methods I haven't done in quite some time. One of these was XML.

The prediction presented here is a completely brilliant idea. Using the capabilities of XML to separate software models from software view would make programs easier to process, more extensible, simply library construction, and end some coding debates.

Quotation by "AMC QUEUE Gregory V. Wilson"

"This method you'll most likely never notice. Editors will render these models to create friendly views, just like Web browsers and other WYSIWYG editors."

One of the largest benefits is that programmers won't have to adapt to a new environment. Even though XML is very simple to comprehend and write, it can still become a pain when it becomes more complex. Programming systems will most likely provide the same environment, only incorporating XML into the backend of the system. You'll get all the benefits of XML without having to deal with it.

Summary

XML is the future of data storage and will be until a challenging technology is produced. The current power of XML and the power to soon come will make XML one of the most useful concepts devised.

XML - the future of programming

Tags: