|
Abstract
The document is a complete user manual for
the object-oriented database management system ODRA (Object
Database for Rapid Application development), including its Virtual
Repository Management System (VRMS). VRMS allows for virtual integration of
distributed, heterogeneous, redundant and fragmented data and service
resources into a centralized, homogeneous, non-redundant and non-fragmented
whole. The specification includes installation and administration manual,
general architecture of the software, integrated development environment,
description of an object-oriented data model, specification of database query
and programming language SBQL (Stack-Based Query Language), virtual
updateable views, sessions and transactions, a client-server protocol, and
various front end and back end interoperability facilities implemented for
ODRA.
Table of Contents
1. Introduction
2. Overview
of ODRA, SBQL and interoperability facilities
2.1
Purpose and Scope of the
System ODRA
2.2
Architecture of ODRA and
Applications Based on ODRA
2.3
Overview of the ODRA
Integrated Development Environment
2.4
Overview of the ODRA
Object-Oriented Data Model
2.5
Overview of SBQL
2.6
Overview of Virtual
Updatable Views
2.7
Overview of Back-End
Interoperability Facilities
2.8
Overview of Front-End
ODRA Application Programming Interfaces
3. Getting
Started
3.1
ODRA Operational
Environment
3.2
ODRA Installation
Guide
3.3
Your First Tiny
Object Base
3.4
Your First SBQL
Queries and Programs
3.5
Using Integrated
Development Environment
4. ODRA
Object-Oriented Store Model
4.1
Modules
4.2
Objects, Nested
Objects
4.3
Structures
4.4
Collections and
Cardinalities
4.5
Links
4.6
Procedures, Functions
and Transactions
4.7
Views
4.8
Classes, Inheritance,
Polymorphism, Types and Schemata
5. ODRA Integrated Development Environment
5.1
Text Editor
5.2
Installing and Running
5.3
General IDE Information
5.4
Working with Projects
5.5
Working with an ODRA Server
5.6
Compiling and Running
5.7
ODRA IDE CLI (Command Line
Interface)
5.8
More Samples
6. SBQL (Stack-Based Query Language) -
Queries
6.1 Basic Pragmatic, Syntactic and
Semantic Assumptions
6.2 Strong Type Checking
6.3 Results returned by SBQL
Queries
6.4 Atomic SBQL Queries
6.5 SBQL Operators - Summary
6.6 Numerical and String Operators
6.7 Comparison Operators
6.8 Boolean Operators
6.9 Date Operators and Comparisons
6.10 Algebraic Operators on
Collections
6.11 Aggregate Functions
6.12 Non-algebraic operators
6.13 Auxiliary Naming Operators
6.14 Explicit and Implicit Type
Conversions and Dereferences
6.15 Conditional operator
(if…then…else…)
6.16 Ordering Operator
6.17 Range Operators
6.18 Transitive Closures
6.19 Function, Procedure, and
Method Calls
7. SBQL
Imperative Statements
7.1
Variable
Declarations
7.2
Object Creation
7.3
Assignment
7.4
Insertion
7.5
Create and Insert
7.6
Deletion
7.7
Program Control
Statements
7.8
For Each Statement
7.9
Exceptions
7.10 Comments
8. SBQL
Procedures
8.1 Procedures and Functional
Procedures
8.2 Parameters of Procedures
8.3 Local Variables
8.4 Return from a Functional
Procedure
8.5 Examples of Procedures
8.6 Functional Procedures as
Database Views
8.7 Recursive Procedures and
Methods
9. SBQL Classes, Methods and
Bidirectional Pointers
9.1
Class
Invariants
9.2
Syntax of
Class Declaration
9.3
Declaration
of Class Instances
9.4
Substitutability
9.5
SBQL
Operators Specific to the Object Model with Classes
9.6
Bidirectional
Pointers
10. SBQL
Updatable Views
10.1
General Idea of SBQL
Updatable Views
10.2
Seeds of Virtual
Objects
10.3
Operators on Virtual
Objects
10.4
Nested Views
(sub-views)
10.5
Virtual Pointers
10.6
Local Objects Within
Views
10.7
Syntax of SBQL Views
11. Transactions
12. XML Importer and Exporter
12.1 Introduction
12.2 Importing XML Using
CLI Command line
12.3 XML Import Procedure
12.4 Examples of XML Files
and Queries
13. Web Services Backend and Frontend
13.1 ODRA Web Services Proxies
13.2 Web Services Dynamic Invocation
Interface
13.3 Web Services Endpoints
14. Generic Wrapper to Relational Databases
14.1 Wrapper Architecture
14.2 Adding and Querying Wrappers
14.3 Top-Down Usage Scenario
14.4 Bottom-Up Usage Scenario
14.5 Type Mapping
14.6 Wrapper Configuration and Running
15. Interoperability with Java and .NET
15.1 Accessing Java Libraries via
Reflection
15.2 Java Object Base Connectivity (JOBC)
15.3 .NET Object Base
Connectivity for ODRA (NOBC)
16. ODRA Web Components
16.1 Page Definition
16.2 Data Source Definition
16.3 Bar-Line Chart Component
16.4 News Component
16.5 Poll Component
16.6 Table Component
16.7 Text Label Component
17. ODRA Distributed Database
17.1 The Idea of Distributed
Databases
17.2 Database Links
17.3 Virtual Repository
18. ODRA Indexing
18.1 General Idea of ODRA indexing
18.2 Index Management – creating
and removing
18.3 Query optimization tips
18.4 Examples
19. ODRA
Access Control
19.1 The Main Idea of the
Access Control Mechanism
19.2 Roles and Logging
19.3 Working in ODRA
19.4 Permissions
19.5 Implementation
Annex A:
Methodology for Making a Virtual Repository under ODRA
A.1 Design of the Virtual Repository
Class Diagram Schema
|