2 OBJECT ORIENTATION AND
INFORMATION
MANAGEMENT
The object-oriented approach has the abstraction
power to represent real objects. It represents space as
a domain populated with independently existing
objects that encapsulate attributes and operations.
Therefore, this encourages modularity within
information systems, while entity relationship
models will not show these properties. For example,
changes in an object do not necessarily affect the
properties of any other object in the system.
The object-oriented approach provides the
extensibility needed to create new models through
“inheritance” which also promotes hierarchies of
objects. It also provides the semantic power needed
to construct complex objects of similar states,
through “polymorphism”, for handling complex
attributes and behaviour changes, and the flexibility
needed to develop simulation models that can adapt
to the changing states of information systems. This
approach makes it easier to develop new software
from existing ones, thus, promoting reusability.
The object-oriented approach has been used
successfully for the unification of temporal and other
information related to objects. It is supported by
efficient design tools such as UML (Universal
Modelling Language), programming tools such as
Java, C# and C++, and Object Oriented Database
Management Systems (ODBMS) such as Objectivity
and Versant. The choice of a particular database,
however, clearly depends on the actual application.
A relational database is a better choice for a project
where relationships among objects are fairly fixed
and well known. Object-oriented databases can
outperform relational databases at handling complex
relationships among objects (Loomis, 1995
). The
problem becomes acute, however, when the changes
are too fast for a database to be redesigned so it can
rapidly deliver necessary information.
An object-oriented database could model the
presented changes based on a mix of objects and
their relationships. For example, if a real life object
is represented in object oriented form, rather than as
an entry in a database table, associations with other
objects (to which it is linked) can automatically
"inherit" any changes made, making it easier to track
later. At this point it is important to mention that the
Enhanced ER Model supports generalisation,
aggregation and composition. Moreover, many
object oriented features are provided by object-
relational database management systems
(ORDBMS) and are supported by SQL3 standard.
However, an ORDBMS does not represent a true
object oriented database, since it still represents a
data-centric system as a relational database.
The ORDBMSs, which have now been supported
by most vendors, are much larger and have huge
entrenched marketing infrastructure. By comparison,
the ODBMS vendors are much smaller. It is clear
that in today's complex, rapidly changing world,
ODBMSs provide the more flexible, extensible
alternative for companies that must act quickly to
match the capabilities of their information systems
with the needs of their organizations. Users will
make choices of database vendors based on many
criteria, some of which are addressed here.
3 OBJECT VERSIONING
Associating additional temporal information with
individual objects provides a means of recording
object histories, and thereby allowing the histories of
objects and the types of objects to be easily traced
and compared. This means that the temporal aspects
can also be described by their temporal topological
relationships. The object-oriented approach has been
used in different ways to effectively track versions
of the original object and these include the use of
version management (Wachowicz, 1994) and the
identity-based method (Hornsby, 2000). Although in
this work we are concerned with object versioning,
other strategies such as schema versioning can also
be considered (Grandi, 2002).
There are a number of methods for dealing with
object versioning (Khaddaj, 2004). The first
technique stores the complete objects, and any of the
versions can be accessed simply by a reference to
the particular object. The second approach, which is
a relative technique, stores one version as a complete
object and the rest of the versions are presented as
differences between the current version and the
previous version. The method of storing the versions
as complete objects is relatively easy to implement
in existing database systems. But, this method
introduces problems, such as waste of storage space
as the number of versions increases. The technique
of storing only one complete version and the rest as
differences between the current and the previous
version is difficult to implement but is suitable for
representing continuous and dynamic changes; and it
solves the storage space problem of the previous
approach. These two approaches have been
examined for relational databases (Dadam, 1984).
ICEIS 2009 - International Conference on Enterprise Information Systems
26