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.