There is a diverse range of ‘middleware’ tools available on the market that conform to the ODMG model, an example of such a tool is ‘objectDRIVERTM’.
ObjectDRIVER is a middleware tool with which one can create an ODMG compliant Object Oriented Database Management Systems (OODBMS) on top of heterogeneous Relational Database Management Systems (RDBMS). It offers C++ and Java language bindings and an Object Query Language (OQL) interface. ObjectDRIVER is particularly well suited to:
1) The reuse of existing databases.
2) The addition of persistence to Object Oriented applications
The picture above demonstrates in a simple form the connectivity of disparate systems and the protocols used to manage this connectivity. Whist in this case, ‘objectDRIVERTM’ sits in the middle acting as a very versatile interface, essentially there are many other proprietary and ‘open source’ solutions available, which conform to standards as well as many that don’t.
In the business world companies buy and use computers to further their company’s profitability. Whilst initially computers were used in isolation, nowadays all businesses have or want the efficiencies gained by networking. New technology is allowing a company to not only share data amongst itself, but share in a business-to-business role as well. For some companies, it has allowed a new direct, business-to-customer arm to develop through its website. In a financial role and stock environment it is allowing companies to run in almost ‘real time’ and therefore gives them the ability to make faster business decisions with less accounting staff or layers of management.
For this to happen computers require reliable software that will run on, or to any type of system platform. Businesses want stable, reliable and efficient systems and want to run standardized software in order that they can connect to any specified system, or to as many systems as possible. Running software that does not conform to standards means that you must use specialised software. This has potential problems in that:
- Software is more costly to develop, as you are starting from scratch.
- It might not be as functional as it may only allow you to look backwards into an old legacy system in a certain way.
- There is no real reusability from the old to the new system due to standards not being adhered to in the original.
- Makes the company overly dependent on the original vendor, and what will happen if the vendor has gone out of business.
It makes financial and business sense for software companies to want to produce systems that integrate with other systems, as it allows them greater market availability and thus potential sales. This will naturally lead to standards of some form.
3.0 Standards Groups
Various major organisations have come into force over the last decade with a view to developing a common set of rules or object models, analysis and design, that can be used and built on by the software community at large. This section will discuss the involvement of these major organisations in the field of object-oriented databases.
Object-Oriented Database Systems Manifesto (OODSM)
According to the Object Oriented Database System Manifesto (OODSM) there is a strong case for agreeing on a set of standards for emerging Object-Oriented database systems. This is mainly due to there being a lack of a common data model, the lack of a formal methodology and a great deal of experimental and prototyping activity.
Whilst the first two arguments ring true, from a commonsense point of view the problem with the latter is that whoever develops a working model first will steal the field and go through to become the 'defacto' standard in the community. This has been seen in the past, i.e. with Cobol, Fortran, and SQL etc. This would not be such a problem if the product met all the possible requirements of the practitioners at large, but there is lots of evidence from the past that give rise to doubt. For example, SQL has become the standard for relational databases, yet Ted Codd's original proposals were far better structured than SQL. Various trial implementations had query languages that were better than SQL and a number of people in the industry could have and did design better languages than SQL. But the people who had better systems did not actively participate in the discussions that led to the adoption of SQL as a standard.
Yet despite the weaknesses of SQL, surely any standard is better than no standard at all. The standardization of SQL has provided an enormous benefit in allowing mainframes, servers, minicomputers, workstations, and personal computers to share data. What seems to have made SQL succeed is not just the fact that ANSI and ISO backed it, but also, the fact that the industry desperately needed a standard, and SQL was the only thing available at the time. Possible the main reason why we are left with such a mediocre standard is that the people who know better have not participated to date. This could be due to, companies not wanting to give up what they see to be a competitive advantage. Company shareholders would certainly not be willing to turn over potentially thousands of pounds of research and development to the computing community at large.
The interest in OO Databases seems to be growing due to the obvious shortfalls of relational databases in that they are good for storing data and reporting on it, but weak when it comes to manipulating it or modelling complex and real world situations.
There is an obvious need for something that has the best of both worlds, especially in today’s world with the ever-increasing number of very large and complex real time systems such as those found in the service industry or the design support systems.
The OODSM states that it is important to agree on a definition for a true object-oriented database and states what its characteristics should be in an attempt to pursue a common standard and a way forward.
They list 3 main characteristics for the classification of a true object-oriented database:
The system must have the following, to enable it to be an OO Database:
Complex Objects, Object Identity, Encapsulation, Types or Classes, Inheritance, Overriding combined with late binding, Extensibility, Computational completeness, Persistence, Secondary storage management, Concurrency, Recovery and an 'ad hoc query facility.
These are added to aid usability and include: Multiple Inheritance, Type checking and Inferencing, Distribution, Design transactions and Versions.
These are the program paradigm.
Allows for acceptable implementation according to the preferences of the developer.
The OODSM also state that these characteristics should be open to change as technologies and members require.
3.2 Object Data Management Group (ODMG)
The Object Data Management Group was formed in 1991. It is a non-profit consortium of vendors, toolmakers, end users and other interested parties. Included among the members are: Microsoft, NEC, Hitachi, Lockheed Martin, Computer Associates and Sybase. A requirement of membership is that a company produces a commercial object-oriented database that follows the ODMG specification.
The aim of the ODMG is to produce an open standard for object-oriented DBMSs to promote object application portability between compliant DBMSs. The benefits of this is that compliant software is maintainable and less dependant on the originating vendor, thus preserving software investment and allowing for future developments, a major issue for corporate IT managers.
The ODMG specification provides a common model for these products by defining extensions to the OMG object model that support object database requirements and includes persistent objects, object properties, object types, queries and transactions. This incorporates 3 existing standards: Databases (SQL), Objects (OMG) and object programming languages (C++, Java and Smalltalk).
The ODMG has two key objectives. Firstly the organization is committed to evolving the standard and any new proposal is resolved democratically by a group of seven voting member companies. The ODMG’s secondary objective is to educate the public about the benefits and the importance of ODMG standards.
Their standard was originally agreed as ODMG 2.0 - Release 1.0 and was published in August 1993, and followed up with Release 1.2, in November 1995. This version included many improvements and including better compatibility with SQL-92. They have gone on to produce a certification procedure and include the following products as being suitable: OQL (Object Query Language), ODL (Object Definition Language), C++, Smalltalk and Java.
The group have been taken very seriously by several major organisations including CERN, the European Laboratory for Particle Physics. “CERN is currently building a new accelerator - the Large Hadron Collider (LHC)”, states Jamie Shiers, RD45 product manager at CERN. "Scheduled to enter operation in 2005, this machine will generate enormous amounts of data - several Petabytes (1015 bytes) per year at data rates between 100MB and 2GB per second, and some 100 PB in total. CERN is currently investigating ways of storing and managing these vast volumes of data and is focussing on the use of ODMG-complaint ODBMSs. Although the current work is based on C++, there is a growing interest in Java and mixed-language solutions. The new ODMG Java binding is consequently of great interest and we strongly support this activity."
Reading further around CERN web-page’s in general, discovered that they have invested hundreds of man years into object-oriented databases and are using them and associated technologies as a matter of course, although they go on to say in ODBMS Experience Object Databases and HEP: What Have We Learnt So Far? Section 3, “ Unfortunately, this standard is incompletely implemented by most vendors, and does not attempt to address all of the functionality that is required in a large-scale application” in reference to providing a consistent interface to all persistent objects.
3.3 Object Management Group (OMG)
The Object Management Group was founded in 1989 as a non-profitable corporation of eleven companies. Today the group has hundreds of members and the board of directors boasts prominent companies such as Sun Microsystems, Oracle Corporation, Borland Corporation, Hewlett-Packard Co. and Hitachi, Ltd.
“The OMG Object Model is based on a small number of basic concepts: objects, operations, types, and sub-typing. An object can model any kind of entity, for example a person, a ship, a document, a department, a tuple, a file, a window manager, or a lexical scanner. A basic characteristic of an object is its distinct identity” (Soley, R. M., 1992).
One of the OMG’s specifications is CORBA (Common Object Request Broker Architecture). CORBA is the “OMG’s open, vendor-independent architecture and infrastructure that computer applications use to work together over networks” (OMG, 2003).
“Using the standard protocol IIOP, a CORBA-based program, will work on almost any computer, programming language, operating system and network, can interoperate with a CORBA-based program from the same or another vendor, on almost any other computer, operating system, programming language, and network” (OMG, 2003).
Real time system users, such as Telecoms, European Air traffic control and finance are major subscribers of CORBA, as it copes well with servers that handle a large number of clients, at high hit rates, with high reliability.
CORBA is found in the computer rooms of many of the world's largest websites. Thousands of sites rely on CORBA, including: UBS AG, Raytheon Company, Thames Water, American Airlines, Federal Express, Nike, and UK Data Collection Service. CORBA can also be used by smaller companies, running specialized versions of it in real-time systems, and small-embedded systems.
CORBA however has dwindled in popularity over the last few years. Companies have embraced the Internet, with Java and Enterprise JavaBeans (EJB) becoming the dominant enterprise middleware choice, as well as XML (Extensible Markup Language) which is now used extensively, for Internet messaging. Microsoft's DCOM (Distributed Component Object Model) and dotNet is also favoured by smaller companies and as such has become a competing middleware contender. The main reason for this is that CORBA cannot solve all the distributed middleware problems and companies have had to make further arrangements in an ever expanding and complex integrating workplace.
In September 2001 the OMG responded to this with a new approach called MDA (Model Driven Architecture), which is based on UML (Unified Modelling Language™). UML is a third-generation method for specifying, visualizing, and documenting the artefacts of an object-oriented system under development. UML represents the unification of the Booch, Objectory, and OMT methods, and additionally incorporates ideas from a number of other methodologists.
Companies can generate platform-specific UML models, from which the same companies can automatically generate code for any specific type of middleware the company requires. The OMG is effectively asking companies and the ‘open source’ groups to describe their applications in a neutral, declarative language (UML) and then to generate any APIs (Application Programming Interface) needed from UML diagrams. To make this happen, the OMG has committed itself to developing standards and profiles to support the conversion of UML to code.
3.4 ISO existing Standards
The following standards lay down the requirements to meet the various standards and are related to OO, there are about 50 others.
Information technology -- Database languages -- SQL -- Part 10: Object Language Bindings (SQL/OLB) (available in English only).
Support using Common Object Request Broker Architecture (CORBA).
As described in Information technology -- Programming languages -- Part 3: Object Oriented Modula-2 (available in English only).
ISO/IEC JTC 1/SC 32. A standards body that deals with Data Management and Interchange and recommends standards regarding interoperability between OO systems, More specifically: JTC1/SC 32 / WG 03 Title: Database Languages. Which deals with developing standards between different databases and common data types, metadata, modules, their behaviours and providing standard interfaces known as ‘middleware’ to connect to other standard conforming databases.
General research found that there is a substantial amount of information and work going on object-oriented methodologies, analysis and design, and including comparisons of methodologies.
With this information comes a certain amount of confusion as to which standard to follow. What can be learnt from this is that careful study of the way forward is needed when looking to implement a new object-oriented/object-relational system, especially if it has to communicate with older disparate systems.
4.0 Conclusions
Whilst in the past there may have been a lack of standards in object-oriented systems it seems clear that the industry has reacted to the problem and a great deal of cooperation is going on. This could be due to the fact that no one system is capable enough of meeting the requirement of organisations especially at the larger end of the market.
It also seems clear that the increasing trend for mergers of disparate systems and their integration are a matter of course and some ‘common glue’ is needed. This is further reinforced by the reluctance for IT decision makers to scrap working systems out of hand when they can gain the leverage they want with a standard translator or middleware interface.
There is also evidence that the very credible, standards friendly open source movement is fast gaining influential clients and is able to deploy robust and stable solutions at the expense of proprietary systems. This possibly, means that it is unlikely that any one company could capture sufficient market share to become a new ‘defacto’ standard.
The need to develop integrated systems cheaper is obvious. Common standards in OO will allow for reuse, extendibility, and therefore faster developed and implemented working applications.
It can be seen from the report that achieving standards in OO is a rigorous task and each developer is only implementing their interpretation of the standard, due to a lack of an agreed data model and bench-testing procedure.
There is no, one, all embracing and benchmark able standard in OO and it can be argued that continuing technological advances will mean that any standard would have to be reviewed frequently.
Overall there is sufficient commonality in methods and designs across the groups for standards to be implemented and if so companies could make decisions knowing what sort of system they can use for future scalability and connectivity.
Bibliography
Atkinson, M., Bancilhon, F., DeWitt, D., Dittrich, K., Maier, D., Zdonik, S., (1993).
The Object-Oriented Database System Manifesto.
(visited July 2003).
Barry & Associates, Inc.
DBMS Standards.
(visited July 2003).
Barry & Associates, Inc.
SQL: 1999.
(visited July 2003).
Barry & Associates, Inc.
Object database management system (ODBMS) definition.
(visited July 2003).
Burnett, M.
What Are The Current Object-Oriented Methodologies?
(visited July 2003).
CERN, (1999).
ODBMS Experience - Object Databases and HEP: What Have We Learnt So Far?
(visited July 2003).
CERN.
RD45 – A Persistant Object Manager for HEP – white papers.
(visited July 2003).
CORBA.
(visited July 2003).
CORBA® Basics
(visited July 2003).
CORBA.
OMG/ISO Standards.
(visited July 2003).
Ferguson, I., (1995).
OOD –History and Evolution.
Taken from: Object Orientation by Khoshafian and Abnous
(visited July 2003).
Harmon, P., (2002).
The Reinvention of the OMG – Volume 5, Number 1.
(visited July 2003).
May, P., (June 2001).
The House Corba Built.
(visited July 2003).
ObjectDriver.
(visited July 2003).
Shiers, J., (1997).
Sun Endorses ODMG Database Storage Specification for Java.
.
(visited July 2003).
Soley, R. M., (1992).
OMG Core Object Model.
Text comes from chapter 4, Object Management Architecture Guide, Revision 2.0, Second Edition, OMG TC Document 92.11.1, Object Management Group, September 1, 1992.
(visited July 2003).
UML Resource Center.
(visited July 2003).
Appendix
Appendix 1. History of Object Oriented (OO).
A brief listing of OO milestones.
Appendix 2. OMG/ISO Standards.
The OMG’s, ISO standards.
Appendix 3. A list of OO Methodologies being used in the continuing development in
OO design and application.
Appendix 1
History of OO
- 1970s - basic research at Xerox PARC
- 1981 -Smalltalk language - first popular OO language and operating system
- 1984 - Object Oriented GUI on Apple Macintosh
- 1984 - C++ language ... OO language to write real software
- 1990s - development of C++ language and several OO analysis and design methods
- 1995 - Java language ... OO language for the Web
Appendix 2
OMG/ISO Standards
The following OMG specifications are ISO standards:
IDL ISO/IEC 14750
Trader ISO/IEC 13235
MOF 2nd CD ISO/IEC 14769|draft X.960
Standards Development Organizations and Consortia using OMG specifications
Parley API v1.1 OMG IDL, used for API spec
IEEE 1226 OMG IDL, used for testing I/Fs
Davic 1.4.1 CORBA 2.2 is referenced
W3C OMG IDL, used in DOM
ANSI X12 UML, used for modelling EDI business processes
Un/CEFACT UML, used for modelling EDI business processes
ISO JTC1/SC24 OMG IDL, used for VRML work
Source:
Appendix 3
A list of OO Methodologies:
-
Berard <biblio.htm>
-
BON <biblio.htm>
-
Booch <biblio.htm>
-
Coad/Yourdon <biblio.htm>
-
Colbert <biblio.htm>
-
de Champeaux <biblio.htm>
-
Embley <biblio.htm>
-
EVB <biblio.htm>
-
FUSION <biblio.htm>
-
HOOD <biblio.htm>
-
IBM <biblio.htm>
-
Jacobson <biblio.htm>
-
Martin/Odell <biblio.htm>
-
OOram <biblio.htm>
-
ROOM <biblio.htm>
-
Rumbaugh <biblio.htm>
-
Shlaer and Mellor <biblio.htm>
- OPEN - Brian Henderson-Sellers - OML/notation - Entry soon.
-
UML <http://www.rational.com/uml/index.jsp>
-
Wasserman <biblio.htm>
-
Winter Partners (OSMOSYS) <biblio.htm>
-
Wirfs-Brock <biblio.htm>
Source: