Top Banner
RxO DBMS New solution for fast creation of high-performance, flexible business-systems.
21
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rx o technology. general prezentation.

RxO DBMS

New solution for fast creation of high-performance, flexible business-systems.

Page 2: Rx o technology. general prezentation.

Business-systems - current situation.

Traditionally, informational business-systems (IBS) appear to be a combination of applications,

implementing business logic and user’s interface, and RDBMS for data storage.

Why?

Business model in an application

DBMS (persistent data)

Page 3: Rx o technology. general prezentation.

RDBMS.

Informational business-systems (IBS) implicate storage of big volume of data. RDBMS

provide reliable data storage. Also RDBMS possess others facilities important for IBS. They

allow to process data, modify existing data schemes, provide multiuser work and transactions.

There are common language standards for management (SQL) and access interfaces in

RDBMS. They are also open for third systems use.

However, RDBMS can’t serve for creation of complex business models. Attempts to expand

RDBMS with new abilities for management of complexity, without usage of other

programming systems, were unsuccessful till now. So, for complex business models creation

external regarding RDBMS systems are used.

Empoloyees Ledger

SalesHeaders

s

SalesItems 100

Junk

$10

1 John

RDBMS (persistent table model)

The business

Page 4: Rx o technology. general prezentation.

Business objects.

OO approach seems to be the best solution for management of complex business logic. So-

called business-objects, directly modeling different essence of modeled object domain are the

results of its application.

There are two alternative ways for describing and creation of business-objects these days:

1) Use of universal OO programming systems

2) Use of specialized business tools

Page 5: Rx o technology. general prezentation.

Universal OO programming systems

Universal OO-languages are very expressive. However they don’t suit for creation of long-live

business models by themselves. Applications created with their help require external storage.

Costs only for setting of data exchange between BD and application are up to one third of

whole project cost. (Martin Fowler opinion). Moreover:

- Versus to relational systems, there aren’t possibilities for easy execution of group operations,

used for reports generation, and execution of unplanned inquiries.

- The created model is static. Versus to relational systems, for structure correction program

source code change is needed, and also the entire restart.

Solution of such problems requires significant e programmers' efforts. It leads to time and

finance expenditures.

Business model in OO application

John

Empoloyees Sales

100

Junk

1

Ledger

$10

DBMS (persistent data)

The business

Page 6: Rx o technology. general prezentation.

Specialized business tools

For solving business tasks specialized business tools (SAP, Navision, 1C etc.) are used very

often. They may be considered as virtual environments, which allow to describe and to

manipulate business objects. These are complex applications which join functions:

- Of special programming systems, including their own language, (not always object-

oriented), predetermined data types and as a rule ready data scheme (so-called standard

configuration)

- Of DBMS, executing access management function, building of requires, execution of

transactions

- Of user interface builder (including WEB-interface)

In the business tolls their interaction with DBMS is almost hidden from user.

Drawbacks:

- usually there is excess standard functional (systems are unreasonably heavy, resource-

intensive), often inappropriate to real business needs

- Highly qualified specialists are required for such systems

- Level of openness (it’s difficult, to match systems like those with third one)

- High solutions costs

John

Empoloyees Sales

100

Junk

1

Ledger

$10

DBMS (persistant data)

Business model in business tools

The business

Page 7: Rx o technology. general prezentation.

Principal imperfection of current systems.

Low performance is a principal imperfection of any system, where business model building

tool is separated from DBMS where data is stored.

Causes of low performance:

- Data processing leads to permanent data exchange between application and DBMS.

- Ineffective data exchange during group data processing (for example: quires over objects

set).

- Implementation of complex logic out of server in multiuser environment increases

significantly chances of conflict and mutual blocking

Business model

DBMS (persistеnt data)

Page 8: Rx o technology. general prezentation.

Comparison of existing solutions.

Performance capabilities necessary for creation and usage of business models in current

approach.

RDBMS Multipurpose OO

languages + RDBMS

Business tools

Expressiveness,

complexity

management

- + +

Changeability + - (conditioned by

static character of ОО

application)

+

Performance + - -

Openness,

standard

compliance

