home *** CD-ROM | disk | FTP | other *** search
- Path: bloom-beacon.mit.edu!senator-bedfellow.mit.edu!faqserv
- From: Bob Hathaway <rjh@geodesic.com>
- Newsgroups: comp.object,comp.answers,news.answers
- Subject: Comp.Object FAQ Version 1.0.6 (9-15) Part 5/9
- Supersedes: <object-faq/part5_777166834@rtfm.mit.edu>
- Followup-To: comp.object
- Date: 17 Sep 1994 12:04:28 GMT
- Organization: Geodesic Systems
- Lines: 1677
- Approved: news-answers-request@MIT.Edu
- Expires: 31 Oct 1994 12:03:01 GMT
- Message-ID: <object-faq/part5_779803381@rtfm.mit.edu>
- References: <object-faq/part4_779803381@rtfm.mit.edu>
- NNTP-Posting-Host: bloom-picayune.mit.edu
- Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
- X-Last-Updated: 1994/09/15
- Originator: faqserv@bloom-picayune.MIT.EDU
- Xref: bloom-beacon.mit.edu comp.object:12654 comp.answers:7313 news.answers:25853
-
- Archive-name: object-faq/part5
- Last-Modified: 9/15/94
- Version: 1.0.6
-
- 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 Information on MATISSE, Contact one of the following offices:
-
- USA:
- ODB, an Intellitic International Company
- 238 Broadway
- Cambridge, MA 02139
- Phone:(617) 354-4220
- Fax: (617) 547-5420
- email: info@odb.com
-
- EUROPE:
- INTELLITIC INTERNATIONAL
- 12-14 rue du Fort de Saint-Cyr
- Montigny-le-Bretonneux
- 78182 Saint Quentin en Yvelines Cedex France
- Phone: 33(1) 30.14.54.30
- Fax: 33 (1) 30.14.54.40
-
- JAPAN:
- SGN CO. LTD.
- Urban Toranomon Building
- 16-4 Toranomon
- Minato-Ku Tokyo 105 Japan
- Phone: 81 (3) 3593.34.31
- Fax: 81 (3) 3593.34.32
-
-
- > NeoAccess
-
- A cross-platform object-oriented database engine based on C++. It allows
- developers to embed the power of a fully-functional object-oriented database
- system into their applications. All of the data contained in the database,
- including indices, can be in a single file, so users can treat a database
- file as they would a standard document file. The programming model is
- designed to keep visible complexity to a minimum while providing a
- feature-rich foundation on which to build and enhance applications.
-
- NeoAccess has taken a different approach toward the issues surrounding object
- persistence than have other solutions that have been offered. We believe that
- objects should be viewed as having a set of properties with a pliable state.
- With NeoAccess persistent objects are provided with persistence and sharing
- properties. These properties allow objects to maintain an association with a
- file. This association, which can be built and broken freely, allowing
- objects to migrate freely between disk and memory. The API to these
- properties address issues such as adding or deleting the object from a file,
- sorting and indexing, locating and later freeing the object in memory, object
- sharing, and maintaining relationships between objects.
-
- NeoAcces
- s with has been fully integrated into standard application frameworks such as
- Borland's ObjectWindows and MacApp 3.0 and the THINK Class Library on the
- Macintosh. A single source tree can be used to build the engine in all
- development environments. Database files are binary-compatible across
- platforms so users on different types of machines can share data without
- conversion.
-
- Contact:
- Bob Krause
- NeoLogic Systems
- 1373 Third Avenue
- San Francisco, CA 94122
- (415) 566-9207
-
-
- > O2 (INRIA/O2 Technology)
-
- This is an entry on schema evolution. General papers on O2 are included.
-
- We have implemented in O2 schema updates in our first release but
- without NO IMPACT on the database (we have a design to implement
- deferred update, but it is a paper design). However, users manage to
- convert their instances by hand, using their O2 programs written
- themselves, and with the aid of the following tools:
-
- 1- There is a set of predefined classes whose instances contain
- objects representing a schema (i.e., a Meta-schema). These classes
- may be used in a conversion program, they may even be extended by
- the programmer.
-
- 2- There is a save-restore program that allows to take an O2 database,
- save it on a file or a tape in a logical way (i.e., independent of
- the physical format of objects on disk), and restore it again on a
- (perhaps new release) of the system, in an empty database.
- Currently, when saving a database its schema is also saved. The
- next extension to this save/restore program will be to save the
- database without saving its schema, and then restore the database
- on a new version of that schema. The restore program will be able
- to perform automatically some conversions like "add attribute" or
- "delete attribute".
-
-
- Schema updates with impact on the database will be implemented in future
- releases.
-
- [Fernando Velez <fernando@o2tech.fr>]
-
-
- 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.
-
- ==== Corporate headquarters:
- O2 Technology
- 7 Rue du Parc de clagny
- 78035 Versailles Cedex
- France
- tel : 33 1 30 84 77 77
- fax : 33 1 30 84 77 90
-
- [They have many other contacts worldwide]
-
-
- > 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).
-
- Objectivity/DB is resold by Digital Equipment Corporation as DEC Object/DB,
- providing a multi-billion-dollar second source vendor. Over 50,000 end users
- are licensed in production use, with applications including real-time
- telecommunications, aerospace, defense, case, CAD/CAM, CIM, manufacturing, oil
- & gas, process control, transportation, multi-media, case, document management,
- financial analysis, and corporate information management. Platform support
- includes all Sun, all DEC (including VMS, alpha, OSF-1), HP/9000 series (both
- 68xxx and PA-RISC), IBM RS/6000, NCR 3300, SGI, Windows 3.1, and Windows NT.
-
- On Schema Evolution (from original survey):
- In the just-released Version 2.0 (shipping Oct 92), schema evolution
- is supported via dynamic versioning of type-defining objects [ie.
- class versions -- SMC], and via a step-by-step approach that allows
- conversion of instance data via user-provided conversion methods.
- Also, a full dynamic type manager interface is available for doing
- fancier things.
-
- Contact:
-
- Drew Wade
- Objectivity, Inc.
- 800 El Camino Real
- Menlo Park, CA 94025 USA
- drew@objy.com
- 1(415)688-8000 voice
- 1(415)325-0939 fax
- admin ass't: Vickie Clements (vickie@objy.com)
- information: info@objy.com
-
-
- > ObjectStore Object Database System From Object Design, Inc.
-
-
- Product Description
-
- ObjectStore[TM] is a high performance ODBMS designed for ease of use in
- development of sophisticated applications using object-oriented
- development techniques. It offers a tightly-integrated language
- interface to a complete set of traditional DBMS features including
- persistence, transaction management (concurrency control and
- recovery), distributed access, associative queries over large amounts
- of data, and database administration utilities. ObjectStore's data
- management facilities combined with popular development tools create a
- high productivity development environment for implementing
- object-oriented applications.
-
- Key Features:
-
- - Transparent interface designed for popular C and C++ programming
- environments.
-
- - Concurrent access to large amounts of persistent data.
-
- - Distribution of objects over networks using a variety of popular
- network protocols.
-
- - Access to persistent data at the same speed as transient data.
-
- - Extensible data modeling capabilities for applications requiring
- complex data structures.
-
- - Easy migration path for existing C and C++ applications.
-
- - Class libraries for version and configuration management.
-
- - Class libraries for managing collections of objects.
-
- - A fully distributed (multi-server/multi-database) ad hoc query
- capability.
-
- - An interactive Browser to inspect objects and object
- descriptions.
-
- - Interoperable with ObjectStore servers running on other operating
- systems and hardware environments.
-
- - Complete schema evolution for an application's metadata and
- existing object instances.
-
- - Full online backup for continuous processing environments.
-
- - Meta object protocol with programmatic access to schema
- information.
-
- - Dynamic Type creation for extending existing class definitions
- during program execution.
-
-
- System View
-
- ObjectStore supports cooperative access through its flexible
- client/server software architecture, which allows users to make the
- take advantage of the computational power that exists on the desktop.
- ObjectStore's client/server implementation allows one server to
- support many client workstations, each workstation to simultaneously
- access multiple databases on many servers, and a server to be resident
- on the same machine as a client. ObjectStore's distributed
- architecture supports several network environments for
- interoperability among popular workstations and PC's and includes
- support for TCP/IP, Novell IPX/SPX, other popular network protocols.
-
-
- Application Interface
-
- Access to ObjectStore is provided through a library based application
- interface compatible with popular C and C++ compilers and programming
- environments. The ObjectStore application interface provides support
- for C++ compilers -- such as those from workstation suppliers -- and
- development environments from independent software vendors such as
- Visual C++ from Microsoft, ObjectCenter from CenterLine Software, Inc.
- and Energize from Lucid, Inc. The application interface provides
- powerful high-level function calls which enable the programmer to
- create multi-user application which share large amounts of data.
- These functions include:
-
- - Relationship Management
- - Version Management
- - Collection Management
- - Storage Management
- - Associative Queries
- - Object Iteration
- - Transaction Management
- - Index Management
- - Clustering
-
- Applications developed using ObjectStore library calls are
- source-level compatible with ObjectStore applications developed for
- other operating systems on other hardware platforms.
-
- Platforms
-
- ObjectStore is available on the following major platforms:
-
- Unix Workstation Platforms
-
- - DEC MIPS Ultrix
- - HP 700 Series HP-UX
- - HP 800 Series HP-UX
- - IBM RS/6000 AIX
- - NCR 3000
- - Olivetti LSX-50xx SVR4
- - Silicon Graphics IRIX 5.x
- - SunSoft Intel Solaris 2
- - SunSoft SPARC Solaris 1 SunOS 4
- - SunSoft SPARC Solaris 2 SunOS 5
- - Univel UnixWare
-
- PC Platforms
-
- - Windows 3.1 (Win32s)
- - Windows NT (Intel)
- - OS/2 Release 2.0 and 2.1
- - Novell Netware Release 3.1 and 4.0 (server only)
-
- The Company
-
- ObjectStore[TM], Object Design's object-oriented database management
- system, is currently used by more than 500 companies. The company
- targets end-user customers in major corporations and governments
- through its direct sales force, and also focuses on independent
- software developers, systems integrators and international
- distributors to license its products. In the systems software market,
- Object Design has already licensed object storage technology to
- SunSoft that will be embedded in the Solaris(r) (Project DOE)
- environment. Through this relationship Hewlett Packard also has rights
- to the technology for use in HP/UX(r) (DOMF).
-
- In April 1993, IBM Corporation became one of the company's leading
- investors as part of a far-reaching strategic relationship involving
- an equity investment, internal use and joint development agreements.
-
- Object Design's Support Services group provides extensive support
- services tailored to meet each customer's specific needs. A regularly
- scheduled series of training courses are offered, either at Object
- Design facilities across North America, select international locations
- or at customer sites, that reduce the learning curve for
- object-oriented development. The training courses include
- "Introduction to Object-Oriented Programming and C++," "Designing
- Object-Oriented Database Applications" and "Building High Performance
- Applications with ObjectStore." To further assist its customers,
- Object Design makes its team of experts available to provide a wide
- range of training, support and consulting services.
-
- The company distributes its products through a direct sales and
- telesales force in the North America, wholly-owned subsidiaries in
- Australia (61-2-212-2766), Germany (49-611-39707-0), Japan
- (81-3-3251-2882), and the United Kingdom (44-793-486111) as well as
- through distributors in 15 countries.
-
- The US headquarters are located in Burlington, Mass., the company
- maintains regional or district offices in Atlanta; Chicago; Los
- Angeles; New York; Portland; San Mateo, Calif.; and Washington, DC.
-
- You may obtain information about ObjectStore or Object Design by any
- of the following methods:
-
- Address:
-
- Object Design, Inc.
- 25 Burlington Mall Road
- Burlington, MA 01803
-
- Telephone:
-
- Call toll-free 1-800-962-9620 in the USA or 617-674-5000 and
- ask for telemarketing.
-
- Internet:
-
- Send email requests to info@odi.com.
-
- You can also download public information from our ftp server,
- ftp.odi.com (198.3.16.17). Login as "anonymous", and use your
- mail address (username@site) as your password. Major files of
- interest include:
-
- /pub/docs/techsum-net.ps Technical Summary (postscript)
- /pub/docs/techsum.net Technical Summary (FrameMaker)
- /pub/oo7/results.ps OO7 Benchmark Results (postscript)
-
- CompuServe:
-
- GO ODIFORUM, section 1.
-
- International distributors contact information follows:
-
- GERMANY
-
- Patzschke + Rasp
- Software und Systeme
- Bierstadter StraBe 7
- D-65189 Wiesbaden Germany
- 011-49-611-17-310
- 011-49-611-17-3131 FAX
-
- SPAIN, PORTUGAL
-
- DyM
- Diseno y Metodologia, SA
- Francisco Gervas, 17, 5.0 G
- Madrid, Spain 28020011-34-1-571-3123 or 571-3880
- 011-34-1-571-3942 FAX
-
-
- SWEDEN, NORWAY, DENMARK, FINLAND
-
- ENEA Data
- Box 4150
- S-203 12 Malmo
- Sweden
- 011-46-40-70930
- 011-46-40-230240 FAX
-
- SWITZERLAND
-
- UNISYS (Schweiz) AG
- Zucherstrasse 59-61
- A-8800 Thalwill
- Switzerland
- 011-411-723-3366
- 011-411-720-3737 FAX
-
- ITALY
-
- AIS S.p.a.
- Via Rombon, 11-20134
- Milano, Italy
- 011-39-226-40197
- 011-39-2 2641-0744 FAX
-
- ISRAEL
-
- TACTLINE, Ltd.
- Beit-Oved 76800
- Israel
- 011-972-840-4898
- 011-972-840-6927 FAX
-
- JAPAN
-
- Mitsui Engineering & Shipbuilding Co., Ltd.(MES)
- 6-4 ,Tsukiji 5-chome
- Chuo-ku,Tokyo, 104
- 011-81-3-3544-3355
- 011-81-3-3544-3036FAX
-
- Stan Systems Corporation
- Sumitomo Higashi Shinbashi Bldg.
- 1-1-11 Hamamatsucho
- Minato-Ku, Tokyo 105 Japan
- 011-81-3-5472-5515
- 011-81-3-5472-5544 FAX
-
-
- System Network Corporation:
- Tohto Bldg. 6F
- 5-1-4 Toranomon, Minato-ku,
- Tokyo 105 Japan
- Phone#: +81-3-3437-4081
- Fax#: +81-3-3437-4060
-
- Toyo Information Systems Co.,Ltd.
- Nihonbashi Toyo Bldg. 4F
- 2-7-24 Nihonbashi
- Chuo-Ku, Tokyo 103 Japan
- 011-81-3-3271-7681
- 011-81-3-3271-7685 FAX
-
- TAIWAN, R.O.C.
-
- Exartech International Corp
- 10F, 82, Chung-Cheng S. RD.
- Sanchung, Taipei, Taiwan, ROC
- 011-886-2-977-6828
- 011-886-2-977-6829 FAX
-
- SOUTH AFRICA
-
- Realtime Computer Services (Pty) Ltd.
- 4th Floor, 35 Wale Street
- Cape Town 8001
- South Africa
- 011 27 21 24 4350
- 011 27 21 221507 FAX
-
-
- > Ontos [formerly VBase] (Ontologic)
-
- Entry on schema evolution only:
-
- *Ontos provides schema evolution. It allows any class to be modified.
- *The major drawback is that data does not migrate ie., instances are
- *not modified to adopt to the new class definition. So schema changes
- *can be done only on classes that do not contain instances and do not
- *have sub classes that contain instances.
- *[h.subramanian@trl.OZ.AU]
-
- *As a system for experiments, we are currently using ONTOS from
- *Ontologic Inc. Unfortunately, there is no transparent concept of
- *schema evolution for populated database. Thus, we still investigate
- *how it works.
-
- ONTOS has a version of ONTOS for OS/2. Approximately $11K. Others I don't know
-
-
- > Odapter/OpenODB (Hewlett-Packard)
-
- Odapter is HP's new object/relational adapter which
- enables object-oriented developers to share a common
- object model stored in the ORACLE7 relational database
- management system (RDBMS). Odapter is also available with
- HP's ALLBASE/SQL RDBMS. The combination of Odapter
- and ALLBASE/SQL is called OpenODB.
-
- Odapter
- Technical Data
- Object/Relational Adapter
-
- A Productivity Tool for Scalable Object-Oriented
- Applications
-
- Odapter is a tool for developers writing scalable
- object-oriented applications requiring the
- integration of new objects and legacy information.
- Odapter is valuable because it:
- * accelerates application development
- * reduces the cost of keeping applications current
- * enables applications to scale
-
- Odapter delivers the productivity of object
- technology while adhering to your data management
- standards.
-
- Consider Odapter if you need to be able to do one
- or more of the following:
- * develop object-oriented applications and
- store objects in a relational database
- * easily access legacy data and existing
- applications from your new system
- * support a large number of end-users who will
- be simultaneously accessing information
- * store large amounts of complex information
-
- The following are examples of applications well-
- suited for Odapter:
- * a customer billing application written in
- Smalltalk combining data stored in DB2 with new
- objects. (Telecommunications)
- * a network management application written in C
- using Odapter as the object manager, able to scale
- to millions of objects (Manufacturing)
- * a complex Oil and Gas industry standard model
- automatically generated from an Express analysis
- and design tool.
- (Oil & Gas)
- * a medical application using Odapter to
- combine heterogeneous components of patient
- records. (Healthcare)
-
- Odapter provides authorized access to sharable
- objects, including existing data and business
- processes. By bringing object-oriented capabilities
- to heterogeneous systems environments, Odapter
- delivers increased functionality while leveraging
- the stability of existing RDBMSs and legacy
- information.
-
- Odapter Object Model
-
- The Odapter object model is based on three key
- concepts - objects, types and functions.
- * Objects are a combination of data and
- behavior (functions). Figure 2 is an example of an
- object.
- * Types are dynamic templates allowing you to
- group together similar components or objects.
- * Functions define the attributes,
- relationships and behavior of objects. Odapter
- supports four types of user-defined functions:
-
- Stored functions define attributes and
- relationships that are stored in the database. In
- Figure 2, flightno is a stored function. The
- functions aircraft and crew are also stored
- functions with user-defined results.
-
- SQL-based functions allow you to access existing
- relational tables with Odapter's object-oriented
- model. In Figure 2, citypair is an SQL-based
- function accessing values from an existing
- relational table.
-
- OSQL-based functions define attributes and
- relationships that are derived or calculated with
- OSQL statements. In Figure 2, delay and depart are
- OSQL-based functions. Delay calculates changes in
- arrival and departure times based upon events that
- disrupt the schedule; depart handles the update of
- functions related to departure and transitions the
- flight from OnGround to InAir.
-
- External functions are a reference to code or data
- stored outside of Odapter. In Figure 2, cancel is
- an external function that executes code outside of
- Odapter to free up resources no longer assigned to
- the flight.
-
- Odapter Language
-
- The Odapter language can be combined with functions
- implemented in C++, Smalltalk or C. You create and
- manipulate objects, types and functions using
- Odapter's object-oriented structured query language
- (OSQL). OSQL is a functional language that is a
- semantic superset of SQL, the structured query
- language for relational databases. OSQL is a
- computationally complete language with statements
- allowing you to define and manipulate information
- in your Odapter enhanced relational database,
- specify authorization for individuals or groups,
- define transactions, embed program logic within
- functions, and administer the database.
-
- OSQL includes programming flow statements, such as
- IF/THEN/ELSE, FOR and WHILE. This procedural
- language allows Odapter functions to model complex
- behavior, simplifying your application code. By
- decoupling behavior from the applications, multiple
- applications can share information with benefits
- such as consistency, security and integrity. See
- Table 5 for a list of all OSQL statements.
-
- Odapter Object Storage
-
- Odapter objects are stored in the developer's
- choice of relational databases. Odapter interfaces
- to the underlying RDBMS through an SQL command
- interface. Currently, developers can choose to
- store their objects in ORACLE7 or HP ALLBASE/SQL.
-
- The choice of RDBMS is made when a particular
- database is created. The users are only limited by
- the number of Odapter concurrent user licenses
- purchased. This flexibility allows database
- administrators to continue using their existing
- administration procedures and keeps the group from
- having to choose yet another database management
- system.
-
- During the initial development of an application,
- developers can make rapid progress without
- knowledge of the underlying relational database.
- Optimization of the objects and how they are stored
- in the underlying relalational database is best
- done during the deployment phase.
-
- Odapter Development Environments
-
- Odapter developers have a choice of development
- environments. Whether Smalltalk, C++ or more
- traditional C and C-linkable languages are used,
- Odapter enables object storage in a scalable and
- robust relational database. In fact, objects can be
- shared between different applications, allowing
- different projects to employ the best tools for the
- job!
-
- Odapter and Smalltalk
-
- Odapter provides Smalltalk developers with
- transparent access to information stored in the
- underlying relational database.
-
- Odapter's Smalltalk Class Builder utility
- automatically generates ParcPlace Smalltalk
- compatible classes and methods based upon an
- Odapter object model. The developer can select
- specific Odapter types and functions, resulting in
- a corresponding set of Smalltalk classes and
- methods. Once the Smalltalk schema is generated,
- the Smalltalk developer can transparently access
- the underlying relational database, as shown in
- Figure 3.
-
- printFlight
- |allFlightObjects|
- allFlightObject:=Flight allObjects.
- AllFlightObjects do: [:aFlight|
- Transcript show :aFlight flightno value; cr].
- Figure 3
-
-
- Figure 3 shows how to access the flight objects
- shown in Figure 2 through Smalltalk. This example
- retrieves all flight object identifiers and prints
- the flight# for each one of the flight objects.
-
- All Smalltalk classes and methods which result in
- the access of Odapter structures are italicized.
- Flight is a Smalltalk class that corresponds to the
- Odapter type Flight. The Smalltalk methods
- allObjects and flightno map to Odapter calls that
- access data from the relational database storage
- manager.
-
- Odapter and C++
-
- For C++ developers, once the corresponding C++
- model is created, Odapter provides the abilility to
- manage C++ objects stored in the underlying
- relational database, as shown in Figure 4.
-
- void printFlight()
- {
- int i;
- ODBType Flight ("Flight");
- ODBBag allFlights=Flight.allObjects();
- ODBFunc flightno("flighno");
-
- for(i=0;i<allFlights.size();i++){
- cout<<flightno(allFlights[i]);
- }
- }
- Figure 4
-
- Figure 4 shows a C++ version of the Smalltalk
- example in Figure 3. That is, Figure 4 shows how to
- access all the flight objects shown in Figure 2 and
- prints the flight number associated with each
- flight object.
-
- The Odapter C++ library includes a set of classes
- (e.g. ODBType, ODBClass, ODBFunc, ODBBag) and
- corresponding member functions (e.g. allObjects).
- User-defined classes (Flight) and member functions
- (flightno) are also shown. In Figure 4, all Odapter
- calls are in italics.
-
- Odapter and C-linkable Languages
-
- For traditional developers using C, or any
- languages linkable with C, the object-oriented
- features are provided by Odapter. Odapter objects
- are manipulated by embedding OSQL statements in the
- C program, similar to the db.execosql call shown in
- Figure 4. In addition, the C interface requires the
- conversion of data types from Odapter to C.
-
- By embedding Odapter calls in a C program, the C
- language becomes object-oriented.
-
- Features and Benefits
-
- Accelerates Application Development
-
- Odapter accelerates application development by
- integrating with familiar development environments
- and by providing a robust object-oriented model.
-
- Odapter's choice of development environments
- includes those which support the Smalltalk, C++ and
- C languages.
-
- Odapter's robust object model enables the
- integration of legacy data and business processes
- in the context of one sharable business object
- model, shielding the developer from the data
- storage complexity.
-
- The following Odapter features accelerate
- application development:
-
- Automatic mapping of objects to relational
- databases
- The application developer is shielded from the task
- of converting complex object models to two
- dimensional relational tables.
-
- Smalltalk Class Builder
- Once an OSQL schema is created, whether using
- available analysis and design tools or manually,
- Odapter's Smalltalk Class Builder can generate
- corresponding Smalltalk classes and methods. The
- developer can select the relevent part of the
- Odapter schema to generate. As the Odapter object
- model changes, developers can also incrementally
- update the Smalltalk classes.
-
- Object Identity
- Each object manipulated by Odapter has a unique,
- system-provided handle called an object identifier
- (OID). OIDs eliminate the need for creating unique
- keys to identify stored information. Additionally,
- OIDs reduce duplication of information when several
- attributes would be needed to uniquely identify
- information in the database. OIDs are also a
- powerful way to tune data access and performance.
-
- Inheritance
- Odapter objects can use functions defined on parent
- types in the type hierarchy. For example, as shown
- in Figure 5, a subtype of Employee called Pilot
- could inherit functions from Employee like hire and
- name, while defining unique functions like
- hoursflown and status.
-
-
- Multiple Inheritance
- Functions defined on a type can be inherited by one
- or more subtypes. In Figure 5, functions accessible
- by the type ManagingPilot are inherited from its
- parents, namely all functions defined on Employee,
- Pilot and Manager. By inheriting rather than
- redefining functions, you can easily add
- functionality to your application.
-
- OSQL
- If you already know SQL, you can quickly be
- productive using Odapter's OSQL. Both query
- languages are set-based, that is they retrieve sets
- of information based upon queries. Thus, OSQL does
- not require users to navigate through the database
- chasing pointers or object references.
-
- Encapsulation
- Odapter protects end-user applications from changes
- to the internal definition of objects. Since
- Odapter only allows access to data through
- functions with well defined arguments and results,
- your applications are protected from changes to the
- function body and you have control over how
- information is used.
-
- Aggregate Types
- Aggregates are used to represent collections, such
- as crew members (maybe several pilots, flight
- attendants and a mechanic) for a particular flight,
- or the employees reporting to a particular manager.
- Aggregates are not required to have a predetermined
- size. Odapter manages the memory associated with
- aggregates, relieving your application of this
- work.
-
- User-defined Data Types
- You can construct user-defined data types in
- Odapter, such as a type called Flight, Employee or
- Aircraft, as shown in Figure 6. Functions defined
- on these types can manipulate data stored within
- the current object, within other related objects or
- outside of Odapter. User-defined types maximize
- flexibility and lead to more manageable, clearer
- code.
-
- Complex Objects
- With Odapter you can construct complex objects from
- simpler objects. For example, Figure 6 shows the
- relationships between the types Flight, Aircraft
- and Employee. Complex objects relieve applications
- from managing such relationships.
-
-
- Reduces the Cost of Keeping Applications Current
-
- Odapter supports a server-centric business model
- which means the business logic and associated data
- is sharable by multiple applications. By separating
- out business objects (data and processes), from the
- application development environment, your company's
- business can be modified without impacting the
- applications. These changes can be immediately
- leveraged by the calling applications without
- recompilation
-
- The following features make applications easier to
- keep current:
-
- External Functions
- Using external functions, you can access
- distributed data and code stored outside of the
- relational database used by Odapter for storage,
- regardless of location or data format. Examples of
- external data sources include IMS, DB2 as well as
- custom databases and flat files. Odapter acts as an
- integrator so your application can manipulate
- information as recognizable business objects. This
- not only allows transparent migration of data over
- time, it accelerates developer productivity by
- hiding the complexity of a diverse data storage
- environment.
-
- Overloaded Functions
- Multiple functions can have the same name with
- different implementations. An application calls a
- function (e.g. salary) and Odapter determines at
- run-time which code (salary for Manager or salary
- for Pilot) to execute, based upon the type of the
- object against which the function is invoked. The
- application is simplified since the conditional
- logic for determining which function to execute is
- now in Odapter.
-
- Dynamic Schema Modification
- Odapter object models can be modified while the
- database is running. Developers can add new
- functions and types, as well as change the
- implementation of functions. This capability is
- particularly valuable to applications with high
- availability requirements.
-
- Dynamic Typing
- You can change the type of an object without
- destroying and recreating the object. An object can
- also belong to more than one type. As shown in
- Figure 7, once a Flight leaves the ground, it would
- change state from being an OnGround to an InAir
- Flight. OnGround functions such as maintenancecrew
- and availableseats would no longer be needed. An
- InAir object would need certain functions like
- bestroute and delay to calculate the most time
- efficient route and to calculate a projected delay
- based current weather conditions. Dynamic Typing
- allows you to represent an object in Odapter which
- transforms itself over time and, therefore, changes
- capabilities and attributes.
-
- Late Binding
- Odapter supports functions that are resolved at
- runtime. Late binding allows you more flexibility
- in application development and gives you the full
- power of overloaded functions as described earlier.
- On the other hand, Odapter will precompile or do
- early binding to improve performance. However, when
- types and functions changes at runtime, impacting a
- particular function, late binding occurs and the
- application automatically takes advantage of the
- new implementation of the function when it is
- called.
-
- Referential Integrity
- Since Odapter manages the relationships between
- objects, it can manage referential integrity on
- your behalf. That is, if an object referenced by
- other objects is deleted, the system removes all
- dependencies. Your application code is simplified
- since Odapter is able to keep the logical business
- model intact automatically.
-
- Multimedia
- Odapter allows you to manage large, unformatted
- data in binary format and treat that data as an
- attribute of an object. For example, you may want
- to create a function called diagram to show the
- sections and seating for an Aircraft object.
- Multimedia information can include graphics, images
- and voice. You can also define functions in Odapter
- to manipulate this multimedia information. For
- example, you can create a function called showexits
- that adds information to the diagram. Thus, various
- applications can share these complex functions.
-
- Import Facility
- The Odapter Import facility allows developers to
- update existing Odapter functions with data from
- external files such as spreadsheets or other
- databases. This is an object-oriented version of
- the relational "bulk load" functionality.
-
- Enables Applications to Scale
-
- Odapter makes applications more scalable by storing
- objects in a choice of RDBMSs, like ORACLE7. As a
- result, applications can access large volumes of
- data, be used by a large numbers of users, and
- perform on-line backup. In addition, Odapter
- protects against unauthorized access from users in
- a distributed environment.
-
- Odapter, with the help of the underlying relational
- storage manager, ensures the integrity and security
- of your data while maximizing the availability of
- that data for end users.
-
- The following features enable applications to
- scale:
-
- Indexing
- Indexes are automatically generated when you create
- types and functions in Odapter. You can also define
- your own indexes using B-tree and hashing
- algorithms. Indexes make end user access to
- information faster.
-
- Clustering
- Related functions and objects which have the same
- value for a function can be stored close to each
- other. This ability to influence how objects are
- stored allows you to tune the performance of the
- database based on how the information will be
- accessed by applications.
-
- Transaction Management
- Odapter ensures the logical and physical integrity
- of your database by giving you complete control
- over the unit of work to be performed within a
- single transaction. With this control, you can save
- or rollback a transaction (throw away temporary
- work) at your discretion. Savepoints are also
- supported so that you can rollback parts of a
- transaction.
-
- Multi-user Concurrency Control
- Odapter is designed to support hundreds of users
- accessing the same information while guaranteeing
- the integrity of that information.
-
- Authorization
- You can control access to an Odapter enhanced
- database at the database and function levels based
- on individuals or groups of users. For example,
- authorization statements can provide read access to
- a large group of users while limiting write or
- delete access.
-
- High Availability
- Because Odapter actually stores objects in an
- RDBMS, Odapter can leverage RDBMS features to
- maximize the availability of your information by
- providing:
- * on-line backup of the database, to backup the
- database while it is being accessed
- * dual logging, to ensure the integrity of your
- log file
- * switch log, to automatically switch to a
- second log file if the original log file becomes
- full
- * dynamic file expansion, to expand the size of
- your database as it becomes full
-
- Odapter will also take advantage of other available
- features of the underlying relational database
- management system such as replication or "warm
- standby".
-
- Recovery
- Odapter uses the robust logging and recovery
- facilities of the RDBMS. In case of a failure, you
- can rollback work or perform rollforward recovery
- to a particular time, using the log file to
- recreate saved work.
-
- Odapter Software Components
-
- Odapter uses a client/server architecture, enabling
- you to efficiently utilize your computing power.
- Clients use the object application call interface
- (OACI) to communicate with the server over the
- network. The clients and server components can also
- reside on the same machine.
-
- Odapter is bundled with the following client and
- server components, as shown in Figure 8:
-
- Client Components
-
- * Interactive Object-Oriented SQL (IOSQL)
- This interface allows you to interactively enter
- all Object-oriented SQL (OSQL) statements,
- facilitating rapid prototyping and testing. IOSQL
- provides query, administration and editing
- capabilities.
-
- * Graphical Browser (GOSQL)
- The Graphical Browser is a tool that allows you to
- graphically explore your database schema and
- contents, and execute any OSQL statement. This tool
- is designed to assist application developers by
- making it easier to view and manipulate your object
- model stored in Odapter.
-
- * Windows OSQL (WINOSQL)
- This PC-based interactive interface to OSQL allows
- you to interactively enter all OSQL statements.
-
- * Object Application Call Interfaces (OACI)
- Odapter provides client interface libraries for the
- Smalltalk and C++ object-oriented programming
- languages, allowing these languages to be tightly
- coupled with Odapter.
-
- You can also write Odapter applications using any
- programming language that can be linked with C
- (such as Ada, COBOL, FORTRAN and Pascal). The
- programmatic interface is similar to a "Dynamic
- SQL" interface, and passes strings representing
- OSQL statements to the Odapter server. No
- preprocessors are required.
-
- Server Components
-
- * Odapter Object Manager
- The Object Manager executes OSQL calls made by the
- Odapter clients. The Object Manager processes
- requests, and accesses data and code stored in the
- Odapter enhanced relational data storage manager or
- passes the request to a subsystem outside of
- Odapter using Odapter External Functions.
-
- * External Functions
- External functions allow you to access data and
- code stored outside of Odapter, regardless of data
- format or location. External functions can
- automatically link to specific data sources using
- the Odapter EDA-Objects class library and the
- EDA/SQL product from Information Builder's, Inc.
- (IBI). External functions can also be implemented
- by you as subroutines written in general-purpose
- programming languages and compiled outside of
- Odapter. External functions can be called by any
- OSQL statement, allowing you to manipulate this
- remote data and application code like any other
- Odapter object. For example, Figure 9 shows how
- Odapter integrates diverse heterogeneous
- information in an Oil and Gas environment.
-
- * EDA-Objects
- HP and IBI have jointly developed an external
- function library called EDA-Objects. Coupled with
- IBI's EDA/SQL product, EDA-Objects provides
- connections to over 50 commonly used databases on
- 35 different platforms. The external function
- library to connect to EDA/SQL is shipped with
- Odapter; however, you must purchase other EDA/SQL
- components from IBI directly to use the product.
- EDA-Objects is one way to integrate external data
- from multiple servers into a single business model
- managed by Odapter. This is done without physically
- moving the data or changing the applications which
- are dependent on the data in its current form.
-
- Additional Products
-
- * Development Environments and Tools
- Odapter allows you to use your favorite development
- environments for application development. Some
- tools are more tightly coupled with Odapter than
- others. HP has recruited tools partners to address
- all aspects of application development including
- application design and analysis, data model
- manipulation, fourth generation language
- application development, report writing and legacy
- data access.
-
- * Relational Database
- Odapter uses a relational database as its storage
- manager for the storage of Odapter objects. The
- relational database performs physical file
- management and database functions such as multi-
- user concurrency, transaction management, and
- recovery. The relational database allows you to
- perform on-line backup and recovery, manage
- physical distribution of files, maximize
- availability and change database parameters.
-
- * COMPASS
- COMPASS is a consulting product which includes the
- Hewlett-Packard implementation of the
- Petrotechnical Open Software Corporation (POSC)
- Software Integration Platform (SIP) specification.
- The SIP specification defines a data model and an
- interface which allow users and applications to
- access exploration and production data, independent
- of the database engine technology.
-
- The COMPASS package is an add-on to Odapter and
- includes:
- * COMPASS specific consulting/training (1 day)
- * POSC-based DAE interface library and documentation
- * Interactive user interface called ixpres
- * Archived copy of a pre-loaded Odapter
- enhanced database with sample reference data
- * Scripts for building a POSC-based Odapter
- enhanced database
- * Contributed software library (data loaders,
- demonstration programs)
-
- COMPASS gives developers a 'jump start' on building
- applications focused on petroleum exploration and
- production. Other industries will find COMPASS an
- inexpensive and useful approach for building
- geographic information systems (GIS) and other
- applications which can re-use of the cartography
- (mapmaking) and geometric objects defined in the
- model.
-
- POSC is a not-for profit organization created to
- lower the costs associated with accessing and
- integrating exploration and production data for the
- oil and gas industry.
-
- System Environment
-
- Hardware Operating Memory Disk Space
- platform System (minimum) (minimum)*
-
- HP 9000 S700 HP-UX 8.07 32MB 10MB +
- S800 or later necessary
- swap space
-
- Sun Solaris 1.0 32MB 10MB +
- (SunOS 4.3); necessary
- Solaris 2.0 swap space
- (SunOS 5.2)
-
- IBM RS/6000 AIX 3.2.5 32MB 10MB +
- necessary
- swap space
-
- X Terminal 6MB none
-
- IBM PC DOS 5.0, 4MB 1MB
- compatible MS-Windows
- 3.1 or later
- Table 1: Odapter Client Environments
-
- * Swap space needed will depend on the complexity
- of the application and the number of concurrent
- users. Swap space will significantly increase the
- necessary disc space.
-
- Hardware Operating Memory Disk Space
- platform System (minimum) (minimum)*
-
- HP 9000 S700 HP-UX 9.0 64MB 15MB +
- S800 or later necessary
- swap space
- Table 2: Odapter Server Environment
-
- * Additional memory may be required. Swap space
- will significantly increase the necessary disc
- space. The amount of memory and swap space depends
- on the complexity of the application and the number
- of concurrent users.
-
- Odapter Software Requirements
-
- To use Odapter, you will need one of the RDBMSs
- listed below, TCP/IP transport and ARPA Berkeley
- Services (for Unix systems), HP LAN Manager or
- Microsoft LAN Manager (for the PC client) software.
- To use the Odapter Graphical Browser, you will need
- X11 X-Window support.
-
- Table 3: Relational Databases
-
- Version Memory Disk Space
- (minimum) (minimum)
-
- ORACLE7 7.0.13 or later refer to refer to
- with "procedural Oracle Oracle
- option" (PL/ manuals manuals
- SQL), Pro*C,
- SQL*Plus & Oracle
- common libraries and
- utilities
-
- ALLBASE/SQL shipped with 64MB A/SQL 10MB
- OpenODB and Odapter
-
- * ALLBASE/SQL is included with the Odapter
- software. The combination of Odapter and
- ALLBASE/SQL is known as OpenODB.
-
-
- Ordering Information
-
- Software, training, consulting and support can be
- purchased separately, as well as in bundles.
- Pricing for the stand-alone software is based on
- the number of user processes accessing a single
- database server at the same time. Any number of
- user licenses can be ordered. You must also order
- the Odapter Media & Manuals product when ordering
- the Developer's Bundle or the Concurrent User
- License. HP standard support options are available
- for all Odapter license and media products.
- The OpenODB and Odapter products are sold together.
- OpenODB is the combination of Odapter and
- ALLBASE/SQL. You are only limited by the number of
- concurrent licenses purchased for Odapter.
-
- Product Number and Product Description
-
- B3767BB Odapter/OpenODB Concurrent User License
- Software license only. Must order B3768BA to
- receive software and manuals. Must specify number
- of users.
-
- B3768BA Odapter/OpenODB Media and Manuals Must
- choose media option. Includes software and one set
- of manuals. Requires prior or concurrent purchase
- of software license.
-
- B2470BA Odapter/OpenODB Developer's Bundle
- Includes 8 user software license, 5 days of on-
- your-site consulting, one year of on-line support
- and 2 passes to the Odapter/OpenODB Training Class.
- Must order B3768BA to receive software and manuals.
-
- B3179A Odapter/OpenODB Evaluator's Bundle
- Includes a 40 user software license for 3 months,
- media, documentation, 3 months of on-line support,
- and 1 pass to the Odapter/OpenODB Training Class.
-
- B3184S Odapter/OpenODB Training Class (5 days)
-
- B3185A Odapter/OpenODB Reference Manuals Includes
- the Odapter/OpenODB Reference Manual and the
- Odapter/OpenODB System Functions Manual.
-
- B3186A Odapter/OpenODB Consulting Customized
- consulting in any of the following areas: COMPASS,
- object-oriented analysis and design, schema design
- and review, authorization/security design and
- review, performance tuning, advanced usage,
- Odapter/OpenODB application development planning
- and review and implementation of access to legacy
- data sources.
-
- To order these products, please contact your local
- HP sales representative or one of the offices on
- the back page of this document.
-
- Table 5. Odapter Features
-
- OBJECT-ORIENTED FEATURES
- Aggregates (BAG, LIST, SET, TUPLE)
- Complex Objects
- Dynamic Schema Modification
- Dynamic Typing
- Encapsulation
- External Functions
- Functions (Stored Code or Methods)
- Late Binding
- Multiple Inheritance
- Object Identity (OID)
- Overloaded Functions
- Type (Class) Hierarchy
- User-defined Data Types
- Versioning Primitives
-
- CLASS LIBRARIES
- C++
- EDA-Objects
- Smalltalk
- Softbench
-
- CLIENT INTERFACES
- Graphical Browser (GOSQL)
- Import
- Interactive OSQL
- Object Application Call Interfaces (OACI):
- C++
- SmallTalk
- C-linkable languages (Ada, COBOL, FORTRAN,
- Pascal)
- Smalltalk Class Builder
- Windows OSQL
-
- OSQL STATEMENTS
- Add/Remove Type To/From Object
- Add/Remove User
- Begin/Commit/Rollback Work
- Call Function
- Change Owner
- Change Password
- Connect/Disconnect
- Create/Delete Function
- Create/Delete Index
- Create/Delete Object
- Create/Delete Type
- Create/Delete User/Group
- Declare/Delete variables
- Grant/Revoke
- If/Then/Else, While, For
- Implement/Modify Function
- Open/Fetch/Close Cursor
- Raise Error
- Security On/Off
- Savepoint
- Select
- Store
- Update
-
- PRIMITIVE DATA TYPES
- Binary
- Boolean
- Character
- Date
- Datetime
- Decimal
- Floating Point
- Integer
- Interval
- Small Integer
- Time
-
- Sales Offices
- For more information, call you local sales office
- listed in your telephone directory or an HP
- regional office listed below for the location of
- your nearest sales office.
-
- United States:
- 1-800-637-7740, extension 8521
-
- Canada:
- Hewlett-Packard Ltd.
- 6877 Goreway Drive
- Mississauga, Ontario L4V 1M8
- (416) 678-9430
-
- Japan:
- Yokogawa-Hewlett-Packard Ltd.
- 15-7, Nishi Shinjuku 4 Chome
- Shinjuku-ku
- Tokyo 160, Japan
- (03) 5371-1351
-
- Latin America:
- Hewlett-Packard
- Latin American Region
- Headquarters
- 5200 Blue Lagoon
- Suite 950
- Miami, FL 33126
- (305) 267-4220
-
- Australia New Zealand:
- Hewlett-Packard Australia Ltd.
- 31-41 Joseph Street
- Blackburn, Victoria 3130
- Australia (A.C.N. 004 394 763)
- (03) 895 2805
-
- Asia Pacific:
- Hewlett-Packard Asia Ltd.
- 22/F Bond Centre, West Tower
- 89 Queensway
- Central, Hong Kong
- (852) 848-7777
-
- Europe/Africa/Middle East:
- Hewlett-Packard S.A.
- 150, Route du Nant-d'Avril
- CH-1217 Meyrin 2
- Geneva, Switzerland
- (22) 780 81 11
-
- Technical information in this document is subject
- to change without notice.
- All brand and product names appearing herewith are
- registered trademarks or trademarks of their
- respective holders.
-
- ` Copyright Hewlett-Packard Company 1994. All
- rights reserved. Reproduction , adaptation, or
- translation without prior written permission is
- prohibited except as allowed under the copyright
- law.
- Printed in USA 7/94
- 5963-2045E
-
-
- For more information, please send a message to
- odapter@cup.hp.com with the subject of "index" or
- "help". If you would like to speak with someone
- in person, please leave a voice mail message at
- the Odapter Support, Training and Consulting number,
- (408) 447-5051 and someone will get back to you
- as soon as possible.
-
-
- > POET <Persistent Objects and Extended Database Technology> (BKS Software)
-
- C++ Language Support
-
- o tight semantic integration with C++
- o any C++ object or structure can be made persistent by adding the
- persistent keyword
- o storing and reading a C++ object does not change its state or behavior
- o full support for C++ encapsulation, object identity, inheritance, and
- polymorphy
- o C++ pointers and references are automatically converted to database
- references when storing objects
- o database references are automatically converted to C++ pointers and
- references when reading objects
- o all database definition is done through a small extension to C++
- declaration syntax
-
- Database Functionality
- navigation, queries, sorting, indexes, single-user operation, multi-user
- operation using client/server architecture, flexible locking for objects
- and sets, nested transactions, watch & notify for objects and sets,
- event handling, database size limited only by hard disk size
-
- C++ Language Extensions
- persistence, indexes, transient data elements in persistent classes, sets,
- dependent objects
-
- PTXX-Precompiler
- automatically converts extended C++ class declarations into ANSI 2.0 code,
- registers classes in the class dictionary, provides class versioning
-
- Predefined C++ Classes
- date, time, strings, and BLOBS (binary large objects)
-
- Portability
- all platforms are source-code compatible, any POET database may be read by
- any computer full support for heterogeneous networks
-
- Platforms
- Available for MS-DOS / MS-Windows (Borland C++, Microsoft),
- OS/2 (Borland C++), Novell, Macintosh MPW, and various Unix
- systems, including NeXT (NeXTStep) and Sun OS (Sun C++).
-
- How to Contact Us:
- BKS has offices in Santa Clara, Hamburg, and Berlin. Silicon
- River, Limited, is responsible for POET in the United Kingdom.
-
- Santa Clara: (North America, Australia, Asia)
-
- BKS Software
- 4633 Old Ironsides Drive Suite 110
- Santa Clara, CA 95054
- Phone: 408 / 748 - 3403
- Fax: 408 / 748 - 9060
-
- Contact Person: jrobie@netmbx.netmbx.de (Jonathan Robie)
-