Welcome!

Industrial IoT Authors: William Schmarzo, Elizabeth White, Stackify Blog, Yeshim Deniz, SmartBear Blog

Related Topics: Industrial IoT

Industrial IoT: Article

XML, RDBMS and OODBMS: Peaceful Coexistence?

XML, RDBMS and OODBMS: Peaceful Coexistence?

In this regular column I focus on the business aspects of XML and databases. This time I'm going to consider the relationship between object-oriented databases and relational databases for data persistence and recovery, and how these two can coexist - with XML providing the bridge between the two.

Object-oriented databases came into existence to offer a data model alternative to the one used by relational databases for persisting data. The need for a persistence model of this type arose with the advent of object-oriented programming languages. Object-Oriented Database Management Systems (OODBMSs) are a natural fit for persisting objects in the OO world. The goal of object-oriented databases is to maintain a direct correspondence between real-world and database objects. Relational database systems have been around for many years to persist and manage large amounts of data and are the accepted standard technology for creating back-office data stores. The integration between OO and relational database management systems isn't straightforward, but XML - a technology that has only very recently appeared on the horizon - offers a mechanism that allows both kinds of database systems to coexist in distributed Internet applications.

In this <e-BizML> column I would like to discuss how XML offers object-oriented databases a chance to survive in the DBMS wars. XML offers a standard data format that allows objects created in programming languages like Java to exist in a form that can be transported across the Internet and processed by applications at both ends of the wire. This data format can be leveraged in both Relational Database Management Systems (RDBMSs) and OODBMSs.

RDBMS, Object-Oriented Programming Languages and the Internet
The popularity of relational database management systems predates the Internet, distributed computer technology and object-oriented programming. RDBMSs are good as large data stores for managing large amounts of data and offer efficient techniques for data storage and retrieval. They use two-dimensional tables as the basic structure for storing data.

The Internet offers a ubiquitous medium for transporting objects from one application (or application tier) to another application (or application tier). However, the data still has to be stored in a data store, retrieved by an application, manipulated in the application's domain, transported to an application across the Internet, extracted into the application, manipulated and then stored in a persistent store. The data may also be processed/modified at several other stages in this process. Thus data has to be transformed between several formats at various stages. The data stores are typically RDBMSs. Figure 1 illustrates the transformation of object-oriented data to relational and back.

Because relational databases store data as two-dimensional tables, they are not ideally suited for data manipulation, since data itself may be expressed in the form of complex structures. In object-oriented languages data manipulation is much more efficient, expressing data as objects with rich features - including inheritance, polymorphism and encapsulation - for maintaining relationships between objects. When the data from an object-oriented world is persisted in a two-dimensional table format, hierarchical relationships between objects aren't preserved, making persistence and recovery of data a complex task.

Does OODBMS Offer a Solution?
Object-Oriented Database Management Systems (OODBMSs) emerged upon the scene in the 1990s, after object orientation had become the name of the game. Object-oriented database management systems are good for manipulating data since they store it in object form, preserving the relationships between the objects. An OODBMS works under the assumption that databases should store data objects that map directly to the objects defined in the programming language used for writing the application. These systems are based on object models that preserve the hierarchical relationships between objects, retain rich data types and offer a more sophisticated translation from objects to stored data. Figure 2 illustrates the role that object-oriented databases play in object persistence.

However, the bottom line is that data stores for back-office systems are RDBMSs. So a mapping from object to relational and vice versa needs to be created in order to offer persistence capabilities via OODBMSs. The only way object-oriented databases will be able to replace RDBMSs for data persistence and recovery would be if large amounts of data stored in relational systems were migrated to object databases. Moreover, the retrieval and search wouldn't be efficient. In his book, Com and DCOM (Wiley, 1997), Roger Sessions discusses this under the heading "The Great Fraud" (pages 211-212). While I don't feel as strongly as Sessions does about the cons of object-oriented databases, I do agree that migrating this data just isn't a feasible option.

Besides, if it were to prove feasible, OODBMSs would seriously threaten the continued existence of RDBMS vendors. In my opinion, OODBMSs made a play for grabbing territory in the persistence game and have settled for operational persistence (temporary persistence for data in transit) as opposed to replacing RDBMSs as the main persistent stores - mainly because RDBMS vendors have already staked claims in that territory. Besides, relational databases are very good at what they are intended for - storing, searching and retrieving data.

Maybe XML Offers a Solution
XML and databases exist in a relationship of mutual symbiosis. The future of Internet-based business applications is dependent on their ability to exchange information between different data stores or database systems. This in turn is related to the ability of applications to generate XML documents efficiently from data stored in databases. XML allows data to be stored in a format more suited to object-orientation. XML documents are composed of node structures that are made available to object-oriented applications through DOM or SAX parsers. Thus the tools for processing XML documents deal with sets of hierarchical nodes. XML documents can be easily stored as text fields in relational databases. And at the same time XML nodes can be easily parsed into elements that store the data in object form and maintain the hierarchies of the nodes.

