1 Overview of the Project ODRA Radoslaw Adamus 1,3 , Marcin Daczkowski 1 , Piotr Habela 1 , Krzysztof Kaczmarski 1,4 , Tomasz Kowalski 1,3 , Michal Lentner 1 , Tomasz Pieciukiewicz 1 , Krzysztof Stencel 1,2 , Kazimierz Subieta 1,3 , Mariusz Trzaska 1 , Tomasz Wardziak 1 , Jacek Wilicki 1,3 1 Polish-Japanese Institute of Information Technology, Warsaw, Poland 2 Institute of Informatics, Warsaw University, Warsaw, Poland 3 Computer Engineering Department, Technical University, Lód, Poland 4 Faculty of Mathematics and Information Science, Warsaw University of Technology, Warsaw, Poland {radamus, tkowals, jacenty}@kis.p.lodz.pl, merdacz@gmail.com, {habela, m.lentner, pietia, stencel, subieta, mtrzaska, wardziak}@pjwstk.edu.pl, k.kaczmarski@mini.pw.edu.pl Abstract. ODRA (Object Database for Rapid Application development) is an object- oriented database management system provided as an integrated programming tool for building various business and administration applications, including centralized and distributed systems, Web applications, service buses, virtual repositories, P2P networks, and so on. The paper presents general architecture of ODRA, its object model, back-end interoperability facilities, front-end programming interfaces and integrated development environment. ODRA is based on the database query and programming language SBQL (Stack-Based Query Language) and virtual updateable views defined and used in SBQL. ODRA is the basis for two European projects: eGov Bus, aiming at the development of interoperability service bus for public administration, and VIDE, aiming at the development of a visual and textual programming language based on the OMG MDA and OMG specifications of Executable UML and a query language OCL. 1 Introduction ODRA (Object Database for Rapid Application development) [1, 2, 3] is a prototype object- oriented database management system based on SBA (Stack-Based Architecture) [4, 5, 6, 7, 8, 9]. ODRA is developed at the Polish-Japanese Institute of Information Technology (Warsaw, Poland) since March 2004. The project started with no financial support, as preparation for applications aiming at domestic and European Commission research grants. Currently it is supported by two 6-th FP European projects (eGov Bus, IST-4-026727-ST, and VIDE, IST 033606 STP) and by Polish Ministry of Science and Higher Education. In the project ODRA participated or participates more than 20 researchers and developers (plus many students). The project have joined researchers from several Polish academic institutions. Besides the pragmatic goal of building a new modern software, the important meaning of the project is education and training. Due to the project many its participants have become experts in databases, query languages, programming languages, compiler construction, distributed architectures, query optimization, strong typing, interoperability, object-oriented technologies, Web technologies, OMG standards, etc. In the software research and development own practical experience is the best teacher. The main motivation for the ODRA project is to develop new paradigms of database application development. This goal is going to be reached mainly by increasing the level of abstraction at which the programmer works. ODRA introduces a new universal declarative query and programming language SBQL (Stack-Based Query Language) [1, 4, 5, 6, 7], together with distributed, database-oriented and object-oriented execution environment. Such an approach provides functionality common to the variety of popular technologies (such as relational/object databases, several types of middleware, general purpose programming