+ - -

3+ 1- 1+ 3- 2+ 2-

Costs

Cost of

purchasing

small average high

Cost of creation

and modification

(under equal

requirement for

created business

model)

High (conditioned

by

inexpressiveness;

hard programming

needed)

High (conditioned by

complexity of

architecture, requires

hard programming)

High (conditioned by

tool specific, requires

separate specialists)

Cost of

exploitation

small small Average (cost of

support)

BIG BIG VERY BIG

Page 9: Rx o technology. general prezentation.

RxO DBMS – evolution of RDBMS to real Object-Oriented systems.

RxO DBMS possess all necessary facilities for complex Business Models building:

- allows to create expressiveness, active business models, and to develop them easily in

accordance with new business needs

- is absolutely free from problems of data exchange between OO-application which

implements complex business logic and RDBMS

- gives fundamentally new capability of data flowing in business model

- provides evolutional transfer to new architecture while preserving the existing data

Business model in RxO DBMS

(real persistent objects and tables together in DBMS)

John

Empoloyees Sales

100

Junk

1

Ledger

$10

Page 10: Rx o technology. general prezentation.

RxO DBMS – tool for easy creation of complex business-models.

In RxO DBMS scheme of data is a united and full description of business model. Model is

created and managed by using a nonprocedural set of commands extending SQL.

In addition to working with traditional table structures of data, RxO DBMS allows in the same

scheme:

- to describe, create, and use in database persistent business objects classes, which have

complex reference type.

- to create objects of the classes

- to manipulate states of these objects

- to execute object’s methods

- to receive data on object’s condition (including unplanned queries)

- to remold listed properties at plural class inheritance

- to execute listed actions over groups of complex objects

Business model in RxO DBMS

(real persistent objects and tables together in DBMS)

John

Empoloyees Sales

100

Junk

1

Ledger

$10

The business

Page 11: Rx o technology. general prezentation.

Comparison with ORDBMS (Oracle v8+, PostgreeSQL, by SQL99 standard)

- Data scheme in object-relational DBMS, is an aggregation of expanded tables

OR DBMS make an attempt to extend complexity and capabilities of relational structures. User

defined types (UDT) and matched with them typed tables are used for that. Further work with

data implies traditional operations with tables by SQL command. It’s possible to access to rows

(exemplar of type) by RowID, including reference language construction.

Possibilities for data scheme change are cut vs. traditional DBMS, because they require

matching changing of both, types and relevant tables. Implicated principle – class equal table -

clearly breaks relational model. Increasing of tables' complexity leads to loss of simplicity and

severity of classic relational systems; besides flexibility intrinsic to traditional OO-systems

can’t be reached. Object extensions of SQL are complex for understanding and use.

Unlike ORDBMS, which increase of complexity of relational structures, RxO DBMS offers

possibility to join simple use of fullness object-oriented and traditional relational structures. It

allows creating more expressive and appropriate business models. RxO DBMS is based on the

classic relational data model.

Page 12: Rx o technology. general prezentation.

Comparison with DBMS Cache.

DBMS Cache (InterSystems Corp.) allows switching over from relational to object mode of

data access and back. So there are two parallel interconnected (“class matches to table”), but

not fully same schemes of data which are used for different tasks. Relational access allows

working with data directly in storage, and is used for group operations with data. For work

in object access it’s necessary to execute special actions for opening and further saving of

objects (with loading data from storage to server memory and writing back)

DBMS Cache use requires knowledge of its specific language and organization details. DBMS

Cache is a closed product, which is significantly different from traditional RDBMS, competes

with them, and requires full transition to that platform.

As against from Cache DBMS, in RxO DBMS only one common data scheme exists, which

joins object and relational structures. Both group data processing of all data and work with

separate object instances is executed into that scheme. Using of new capabilities doesn’t

require knowledge of server features. It allows focusing on business tasks.

Cache DBMS

Object

access

Relational

access ? Multidimensional

kernel

Page 13: Rx o technology. general prezentation.

Complex business model flexibility.

In addition to traditional RDBMS abilities to change table structures, RxO DBMS allows to

change and develop complex business model by:

