ULOGO256.jpg (32952 bytes)  

Object-relational database Ultima-S

Problems & decisions


What's object-relation database?

Problem 1. Object-oriented explorer interface or standard lists and forms?

Problem 2. Terminal application or client/server application?

Problem 3. Object transfer protocol or standard client/server protocol?

Problem 4. Low level programming or visual-scenario programming?


What's object-relation database?

Usually databases are created as a set of  tables and a code to store data and manage it. SQL Server store data  in the related tables and manage data  simple and effectively. Therefore so the SQL servers are popular. However in our life we are not surrounded by the tables. We are surrounded by objects of the real world.The analysts of databases operate by real objects, but the database designers operate by the tables and procedures. Object is association of tables and procedures in one unit. Database store and manage object in tables know as object-relational database.The object-relational database has advantages of relational base:  simple storage and information processing, high performance. On the other hand object approach allows to work together analyst and designer of the database easy. They can operate by both objects.

National Committee for Information Technology Standards (NCIST) describe object relation model in pre-standard SQL3.

Problem 1. Object-oriented explorer interface or standard lists and forms?

Standard database application interface consists of forms and lists. New object-oriented database  application interface (explorer) consists of documents (objects) and folders (tree). Main Ultima-S client application has explorer interface, bookkeeping  client application (Account) has standard interface. Let's give comparison of the given approaches

Note. New bookkeeping and accounting units in Ultima-S based on main client with explorer interface.

Compare table 1. Explorer interface against Standard lists and forms

Parameter Explorer interface Standard lists and forms
Navigate in large database Easy Difficult
Navigate in simple list of object With medium efforts Very easy
Navigate in structured list Easy Difficult
Call any object related with document (contained in document) Easy Difficult
Document moving Easy (drag-and-drop) Difficult
Operate without mouse With medium efforts Very easy
Filling document Easy With medium efforts

Conclusion. Explorer interface has many advantages for complex databases.

Problem 2. Terminal application or client/server application?

Database application has three layers: Data logic, Business logic, Presentation Logic. Standard client/server application implements business and presentation logic on client side, data logic is implemented on server side. Bookkeeping unit Account uses this standard method. Main Ultima-S application use terminal technology. In this technology client application like TV show channel almost without  logic in client side.

This table shows comparison of terminal and client/server technology.

Layer Purpose Terminal application Client/server application Example
Data logic Basic manipulation with data Server Server Modifications objects data and perform data operations
Business logic Basic manipulation with data Server Server or client application Logic of document circulation, accounting and etc
Presentation logic Presentation data to user Server, application only view it Client application User forms, reports and etc.

Let's describe the advantages and lacks of the given approaches

Compare table 2. Terminal application against Client\Server application.

Parameter Terminal application Client\server application
Server, system requires Expensive computer Ordinal computer
Workstation resource usage Low High
Server resource usage High Low
Business logic, network traffic Low High
Preventative logic, network traffic Medium Low
Business logic, performance High Medium
Preventative logic, performance Medium High
Security High Medium

Conclusion. Terminal application has big advantages if psentation logic isn't complex (document entering and etc.). For very complex presentation logic (reports and etc.) it is better Client/Server application .

Problem 3. Object transfer protocol or standard "direct table" protocol?

Standard database application access directly into tables for operations. As a result standard application provides part of security in client side. This is back door for hackers. Without troubles hackers can read and damage data in database if they know password of any originally user.

If standard client\server application use Internet for access to data then user can see very low performance of the program. The reason it in unsuccessful use of Internet Protocol. Client application sent a lot of short commands to server. For higher performance number of commands must be lower.

Ultima-S uses object transfer protocol. Server objects sent the views to client by special exchange table Detail. As result object view client give in one command with high performance and security.

Compare table 3. Object transfer protocol against "direct table" protocol

Parameter object transfer protocol direct table
Number of commands to  Server not much lot of short commands
Size of transferred information big medium
IP compression good medium
IP speed, total high medium
IP speed for documents high medium
IP speed for reports medium high or medium
Security very high medium
Server CPU usage high low
Implementation Difficult Easy

Conclusion. Object transfer protocol has high performance via Internet and high security, but the implementation of it is difficult.

Problem 4. Low level programming or visual-scenario programming?

Standard database program doesn't allow analyst to change business and presentation logic without programmers. For all changes made by big team of programmers and testers. Ultima-S support  visual-scenario programming. Analyst can define task by scenario without programmers or with small programmers team (Rapid Application Development).

Compare table 4. Low level programming against visual-scenario programming.

Parameter low level programming visual-scenario programming
Rapid application development no yes
Analyst needs programmer for every task yes no
Programmer have full control under system yes no
All task need programming yes no
Reliability and stability low, need intensive testing high, only problem testing need
Amount people in development team much not much
Development time long short
Modification for non-standard task yes yes, if exists necessary object  and scenario language can modify it
Performance of ready system high medium, if objects has high performance else ready system has low performance

Conclusion. Visual-scenario programming allow to use Rapid Application Development without big developers team.


Vladimir Ivanov. System analyst

Dmitry Tsuranoff (editor). System analyst