So what's different? you might ask. Data from relational databases still needs to be converted into XML format. Well, relational database vendors are providing the means to query data stored inside flat tables and return the results in the form of XML structures. For example, Oracle - the giant in relational databases - has added features to their 8i product allowing XML documents that have been persisted in relational tables to be queried as XML. This is done by allowing a field in the database to hold an XML document and other fields to hold information about the document. Relational databases can be used to store XML structures, but when the node hierarchy gets deep, persisting relationships involves joins across many tables and becomes very complex and inefficient.

OODBMSs offer a more natural fit for transforming to and from XML. The hierarchy structure in OO databases maps cleanly to the hierarchy in XML documents. On the other hand, relational databases are enhancing their products by integrating with XML servers to provide more sophisticated means of interchanging data in XML format. Remember: the majority of computing data across the world is still stored in RDBMSs.

There's no doubt, however, that XML provides a bridging technology between the two otherwise heterogeneous database systems, OODBMSs and RDBMSs. Since XML data can be extracted from relational databases - and this is a direction strongly supported by the RDBMS lobby - this data can now be distributed into any system that can offer XML transformations (see Figure 3).

XML thus provides the bridge between various kinds of persistence systems and makes it unnecessary for object and relational databases to offer some means of direct conversion between one another, i.e., between the two forms of data persistence. All this should hardly be surprising: XML's express purpose is to provide a ubiquitous mechanism for the expression of data structures.

XML Still Needs a Data Store! It may seem that XML is a great technology for persisting data; however, this isn't its actual purpose. Remember that XML is only a data format. It provides a means to express data in transit between persistent systems. It still needs a database to actually persist the data. This database may be object-oriented or relational.

Consolidation of Two Technologies
An emerging market trend is the consolidation of OODBMS and XML technologies. Object-oriented databases initially made a play for persistent stores for large amounts of data generated from object-oriented processes. This didn't make much headway. Some of the leading OO database vendors are reevaluating their original strategy and jumping on the XML bandwagon. One of these is Object Design, which has now restructured their core products to focus on XML servers. In fact, they changed their name to eXcelon to better represent their market strategy. Although the eXcelon server uses the original OODBMS product, ObjectStore, for persistence, the latter seems to be a smaller factor in the company's direction. Another example is POET's Content Management Suite that is based on their Object Server Suite OODBMS product.

Marking Up
XML, relational databases and object-oriented databases are combining to make an uneasy but inevitable alliance. XML is the unifying technology. Despite the differences, both the RDBMS and OODBMS camps are in agreement that XML is the ubiquitous data formatting technology for today's e-business solutions. It will be interesting to see how these alliances and consolidations shape the future of data persistence in the next couple of years.

<e-book>
I usually shy away from books that have the word Manager anywhere in their title - not because I lack respect for managers but rather because the information presented in such books tends not to be very useful for me.

Kevin Dick's XML: A Manager's Guide, published in 1999 by Addison Wesley, turned out to be the exception that proves the rule. This is a great book that provides an excellent overview of how XML plays a role in e-business applications. The author sets the stage for the book in his preface by offering a matrix of the categories of readers who may read the book and the benefits it provides to them. This is very useful in assessing what exactly you can expect from the book. The author also offers a matrix that provides you with a roadmap for reading the book according to which category of reader you happen to be.

Chapter 1 describes the business problem that XML is designed to solve. The author writes in a very clear, no-nonsense style and makes his points succinctly. Chapters 2 and 3 review XML concepts - brief explanations are provided showing how elements of XML fit into business solutions and simple examples are given to illustrate the various concepts.

Chapter 4 gives an overview of the categories of XML tools in the market today and illustrates how these fit into a business framework. The text is accompanied by clear diagrams that serve to illustrate the author's discussion. Chapters 5-6 discuss how XML plays a role in business processes and enterprise applications. Chapter 7 gives five examples of the categories of XML vendors in the market today.

I found Chapters 4-7 the most useful in the book. The discussions provide comprehensive information that I haven't found elsewhere in so concise a style. There isn't much depth to the discussions but the overviews are very good and give the reader a "big picture" view.

In fewer than 200 pages, Dick covers quite a bit of ground. Minor irritants were the blue sidebars on every page. Most of these merely stated the obvious - such as, "Relationships between documents are important." I basically ignored these as nothing more than blurbs of information already covered in the text. This is not a book for developers trying to write applications using XML; such readers should try books like Professional XML by Wrox Press (published January 2000). But XML: A Manager's Guide is a good reference for readers trying to get a handle on what role XML plays in today's business world. You won't get very detailed information but you will get a decent overview of the technology and of how it relates to business enterprise.

More Stories By XML News Desk

The XML-Journal News Desk monitors the world of XML and SOA /Web services to present IT professionals with updates on technology advances and business trends, as well as new products and standards.

Comments (0)

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.


IoT & Smart Cities Stories
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.