Abstract. This paper reviews the state of the art of Object-Oriented Database Management. Systems (OODBMS). The objective of this paper is to provide the. Some basic questions about OODBMS architecture: Do all OODBMS systems have a common set of underlying principles? (In the same way as relational DBMS. Douglas K Barry is also the author of a book that explains Web Services, service- oriented architecture, and Cloud Computing in an easy-to-understand.
|Published (Last):||7 April 2010|
|PDF File Size:||3.69 Mb|
|ePub File Size:||13.11 Mb|
|Price:||Free* [*Free Regsitration Required]|
Below, in italics, you can find their discussion of this question. Following each of their paragraphs, I have provided a response. A number of such products are available, and many of them have Java interfaces.
This option may be attractive under certain circumstances, principally because an OODBMS could have semantics xrchitecture are close to those of Java, making it relative easy to store, retrieve, and manage objects instead of rows of data. However, although the market for OODBMSs is growing even growing rapidly, according to some sourcesthere are several problems with this choice. This is the nature of transparent persistence.
That is transparent persistence. The first problem is that, in spite of the existence of a nominal standard for OODBMSs, the reality is that the products available today implement very little of that standard, and no two products implement the same bits. Although this criticism can be leveled at many archifecture standards including SQL’s! Second, I am puzzled by the comment that the “internal models tend to be widely divergent and the lack of a common language among products.
Why Use SQL Instead of an OODBMS?
This is also true qrchitecture many object-relational mapping products. See Java Data Objects. Third, not everyone has implemented all specifications or all of a particular specification, probably giving rise to the comment that “no two products implement the same bits. This situation leads to a second problem: Without a common model or a ooodbms language, knowledge gained from using one system cannot readily be applied to a different system.
ODBMSs add only a few additional commands to Java that involve opening databases, starting transactions, issuing queries, ending transactions, and closing databases. Yes, that’s only a handful of commands beyond Java. Oidbms contrast, SQL the so-called intergalactic dataspeak allows implementations of relational database management systems to shield largely, if incompletely application programmers from their internal models and to provide an interface to the data they manage that is significantly like the interface provided by other SQL products.
In this way, training on one product can be meaningful when working with a different product.
See the prior response. A third problem is perhaps more subtle. OODBMSs excel at managing objectsespecially in environment where the operations to be performed on those objects are reasonably well known when the database is designed.
They rarely perform well when called upon to deal with ad hoc query environments or applications requiring significant use of traditional data such as numbers and character strings. SQL is well designed to deal with that traditional data, and virtually all SQL products today are quite efficient when dealing with unpredictable — and unpredicted — queries and combinations of data.
SQL products are designed to deal with traditional data. ODBMSs, on the other hand, are good when you have a business need for high performance on complex data. ODBMS and object-relational mapping products both use transparent persistence. You end up writing a lot less code with transparent persistence. For an example that shows transparent persistent access to an RDBMS requiring only 25 percent of the code needed compared to using JDBC, see transparent persistence vs.
I think it would be fair to extrapolate these results to embedded SQL. In fact, I have received plenty of anecdotal evidence from my clients that indicates the code required for a transparent persistent interface ranges from 25 to 40 percent of the code needed for either JDBC, SQLJ, or embedded SQL. That can obviously have a big impact on development costs. The last situation brings us to a final alternative: Several variations on this theme come to mind, but two of them illustrate the possibilities.
You could buy an SQL product and a separate OODBMS product and write your applications to use the first for traditional data the the other for objects, using a third product — a transaction monitor — to ensure that transactional semantics are applied to updates that invoke both products.
Why Aren’t You Using An Object Oriented Database Management System?
Alternatively, you could acquire a product with thorough SQL support built into it that has also integrated support for object management, either through the use of specialized storage managers or through built-in object facilities. The first choice requires that your application manage the relationship between traditional data and objects, but probably allows greater flexibility in choosing the products you acquire.
The second option may limit your product choices somewhat, but all of the major SQL vendor are delivering products that support one or sometimes both of the variations we mentioned. Among products that are SQL-based and have integrated object architectur, the fastest growing approach to delivering that support is to integrate Java with the database engine in some fashion, which of course, is what this book is primarily about.
AN EXPLORATION OF
Another way to look at this is to use an analogy. Do you always use the same tool for different uses? A hammer is a hard way to drive in a screw! Or, for that matter, try pounding in a nail with a screwdriver. We should look at all these products based on application needs and pick the oodbns tool for each job.
See the example middle-tier architecture.
Object-Oriented Database Management System (OODBMS) Definition
More on enterprise architectures using Java application servers. The name was changed in to better reflect its mission to specify and promote transparent persistence for both object databases and object-relational mapping products.
More on the general topic: You may use this material for your work or classes. Be sure to check the menu at the left for other articles available on this site. Douglas K Barry is also the author of a archltecture that explains Web Services, service-oriented architecture, and Cloud Computing in an easy-to-understand, non-technical manner. This is a guide for architectture savvy manager who wants to capitalize on the wave of change that is occurring with Web Services, service-oriented architecture, and—more recently—Cloud Computing.
The changes wrought by these technologies will require both a basic grasp of the technologies and an effective way to deal with how these changes will affect the people who build and use the systems in our organizations. This book agchitecture both issues. Managers at all levels of all organizations must be aware of both the changes that we are now seeing arcyitecture ways to deal with issues created by those changes.