The 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.

{qbapagebreak title=Examples of Object models}

Examples of Object models

The first example we will cover it the Document Object Model. This example is a remake of a more detailed example, I have reduced the information provided in the example in order to express on the important features of the model. This example can be seen below:

By looking at the example provided above, we can clearly see the process in which the Document Object Model is used. The sample model is designed to show us the way in which the document is linked to each element and the coinciding text that is linked to those elements..

Now we will take a quick look at a simple component object model example. This particular example has been based on one of the models provided by window themselves.

On the example above you see two different types of arrows. The solid arrows are used to indicate the USES, where as the dashed arrows are used to represent the OPTIONALLY USES. The boxes with green out lined text are there to represent the aspects provided with WDTF. The blue high lighted text is you Implement or Modify example. The red is expressing the implementation of your own action interface, and the text high lighted in black indicates your operating systems or driver API. By viewing this sample of the Component Object Model, we can see how the components are linked and the way in which they communication between one another.

So after exploring the Object model we can safely come to the conclusion that the Object model does serve an important purpose that no model before it was able to grasp. Though the model has been modified to fit with specific instances the main use is to model object data.

Windows is one of the more notable vendors who have put the Object Model in the limelight; it will be interesting to see what heights this model reaches with their assistance. I will be keeping a close eye out for the next evolutionary change in the Object Model.

Editorial Team at Geekinterview is a team of HR and Career Advice members led by Chandra Vennapoosa.

Editorial Team – who has written posts on Online Learning.


Pin It