home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-05 | 50.9 KB | 1,241 lines |
- Newsgroups: comp.object,comp.answers,news.answers
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!howland.reston.ans.net!newsfeed.internetmci.com!ncar!uchinews!news
- From: Bob Hathaway <rjh@geodesic.com>
- Subject: Comp.Object FAQ Version 1.0.9 (04-02) Part 6/13
- X-Nntp-Posting-Host: ford.uchicago.edu
- Message-ID: <Dp9qEz.AJ8@midway.uchicago.edu>
- Followup-To: comp.object
- Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
- Sender: news@midway.uchicago.edu (News Administrator)
- Organization: Geodesic Systems
- References: <Dp9prv.92t@midway.uchicago.edu>
- Date: Wed, 3 Apr 1996 04:13:47 GMT
- Approved: news-answers-request@MIT.Edu
- Lines: 1224
- Xref: senator-bedfellow.mit.edu comp.object:46933 comp.answers:17965 news.answers:68639
-
- Archive-name: object-faq/part6
- Last-Modified: 04/02/96
- Version: 1.0.9
-
- The VODAK Model Language VML homogeneously integrates the concept of
- metaclasses and the separation of types and classes with other
- object-oriented concepts such as properties, methods, inheritance, and
- object identity. Complex nested data structures can be defined using
- the set, array, tuple, and dictionary type constructors. VML supports
- its own programming language for implementing methods, specifying
- transactions and an ad hoc query language.
-
- In VML classes are used to organize a set of objects corresponding to
- real world entities and relationships between them. Object types define
- the structure of objects and the operations defined on these
- structures. They are associated with classes in order to determine the
- structure and behavior of the class' instances. Metaclasses are first
- class objects whose instances are classes. Metaclasses are associated
- with three object types: an (optional) own-type extending their own
- behavior, an instance-type specifying the behavior of their instances
- (which are classes), and an instance-instance-type specifying the
- behavior of the instances of their instances. Metaclasses can be
- organized in an instantiation hierarchy of arbitrary depth.
-
- This approach leads to an open, adaptable data model which provides for
- the specification of additional modeling primitives at a meta layer of
- the database schema. The concept of metaclasses and the separation of
- classes and types allow to determine the structure and behavior of
- objects and the individual inheritance behavior via semantic
- relationships between arbitrary objects already at the meta layer
- independently from the specifications given at the application layer
- for the application specific classes.
-
-
- The VODAK Transaction Model
-
- In VODAK, we focus on two specific problems of transaction management.
-
- 1. Operations to read and edit (hyper)documents are typically complex,
- interactive and of long duration. A high degree of concurrency is
- required to reduce the number and length of times a transaction is
- blocked.
-
- 2. A publication environment has to handle existing database systems
- for using and modifying remote information and documents. Transaction
- managers of existing systems, i.e. concurrency control and recovery,
- have to be integrated in a transparent way utilizing the functionality
- of existing managers.
-
- Our transaction model is based on open nested transactions. Compared to
- conventional flat transactions, nested transactions allow more
- concurrency and are more flexible for recovery. A nested transaction
- is a tree-like structure, dynamically built up by the call of
- subtransactions until a bottom implementation level is encountered.
-
- We extended the open nested model from a fixed calling hierarchy of
- operations in a layered system (multi-level transactions) to an
- arbitrary calling hierarchy of operations in an object-oriented system.
- Commutativity of operations is applied to system defined VODAK methods,
- and to methods of user defined object types. For the second type of
- operations, we developed a framework to specify commutativity and
- inverse operations in VML.
-
- Query Processing
-
- Although nearly all object-oriented data models proposed so far include
- behavioral aspects, most object-oriented query languages, algebras and
- query optimization strategies simply adapt relational concepts since
- they focus on the complex structures of objects and neglect the
- behavior. We claim that this approach is not sufficient since it does
- not reflect the much richer semantics methods can carry which have to
- be taken into account for really efficient query processing. The quite
- straightforward approach we consider is to integrate methods in an
- algebraic framework for query processing and to make there partial
- knowledge about methods available in the form of equivalences. We
- integrate algebraic set operators with methods defined in database
- schemas within an object-oriented data model. We investigate the impact
- on the architecture of the query processor when the algebra becomes an
- extendible component in query processing.
-
- Multimedia Support
-
- The V3 Video Server was built as a demonstration showing a multimedia
- application developed on top of the VODAK database management system.
- The V3 Video Server allows a user to interactively store, retrieve,
- manipulate, and present analog and short digital video clips. A video
- clip consists of a sequence of pictures and corresponding sound.
- Several attributes like author, title, and a set of keywords are
- annotated.
-
- In the future, the VODAK DBMS will be enhanced with new built-in
- functionality for multimedia datatypes. Therefore, existing components
- of VODAK must be changed and new ones must be added to support time
- dependencies, high data volumes, and user interaction.
-
- Query Processing
-
- Although nearly all object-oriented data models proposed so far include
- behavioral aspects, most object-oriented query languages, algebras and
- query optimization strategies simply adapt relational concepts since
- they focus on the complex structures of objects and neglect the
- behavior. We claim that this approach is not sufficient since it does
- not reflect the much richer semantics methods can carry which have to
- be taken into account for really efficient query processing. The quite
- straightforward approach we consider is to integrate methods in an
- algebraic framework for query processing and to make there partial
- knowledge about methods available in the form of equivalences. We
- integrate algebraic set operators with methods defined in database
- schemas within an object-oriented data model. We investigate the impact
- on the architecture of the query processor when the algebra becomes an
- extendible component in query processing.
-
- The VODAK Prototype
-
- The system architecture consists of a central database environment and
- several external database environments to which the user wants to have
- integrated access. Each of these environments consists of an object
- manager, a message handler, a transaction manager, and a communication
- manager. In addition to these components an external database
- environment includes a database interface module which realizes the
- access to an external database system.
-
- The DBMS components are currently built on top of DAMOKLES and will be
- in the near future on top of ObjectStore.
-
- A first version of a C++ based prototype of VODAK is available for Sun
- Sparc Stations under certain conditions. It implements all the
- features specified in including e.g. metaclasses, transactions, and
- remote message execution.
-
- References
-
- P. Muth, T. Rakow, W. Klas, E. Neuhold: A Transaction Model for an
- Open Publication Environment. A. K. Elmagarmid (Ed.): Database
- Transaction Models for Advanced Applications. Morgan Kaufmann
- Publishers, San Mateo, Calif., 1992.
-
- Wolfgang Klas, Karl Aberer, Erich Neuhold Object-Oriented Modeling for
- Hypermedia Systems using the VODAK Modeling Language (VML) to appear
- in: Object-Oriented Database Management Systems, NATO ASI Series,
- Springer Verlag Berlin Heidelberg, August 1993.
-
- Karl Aberer, Gisela Fischer Object-Oriented Query Processing: The
- Impact of Methods on Language, Architecture and Optimization
- Arbeitspapiere der GMD No. 763, Sankt Augustin, July 1993.
-
- T.C. Rakow, P. Muth The V3 Video Server: Managing Analog and Digital
- Video Clips, Sigmod 93, Washington, DC.
-
- For further information contact
-
- {aberer,muth,rakow,klas}@darmstadt.gmd.de
-
- GMD-IPSI
- Dolivostr. 15
- D-64293 Darmstadt
- GERMANY
-
- FAX: +49-6151-869 966
-
-
- Commercial Systems
- __________________
-
- > ArtBASE (Object-Oriented Data Model)
-
- by: ArtInAppleS Ltd.
- Kremelska 13
- 845 03 Bratislava
- SLOVAKIA
- Phone: x42-7-362-889
- fax: x42-7-777 779
- EMail: artbase.support@artinapples.cs
-
- Distributor for Germany:
- ARS NOVA Software GmbH
- Stettener Strasse 32/3
- 73732 Esslingen a.N.
- Germany
- Phone: x49-711 3704001
- Fax: x49-711 3704001
- EMail: info@arsnova.stgt.sub.org
-
- Languages: Objectworks\Smalltalk by ParcPlace Systems, Inc.
-
- Platforms: Unix, PC Windows, Macintosh
-
- Features:
- - Fully implemented in Objectworks\Smalltalk
- (ArtBASE is delivered with source code)
-
- - ArtBASE extents Smalltalk of persistency. Persistent objects are handled the
- same way as transient objects.
-
- - Optimistic and pessimistic concurrency control.
-
- - Transactions, including long lived transactions
-
- - User concept with access restrictions
-
- - storing of classes and methods in the database - entire applications
- may be stored in an ArtBASE database, including the data AND the
- application classes
-
- - Currently, a single user version is available. The Distributed Multi User Server Version
- will be presented at the OOPSLA'93 at Washington D.C. in September 1993 for Unix
- environments and PCs.
-
- - Existing applications can be turned to database applications very easily using ArtBASE
-
-
- > EasyDB (Basesoft Open Systems, Sweden)
-
- Produce EasyDB, a single or multi user distributed Object Database
- Management System. Well integrated with C, C++ and Ada. Appears well
- architected.
-
- Main features include: fully distributed, multi-client, multi-server
- architecture; distributed storage and access transparent to the user;
- well integrated language bindings to C, C++ and Ada; multiple language
- access and data independence between different programming languages;
- conceptual modeling approach - intuitive and natural Data Definition
- Languages, based on the well known ERA-technique combined with object
- orientation where the user can choose between a graphical or a textual
- notation; dynamic schema evolution; interactive ad-hoc query language;
- powerful type system with possibilities to define ranges of permitted
- values; in addition to conventional data types there are BYTESTREAM and
- DATABASE REFERENCE (link); support for bidirectional relationships;
- support for short and long transactions; support for versioning; dynamic
- and static name resolution; high reliability and powerful
- error/conflict/exception handling.
-
- Customers include SAAB Aircraft, Swedish Defence Research, Ericsson
- Radar, Swedish Telecom, Swedish Defence.
-
- Popular applications areas include communications (EDI), simulation,
- GIS, CASE/CAD, library and retrieval systems (reuse libraries).
-
- Basesoft Open Systems AB
- P.O. Box 1097
- S-164 21 Kista
- Sweden
-
- Voice: +46 8 752 07 70
- Telefax: +46 8 751 22 77
- Email: request@basesoft.se
-
- Jaan Haabma, President
-
-
- > GemStone (Formerly Servio Corporation)
-
- The GemStone Object-Oriented Database, from GemStone Systems, Inc.
-
- First introduced in 1987, GemStone is the oldest commercial ODBMS available
- today. GemStone is particularly well suited for use in complex multi-user,
- multi-platform client/server applications. It supports concurrent access
- from multiple external languages, including Smalltalk (VisualWorks, Visual
- Age, and Visual Smalltalk), C++ and C. GemStone also provides Smalltalk as
- an internal DML, which can execute methods or entire applications in the
- database.
-
-
- CAPABILITIES
-
- GemStone is a highly scalable client-multiserver database for commercial
- applications. GemStone's features include:
-
- o Server Smalltalk -- GemStone allows database application developers to
- create classes and write methods which are stored and executed directly
- in the database. These methods can be accessed either internally, or
- from external client applications. This can significantly reduce network
- traffic and allow applications to take advantage of the compute power or
- network connectivity of the server. This also eliminates the need to
- rebuild and re-deploy applications whenever application or business
- processing rules change. This in turn allows for centralized code
- development and management, architecture-independent code that ports
-
- o Concurrent Support for Multiple Languages -- GemStone provides
- concurrent support for applications developed in Smalltalk, C++, or C.
- All applications, regardless of language, can have simultaneous access
- to the same database objects.
-
- o Flexible multi-user transaction control -- Multiple users can
- operate in the database simultaneously, with a variety of transaction
- control modes available. GemStone also provides a number of
- reduced-conflict classes which can increase system throughput
- substantially.
-
- o Object-level security -- Authorization control can be applied to any
- object in the database, allowing for fine tuning of object security.
-
- o Dynamic schema and object evolution -- GemStone supports schema
- modification through class versioning and allows full migration of
- objects between versions of their classes with a simple message send.
- Migration is fully customizable and is undoable.
-
- o Production Services -- GemStone delivers the full suite of features
- required in any production-ready networked database including online
- backup, rapid recovery, referential integrity, event signals, notifiers,
- and sophisticated concurrency control including optimistic, pessimistic
- and behavior based (type specific) control.
-
- o Scalability -- In a recent independent benchmark, GemStone scaled to
- support more than 1,000 simultaneous log-ins and 100 concurrent active
- users on a mid-sized SMP server.
-
- o Legacy Gateways -- GemStone incorporates gateways or data bridges
- that allow object applications to integrate legacy data, whether in SQL,
- IMS, VSAM or other formats. The level of integration between GemStone
- and legacy data and applications can range from simple query access to
- extensive read-write interoperability.
-
- o Developer Tools -- GemStone includes tools for debugging, browsing and
- inspecting database classes and methods. Included in this set of tools
- are browsers, inspectors, a debugger, and a code profiler for
- performance analysis.
-
- o Database Administration Tools -- GemStone includes a number of tools for
- general database administration, including creating new user accounts,
- assigning user and object security, managing database extents, and more.
-
-
- PLATFORMS
-
- GemStone release 4.0 and all language interfaces are available for UNIX
- workstations and servers from Sun, HP, IBM, NCR, Siemens, and Sequent.
- Client-only support is available in a number of languages for Windows 3.1,
- Windows NT, OS/2 and Macintosh. GemStone is an active member of the Object
- Management Group and the ANSI Smalltalk standardization committee. GemStone
- supports ODMG, ANSI C++ and intends to comply fully with the emerging
- standards.
-
-
- REFERENCES
-
- [Maier, et al. 84] D. Maier, J. Stein, A. Otis, A. Purdy, ``Development
- of an object-oriented DBMS'' Report CS/E-86-005, Oregon Graduate Center,
- April 86 - ACM 0-89791-204-7/86/0900-0472
-
- R.G.G. Cattell: Object Data Management - Object-Oriented and Extended
- Relational Database Systems; Addison-Wesley. ISBN 0-201-53092-9
-
- Robert Bretl, David Maier, Allan Otis, Jason Penney, Bruce Schuchardt,
- Jacob Stein, E. Harold Williams, Monty Williams. "The GemStone Data
- Management System." Chapter 12 of "Object-Oriented Concepts, Databases
- and Applications", by Kim and Lockovsky.
-
-
- CONTACTS
-
- ==== Headquarters - Beaverton ====
-
- GemStone Systems, Inc.
- 15400 NW Greenbrier Parkway
- Suite 280
- Beaverton, OR 97006
-
- Tel: 800-243-9369
- Tel: 503-629-8383
- Fax: 503-629-8556
-
- ==== San Mateo ====
-
- GemStone Systems, Inc.
- 2100 Winward Way
- Suite 100
- San Mateo, CA 94404
-
- Tel: 415-345-3144
- Fax: 415-345-9950
-
- ==== Chicago ====
-
- GemStone Systems, Inc.
- 8410 Bryn Mawr
- Suite 400
- Chicago IL 60631
-
- Tel: 312-380-1310
- Fax: 312-380-1308
-
- ==== New York ====
-
- GemStone Systems, Inc.
- 1120 Avenue of the Americas
- 4th Floor
- New York NY 10036
-
- Tel: 212-626-6680
- Fax: 212-626-6684
-
- ==== Dallas ====
-
- GemStone Systems, Inc.
- 5001 LBJ Freeway
- Suite 700
- Dallas TX 75244
-
- Tel: 214-715-2602
- Fax: 214-715-2623
-
- ==== Europe/UK ====
-
- GemStone Systems, Inc.
- Maple House
- High Street
- Potters Bar
- Herts EN6 5BS England
-
- Tel: +44 1707 827925
- Fax: +44 181 343-8537
-
-
- ======================
- ==== Distributors ====
- ======================
-
- ==== Germany, Austria, Switzerland ====
-
- Georg Heeg
- Objektorientierte Systemtechnologien
- Baroperstrasse 337
- 44227 Dortmund
- Germany
-
- Tel: +49 231 975 9900
- Fax: +49 231 975 9920
-
- ==== Scandinavia ====
-
- WM-Data
- Sandhamnsgatan 65
- Box 27030
- 102 51 Stockholm
- Sweden
-
- Tel: +46 8 6702000
- Fax: +46 8 6702060
-
- ==== Japan ====
-
- Japan Information Processing Co., Ltd.
- 2-4-24 Toyo Koto-ku
- Tokyo 135 Japan
-
- Phone: 81 3 5690 3268
- Fax: 81 3 5690 3229
-
-
- ABC Co., LTD Shonan System Development Div
- Attn: Shoji Maekawa
- 271-2 Kamimachiya Kamakura-city, Kanagawa Prefecture
- 241 Japan.
- TEL: 0467-47-8872
- FAX: 0467-44-8845
-
- ==== Taiwan ====
-
- Anco Technologies
- 11-1F, 76 Tun Hwa S. Road, Sec. 2
- Taipei
- Taiwan, R.O.C.
-
- Tel: +886-2-7053779
- Fax: +886-2-7053896
-
- ==== Mexico ====
-
- Computadoras
- Objectos y Communicaciones S.A. de C.V.
- 3A CDA. Porto Alegre 51
- Col. San Andres Tetepilco
- Mexico, D.F. 09940
-
- Phone +52 5 672-6549 or +52 5 672-6403
- Fax +52 5 672-7049
-
-
- > ITASCA
-
- Introduction
-
- Itasca Systems develops, markets, and supports ITASCA, a distributed
- active object database management system and related tools. The initial
- research work for ITASCA occurred in the Object-Oriented and Distributed
- Systems Lab at the Microelectronics and Computer Technology
- Corporation (MCC) in Austin, Texas. The research was known as the
- ORION prototypes.
-
- The ITASCA Distributed ODBMS is a language neutral, full-featured, active
- object database that supports data access from various object
- languages. ITASCA allows clients to transparently access data that is
- distributed among multiple servers. ITASCA supports full dynamic schema
- modification that can be performed during any phase of the software
- lifecycle. Applications written in dissimilar and incompatible languages,
- such as C++ and CLOS, share objects through ITASCA. ITASCA stores methods
- inside the database, promoting reusability and maintainability. The only
- commercial ODBMS based upon the MCC Orion technology, ITASCA is considered
- by many to be the most feature-rich ODBMS on the market today.
-
- This overview describes release 2.2 of the ITASCA Distributed Object
- Database Management System. It describes how ITASCA functions,
- outlines its implementation features, and explains some of the system
- benefits.
-
-
- History of ITASCA
-
- ITASCA is based on a series of object database research prototypes. Work
- on these prototypes began in 1985 at the Microelectronics and Computer
- Technology Corporation (MCC) Object-Oriented and Distributed Systems
- Laboratory. MCC released the first prototype, ORION-1, in May, 1987, as
- a single-user system. MCC extended ORION-1 to the ORION-1SX
- prototype system and released it to the shareholder companies in April,
- 1988. ORION-1SX was a multi-user system with a multi-client, single
- server architecture. The third prototype, ORION-2, introduced a distributed,
- object-oriented architecture for a multi-user environment. MCC released
- the third prototype to shareholder companies in July, 1989. ORION-2 has a
- multi-client, multi-server architecture. Having met its objectives, MCC
- stopped all work on ORION at that time. Over five million dollars was spent
- for the three generations of prototypes.
-
- The ITASCA product is an extension and commercialization of the ORION-2
- prototype from MCC. Itasca Systems has added major enhancements and
- features, improved the performance, and strengthened the code. It now runs
- on UNIX systems from multiple vendors. ITASCA is an industrial-strength,
- documented product, fully supported by Itasca Systems, Inc. Itasca Systems
- continues to develop tools and other products to work with ITASCA.
-
-
- Overview
-
- ITASCA employs a distributed architecture with private and shared objects
- spread across UNIX-based computers on a local-area network. The
- ITASCA model follows the object-oriented view that uniformly models any
- real-world entity as an object. Each object has a unique identifier along with
- a state and behavior. Attributes represent the state of an object. Methods
- (code) define the behavior of an object. A class object collects objects that
- share the same set of attributes and methods. Subclasses derive from
- existing classes. The resulting schema, or database definition, is a class
- hierarchy. Each subclass inherits all the attributes and methods of its
- superclasses. ITASCA supports multiple inheritance. A subclass may derive
- from more than one superclass.
-
- One of the breakthroughs of object-oriented technology is the reusability of
- code. ITASCA allows for the active management of both reusable code and
- data in an integrated system. Developers may write applications in C++,
- CLOS, C or Common Lisp. This means ITASCA is language neutral. Objects
- stored using one programming language can be accessed by other
- programming languages. It also means an application program need not be
- written in an object-oriented language.
-
- The ITASCA database management system has features belonging to most any
- database system. This includes persistent storage for data and schema,
- concurrency control and locking, transaction management, multiple
- security levels, and logging and recovery for both CPU and disk media
- failure. Additional features of ITASCA include dynamic schema
- modification, long-duration transactions, shared and private databases,
- distributed version control, distributed transaction management, distributed
- query management, distributed change notification, object migration, and
- an extensible architecture.
-
- Shared and private databases exist in a distributed environment in ITASCA.
- The shared database is distributed across workstations (sites) in a network.
- An ITASCA server controls the partition of the shared database at each site.
- ITASCA clients provide transparent access to the various partitions of the
- shared database. The architecture allows any number of private databases at
- each distributed database site. Data can move between private and shared
- databases. Private databases allow private data that is not shared with other
- users of the database.
-
- ITASCA stores the schema redundantly at each site to improve
- performance. The schema storage also includes code in the form of
- methods. Management of schema updates is automatic for all sites. This
- includes sites that were off-line during any changes. Automatic distribution
- of schema changes, including method code changes, simplifies database
- administration.
-
- ITASCA stores each instance of data in one site. The system or a user may
- move the data from one site to another to improve data locality. Access to
- moved data remains transparent. There is no need for a user or application
- to know the specificlocation of data in the ITASCA distributed database.
- ITASCA will automatically find the location of the data. This simplifies
- distributed application development. The developer can rely on ITASCA
- finding data in the distributed database.
-
- No single site acts as a master site, thus ITASCA's architecture has no
- single point of failure. ITASCA has neither a central data server nor a
- central name server. This is important for maintaining a database system
- with high availability in a networked workstation environment.
-
- ITASCA supports dynamic schema modification to create a flexible
- environment for changing or customizing a database system. Authorized
- users can add and remove attributes or change the subclass/superclass
- relationship at any time. Authorized users can also add or remove partitions
- of the shared database at any time. All this can be done interactively without
- affecting other parts of the ITASCA database at the time changes occur to
- the schema. There is no need to "bring the system down" or off-load/reload
- data to restructure the database. Dynamic schema modification can
- significantly reduce maintenance costs. It also is useful in environments
- where change to data definitions are normal or relatively frequent.
-
- ITASCA has a sophisticated security authorization technique tied to the
- class hierarchy. It supports both positive and negative authorizations at any
- level in the class hierarchy. For example, granting access to all objects but
- one requires only two authorizations: a global grant followed by a specific
- denial. Authorization extends to classes, instances of classes, attributes,
- and methods. Also, inheritance of authorization reduces the work of database
- administration.
-
- Long-duration transactions allow users to check objects out of the shared,
- distributed database into their private databases. Users can then change the
- objects in the private databases without affecting the shared database or
- other users. These changes can be committed to the private database. Then,
- at any later time, the user can check the updated object or objects back into
- the shared database.
-
- ITASCA supports version control of objects. A new version of an object
- promotes the original or parent object to restrict further changes to the
- parent. ITASCA also supports alternate versions such that multiple versions
- can have the same parent. Promoting an object version to a released status
- restricts any deletion of the object. ITASCA uses generic versions to
- dynamically reference the most recent or default version of an object
- without any intervention by a user or application.
-
- Change notification in ITASCA is either flag-based or message-based.
- Flag-based notification will identify an updated object upon querying the
- object for such information. It is a passive notification scheme. Message-
- based notification, on the other hand, is an active notification scheme. It
- will execute a method (or code) upon an update or other change to an object.
- Such methods can send mail messages or invoke other methods or
- programs.
-
- Memory management in ITASCA uses both page and object buffers.
- ITASCA has a traditional database page buffer scheme that contains pages
- with multiple objects. Desired objects move from the page buffer to an
- object buffer. The object buffer then provides ITASCA with enhanced in-
- memory performance because it contains only frequently-referenced
- objects.
-
-
- IBEX Corporation
-
- ITASCA is a distributed active object database management system and
- related tools. The ITASCA Distributed ODBMS is a language neutral,
- full-featured, active object database that supports data access from
- various object languages. ITASCA allows clients to transparently access
- data that is distributed among multiple servers. ITASCA supports full
- dynamic schema modification that can be performed during any phase of the
- software
-
- A point release of ITASCA (2.3.5) was delivered to customers with current
- service contracts in September 1995. Development continues with the
- expectation of ODMG compliance in the next full release, scheduled for
- 1996.
-
- IBEX has built its DAWN Distributed Archiving and Workflow Network class
- library of methods and development tools as an application framework to
- speed the development of customized solutions to enterprise-level
- integration problems. ITASCA's installed based has been largely in
- manufacturing and engineering until now, but with DAWN, banking and other
- services are beginning to take advantage of the products extended
- functionality. DAWN is also used to link production and front office
- environments for active decision support. The DAWN Manager Series comprises
- focused applications (developed on ITASCA with DAWN), such as DAWN 9000 and
- DAWN Account Manager which have an embedded Optical Character Recognition
- functionality linked to the database with a customer-defined workflow.
-
- IBEX has re-activated the ITASCA ObjectShare Library and encourages clients
- to contribute reusable objects for use by registered ITASCA customers.
- Several HTML and Web Browsers for the server itself are underway.
-
- ITASCA was very well rated in a 1994 BUtlerBloor comparison of Object
- Databases (the only one to receive more than one uncontested first rating
- -- it got four!
-
- Three framework papers describing IDE and CALS in more detail may be found
- at Web site http://www.acq.osd.mil/cals/
-
-
- IBEX Computing
- International Business Park
- 4e Bd., Bat. Hera
- 74160 Archamps
- France
-
- Email: ibex@iprolink.ch
- Voice: +33 50 31-5700
- Fax: +33 50 31-5701
-
- Web: http://www.iprolink.ch/ibexcom/
-
- IBEX Object Systems, Inc. (North American office)
- Minneapolis, MN 55401
- U.S.A.
-
- Voice: (612) 341-0748
- Fax: (612) 338-5436
-
-
- > MATISSE
-
- OODBMS FEATURES LIST:
-
- An Industrial Strength Open Semantic Object Database
-
- Performance
- - Symmetric, Fine Grain, Multi-Threaded Architecture
- - Parallel and Asynchronous Disk I/O
- - Automatic Disk Optimization through Dynamic Clustering
- B
- - High Speed OLTP Environment
- Reliability
- - 24 Hour - Mission Critical Operation
- - Media Fault Tolerant (Object Replication)
- - Transparent On-line Recovery
- Database Administration
- - Full On-line Administration (No Down Time)
- - On-line Incremental or Full Back-Up
- - Dynamically Increase Database Size - On-line
- - Full On-line Monitoring
- Data Management and Consistency
- - Dynamic Schema Evolution
- - Consistent Database Reads without Locking
- - Historical Versioning, both Schema and Data Objects
- - Built-in Enforced Referential Integrity
- - Object Level Implicit or Explicit Locking
- Scalability
- - Hundreds of Concurrent On-line Users
- - Hundreds of Gigabytes Per Database
- - From Few Bytes to Four Gigabytes for Each Object
- - Up to Four Giga-objects Per Database
- Object Model
- - Full Object Oriented Model
- - User Extensible Object Meta-Schema
- - Support for Complex, Highly Dynamic, Variable Sized Objects
- - Multiple Inheritance
- Intelligent Objects
- - Triggers at Object, Attribute, or at Relationship Level
- - Consistency Rules at Object, Attribute, or at Relationship Level
- - Customizable Intelligent Object Indexing
- - Automatic Inverse Relationships
- Open Systems
- - Open C, C++ API
- - Supports Any Commercial Development Tool and Language
- - No Proprietary Tool Required
- - Heterogeneous Cross Platform Client/Server Architecture
-
-
- For additional information on MATISSE, contact
- ----------------------------------------------
-
- In the UNITED STATES:
- ADB Inc. (MATISSE)
- 1 Twin Dolphin Drive
- Redwood Shores, CA 94065
- U.S.A.
-
- Voice: 1 (415) 610-0367
- Fax: 1 (415) 610-0368
- Email: info@adb.com
- Web: http://www.adb.com
-
-
- In EUROPE:
- ADB S.A. Inc.
- 12-14, rue du Fort de St Cyr
- Montigny Le Bretonneux
- 78182 St Quentin en Yvelines
- Cedex, France
-
- Voice: 33 (1) 48 64 72 73
- Email: info@adb.fr
- Web: http://www.adb.fr
-
-
- In ASIA:
- ADB Asia / SGN
- Urban Toranomon Building
- 1-16-4 Toranomon
- Minato-ku Tokyo 105
- Japan
-
- Tel: 81 (3) 3593 3431
- Fax: 81 (3) 3593 3432
-
-
- MATISSE TECHNOLOGY BRIEF
-
- MATISSE was designed to have an OPEN API, and not be
- tightly bound to a single language (such as C++ or Smalltalk).
- MATISSE can be used effectively with C++, C, and any other language.
- This allows for MATISSE to be easily integrated into almost any
- user application.
-
- MATISSE is based upon the following principles and ideals:
-
- MATISSE is first and foremost a database, whose purpose is to
- always provide information in a consistent and correct format,
- insuring referential integrity amidst the most complex database
- modifications. And, to provide a set of DBA tools which meet
- the challenge of managing large, complex database applications.
-
- Production quality applications require production quality databases.
- This means high reliability, high scalability, no database down
- time for archival/backup/restore and 24hr/7days per week operation.
- MATISSE supports these requirements.
-
- A flexible, intelligent meta-model architecture based upon the
- principles of semantic links and object technology allows for the
- most effective bases for representing and managing complex, highly
- interrelated data. The MATISSE meta-model provides built in
- constraint checking, user definable constraints for triggers and
- daemons, and full dynamic schema and meta-schema evolution.
-
- Providing an architecture which is open allows for the integration
- of MATISSE with any language or environment. MATISSE is not bound
- to any language. Its 'C' API allows for its use with many
- languages and environments.
-
- The following list describes the features of MATISSE which we
- believe provide the competitive advantage:
- - Mission-critical operation - 24 hour operation and fault tolerance
- - Independence from any programming language
- - Dynamic schema management and evolution
- - Flexibility of the MATISSE meta-model
- - Historical versioning
- - Consistent reads without locking - concurrency and locking
- - Support for high level consistency and referential integrity
- - Multi-threading architecture provides for a high degree of scalability
-
- Each of these items are described in more detail below:
-
- Mission Critical Operation.
- MATISSE is designed to support 24 hour a day / 7 day a week operation,
- on multi-client / multi-server architectures. Administration tools
- offer high end features which are mandatory for legacy DB administrators.
-
-
- Independence from any Programming Language.
- The MATISSE client is implemented as a library of C procedures. As a
- result, any standard language can be used to develop applications on
- top of MATISSE, provided that the corresponding compiler is capable
- of calling external C-functions. To date, production applications have
- been built on top of MATISSE using C, ADA and C++.
-
-
- Dynamic Schema Management.
- Schema objects can be accessed using the same API available for data
- objects. The Data Definition Language is identical to the Data
- Manipulation language. Versioning is implemented for both schema
- and data objects. Thus, any running application can modify the database
- schema, provided that existing instances do not become inconsistent with
- that schema. Consistency rules are checked by MATISSE.
-
-
- Flexibility of the Model.
- MATISSE is compliant with the IRDS standard. Its architecture is
- highly extendible at both the Schema and the Meta-Schema level. The
- MATISSE Semantic Meta-Model is not hard-coded. It can be updated to
- conform with any OMG, ANSI, ISO, ... standard that might be issued
- in the future. MATISSE can easily adapt to changing and evolving
- standards, without significant effort or re engineering.
-
-
- Versioning.
- Using the on-line versioning mechanism, MATISSE allows any connected
- client application to dynamically access any past database version which
- was marked as a version to be saved. Access can be performed without
- any particular administrative operation, and concurrently with other
- on-line accesses to current or other historical versions.
-
- Since a database version includes both data and schema objects, a
- past version is always consistent, even after schema modification. As
- a past version is accessed, so to is it's schema, and even the
- appropriate meta-schema associated with the accessed version.
-
-
- Consistent Reads without Locking.
- Using its versioning mechanism, MATISSE offers three kinds of
- database access:
-
- Typical transaction-based access: : as the
- database migrates forwards, and updates are made, database access
- occurs against the latest consistent database version. A successful
- transaction commit results in a new consistent version. If explicitly
- named, this version becomes a historical database version, which can
- be accessed by its logical name in the future .
-
- Historical version access: the application specifies the logical
- name of the historical version to be accessed. Access is read-only,
- and does not require any locking mechanism.
-
- Current Time access: : this is a very powerful and unique feature
- of MATISSE. Any application can request the latest available consistent
- database version, using a reference to current time, with no
- locking overhead. The "current time" database version is based
- upon the last transaction commit, and is automatically maintained by
- the database. A "current time" database version acquires no database
- locks when accessed in read-only mode, thereby significantly
- reducing overhead.
-
- Through these three access modes, MATISSE supports on-line
- transaction processing and decision support requirements concurrently
- within a single application, through the use of current and historical
- versions.
-
- Support for High Level Consistency.
- With MATISSE, referential integrity cannot be corrupted. MATISSE's
- Semantic Links are specialized - i.e. they are specifically
- established between classes, they are directional, and, inverse links
- are automatically and dynamically set by MATISSE. As a result, a
- MATISSE database understands its relationships, and fully manages
- all internal consistency features, insuring that no corruption occurs.
-
- Developers can describe very complex consistency methods and rules
- using daemons and triggers. These methods can be attached to
- particular events such as, before or after creation, as well as class,
- instance, attribute modification. Daemons and triggers provide for
- message propagation within your database. This results in a very
- intelligent database, which can be event driven.
-
-
- MATISSE Server runs on
- - Sun Sparcstation - SunOS 4.1.3
- - Sun Sparcstation - Solaris
- - VAX - VMS
- - HP9000 - HP-UX
-
- MATISSE Client runs on
- - Sun Sparcstation - SunOS 4.1.3
- - Sun Sparcstation - Solaris
- - HP9000 - HP-UX
- - Windows NT
- - Macintosh
-
-
- > NeoAccess
-
- NeoLogic Systems
-
- NeoLogic Systems produces NeoAccess, a cross-platform object database
- engine, and NeoShare, a client/server collaborative computing engine.
- NeoAccess consists of a set of C++ database and collection classes.
- NeoShare extends NeoAccess to provide shared multi-user access to objects
- in a database. Both products come with full source code for all supported
- development environments (Windows, Macintosh and Unix). NeoAccess is
- priced at $749 per developer for full surce code for all supported
- environments, and there are no licensing fees. Support options are
- available.
-
- NeoAccess Introductory Toolkit is available without charge. The
- Toolkit consists of a 200+ page technical overview on the product plus
- several sample applications with source code. This is everything you
- need to determine what NeoAccess is and how you might use it in your
- development. The Macintosh, Windows and Unix versions of the
- documentation can be downloaded from the NeoLogic home pages or FTP
- site, or a diskette can be supplied upon request.
-
- NeoAccess Version 4.0, released in October 1995, features full support
- for Microsoft Visual C++ 4.0 IDE and the MFC 4.0 application framework.
- The client/server database engine, NeoShare 1.1, was released in December
- 1995, and includes support for additional application frameworks.
-
- NeoLogic Systems
- 1450 Fourth Street, Suite 12
- Berkeley, CA 94710
- U.S.A.
-
- Voice: (510) 524-5897
- Fax: (510) 524-4501
-
- Email: neologic@neologic.com
- Compuserve: 71762,214
- AOL: NeoLogic
- Apple Link: NeoLogic
- Web: http://www.neologic.com/~neologic/
- Ftp: ftp.neologic.com /users/neologic
-
- NeoLogic News:
- To subscribe, send email to: listserv@fairbanks.pvt.k12.ca.us
- with the following line: SUB NeoAccess-Forum <Your Name>
-
- NeoLogic Systems has representatives in Germany, Switzerland, UK,
- Belgium, France, and Japan.
-
-
- > OBST+
-
- Xcc Software Technology Transfer offer OBST+, a full-featured, language
- independant OODBMS with a C++-Interface and a Tcl/Tk binding. It's multiuser,
- supports schema evolution, check-in/check-out, full access to the Meta-DB and
- is available on several Unix-Platforms, and a Win NT port is underway.
- A GNU-version is available. (archie search: OBST3-4.3.tar.gz)
-
- Xcc Software Technology Transfer
- Durlacher Allee 53
- D-76131 Karlsruhe
- Germany
-
- Voice: 49-721-96179-0
- Fax: 49-721-96179-79
-
- email: obst@xcc-ka.de
-
- Web: http://www.xcc-ka.de/OBST/OBST.html
- http://www.fzi.de/divisions/dbs/projects/OBST.html
-
- Ftp: ftp://ftp.fzi.de/pub/OBST/current
- ftp://ftp.xcc-ka.de/pub/OBST
-
-
- > O2 (O2 Technology)
-
- O2 Technology, Inc.
-
- The O2 System is a fully modular object database, well adapted for
- developing large-scale client/server applications. The O2 system conforms
- to the ODMG 93 standard. O2 is an open system, which ensures its
- compatibility with a corporate computing environment.
-
- O2 integrates a powerful engine with a graphic programming environment, a
- complete set of development tools and programming languages. The modules
- can be integrated with existing relational database engines, GUI tools,
- the World Wide Web, programming languages and CASE and methodology tools.
-
- With O2, you can develop and run applications in areas where traditional
- tools and systems cannot handle information efficiently (e.g. management
- of technical information, geographical information systems, CAD/CAM and
- network management).
-
- For more information on O2, consult the following REFERENCES:
-
- Francois Bancilhon, Claude Delobel, Paris
- Kanellakis. "Building an Object-Oriented Database
- System: The Story of O2". Morgan Kaufmann Series
- in Data Management Systems, San Mateo, Calif., 1992.
-
- F. Bancilhon, G. Barbette, V. Benzaken, C. Delobel,
- S. Gamerman, C. Lecluse, P. Pfeffer, P. Richard,
- and F. Velez. "The Design and Implementation of
- O2, and Object-Oriented Database System".
- Advances in Object-Oriented Database Systems,
- Springer Verlag. (Lecture Notes in Computer Science
- series, Number 334.)
-
- C. Lecluse, P. Richard, and F. Velez. "O2, an
- Object-Oriented Data Model". Proceedings of
- SIGMOD88. Also appears in Zdonik and Maier,
- "Readings in Object-Oriented Database Systems",
- Morgan Kaufmann, 1990.
-
- 2 Technology, Inc.
- 3600 West Bayshore Road, Suite 106
- Palo Alto, Ca 94303
- U.S.A.
-
- Voice: (415) 842-7000
- Fax: (415) 842-7001
- Email: o2info@o2tech.com
- Web: http://www.o2tech.com
-
-
- O2 Technology, Inc.
- 7 rue du Parc de Clagny
- 78035 Versailles Cedex
- France
-
- Voice: 33-1-30-84-77-77
- Fax: 33-1-30-84-77-90
- Email: o2info@o2tech.fr
-
-
- O2 Technology
- North Heath Lane
- Horsham
- West Sussex RH12 5UX
- United Kingdom
-
- Contact: Dr. Sharon Cooper
-
- Voice: (44) 403 211 020
- Fax: (44) 403 273 123
- 02tech@tenet.co.uk
-
- Web: http://www.o2tech.fr/ Note: this Web server is built on top
- of O2Web, the O2 WWW gateway, and
- uses the O2 ODBMS for a backend.
-
-
- > Objectivity/DB (Objectivity)
-
- Introduction:
-
- Objectivity/DB has a fully distributed client/server architecture that
- transparently manages objects distributed across heterogeneous environments and
- multiple databases. It provides an application interface that uses transparent
- indirection to ensure integrity and provides a single logical view of all
- information, with all operations working transparently on any database on the
- network, with scalable performance as users and objects increase. A
- higher-level Object Definition Language (ODL) is available as well as a C
- functional interface, integrated C++ interface, and SQL++.
-
-
- Objectivity/DB
-
- Objectivity/DB [Reference: Technical Overview, Objectivity, 1993], a product
- of Objectivity, Inc. of Menlo Park, CA, provides an integrated C++ programming
- interface with an emphasis on the DBMS engine for robustness and scalability
- from workgroups to enterprise-wide production applications. In production use
- today with more than 50,000 end users licensed, it supports a fully
- distributed, rather than central-server, architecture, with all operations
- working transparently over a mixture of multiple databases, schemas, users, and
- computers, and over heterogeneous hardware, operating systems, and networks.
- The language interface includes a C++ class library interface, soon to be ODMG;
- a C function library; and SQL++, supporting query predicates with either SQL or
- C++ syntax, interactively or programmatically. Over forty administrative and
- GUI tools provide both an interactive and programmatic interface, and a
- messaging backplane allows third party tools integration at four different
- levels, with a list of partners at all levels.
-
- One of the key architectural concepts of Objectivity/DB is an object reference
- mechanism that ensures data integrity. Unlike traditional ODBMSs that use
- direct pointers, which become invalid after commit and hence lead to crashes
- and corrupt databases, Objectivity/DB uses an indirection to guarantee safe
- reference. Transparent to the user, this indirection requires an extra test
- and pointer dereference, or a couple of cycles, which is not measurable in most
- applications. However, it ensures integrity of all references, even across
- transaction boundaries, resulting in production quality robustness. Also, it
- provides object level granularity for the object manager, allowing it to move,
- cluster, and swap objects as necessary, one of the keys required for
- scalability in objects and users. Finally, it allows object-level granularity
- for current features, such as heterogeneity and versioning, and future
- extensions, such as object-level security.
-
- A higher-level Object Definition Language (ODL) is provided that allows
- declaration of modeling concepts such as bi-directional associations, behavior
- of associations between objects as they version (move, copy drop), and
- propagation of methods across associations. These then result in automatically
- generated methods and declarations for both C++ and C. The standard C++ API
- allows application programmers to work with any standard compilers and
- debuggers, with no extra pre-processors, providing ODBMS capabilities via
- overloading C++ operators (new, ->, etc.), and declarations via provided
- classes (for references, etc.).
-
- Workgroup through enterprise-wide and cross-enterprise computing is supported
- via a distributed client/server architecture that provides a single logical
- view over multiple databases on heterogeneous machines. The user sees a
- logical view of objects connected to objects and need not worry that one object
- is in a database on a Sun workstation, while another may be in a database under
- Windows or VMS. All operations work transparently across this environment,
- including atomic transactions with two-phase commit, propagating methods, and
- versioning. Objects may be moved between databases and platforms without
- affecting working applications or requiring changes to the applications.
- Multiple schemas may be created, without affecting other users or databases,
- and may be used simultaneously with shared schemas, allowing local groups to
- define their own models but still connect to other groups. Databases may be
- detached from this shared environment (federated database) and used on portable
- devices, reconnected or moved to different (compatible) environment, or
- distributed as parts or image libraries. Gateways to RDBMSs are provided via
- third-party integration with Persistence Software, and more generally to any
- foreign data store, as long as the user installs the appropriate access
- methods, extending the single-logical-view to include read/write access to
- arbitrary foreign data stores. Together, these allow delegation of
- responsibilities to the appropriate users, integration with existing systems,
- and gradual migration toward full enterprise-wide sharing.
-
- The on-demand object manager directly and automatically manages object access
- and buffering, rather than relying on system facilities such as virtual memory
- or user manual get/put calls. Mechanisms used include multiple buffer pools
- locally and remotely, b-trees, hashing, scoped names, keys, and iterators, with
- distributed catalogues for schemas and databases. A direct connection is
- established between the user and the objects used, so that users do not
- conflict unless and until they are competing for the same objects, thus
- avoiding the traditional central-server bottleneck. Short transactions are
- based on traditional (transient) locks, owned by the process, and group
- together an arbitrary set of operations. Long transactions are based on
- persistent locks, owned by the user, and provide the same arbitrary grouping.
- Default concurrency is two-phase locking and serialization, but extensions
- available include MROW, or multiple-readers concurrent with one-writer, and
- allow users to lock with or without wait or with timed waits, to implement more
- sophisticated mechanisms.
-
- Objects may be modeled using C++ structures augmented by classes provided such
- as strings, dictionaries, and relationship management, as well as some
- particular domain libraries. A simple object is a C++ class (or C structure)
- with associated access methods. A complex object may include multiple varrays,
- each being a dynamically varying sized array of arbitrary structure. A
- composite object is any network of related objects that acts as a single
- object, both structurally and behaviorally, via propagation of behaviors to
- component objects. Any number of composite objects may be contained in
- composite objects, and a single object may participate in any number of
- composites. The relationship mechanism supports uni- and bi-directional
- relationships, one-to-one, one-to-many, and many-to-many. Versioning is
- supported at object granularity, may be turned on or off at any time for each
- object, may be restricted to linear or allow branching with multiple writers.
- References to versioned objects may be to a specific version or to the default
- version, which may be separately specified by a method and may allow multiple
- defaults. Schema and object evolution are supported via versioning of the
- type-defining objects. Each time a type definition is changed, its defining
- object is versioned, allowing arbitrary changes. Objects may then be instances
- of the old or new type version. Object evolution or upgrading to the new type
- version is supported by the user writing conversion methods which are
- installed and invoked by the system.
-
- ANSI SQL query is supported in the SQL++ product. Predicate syntax may be
- either C++ or SQL. The ODBC and SQL Access Group (SAG) protocols are
- supported. Queries may be invoked programatically or interactively, with ad
- hoc support. Access to object features is available via methods and traversal
- of relationships.
-
- Over forty administrative and developer tools are provided, each with both an
- interactive and programmatic interface. These include GUI object and type
- browsers, query browsers, report generator, tools to examine and force short
- and long locks, to move objects and databases, etc. On-line incremental backup
- provides a consistent network-wide snapshot, including referential integrity
- across all databases, and runs incremental and full database backups with no
- need to acquiesce the databases and no interference with active applications.
- All tools are built around a messaging backplane, which supports four levels of
- integration with user and third-party tools. Integrated products include HP
- SoftBench (full operational level), CenterLine's ObjectCenter (tool level),
- Persistence RDBMS gateway, PTech and ProtoSoft Design and Analysis (language
- level), and XVT and UIM/X (compatibility level).
-