ObjectStore
Encyclopedia
ObjectStore is a commercial object database
Object database
An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming...

, which is a specialized type of database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

 designed to handle data created by applications that use object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

 techniques. It is inspired by the Statice database originally developed at Symbolics
Symbolics
Symbolics refers to two companies: now-defunct computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system.The symbolics.com domain was...

. ObjectStore is innovative in its use of the C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 language to make database access transparent. Objects can be created in a database by overloading the operator new. In this way, one can store C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 objects directly in the database and these persistent objects look and behave just like normal C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 objects. By making use of signals, ObjectStore traps pointer exceptions and transparently brings objects in from the database. In addition, by use of a technique called swizzling
Pointer swizzling
In computer science, pointer swizzling is the conversion of references based on name or position to direct pointer references. It is typically performed during the deserialization of a relocatable object from disk, such as an executable file or pointer-based data structure...

, the database can be accessed from different platforms, with pages being 'swizzled' as they are brought into memory on page faults to correct big endian versus little endian platform issues as well as virtual function table layout. The design of ObjectStore is described in 1991 paper in the Communications of the ACM
Communications of the ACM
Communications of the ACM is the flagship monthly journal of the Association for Computing Machinery . First published in 1957, CACM is sent to all ACM members, currently numbering about 80,000. The articles are intended for readers with backgrounds in all areas of computer science and information...

.

ObjectStore was originally created in 1988 by Object Design, Incorporated, which was based in Burlington, Massachusetts
Burlington, Massachusetts
Burlington is a town in Middlesex County, Massachusetts, United States. The population was 24,498 at the 2010 census.- History :It is believed that Burlington takes its name from the English town of Bridlington, however this has never been confirmed....

 and founded by several former Symbolics employees. In 2002 the product was acquired by Progress Software
Progress Software
Progress Software Corporation , formerly Data Language Corporation, is an American software company that sells business application infrastructure software. Its best known product is the OpenEdge ABL , which was developed in the early 1980s. The best known application written in Progress is...

, which continues to develop the technology, and has recently expanded its use beyond the object database market to target use as a database for real-time computing
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...

, specifically designed for RFID data management, and as a cache
Cache
In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...

 for relational databases. The ObjectStore product is used in many fields, including telecommunications, financial services, travel, GIS, and the government.

One of the early successful applications of the product was with Telstra
Telstra
Telstra Corporation Limited is an Australian telecommunications and media company, building and operating telecommunications networks and marketing voice, mobile, internet access and pay television products and services....

 to handle 13 and 1300 numbers in Australia - similar to 1800 numbers in the US. The product enabled the real time mapping of those numbers to a number closest to the caller - for example a local taxi company or the nearest open Pizza Hut
Pizza Hut
Pizza Hut is an American restaurant chain and international franchise that offers different styles of pizza along with side dishes including pasta, buffalo wings, breadsticks, and garlic bread....

.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK