Three-Level Object-Oriented Database Architecture Based on Virtual Updateable Views 1 Piotr Habela 1 , Krzysztof Stencel 2,1 , Kazimierz Subieta 1,3 1 Polish-Japanese Institute of Information Technology, Warsaw, Poland 2 Institute of Informatics, Warsaw University, Warsaw, Poland 3 Institute of Computer Science PAS, Warsaw, Poland {habela, subieta}@pjwstk.edu.pl, stencel@mimuw.edu.pl Abstract. We propose a new architecture for object database access and man- agement. It is based on updateable views which provide universal mappings of stored objects onto virtual ones. The mechanism preserves full transparency of virtual objects either for retrieval and any kind of updating. It provides founda- tion for three-level database architecture and correspondingly three database development roles: (1) a database programmer defines stored objects, i.e. their state and behavior; (2) a database administrator (DBA) creates views and inter- faces which encapsulate stored objects and possibly limit access rights on them; (3) an application programmer or a user receives access and updating grants from DBA in the form of interfaces to views. We present a concrete solution that we are developing as a platform for grid and Web applications. The solu- tion is supported by an intuitive methodology of schema development, deter- mining the perspectives and responsibilities of each participant role. 1 Introduction The well-know ANSI/SPARC architecture [1] defines three levels which drive the data access and management of a database. These are internal, conceptual and the ex- ternal levels. The conceptual level is common for all the database environment, while the external level consists of particular views (subschemata) dedicated to particular client applications or particular users. In relational databases the external level is im- plemented by two kinds of facilities: access privileges to particular resources granted by a database administrator (DBA) to particular users, and SQL views that customize, encapsulate and restrict resources to be accessed. Such an approach has proven to be enough simple and satisfactory for majority of applications of relational databases. The situation is different for object-oriented and XML-oriented environments, es- pecially in the data/service grid setting (transparent integration of distributed, hetero- geneous and redundant data/service resources). Firstly, the database model is much more complex. It includes hierarchies of objects (XML), irregularities in data struc- tures, object-oriented concepts (classes, inheritance, modules, methods, etc.) associa- tions among objects, Web services and other notions. Secondly, the responsibility for the entire environment is more fuzzy than in case of relational systems. Such envi- 1 This work is supported by European Commission under the 6 th FP project e-Gov Bus, IST-4-026727-ST.