13–17 Feb 2006
Tata Institute of Fundamental Research
Europe/Zurich timezone

Schema Independent Application Server Development Paradigm

15 Feb 2006, 09:00
9h 10m
Tata Institute of Fundamental Research

Tata Institute of Fundamental Research

Homi Bhabha Road Mumbai 400005 India
poster Software Tools and Information Systems Poster

Speaker

Anzar Afaq (FERMILAB)

Description

The idea of an application database server is not new. It is a key element in multi-tiered architectures and business application frameworks. We present here a paradigm of developing such an application server in a complete schema independent way. We introduce a Generic Query Object Layer (QOL) and set of Database/Query Objects (D/QO) as the key component of the multi-layer Application server along with set of tools for generating such objects. In Query Object Layer each database table is represented as a C++ Object (Database Object) and structured complex queries spanning multiple tables are written into Object Representations, calling them Query Objects. All database operations (select/insert etc) are performed via these Objects. In general, developments of such servers tend to pre-identify interesting join conditions and hardwire queries for such Query Objects, for the ease of development. We have tried to enhance this concept by generalizing creation of such Query Objects based on existing/defined relations among the tables involved in the join, like foreign key relations, and any other user-defined join-condition. Also delaying and generalizing creation of actual SQL Query till the execution time. This is an enormously complex task, joins with cyclic conditions and multi-relations going to same table are hard to convert into Query Objects. The task is divided into three major components. A SQL Parser that reads-in Table definitions and create C++ Objects (Database Objects). A Query Object View Creator that generates Query Object according to existing and user-defined join conditions for multiple tables. And Object Layer Algorithms that are generic enough to deal with any Dataset or Query Object. In addition to this the whole fabric of Application server is tied by exchanging self describing objects that do not need any changes in case of a schema change. The Business Logic Layer can be quickly built for know set of operations, written as "Managers" and Client interface is done through data structures that can also be semi-generated through SQL Parser. The process of adapting the system for a new schema is very fast. The maintenance over head is also very low.

Primary authors

Anzar Afaq (FERMILAB) Dr Gregory Graham (FERMILAB) Dr Lee Lueking (FERMILAB) Dr Sinisa Veseli (FERMILAB) Vijay Sekhri (FERMILAB)

Presentation materials