The system is built in the "client-server" architecture. Oracle RDBMS 8i, 9i is used as the server, and the special application designed on Delphi 6.0 is used as the client. Moreover, the specialized object-oriented language CPL, which is translated in PL/SQL constructions, as well as the interpreted language Python for non-standard data processing management in the client part are used in the system.
The system consists of the kernel and functional modules. The kernel includes general-system and application services:
- general-system services are used with the whole system; neither functional module nor the system in whole can operate without them;
- application services are general for all functional modules reflecting specificity of organization activity; as a rule, functional modules use these services, although in principle it is possible to build a module using only general-system services of the kernel.
General-system services rely on the system data dictionary being the centralized archive, in which all the main system elements are described dividing into the following classes:
- System Messages (information and error messages) describing various situations arising during system operation; system messages service allows to cause interruption of server procedures in case of message arising and to log these events in system journal;
- Domains (extended data types) including description of control rules and a list of permissible values; domains are used for description of entities, screen forms and reports as well as providing a simple method for adding of short standard data directories in the system without generation of special tables and screen forms;
- Entities (tables and relations amongst them) with code-generation scripts for generation of tables, constraints, triggers, indexes; this class of data dictionary may be used for creation of DBMS data structure and its description;
- Inquiries with parametric adjustment of conditions and keeping in the form of views; this class is used for generation of screen forms and reports;
- Business Objects (application business objects) describing properties and behavior of one or another application entity with package generation in DBMS; business object services provide for some capabilities attributable to object-oriented approach;
- Screen Forms of various types, on the basis of which client application is generating windows during operation; types of forms are limited with capabilities of client application; description of dynamic screen forms in XML standard is stored in the same class;
- Reports (report templates), on the basis of which reports are generated during application operation; a report form may have a set of parameters and inquiries, two kinds of templates are supported: on the basis of electronic spreadsheets and Microsoft Word documents, the latter is used mainly for text report generation (e.g. contract text) and complicated "parade" reports (with graphic, complicated styles etc.).
Besides keeping service of the indicated data, the Kernel includes services for data dictionary handling (generation and correction, code-generation etc.), user interface for handling of data dictionary, services for interpretation and visual view of data dictionary objects during application operation.
The Kernel includes other major general-system services:
- Connection with Database provides for connection and disconnection with database; the service is responsible for password generation to enter DBMS and storage of user context (user name, department, value date, language and others);
- Access to Data for WEB – server;
- Security service provides for user handling and password management; minimum length of password and frequency of its change may be defined by system administrator; user binding to the particular workstation is possible; protection against unauthorized access and automatic disconnection of users after the expiry of the defined inactivity interval;
- System Message Handling provides for error handling;
- Audit provides for adjustment and maintenance of audit logs;
- Authority for access to application objects; for example, sharing of user access to the accounts, documents, reports etc. is created on its basis; in contrast to sharing access at a level of DBMS objects the given service allows to divide the application objects depending on their properties and to assign different levels of access to these objects for different users;
- Vision Limitation providing for limitation of visible part of hierarchical directories for particular users and tasks; users will not see the whole directory (e.g. charts of accounts) but the part available for them;
- Reports Management providing for report export, printing, generation in batch mode (a set of reports and parameters is defined), access to exported reports;
- Data Import & Export in text format; generation and message handling in SWIFT and XML formats are available;
- Encoding Rules of application objects provides for generation of complicated rules including references to other attributes, masks, ready texts; automatic selection of attribute value by default (including unique value) and control of value user defined or changed are available;
- Screen Form Designer includes the library of components and standard forms of a client part, which allow generation both of specialized screen forms on the basis of the standard ones by means of programming on Delphi with inclusion in the dynamic library structure and interpreted forms by means of their description through the data dictionary including in XML standard.
Application part of the system Kernel contains major application business objects, on the basis of which data domain is created. These business objects include "processes", "scenarios", "transactions", "departments", "accounts", "contractors", "documents", "graphics", "analysts", "indicators". Application services of the Kernel provide support of these business objects and capability to operate with them for functional modules.
The Kernel application services are based on general-system service facility. The Kernel contains the following application services:
- Processes Control Service providing description and processing of scenarios – algorithms of business processes execution including description of process’ states, sequence of operations when process is active, user access to operations;
- Accounts Handling: general properties of accounts, change and receipt of balances and turnovers, balance control, typification of balances and turnovers;
- Transaction Designer provides for modification of business logic of existing transactions as well as creation of new transactions; methods and properties of participating business objects, accounting and analytical models, screen forms, logical blocks are used for description of transactions; transactions or its blocks may be designed by means of inheritance from the described transactions; final result of description is generation of executive procedure;
- Analytical Models Designed allows to describe in tabular form postings on analytical accounts arising during transaction, it is possible to use analytical Chart of Accounts and set of additional views (analyst) for description of accounts;
- Accounting Models Designer allows to describe in tabular form financial entries on GL accounts referred to particular bank operations; it is possible to use Base Chart of Accounts and set of additional views (analyst) to define debit and credit accounts in the accounting model; both immediate and deferred posting modes are available; in the latter case financial entries may be recorded with total sums;
- Currency Service provides handling of foreign currencies and basic operations with foreign currencies: handling of currency rates, re-evaluation, translation, multi-currency accounts support;
- Schedule Service: schedules calculation and re-calculation, both tabular and cycle schedules are supported;
- Analytical Views Designer providing any kind of accounts additional user defined classifiers; it is possible to create such classifiers based on existing or new entities;
- Consolidation Service allows creation of hierarchical classification of any set of system objects (Consolidation Group) for analysis and reporting purposes; the objects can be included into Consolidation Groups by enumeration or implicitly (by setting of correspondence rules);
- Financial Figures Service allows calculation of any kind of financial figures at specified time intervals based on Consolidation Groups and Analytical Views; keeping financial figures archive (it is possible to keep both exact and rounded values), modifying of the archive, providing dynamic inquiries to the archive; financial figures facilitate analytical and statistical reporting building.
On the whole the Kernel allows development and modification of application functional part of the system by users themselves, only restrictedly involving the experts of the company-developer that provides for successful adaptation of the system to the particular organization’s needs and allows reflecting of changes in the instructions and legislation. As a matter of fact, the system inside itself contains sufficient tools for own development.