CRAFT system is build on top of client-server technology and uses relational DBMS Firebird (or Oracle). This means that data processing is mostly done on the server side which dramatically increase system performance.
Data processing on the client side is based on patented Sybase Data Window technology that provides powerful tools for data retrieval, sorting, filtering and modification, as well as utilizes capabilities of embedded K-Script meta-language. Let’s consider different scenarios of data processing and how they are handled in CRAFT:
Usually data is retrieved when opening any window with data presentation (for example a directory or a documents journal). Depending on how the particular object is designed in a module configuration, data is presented in a linear or an hierarchical style. When large data storage is assumed it is recommended to use hierarchical scheme for more effective navigation and search. In case of documents journals there also special techniques in order to organize data in a most effective way, including pre-defined filters. Using patented Sybase Data Window technology allows to reach unprecedented speed of data retrieval, which will only be limited by network bandwidth. See also data structure for more info.
Report is another type of reading data that is presented in a special form. In CRAFT system any report is a configuration object with a pre-defined SQL-query and data presentation format. Unlike some other systems, CRAFT does not assume any type of intermediate data processing after data is returned from a database server. This means that speed of any reports execution is limited only by server performance and practically does not depend on a workstation power (i.e., CRAFT takes advantage of client-server technologies). In CRAFT system the maximum response time for even complex reports does not usually exceed 30 sec (practically in most cases 5 — 10 sec).
Input and modification of any type of data is usually done in the data forms assigned to the corresponding business objects in configuration. Sybase DataWindow technology provides high speed of data modification operations. Database transaction mechanism is used when modifying data so that ensures high reliability of such operations. When editing documents (as complex objects) in CRAFT special blocking mechanism (on a user session level) can be used additionally, that eliminates any possibility of collisions in data modification.
When inputting and editting data in complex objects (for ex. documents) some associated business procedures could be executed (as defined in module configuration). In CRAFT system in most cases the 3-tier scheme is used for business logic implementation, as it is shown on a picture below:
Using intermediate level of business logic allows to separate it into specific process on an application server side (if exists). That significantly speeds up procedures execution, since most part of the algorithm (which is not dependant on GUI), can be moved to a server side. Also, the most «hard» part of algorithm which is responsible for data processing very often is placed in a stored procedures in the DBMS. With such scheme of business logic implementation the optimal workload distribution between client and server and maximum performance can be reached.
Such procedures are, for example, the procedures for bulk processing of documents or data revision procedures. All such procedures are usually implemented in embedded K-Script meta-language. Here the developer has wide choice of tools for implementation. Having native SQL support in K-Script (including cursors) allows to program the procedure of any level of complexity. In addition to traditional SQL commands (Insert, Update, Delete) and cursors it is also possible to use «dynamic» SQL commands (built «on-the-fly» in the program code) as well as special internal data buffer — Data Store. However, the optimal solution would be to separate the business logic itself and hard algorithms to client and server parts, where server part is implemented in stored procedures which are called from application programming language (K-Script).
The configuration of existing CRAFT modules are optimized by performance and use all advantages from technologies available in CRAFT development and execution platforms.
1 company is slready contained in a base program license. Here you should put a number of extra companies that could to be used simultaneously in one program database. Further, while ordering on this site you will have to indicate exact names for each company in the license.
1 user is slready contained in a base program license. Here you should put extra users that need simultaneous access to the program database.
The composition of a program package depends on requirements in your company and determines the final product cost.