IOPC - Implementation of Object Persistency in C++
Library and tools for easy development of persistent classes in C++. Current version
stores classes' data in Oracle DB.
Library (iopc_lib) and two tools (iopc_sp and iopc_dbsc) that make creation of an
application, that uses persistent objects really easy. The persistent classes are defined
in pure C++, they only need to be inherited from a class from library. Objects'
data are stored in relational database - in current version only Oracle DBMS is supported
but library is easily entensible.
All necessary information about classes' attributes are received after preprocessing of
source code using iopc_sp tool. It parses C++ source, adds some necessary code to it
and creates an XML file describing objects and mapping of their attributes to relational
DB. This tool also calls compiler, so it is used from user point of view as a compiler.
User can change the XML mapping file to store the data in DB not in the default way.
Second tool, iopc_dbsc, is used to create CREATE / DROP / EXPLAIN PLAN scripts from
the XML mapping file.
The library iopc_lib provides classes used by the generated code and need to be
linked into the application. It also provides a lot of additional features, but to use the
persistent objects, user needs to learn only a small piece of library's API.
IOPC is designed to support more operating systems, currently there's a version for
Microsoft Windows that uses MSVC 6.0 and another version for Linux that uses
This project I created as my diploma thesis in 2004 and it works as expected. It is based
on an older and less user friendly persistency library POLiTe made by Mgr. Michal Kopecký
as part of his dissertation. I don't have any time to continue the development of IOPC,
that's why I placed it here to make it available to others...
IOPC is distributed under the terms of GNU General Public License
version 2. It uses OpenC++ C++ parser,
Xerces XML parser,
GC garbage collector and
- Brief guide for installation and use of IOPC persistency library / tools - in
English and in Czech.
- Text of the diploma thesis - in Czech only. (May be I
will translate the most useful parts of it to English if there are enough people
who are interested in details about mapping and so on.)
- HTML version of IOPC doxygen documentation
(available also as zipped .chm file on file release page - see below).
- Sources, binaries, documentation, examples etc. can be downloaded from
IOPC and these pages were made by Mgr. Josef Troch from Czech Republic.
- Here you can find my home page.
- If you want to contact me, use this e-mail address:
Please use "IOPC" as subject, in other cases I will probably delete
your message as a SPAM.
Last changes: December 12th, 2005