Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Evolving with the object-oriented wireless model

Use past and present models to prepare for the future

Judith Myerson (jmyerson@bellatlantic.net), Systems Architect and Engineer, Professional Consulting
Judith M. Myerson is a systems architect and engineer, a freelance writer, and a robotics columnist. Her areas of interest include middleware technologies, enterprise-wide systems, database technologies, application development, network management, distributed systems, wireless technologies, robotics, component-based technologies, security, cryptography, object-oriented technologies, and project management. She is the editor of the Enterprise Systems Integration Handbook, Second Edition (Auerbach). You can contact her at jmyerson@bellatlantic.net.

Summary:  The history of how storage and retrieval systems have evolved -- from flat file databases to object-oriented database management systems -- is important for designers of object-oriented wireless systems, especially when development funds are tight. Knowing how various models on the evolutionary path store and retrieve complex data can keep developers from trudging into a dead end, thereby increasing their design productivity relative to costs. In this article, Judith Myerson highlights the evolving storage/retrieval systems and presents a conceptual tour through a hierarchical structure of database objects, illuminating the basics of the wireless model and predicting the coming object-oriented attractions.

Date:  18 Nov 2003
Level:  Introductory

Activity:  3255 views
Comments:  

Developers should want to know about and contribute to the development of the object-oriented wireless model, including learning how the model is used to store and retrieve complex information about the conceptual design of a wireless infrastructure.

It is important for object-oriented wireless system designers to possess a working knowledge of how models for storage and retrieval systems have evolved -- from flat files to the Object-Oriented Database Management System (OODBMS) to the next innovation -- in order to maximize the productivity of their designs and to reduce the concept-to-deployment period.

In this article, I'll start with a short discussion on how storage and retrieval systems have evolved from flat file databases to object-oriented database management systems; then I'll cover the object-oriented wireless model basics by presenting the hierarchical structure of database objects representing the conceptual design. I'll discuss some shortcomings of the model and a solution or two for each of these limitations. I'll then wrap up by explaining how to prepare for the upcoming world of the object-oriented wireless model.

The evolution of storage and retrieval systems

Data storage and retrieval systems can be divided into four main types:

  • Simple flat file databases.
  • Relational database management systems (RDBMS).
  • Object-relational database management systems (ORDBMS).
  • Object-oriented database management systems (OODBMS).

Each is associated with a certain range of virtualization defined as the "ability to view data wirelessly from the client side without knowing the locations of the servers receiving and getting the data." (See "Wireless Virtualization Model" in Resources.)

Virtualization does not exist in flat file databases. Data virtualization actually started when the evolutionary path reached the RDBMS stage, the first of the commercial database management systems. As database management systems have evolved, the range of virtualization has grown.


Figure 1. Evolving virtualization
Evolving virtualization

I'll discuss the various database systems on the evolutionary path.

Flat file databases

A flat file database is a database that is self-contained in a single table. Because the database is limited to one table, it is not possible to create multiple tables with structured relationships to one another. Because this type of database is designed to run on a single client-side machine, it is not possible to virtualize data.

Another disadvantage to the flat file is the heavy computational time needed to store and retrieve complex design information. Imagine the flat file database as a single sheet where, when you add more data, it is placed even farther away from the starting point. The more data, the farther the "travel time" to retrieve it.

For these reasons, this storage type is not an option for the conceptual design of a wireless infrastructure.

Relational database systems

The next step in the evolutionary path is the RDBMS (relational database management system), which uses a structured approach to store and retrieve data in traditional business applications such as banking transactions and inventory control. An RDBMS organizes a collection of information into interrelated tables of data. Now imagine not one of the single flat-file sheets, but a multitude of them, stacked atop one other. You have the ability to burrow through the sheets to make a quick retrieval trip instead of having to speed all the way to the edge of the single sheet. The same database table of well-structured and standardized data can be viewed in many different ways.

Another feature of this database system is its flexibility for posing queries (such as the Structured Query Language, SQL) on several databases of tables across multiple servers. It gives the user the option to view virtualized data wirelessly from, say, a handheld device.

One drawback is that a relational database system is not well suited for storing and retrieving the conceptual design. It cannot handle complex data structures and new data types for storing images and large textual items because the conceptual design does not have a standard structure.

Object-relational database management systems

The ORDBMS model extends the RDBMS model by superimposing the object-oriented database concepts of objects onto a relational database. Like the RDBMS, the ORDBMS (such as DB2) takes the bottom-up approach (or data/database-centric approach; for more on this read the "Object persistence in object-oriented applications" article in Resources). DB2 is the most scalable object-oriented database on the market running on devices from handhelds to Linux enterprise servers.

Developers can use the ORDBMS to manage object-oriented spatial data in DB2 and Informix. They also can integrate Java Data Objects (JDO) with DB2 (and WebSphere Studio). Through virtualization, developers can enter data objects into a database on a server without knowing its location.

One drawback to the ORDBMS is that it is not good for storing objects containing complex geometric data that developers would use to build the conceptual design. Another disadvantage is a possible loss of information when the system maps the objects to a relational database.

Object-oriented database management systems

At the current end of the evolutionary path is a DBMS system supporting the modeling, creation, and management of data as objects -- the object-oriented database management system. The OODBMS is quite useful for computer-aided design/computer-aided manufacturing applications (CAD/CAM) that emphasize complex navigational access, object versioning, and long transactions of task and system activities.

This database system takes a top-down approach, being application- or programming-language-centric. For instance, the free Objectivity/DB 8.0 download includes tools for transparent interoperability for C++, Java, Smalltalk, and SQL++/ODBC applications running on AIX and Linux.

