📜 ⬆️ ⬇️

What the vendor does not tell: technical details of the choice of ECM-system

image In a previous publication, we described the differences between two types of software — document management systems and record management systems. Today's publication is devoted to the analysis of a very important practical question: how to choose the system that is most suitable for solving specific tasks of a particular organization. Immediately, we note that we are not going to persuade readers to choose a particular system. We set ourselves the task of a different plan and want to try to formulate methodological principles on the basis of which we can choose the necessary software solution.

In this article, we deliberately focus on points that vendors, as a rule, prefer not to talk about. Meanwhile, the correct functioning of the system and the possibility of using it to solve very specific practical problems directly depend on these moments.


Let's start with general comments. As a rule, the introduction of software is preceded by the realization that the organization faces some problem, the solution of which will make its work more efficient and effective. After awareness and clarification of the problems, the search for ways to solve them begins. As a rule, the solution is to optimize certain aspects of the organization. In many cases, the work can be significantly improved through automation, for the sake of which the corresponding software is being implemented. The selection process can be divided into several stages. First you need to decide on the category of software being implemented. This task is not as simple as it may seem at first glance. We give a number of practical examples.
')
Example one . In some organizations, approval of contracts from 3-10 responsible persons is necessary for the approval of contracts. Considering that all these persons are located geographically remotely from each other, the contract approval process is significantly extended in time, which prevents the company from promptly resolving issues of negotiating and signing contracts, and creates a number of difficulties when working with customers and suppliers. Therefore, it is necessary to implement such software that would allow: (1) to create contracts; (2) automate the movement of contracts along a certain route and, if necessary, change this route; (3) support the signing procedure; (4) to store all versions of the document on the approval process and the final signed version. To solve the problems in this example, the ideal system of electronic document management.

An example of the second . In a construction organization, it is intended to automate the processes of systematization and storage of all information received and created in the course of project implementation. The information is diverse in types and formats, is extensive in scope: tender documentation, contracts and orders, design and working documentation for construction and changes to them, estimates and changes to them, ERP, PIC and CPD, acts of examination, conclusions, photos and videos, and other necessary documentation. It can be requested at any time by contractors, subcontractors, supervising and inspecting the process of construction and acceptance by organizations. This documentation is collected as the project is executed, comes from both external sources, and is the result of internal work, in particular, can be created in various internal information systems. Therefore, it is necessary to introduce such software that would allow: (1) to enter and structure the above information as the project is completed and completed (2) to find information by various criteria and to view it quickly; (3) provide the necessary levels of access security. Here, too, everything is extremely simple: you need to implement an electronic archive system.

However, there are cases when there is no uniqueness in the definition of the software category.
The third example . Currently, the problem of a gradual transition of health facilities to electronic medical records and electronic medical records is quite relevant both in Russia and in other countries. On the one hand, an individual medical record is a document that contains information about the patient’s health status throughout his life (X-rays, cardiograms, tomograms, etc.) are used to confirm this information. On the other - the card is in constant motion; as the patient turns to specialist doctors, new entries are made to it. What software should be implemented in this case? Of course, it is quite possible to use the electronic document management system to automate medical records management (and such recommendations are indeed given in some publications). But inevitably, a large number of large, “heavy” files (for example, digitized X-rays) will inevitably have to be attached to electronic medical records and medical records. To solve the problems described, software is needed that: (1) allows you to create and edit maps; (2) automates the movement of the map along certain routes; and (3) provides secure, structured storage of all materials attached to the map. To determine the category of software in this case it is necessary to prioritize the tasks. When priorities are set, it is much easier to determine the functionality that is required from the system. If the amount of data on the cards is large enough (gigabytes of heterogeneous information) and the main focus of the work is on storing, searching and viewing information on patient cards, and changing the map does not imply its movement along frequently changing routes, the records management system (electronic archive in Russian terminology), which also included an additional set of functions for operational work, was appropriate here. If the card involves mostly a set of textual information without loading it with copies of other documents, and the main work is its creation, modification and coordination, then the electronic document management system will easily solve this problem.

Based on the above examples, it can be noted: having defined the objectives of the company and their priorities, we should proceed to the definition of the software category. In difficult cases, it is recommended to refer to the standards with which you can clarify the basic functionality. Having decided on the category of software, you should proceed to the choice of a specific solution (ie, software) and, accordingly, its supplier.

When choosing a specific software, one should first of all pay attention not only to what the system can do, i.e. functionality (it has already been repeatedly defined in the process of determining the category of software and standards), but also on the HOW certain functions are implemented. The answer to the question "how?" Can hardly be found in the standards. Moreover, it is generally difficult to find in any open source. When answering this question, it is necessary to conduct software tests using demo versions or trial versions of the system, which will allow you to evaluate, of course, within certain limits, HOW certain functions are implemented and weed out inconvenient or inconsistent systems.