- creating of new or inheriting of existing classes

- changing the structure of existing classes

- changing of method and class attribute realizations

Actions like that don’t require rebuilding or reloading of a system. Thus long-time existing

business model can be easily changed in accordance with new business conditions.

Page 14: Rx o technology. general prezentation.

Progressed objects – new dimension of complex business model flexibility.

There are many situations when changes affect not only quantitative, but also qualitative

characteristics of an object. For example, what we should do with object of class “Employs”, if

described employer is promoted to manager, which is described by child class “Managers”, and

at the same time other business objects (for example HR department and library) refer to him?

There aren’t possibilities which allow reflecting changes like that, in existing OO-language and

business tools. Traditionally, object instances can’t change belonging to class during existence.

Usually, in such cases new object is creating instead of the existing one. But we need to take

into account that other objects of the system can refer to deleted one. It’s necessary to retrace

and rebuild existing reference to keep the model integrity. It’s a really complex task.

RxO DBMS have simple possibilities for change like that. Existing object can change its

belonging to class within existing inheritance hierarchy. It guaranties immutability of interface,

keeps possibility of static typeу control. At the same time all existing in the system connections

with object are preserved.

Progressed objects give new opportunities for business model modifying in the following

cases:

1) new child class is creating over existing (parent) one

2) existing objects of base class are developing to new class

So, RxO implicates new dimension of business model flexibility and expressiveness.

CREATE CLASS Employsee ...

NEW Employee WITH SET .Name = "John" ...

CREATE CLASS Manager ... EXTENDS Employee ...

PROGRESS Employee[.Name = John] TO Manager... //*pseudocode

Page 15: Rx o technology. general prezentation.

Effective processing

Transition of data processing data from client software to server in business

systems is a very effusive way to grow the system performance

dramatically. RxO DBMS is a consistent environment finally joining both

data storage and the data processing for complex business models.

.

Instead of data exchange between application and DBMS, RxO DBMS performs full

transformation of all commands, describing actions with objects, (including object methods),

into command for executive relational kernel. With this complex business logic doesn’t require

creation of objects instances in application RAM. Separation between hardware (storage and

on-line storage) is hidden in the executive relational kernel. Such approach:

1. Increases business system performance in general

2. Simplifies developers’ work. Absence of logical separation between “stored” and

“processed” data renders unnecessary “opening” and “saving” of complex business

objects, reflects complex structures in tables, organizes exchange between “storage” and

business application.

Business model in an application

DBMS (persistant data)

Page 16: Rx o technology. general prezentation.

Effective group data processing

Other factor of effectives is a new feature of group complex business-objects processing (for

example, a query over set of objects, which uses an attribute which is calculated by complex

algorithm). In RxO DBMS, after command transformation, the operations like those are

executed by relational kernel as a chain of group actions on tables, without running over their

lines by separate objects. Any algorithm is transformed in a way that each step executes right

away for group of objects, generating group results.

Transformation like that allows using relational executive kernel, which

optimized for actions like that the most effectively.

For each o FROM objects

BEGIN

… o.a + o.b

END //*pseudocode

…a1 + b1

… a2 + b2

… a2 + b2

о1 о2 о3

…a1 + b1

…a2 + b2

…a3 + b3

BEGIN

… SELECT … o.a + o.b FOR ALL objects o

END //*pseudocode

RxO translation

Page 17: Rx o technology. general prezentation.

Possibilities for effective multi-user work

If business logic is fully transited to DBMS, there appears an opportunity to fully analyze

complex transactions, uncover resources for their execution and finds possible conflicts and

dead-locks, in order to avoid it at multi-users work. It’s important, that possibility of conflicts

and dead-locks of complex transactions is determinate based on preliminary static analysis of

source code. It potentially allows avoiding the necessity to block and trace block of recourses

dynamically during executing of transactions. It can lead to acceleration of those transactions.

RxO DBMS

EXEC

Transaction1(…) //*pseudocode

EXEC

Transaction2(…) //*pseudocode

Client1

Client2

SELECT … //*pseudocode

Client3

Page 18: Rx o technology. general prezentation.

