Object-Orientation FAQ

Persistence

                PERSISTENCE(TM): BRIDGING THE GAP BETWEEN OBJECT
                    ORIENTED DEVELOPMENT AND RELATIONAL DATA
Persistence is an application development tool which provides object
oriented access to existing relational data.  Persistence uses an
automatic code generator to convert object models into C++ classes
which know how to read and write themselves to a relational database.
Leverage existing data
Persistence enables object oriented access to existing relational
databases. Applications built with Persistence can work side by side
with legacy systems.
Automate database access
By generating the methods to convert relational data into objects,
Persistence saves the developer from having to write literally hundreds
of lines of code per class.
Speed application development
With Persistence, major changes to the application object model can be
completed in minutes, not weeks.
Quality
Persistence generates tested, bug-free code. Using Persistence helps
ensure the reliability and reusability of your applications.
Performance
At Runtime, Persistence manages an object cache to enhance performance
while ensuring data integrity. The Persistence object cache can provide
a factor of ten performance improvement for data intensive
applications.
Portability
Code generated by Persistence is database independent. You can choose
which database to work with at link step, increasing application
portability.
                        TECHNICAL SPECIFICATIONS
The Persistence Database Interface Generator converts object schemas
into C++ classes.
                                                Custom
                                                Code
                                                   |
                                                   v
Object schema    --->   Persistence    ---->    Generated
                        Generator               Classes
                                                   ^
                                                   |
                                                   v
                                                Persistence
                                                Object Cache
                                                   ^
                                                   |
                                                   v
                                                Legacy Data
Encapsulation
Each class generated by Persistence maps to a table or view in the database.
- Query using ANSI SQL or attribute values
- Add custom code to generated classes
- Preserve custom code when model changes
Inheritance
Persistence supports inheritance of attributes, methods and relationships.
- Propagate superclass queries to subclasses
- Use virtual methods for polymorphism
Associations
Persistence maps associations to foreign keys in the database. Each class has methods to access related classes.
- Ensure referential integrity between classes
- Specify delete constraints for associations
Object Caching
The Persistence Runtime Object Management System caches objects during
transactions and ensures data integrity. In the object cache,
Persistence "swizzles" foreign key attributes into in-memory pointers,
speeding object traversal.
Transactions
When a transaction is committed, Persistence walks through the object
cache and writes out changes to the database.
Environment
Platforms/Operating systems
Persistence will support all major Unix and Intel platforms
- Sun/SunOS 4.x, Solaris 2.x
- HP/HP-UX 8.0, 9.0
- IBM/AIX (planned 11/93)
- Intel/NT (planned 3/94)
Development Tools
Persistence supports all major C++ compilers and integrates with GE's
OMTool, allowing developers to go straight from an object model to a
running C++ application.
- Cfront 2.1: ObjectCenter 1.0, SPARCompiler, ObjectWorks
- Cfront 3.0: ObjectCenter 2.0, SPARCompiler, Softbench C++
- GE's OMTool
Databases
Persistence provides database independence. With our Objectivity
integration, we also provide a clear migration path to object
databases.
- Oracle V6, V7
- Sybase 4.x
- Ingres 6.x
- Objectivity ODBMS
- Informix (planned 9/93)
- ODBC (planned 3/94)
                            CUSTOMER QUOTES
"We wanted to use object technology while continuing to support our
legacy systems. Persistence made this feasible by automating over 30
percent of our development cycle." Steve Hunter, Sterling Software
"Persistence cut our development time by approximately 40%, because we
would have had to do all the mapping functions ourselves." Jim
Adamczyk, Partner, Andersen Consulting
"I'm convinced we'll save weeks or months of time because of
Persistence." Mike Kubicar, SunSoft Defect Tracking Team
"The good thing is that you can change your object model and just
re-generate the database interface classes at the press of a button."
Richard Browett, Product manager, K2 Software Developments, Ltd.
"The Persistence package saved at least 25 to 50 percent of the
development time, and seemed extremely robust. Support has been nothing
short of phenomenal." Stew Schiffman, DuPont Research and Development
FOR MORE INFORMATION
Persistence Software, Inc.
1700 S. Amphlett Blvd.
Suite 250
San Mateo, CA 94402
U.S.A.
Voice: 1-800-803-8491
       (415) 341-7733
Fax:   (415) 341-8432
Email: info@persistence.com
Web:   http://www.persistence.com

This document was translated by ms2html v1.8 on 04.06.96.