In addition to the way of implementing these or those functions, a number of aspects should be taken into account that are very essential for the successful operation of the selected software, but at the same time few people pay attention to. Such aspects are primarily architecture and technology .
Refusal to work with an already implemented system is painful both in financial, organizational, and political aspects, so we will pay special attention to the architecture and technologies in this article. It should also be noted that these features of the system cannot be considered when working with the demo version, but you can find out when communicating with the developer or software vendor.

First - you should definitely pay attention to the features of the architecture. The system can be either a two-tier architecture (client-DBMS) or three-tier (client-server-DBMS). Both options have their advantages and disadvantages. If the system has a two-tier architecture, then such a moment as the need to administer the server is excluded. The means of the DBMS organize data storage and distribution of access rights to them. But the disadvantage of this is the organization of data processing on the client side (the so-called “fat” client). To obtain data, the client is provided with direct access to the DBMS, which may lead to unauthorized access to the data and violation of their integrity.

The three-tier architecture allows you to organize a more flexible structure of the security system and not be limited by the capabilities of the DBMS, eliminate unauthorized access to data and monitor changes made by controlling server operations with the data produced by the client.

In addition, you should pay attention to how the system works with files. Two options are possible: two-and three-tier architectures can store files in the DBMS itself. What happens in this situation? On the one hand, the solution is simple - everything is given at the mercy of the DBMS, which itself stores all the information, processes it, performs its backup, recovery, etc. But when working with large volumes of information, there are numerous operational problems. Often it happens that the resources of one machine becomes insufficient. In such cases, it is necessary to translate the work of the DBMS in cluster mode, using the resources of several machines. When using paid DBMS this leads to significant additional costs. A database operating in a cluster may be more reliable, but at the same time it does not eliminate the need to create backup copies. And then there is a high probability that a problem will arise, a solution that has practically no solution: the size of backup files reaches such a magnitude that it becomes impossible to create, store, and then restore them.

Some suppliers, as a possible solution to the problem of “swelling” of the database, suggest using partial backup mechanisms that involve backing up part of the data and then deleting it from the DBMS. However, this solution seems unacceptable if only because in a system designed for storing business-relevant information, unnecessary parts (i.e., those that can be simply picked up and deleted) cannot simply be parts! In addition, if different parts of the database are physically deleted from the system (they are somewhere in a backup copy), then end-to-end search is impossible and the very idea of ​​an electronic archive loses meaning.
When using both architectures, it is possible to organize the storage of files outside the DBMS, which solves problems with the enormous size of the DBMS - they are simply very difficult to achieve. However, in such systems, attention should be paid to the way files are accessed. In a two-tier architecture, you can provide the client with only a direct link to the file, but this can lead to a violation of security policies. In a three-tier system, you can also provide a direct link, but more reliable systems are those that proxy through themselves the requested files, which eliminates the possibility to bypass the security system. Proxy in the two-tier architecture has nothing to implement.

With the architecture of the system is directly related to its characteristics such as the ability to scale. There are several possible technical solutions to the problem of scaling, but first of all, attention should be paid to the fact that when the data stored by the system increases, the response time of the system should remain within acceptable limits (that is, adequate for the purpose and specific situation of the system utilization). For example, access to an object found by a search for 10 seconds seems insignificant, but during mass work such a period of time may be too long for comfortable use of the system. And after all, the search speed is the main evidence of system performance for the average user!

Secondly, when choosing a system, one should also pay attention to the technologies used in the implementation of the system. It should be borne in mind that all systems have both advantages and disadvantages of those technological platforms on the basis of which they are implemented. Thus, a significant disadvantage of all Microsoft solutions is binding to a specific operating platform with the inability to migrate to other platforms, for example, under Linux, a low level of security, increased sensitivity to loads and a high total cost of ownership of the entire solution (and not the cost of a specific system) at high speed of development of solutions based on them and a large number of specialists who know these technologies at an acceptable level. At the same time, J2EE-based systems are more reliable, not tied to a specific platform, but at the same time they are more demanding on hardware resources, in particular, on RAM, which is true now due to the rapid development of hardware and their significant reduction ceases to be a problem. The cross-platform solution gives the client the freedom to use system and related software, which leads to a reduction in the cost of system ownership through the use of open source and free software, for example, Unix / Linux operating systems, Postgress DBMS and other open source products and systems.

Based on the above, we can formulate the following practical recommendations on the choice of ECM-system:


Have a good choice!

Source: https://habr.com/ru/post/139791/


All Articles