Object Prevalence in C++
KDE Contributor and Developer Conference
2004 KDE Community World Summit
Speaker: Harri Porten of froglogic
Talk is scheduled for: Saturday, 21st of August 2004, 13:00 - 14:00
Check the Schedule for an overview of all talks during this conference.
In this talk we will focus on following topics
This talk is meant to open new perspectives on database programming to fellow KDE programmers. It has been inspired by new concepts introduced by projects like Prevayler (winner of a Jolt Productivity Award 2004) and other - mostly Java-based - systems. What is possible in Java should be accessible to KDE C++ programmers as well.
The idea of Object-Oriented Database Management Systems (OODBMS) is not a new one. There are quite a few myths ranking around them and much has been said in favor and against them. The goal of this talk is not to recap this discussion. Instead we'll look at a very pragmatic light-weight approach to manage our data in an object oriented, transparent way. In a programming language we all know (instead of a foreign one like SQL) and without the overhead of converting our objects to and from data types in a relational database (the so called "impedance mismatch").
We'll accept the fact that all objects will be held in RAM at all times. In most cases this is not a real limitation. We'll gain the advantage of being able to easily and directly access and operate on our data. Lacking a built-in persistance mechanism of languages like Java, C# or Smalltalk we'll have to do this work on our own. I'll present a simple solution for automatic serialization and deserilization of application objects in a binary or XML format. Further steps for improvement - like support of the important "ACID" database properties - will be discussed.
The feasibility of the sketched ideas will be demonstrated in form of a prototype implementing a customer database. After an outlook on possible future improvements the session will be open for discussion to gather new ideas and reservations.
About Harri Porten
Suggestions and inquiries direct please to KDE aKademy Team.