Object-relational database Ultima-S
Problems & decisions
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|
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 speed, total||high||medium|
|IP speed for documents||high||medium|
|IP speed for reports||medium||high or medium|
|Server CPU usage||high||low|
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|
|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