Possibilities for effective multi-user work (2)

Many DBMS serialize transactions for provision of multi-users work. They trace use of

separate rows, tables, or DB files to block them or create version.

RxO DBMS allows serializing transactions by tracing of using of objects. For example: for

temporary blocking of operations with supply data, instead of blocking many lines of different

tables containing those data, it’s possible to block itself the object, matching with that supply.

Transactions, addressing to that supply, will be waiting unless it is unblocked. Other

transactions will be executed freely. So, it’s possible to decrease server loading, caused by

exact data blocking, avoiding broad blocking of tables and files.

1

BEGIN

Trans1…

BEGIN

Trans2…

Client1

Client2

RDBMS

Row locking needs a lot of service work

SalesHeaders

s

100 SalesItems

Junk

Table locking suspends all transactions accessing the table, even if the transactions access other rows than the transaction that causes the lock.

SalesHeaders

s

100 SalesItems

Junk 1

RDBMS

BEGIN

Trans1…

BEGIN

Trans2…

Client1

Client2

WAIT!

RxO DBMS

Sales

100

Junk

1

EXEC

Trans1(…)

EXEC

Trans2(…)

Client1

Client2

Page 19: Rx o technology. general prezentation.

Possibilities for business systems creations.

RxO DBMS joins capabilities both to store and to process business data, when business model

encapsulates description of both data structure and executive methods. Using this description,

it’s possible to generate automatically user and programming interfaces, which provide access

to the business model, and make possible to use and to manage it form wide range of client

applications.

Java applications

USER INTERFACES

PROGRAM INTERFACES

Class specification in

RxO DBMS

CREATE CLASS cBill

(

No INT;

Customer STRING,

Items SETOF

(

...

)

METHOD Send(...)

)

Bill

No

Customer

Items

Send

class cBill

extendes RxOproxy

{

int No;

...

void Send();

}

cBill = class(tRxOproxy)

No:Integer;

...

end;

Delphi applications

Program interface builder

User interface builder

C++ applicatin

C# applicatiion

Page 20: Rx o technology. general prezentation.

Evolutionary.

RxO itself is not a product, but a know-how, which allows to develop existing relational

DBMS into RxO ones.

Use of new possibilities doesn’t require rejection of existing DBMS and user systems or their

total rebuilding.

RxO DBMS save and maximally use existing DBMS features. Realization of new features

doesn’t require significant data and code changes in existing DB. Use of existing functional

allows using proven solutions and saving reliability of existing relational DBMS.

RxO DBMS is a development of existing RDBMS (new version of product), and fully keep all

their features, including access protocols, control of users, transactions management, etc. RxO

editions of existing DBMS can be used instead of older versions for already existing user

systems and databases. It provides full solutions succession for users.

Page 21: Rx o technology. general prezentation.

RxO DBMS – new solution for fast creation and development of informational systems,

which allows to create simple, expressive, effective, reliable business-models.

Comparison of possibilities for creating and using of business models.

RDBMS Multipurpose OO

languages +

RDBMS

Business tools RxO DBMS

Expressiveness,

complexity

management

- + + +

Changeability + - (conditioned by

static character of

ОО application)

+ +

Performance + - - +

Openness,

standard

compliance

+ - - +

3+ 1- 1+ 3- 2+ 2- 4+

Costs

Cost of

purchasing

small average high RxO DBMS

Cost of creation

and modification

(under equal

requirement for

creating business

model)

High

(conditioned

by

inexpressivene

ss, it requires

hard

programming)

High (conditioned

by complexity of

architecture, it

requires hard

programming)

High

(conditioned

by tool

specific, it

requires

separate

specialists)

Small

Cost of

exploitation

small small Average (cost

of support)

Less (because of

simplicity and

expressiveness)

BIG BIG VERY BIG MINIMAL

Our know-how gives to the broad range of independent developers and business tools vendors

a very simple tool for fast creation of high-performance business systems, which are interesting

for end users. We offer collaboration for creation RxO edition of you RDBMS.

Please, contact us. Site: www.RxO-project.com

Videodemo: http://youtu.be/K9opP7-vh18 (in English)