Information Technology
Data ModelingThe Object Model
What is the Object Model?
The Object model, also referred to as the object oriented model was designed to add database functionality to object programming languages. Object models help to extend the semantics of C++, which are Smalltalk and Java object programming languages used to provide full-featured database programming capability, all the while retaining the native language compatibility as well.
A notable benefit of this particular approach is the unification of the application and database development into a complete data structure and language environment. Application then require less code, they use a more natural data modeling, and the code bases are much easier to maintain as a result. Developers can then construct whole database applications with a modest amount of extra effort put into it. Object models are often also used to show the connection between objects and collections.
Unlike the relational model, where a complicated data structure needs to be flattened to fit into tables or even joined from those tables to form the in-memory structure, object models have little or no performance overhead used to store or retrieve a hierarchy of inter-related objects. The one-to-one mapping of object programming languages to the database object had two major benefits over the older storage methods. One, it offers a higher performance management of objects. Secondly, it allows for better management of the more complex inter-relationships between objects. These two aspects make object modeling much better suited to support applications such as a financial portfolio risk analysis system, telecommunications service applications, design and manufacturing systems, and even patient record systems, all of which have very complex relationships between data.
Are there different types of object models?
When you search the web for some concrete information on the object model don’t be surprised to end up with mix matched results, none of which plainly stating “Object Model”. You will instead turn up results for Document Object Models, and Component Object Models. This is because the Object Model has been modified just slightly to apply to different instances. We will touch on that before moving on.
So what exactly is a Document Object Model? Well you might see it often referred to as a DOM, this model is a platform and language neutral interface that allows programs or script to vigorously access as well as update the content, structures, and styles of documents. The document can then be processed further and the results can be incorporated back into the contents of the page.
The Component Object Model which is also referred to as COM, this model is basically a component software architecture that enables users to build applications and systems alike from components supplied by different software vendors. Component Object Models are the underlying design that forms the foundation for some higher-level software services. Some of these services include those that are provided by OLE. Any PC user may be surprised to learn that a COM is also known as ActiveX. An application we are all familiar with, especially those of use that spend a lot of time surfing the internet.
Many of the traditional operating systems were designed to deal with only the application binaries and not the actual components. Due to this the benefits of good component-oriented designs have until now never gone beyond the compilation step. In a world that is object-centric it is confusing that our operating systems still can not recognize objects. Instead our operating systems have been dealing with only application binaries or EXEs. This prevented objects in one process from communication with objects in a different process while using their own defined method.
History
The object model really hit the programming scene in the mid-1990s. Around October of 1998 the first specification of the Document Object model was released by W3C, it was known as DOM 1. Later in 2000 DOM 2 followed, it surpassed its older version by including specifics with the style sheet Object Model and style information manipulation. Most recently DOM 3 wowed the programming world with its release in 2004. Thus far there have been no more current releases, as of now we are still using the DOM 3 model, and it has served us well.
The history of the Component Object Model is a bit lengthier; we will summarize its more dramatic points. DDE was one of the very first methods of inter-process communication. It allowed sending and receiving communications or messages between applications. This is also sometimes referred to as a conversation between applications. At this point I think it is important to point that Windows is the leading Component Object Model vendor, and the history of COM is based richly on the information a discoveries made by Windows.
The budding technology of COM was the base of OLE, which means Object Linking and Embedding. This was one of the most successful technologies introduced with Windows. The programs we soon being added into application like Word and Excel by 1991, and on into 1992. it was not until 1996 that Windows truly realized the potential for their discover. They found that the OLE custom controls could expand a web browsers capability enough to present content.
From that point the vendor had be integrating aspects of COM into many of their applications, some like Microsoft Office. There is no way to tell how far or how long the evolution of Object Modeling with travel, we need only sit back and watch as it transforms our software and application into tools to help us mold and shape our future in technology.
Next Page: Examples of Object models