The OODBMS is useful for retrieving complex objects and geometric data to assist developers in presenting the conceptual design in a feasibility study. This system involves a representation of previous and new subsystems, meaning that the objects in an inheritance hierarchy can reused -- an advantage over relational data that is not always reusable.

Another advantage is that an object contains information (such as data about a wireless handheld device and its uses). It is not necessary to break the information into discrete data (like owner's name or the different ways the device is used) in the way the developer would to store each piece of information in its own field in a relational database.

Developers can derive information blocks from data structures to create a hierarchy of discrete objects. The hierarchy begins with the main object at the top level and proceeds down to lower levels of database objects. Each object at one level inherits the properties of an object in a previous level. These objects can be virtualized across multiple servers.

The problems with the OODBMS, along with suggested solutions, are noted later in this article. For now, I'll discuss some of the basics of the object-oriented model.


Basics of object-oriented model

In this section I'll focus on the parallelism between the hierarchical structure of features in a wireless model and the inheritance structure of the object-oriented paradigm, presenting a picture of each to demonstrate the parallelism. Then, I'll briefly cover static object relationship in an application example.

Parallelism

This parallelism strongly supports entry of feature-based design information, such as the disks representing DB2 Everyplace Database and DB2 UBD Source Database, into an object-oriented database. The object-oriented database can be scaled dynamically.

The following figures contain examples of the dynamic database capability of the object-oriented database. On the right in each example is a menu of feature-based information objects. Its hierarchical structure is shown on the left with each object corresponding to an object in the menu.

First level of database objects.
The following figure shows three study objects on the right representing the top (first) level of database objects in the conceptual design on the left.


Figure 2. First level of database objects
First level of database objects

Second level of database objects.
Now, I'll scale the hierarchy to include children objects in lower levels of database objects. For instance, a WLNetwork object in the second level of database objects (red) refers to a wireless network and is the only type of child object of a study object, as shown in Figure 3. The WLNetwork object inherits properties from the study object in the first level of database objects.


Figure 3. Second level of database objects -- children objects
Second level of database objects -- children objects

Third level of database objects.
Additionally, the WLNetwork object can have multiple different children objects. They are server object, mirror object, client object, node object, cable object, and others, when put together in a hierarchy, represent an enterprise wireless network infrastructure. For brevity, an example of server, mirror, and client object children at the third level is shown in Figure 4.


Figure 4. Third level of database objects -- multiple children objects
Third level of database objects -- multiple children objects

Fourth level of database objects.
Going down one level, you see in the illustration a server object having database and application object children (green), a mirror object having an application object child (gray), and a client object having a wireless object child (red).


Figure 5. Fourth level of database objects -- children of children
Fourth level of database objects -- children of children

Fifth level of wireless object.
The following demonstrates the fifth level of a wireless object having MobileDatabase as the object child called DB2 Everyplace Database.


Figure 6. Fifth level of wireless object
Fifth level of wireless object

Sixth level of database object.
The following demonstrates the sixth level of the database object, the child of the server object, having SDatabase as the object child called DB2 UCB Source Database.


Figure 7. Sixth level of the database object, the child of the server object
Sixth level of the database object, the child of the server object

Application example

To show how each database object is related to another, I'll indicate what the static object relationship between the objects is. It is not the same thing as the active, dynamic object relationship that typically involves a message being sent from one object to another.

As adapted from the "Remote Control" article (mentioned in Resources), the following table shows static object relationships between three database object children.

The source database object child, DB2 UBD Source Database, has a replication object relationship with the middle database object child, a mirror database, in both directions, and in turn, an update synchronization object relationship with the target database object child, DB2 Everyplace Database. DB UDB Source Database also has an e-mail notification object relationship with the target database object child, DB2 Everyplace Database.


Table 1. Static object relationships of database object children
Source database objectObject relationshipMiddle database objectObject relationshipTarget database object
SDatabase (DB2 UDB Source Database)Replication (bilateral)Application (A2)Update Synchronization (bilateral)MobileDatabase (DB2 Everyplace Database)
Notification e-mail (forward)

Now, look at the limitations of the OODBMS model.


Model limitations (and solutions)

As promised, the following table describes some of the limitations of the OODBMS model and provide a solution for each restriction.


Table 2. Limitations (with solutions) of the OODBMS model
LimitationSolution
Discreteness.
Objects are discrete and not continuous.

Determine which objects begin and which others end.
Non-representation.
Objects do not represent easily identifiable discrete entities in the real world.
Modify objects to make a better representation of the real-world entities.
Ambiguity.
The meaning of an object depends on the context and might yield contradicting interpretations.
Clarify meaning of the object and develop an Object Dictionary.
Inadequacy.
Plans for a hierarchy of objects are inadequate.
Develop plans in terms of scope, budget, and delivery time.
Difficulty.
Once an inheritance hierarchy is in use, it can be difficult to adjust it with, say, new category of objects.
Ensure the hierarchy is well-constructed.

Preparing for the object-oriented future

The evolutionary path for the object-oriented wireless models does not end here. It will continue to evolve to include a new storage and retrieval system for say, meta-objects. This continual upgrade will be possible as long as technologies of the future provide us with more memory and more speed at greater disk capacities.


Resources

About the author

Judith M. Myerson is a systems architect and engineer, a freelance writer, and a robotics columnist. Her areas of interest include middleware technologies, enterprise-wide systems, database technologies, application development, network management, distributed systems, wireless technologies, robotics, component-based technologies, security, cryptography, object-oriented technologies, and project management. She is the editor of the Enterprise Systems Integration Handbook, Second Edition (Auerbach). You can contact her at jmyerson@bellatlantic.net.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source
ArticleID=12343
ArticleTitle=Evolving with the object-oriented wireless model
publish-date=11182003
author1-email=jmyerson@bellatlantic.net
author1-email-cc=rhalden@us.ibm.com