Company Resource Management System
A modern enterprise can become (or will become so in the foreseeable future) absolutely uncompetitive without creating a single information space and automated control systems for functioning processes built on its basis.
Own development of an ERP system (Enterprise Resource Planning System - a company’s resource management system) based on a single enterprise information space (EIP).
On the organization of integrated automated control systems
Currently, the costs of acquiring and operating computer equipment by various enterprises in the republic are commensurate with the similar costs of world leaders, and the application effect is low, and sometimes negative. Of course, there are exceptions, but they only confirm the rule.
The set of hardware and software depends, most often, on the heads of departments who initiate the acquisition or creation of software (software) and, accordingly, its hardware support 'for themselves.'
Both the head of the enterprise and the heads of structural divisions understand that any division cannot work autonomously, but, at the same time, they cannot realize that this also applies to software. Any software should be part of a single whole and should work for the entire enterprise.
What do we, in the vast majority of cases, mean by 'complex automation'? It:
- Creating a file server and local network;
- Putting into operation various applied applications (accounting of labor, material and other resources, operational production management, monitoring of the implementation of decisions made, etc.);
- Commissioning of various ACS TP subsystems
It looks good on paper, but a large number of heterogeneous and, as a rule, unrelated automated systems and applications, many of which are developed using dubious tools, the use of various information technologies leads to the fact that all this is just a set of software products, each of which only a separate unit is needed.
To monitor resources again, whole groups of specialists are needed whose work does not require any decisions and which only extract and process data and again enter them into other applications and only then receive the final data. As a result, the available information resources and computer facilities are extremely inefficiently used. This applies to almost any field of activity (industry, education, medicine, etc., etc.). That is, all these applications and systems, for the enterprise as a whole, can be considered as calculators, the results of which, again, must be entered into the same calculators. And everywhere in the gap is a man, and where he is not needed and can not be compared in quality, not in speed with a computer.
No one wants (or cannot) deal with issues of system integration, centralization and unification of processes as a whole. With an impressive list of available software, a unified conceptual approach is most often missing. As a result, we get:
- Many common data are duplicated many times and, due to this, are distorted and even lost;
- To obtain consolidated operational data on the real state of an object at any point in time, it is usually required to conduct a multitude of “flyers”, “planning meetings”, etc., taking precious working time from a large number of leading specialists;
- Processing heterogeneous information is time-consuming, time consuming and cannot cover all the necessary data;
- The number of “irreplaceable” specialists is expanding, often interfering with the main production process;
- The information received by leading managers and specialists from secondary sources is almost always incomplete, and in most cases not objective (even if its intentional distortion is excluded). And, nevertheless, the main working time they are busy collecting it. There is negligible time left for analysis and decision making;
- Insurmountable difficulties in obtaining operational, statistical and reference data in real time, their complete analysis, and, therefore, the operational management of processes become impossible.
The effect of the 'Tower of Babel' is observed - a lot of resources and labor have been spent, and it is extremely difficult to get a general information picture. The result is informational chaos, moreover, at the top level of government. Paraphrasing the famous statement of Academician Glushkov V.M., we emphasize that automation of chaos is pointless!
When choosing software, its compliance with the requirements of modern information technologies is often ignored, and, accordingly, the use of this software as part of integrated systems. A rare product is used only by the operator alone. Usually, much of the data for his work is the result of the work of other units and vice versa - the results of his work are needed by other units. Systematize information and avoid duplication and allow systems that combine all the data into a single information space (EIP). Due to this, any change in any of the applications will lead to a corresponding change in the data in other applications. For example, after entering the bill of lading in the application “Warehouse”, the same waybill will immediately be available for processing in the application “Accounting”, etc. Getting “pass-through" information from multiple applications is also not a problem. Such complex systems exist and are effectively operated. For example, SAP R3. But the cost of such systems ($ 400,000 - the basic set, implementation - from $ 2,000,000) “scares” even the most progressive leader.
Software Market Overview
The number of software products that allow you to create a truly comprehensive automation of the enterprise on the basis of a single information space (EIP) is relatively small. The following products can be distinguished: R3, BAAN, JDEdwards, Axapta, Galaxy, Sail, Flagship and their derivatives. With the help of these products, a complete automated control system solution is proposed. The word “finished” can be safely quoted. There can be no finished products of this class, if only because each enterprise is unique. When purchasing such a product, you should focus not on the cost of the “box”, but on the cost of implementation. Implementation is orders of magnitude higher than the cost of the product itself. For all the merits of these products, the set of tasks for any of them is finite and sooner or later the moment will come when the product will no longer satisfy the needs of the enterprise (as a rule, the finiteness of the product is already felt at the implementation stage). Of course, the developer will offer to create the necessary application, but the development cost is so high that not every enterprise is able to constantly use this service. At the same time, there are a large number of various software products on the market that have, due to the large circulation, low cost and which can solve almost any problem (as an example, products of 1C). But, alas, almost always, there is no culture of application and development. In most cases, the developer considers everything through the “1C” prism, does not think about the work of the EIP, and the solution of only local problems does not fit into the concept of the system. In addition, “1C” can be safely called a high-level problem-oriented algorithmic language. At the end of the last century, when the entry to the market of object-oriented and visual-oriented algorithmic languages began, there were almost no competitors in the Soviet market at 1C, created on the basis of the FoxPro language (later, Visual FoxPro). Visual FoxPro (VFP 9.0) “died” in 2009 - Microsoft decided that further development of this language does not make sense. It is easier to launch a new one that better supports both modern hardware and modern operating systems. “1C”, as a language, “survived”. This was facilitated by competent local support, many templates, cost and the transition to a modern, powerful database management system (MS SQL Server). 0) “died” in 2009 - Microsoft Corporation considered that the further development of this language does not make sense. It is easier to launch a new one that better supports both modern hardware and modern operating systems. “1C”, as a language, “survived”. This was facilitated by competent local support, many templates, cost and the transition to a modern, powerful database management system (MS SQL Server). 0) “died” in 2009 - Microsoft Corporation considered that the further development of this language does not make sense. It is easier to launch a new one that better supports both modern hardware and modern operating systems. “1C”, as a language, “survived”. This was facilitated by competent local support, many templates, cost and the transition to a modern, powerful database management system (MS SQL Server).
In other words, applying this approach, the customer is “tied” to the developer for the entire period of operation, and the latter will determine the entire software and hardware policy of the enterprise. The customer must refuse other software products, no matter how attractive they are. The disadvantages include the fact that the algorithms of a number of tasks included in the product are composed of standard templates (often foreign) and many of these tasks are “redundant”, and often a situation arises when the company must “adapt” to the product, and not vice versa.
Almost all known systems are based on SQL database management systems (DBMS). SQL is a special language (Structured Query Language) - a tool for reading and processing data contained in databases inside a DBMS. The term DBMS is quite wide, and the SQL language is supported not only by the client - server DBMS (for example, FoxPro). In the future, by DBMS we mean only the client - server DBMS. There are a lot of such DBMSs. Here are some of the most famous brands - Oracle, DB2, MS SQL Server, SQLBase, Sybase. The architecture is almost the same for everyone and complex automated systems repeat this architecture. The EIP, in this case, is nothing but the database (s) of the data (DB) of these DBMSs. A database is a collection of tables included in it (them). What is a table, it is clear to anyone who at least once used, for example, Excel. Back in 1970, Codd created a relational database model (“12 Codd Rules”). Since then no better model has been found. Thanks to these rules, all the data of all the tables included in the database is unique, and the tables are interconnected by special keys. This allows you to make a selection of one or more tables according to any criteria. For example, the company has its own unit for the repair and maintenance of the fleet. The next maintenance period for the vehicle (s) is suitable and should be determined: the enterprise has its own fleet repair and maintenance unit. The next maintenance period for the vehicle (s) is suitable and should be determined: the enterprise has its own fleet repair and maintenance unit. The next maintenance period for the vehicle (s) is suitable and should be determined:
- Stamps amount of consumables;
- Other (based on operating results).
When the deadline approaches, for several days (determined by the customer), upon entering the system, the head of the repair unit receives a message and a completed application (stamps and the amount of consumables are determined by the library created in advance) and the work order, indicating the responsible person (selected from the list of employees units) If clause 2 is present, then the application is adjusted manually and sent for processing. The application goes through the warehouse, reserves everything necessary, in the absence of some components, the application is submitted to the supply department. The system immediately signals the head (other responsible) of the procurement department about the arrival of the application. From the library of manufacturers (sellers), the desired one is selected, a supply contract is drawn up.
In the absence of an integrated system, much more people and more time will be involved, and you may have to correct errors repeatedly.
There are many such examples, and many will seem unrealistic, because it is either impossible to obtain such information in other ways, or it will become obsolete at the processing stage. Almost always, re-entry of data and unnecessary personal communication can be eliminated.
But one DBMS is not enough. An ordinary user, for example, a storekeeper, should not even notice the DBMS, EIP, etc. He has the “Warehouse” application and does not need anything else. It provides him with all operations with material assets and simultaneously prepares all the necessary documents. Therefore, the system must contain the necessary software products, the same “Warehouse”, “Human Resources”, “Accounting”, etc. But the data of these applications are stored in the EIP and, in most cases, are processed by the DBMS. Such applications are called client applications (sometimes the general term is used, a workstation - AWP). Therefore, automated systems include templates for many client applications. Why templates, not ready-made applications? Because units with the same name in different enterprises can perform a different set of functions, and production processes are not organized equally. All client applications contain their own programming environment that allows them to adapt the application. DBMS, in turn, contains ready-made databases that allow applications to function. DBMS has another very important function - data processing. At the request of the client (client application), the DBMS processes the data inside, and returns the finished result to the client. The DBMS also monitors data safety, manages transactions, etc. This is very important for multi-user work. Such systems are called client-server, and a computer-server, on which all the data is located and which is connected to other user computers (clients) by a client-server.
Help: another type of system that uses the server as a remote hard disk of a large volume, to one degree or another, available to clients (file server), is called file server. This method has many disadvantages. A file-server system requires moving all the necessary information for processing to a workstation, and this in turn:
- dramatically increases workstation performance requirements;
- it overloads communication lines and, as one of the consequences, does not allow the use of low-speed lines;
- increases the complexity of creating workstation software for each task;
- As a rule, it requires additional knowledge in the field of information technology from the user.
What to implement?
So, conditionally, enterprise software can be divided into 2 groups:
- A set of stand-alone software products.
- A set of software products that have a single information space and are combined into an integrated production automation system.
The advantages of the 1st group include:
- A relatively large selection of applications from different manufacturers to solve a specific problem.
- The relatively low cost of implementing each task.
This group has no more advantages.
This group has one drawback, but it covers any advantages: It is impossible to create a common information model of the entire enterprise. The introduction of each new task generates a stream of additional information. Because of this, it is necessary to take away the lion's share of the working time of leading specialists and force them to search and process information. In addition, for the same purpose sometimes it is necessary to maintain a whole staff of “irreplaceable specialists”. The qualifications of each of them can be quite high, but in general, they are busy with routine work, which requires, basically, only knowledge of the location of the data and the ability to extract them, as well as knowledge of the four arithmetic operations.
The second group. The advantages, albeit briefly, are described above. But the high cost of implementation does not allow the use of these funds in most enterprises, where the number of employees is from several thousand or less.
Analysis of application software and tools
What is the secret to the success of the software products listed above? Most of them were created in the early 90's. There were very few means of access to the DBMS, and algorithmic languages practically did not have such concepts as a programming environment, visual programming, or object-oriented programming. The same SAP, almost the first to provide everything in one "glass". In addition to Oracle DBMS with a proprietary database, the package includes client application templates. The package contained a unique algorithmic language with a development environment, with elements of visual and object-oriented programming. It was a major breakthrough at the time. The language was not originally intended for professional programmers and had a unique syntax. Initially, he could only edit printed forms, but over time it became a full-fledged language of a very high level (in relation to the algorithmic language, “high level” is not a quality of the language, but the ability of one command to execute several machine instructions with a syntax similar to a common spoken language). All this led to the undoubted success of the product R3.
Many years have passed and it is safe to say that new tools and methods for interacting with the DBMS have appeared, not only not inferior to those used in R3, but also superior to them. No matter how scolded Bill Gates, but Microsoft gave us some good tools for interacting with the DBMS. This is first ODBC (Open Database Connectivity - interaction with open databases), and then OLE DB and ADO. If OLE DB is now already part of Windows and allows you to receive an SQL query as an object in any programming language, then ADO, in some languages, allows you to work with DBMS data as if it were your own. Developers of algorithmic programming languages have long implemented in their tools, as the programming environment, as well as object-oriented and visual programming. Now the programmer has a wide selection of tools, for each case of interaction with the database (creating a client application), and there is no need to use only the “imposed”, very specific language that is part of a particular package. The ability to select a tool for each specific case can significantly reduce the development (implementation) time. You can compensate for the lack of client application templates using cheap serial products from other manufacturers (“cheap” is by no means the quality of the product. Low price is due to the large circulation). It may sound paradoxical, but many modern software products, as it were, were specially developed as clients of modern client-server systems. For example, "1C". The software products of this family can be safely called a high-level problem-oriented language. In their programming environment, it is easy to create OLE DB objects and interact with the UIS. The EIP can also communicate with the application using OLE DB, but not only. "1C", in addition, supports COM-technology. That is, the application can be performed without an operator - programmatically. For example, an operator working in a warehouse received goods on a bill of lading. When you enter all the parameters of the invoice (No., name, quantity and price of goods, etc.), you can programmatically call “1C Accounting” and simultaneously, already programmatically, enter data into this application. This example is for illustration purposes. It is not the best - “12 rules of Codd” are violated - duplication of information. In this case, both applications can use the same source of information. When using other applications, in some cases, a new source can be finalized, and when this is impossible, some of the rules can be violated. It is only necessary to reliably provide software synchronization of data in both sources.
In addition, modern DBMSs allow you to work not only with your “native” data. It has become possible to include other (heterogeneous) data sources in the EIP. In principle, any that are used in modern stand-alone applications and these applications can also be used as clients. The smallest requirements are the presence of an ODBC driver for the database of this application. Of interest is the side effect of using other products in the system, including those previously introduced at the enterprise. Trained personnel do not have to learn an unfamiliar application. For example, “1C Accounting” was introduced at the enterprise (studying it is included in the curriculum of many universities), and the transition, for example, to R3 or “Galaxy” analogs can take more than one month. Moreover,
Another example of introducing a “foreign” software product into the system, in such a seemingly non-automated area as document preparation. Anyone reading these lines is more or less familiar with office applications, such as Word. How are documents prepared in the vast majority of enterprises? As an example, take any contract where at least two parties are present.
So, for operations:
- It is necessary to find the template file of the necessary contract. This file is usually prepared by the legal department of the enterprise. In this case, you can make a mistake and take, for example, the old version of the file with outdated information (company letterhead, details, full names of managers, etc.).
- Loaded in Word.
- Name, details, full name are found. leaders of the other side and are included in the template. The data of another enterprise are taken from sources known only to a limited circle (file, record on paper, reference book, etc.) and in different sources the same data may be different.
- The template is adjusted (dates, digital data, etc.) and the document is ready.
But Microsoft would not be Microsoft if it had not implemented COM technology in its office products. This is how the preparation of the same document takes place in a modern system:
- list selects the desired template. Both the list and the templates are in the EIP, so there is simply no such thing as an “old version”.
- From the list of the enterprise library, the right one is selected. Word is loaded automatically and, in the same way, automatically, the name and surname of the managers and all the details of both their company and the other side are substituted.
- The template is adjusted (see the previous paragraph 4).
Mistakes are possible only if the responsible persons incorrectly made a template or incorrectly entered the data in the library of enterprises, but this is documented by the system and you can always determine who and when made (or did not) change, and this disciplines. In Word, Excel and many other applications, you can "substitute" any data contained in the EIP.
In other words, modern information technologies make it possible to smoothly switch from a set of diverse software products to the creation of a modern integrated enterprise management system.
It is possible (and necessary!) To create a system using new tools and methods available to any enterprise.
The practical implementation of the ERP creation technology is implemented in the proposed software package. Let's consider it in more detail. "Tidying up" all the software functioning at the enterprise is a difficult and unsolvable task at one time. For starters, by revising the software, you can try as an EIP, after adaptation,
use one of the automated systems operating at the facility (if any). However, for this purpose it is more expedient to use specially developed software, and implement existing systems and other software products into it. The ERP core must contain and process data, without which it is impossible to build other tasks. As an example, a system specially developed for these purposes is proposed. It is self-sufficient and can fully ensure the functioning of a simple object. At the same time, she has no development restrictions. Depending on the version and installation, it can be either network or local. The system completely solves the problems of office automation and document management and, in addition, has a number of useful functions for managers of various ranks and leading specialists. The description of the system (with illustrations) takes more than 4 MB and will not be considered here. According to the sketch of the main window, you can imagine some of its functions.
The primary tasks of the system are accounting for resources (primarily labor) and the organization of high-quality workflow. The choice is not accidental. Personnel issues, one way or another, are present in any production application software (executor, responsible, official) and any production process is accompanied by documents. The main window contains four lists, two of which are presented in a hierarchical structure. All four lists are synchronized and, thanks to this, carry a large information load. Before implementing the ERP core, you should review the existing software and determine which of its components can be included in the ERP. At the same time, it is advisable to create a working group to identify promising and priority tasks. Those tasks commissioning of which is not possible separately (the presence of complex relationships) should be introduced in groups. Since the system has an open architecture, the adaptation of ready-made applications and the introduction of new tasks can be carried out simultaneously by different groups of developers.
From ERP to EIS
So there is an ERP. The EIP contains streamlined operational and statistical information for the entire enterprise. Moreover, the data were not prepared specially, but were obtained in real-time mode and in real time. It’s stupid not to take advantage of this. It remains only to add analytical software and on the basis of ERP a unified information system (UIS) has appeared. Schematically, it should look like this:
Subsystem No. 1 - Subsystem No. n
Applied subsystems, including: subsystems of industrial control systems, energy metering, as well as all kinds of meters, devices, cash registers, etc., from which readings are taken remotely.
ERP - (Enterprise Resource Planning System - an enterprise resource management system) is a collection of applications that to one degree or another work with the labor, material and other resources of the enterprise. For example, “Warehouse”, “Human Resources”, “Accounting”, etc. From a simple set of applications with the same functionality, they are distinguished by the fact that all data is stored in the EIP and comply with the "12 Codd rules." In addition, there are validations and documentation. In other words, any client of the system can use the resources of any other clients, if it is necessary for him to work. However, he may not notice this and does not take any additional actions. But this does not mean permissiveness - any client can only change his data. Verification happens automatically. For instance, client X wanted to ascribe to himself the quantity of delivered products, but the warehouse simply would not accept it until client X entered a valid invoice. It is valid only when customer Y in the warehouse confirms it (after that the invoice is also available in the Accounts application), but he is not able to change this invoice in any case. The quantity of certain products in stock, including those received from client X, can only be changed with a new receipt or shipment to client Z. And all this is documented by the system.
Common Information Space (EIP)
A complex of hardware and software tools for the reception / transmission, storage and processing of information from various sources. The EIP provides the necessary transformation of information, while observing the rules of consolidation, synchronization and ordering when transferring and transforming data. The integrity conditions that determine the success of transactions, including those distributed between several application systems, are also observed.
Software tools responsible for storing and restoring information in the EIP.
Analytical software (CPM system)
Analytical software is a set of software products designed for managers of various ranks.
What is analysis? Here - this is a choice from the huge amount of information in the EIP that is only necessary, corresponding to certain criteria. Since all information is systematized, it is easy to obtain any operational and statistical data, both in real time and for a certain period. The most used DBMS command (SELECT) used to create analytical software, by its syntax, practically does not differ from the team leader to its assistants. For example, - “prepare data (list of data) of such units (list of units) interconnected (type of communication - specific order, emergency situations, marriage, behind schedule, etc. etc.)”. In addition, you can set the parameters that the data must match. The DBMS will cope with such a task almost instantly, and for assistants, with a complex query, using other methods and even using modern computer technology, but, without having an EIP, a month may not be enough. The result can be provided, both in the form of standard reports, and in any arbitrary form, including graphical. Note that the manager does not need to study any applications of various departments or other software. His work with his own application resembles a visit to an online store, for example, www.shop.by, only production parameters are set instead of product parameters. You need to select the desired query, set the parameters and press the button. Training (and maybe self-study) will take only a few hours. Well, of course, you need to take into account the time of getting used to the instrument. There are enough materials for analysis in the EIP. And they are always reliable, because they are received in real-time mode, but not specially prepared. Thanks to this, you can see any production process in real time, find ways, for example, to reduce costs, improve quality and productivity, select a supplier according to the criteria price - quality - reliability. See the results of the work of a particular unit, especially if it negatively affects the work of the entire enterprise. Moreover, in this case, it is easy to objectively evaluate the work of the unit. Perhaps all or part of the blame rests with another unit or officer. No glider can identify the cause of the failure so quickly and reliably. Etc. and so on. choose a supplier according to the criteria price - quality - reliability. See the results of the work of a particular unit, especially if it negatively affects the work of the entire enterprise. Moreover, in this case, it is easy to objectively evaluate the work of the unit. Perhaps all or part of the blame rests with another unit or officer. No glider can identify the cause of the failure so quickly and reliably. Etc. and so on. choose a supplier according to the criteria price - quality - reliability. See the results of the work of a particular unit, especially if it negatively affects the work of the entire enterprise. Moreover, in this case, it is easy to objectively evaluate the work of the unit. Perhaps all or part of the blame rests with another unit or officer. No glider can identify the cause of the failure so quickly and reliably. Etc. and so on.
The analytical software of department heads, as a rule, is “embedded” in the corresponding software product. If this is technologically impossible, a separate application is created. But, once again, I want to emphasize that you do not have to wait for specially prepared data from other departments and enter them into analytical software. Data is already in the EIP. Thanks to this, in particular, the emergency workers who accompany the end of the month (quarter, year) in many divisions will also be a thing of the past.
The query library (in the form of reports, tables, etc.) of analytical software can be replenished by a person who knows the SQL language and is independent of the developer.
Another goal of analytic software is emergency tracking. For example, violations of the delivery schedule or technological processes, lack of raw materials, etc. In this case, a warning is automatically generated.
Analytical software frees the manager from searching, processing and preliminary analysis of information. At the same time, a large amount of working time is freed up, if not from the head, then from the persons who are entrusted with this task. Many analytical materials are generally not available with other methods of collection and processing due to the high complexity.
UIS management software
System Administrator Software.
Hardware-software tools for exchange with higher and subordinate organizations.
Why not implement?
So, based on the foregoing, it is not difficult to determine that the top add-in of an integrated automated control system (EIS) is nothing more than a modern and extremely necessary tool for enterprise managers. But strange metamorphoses occur with leaders. At the household level, each of them is progressive. For example, when buying a car, the presence of many useful functions only contributes to the choice in favor of a more technically complex product. And consultations are needed not to make a purchase decision, but to determine which model meets the stated technical specifications and how reliable it is. Further exploration of new opportunities is not a hindrance. But when it comes to production management, the choice of tool, for some reason, is delegated to other people, not experienced in managing the enterprise and able to act only as experts, determining the conformity of the declared, purely technical, characteristics of the software product. The technical services of the enterprise, in essence, are only maintenance services. The leader forgets that he lives in the 21st century. A good software product now does not require additional knowledge in related fields, a child can also master it (but at the same time he will not be able to manage the enterprise!). By delegating the choice of a tool for the enterprise, the head provokes a conflict of interest. For a technical support service, a good product is one that requires minimal maintenance with minimum qualifications, and not one that the entire enterprise needs. The same with the units. The head of the unit selects the product “for himself” and does not analyze its compatibility with other products for other units (and does he need it?). As a result, each unit buys for itself, although highly intelligent, but still a “calculator”.
They don’t seek good from good. ... That’s what, unfortunately, determines the technical policy of the enterprise!
- A modern enterprise can become (or will become so in the foreseeable future) absolutely uncompetitive without creating a single information space and automated control systems for functioning processes built on its basis.
- Automated systems built on the above principle allow to remove almost the entire “unbearable” information load from managers and leading specialists and, as a result, significantly increase their real working time, necessary for making optimal and adequate management decisions.
- The haphazard investment in automated systems aimed at increasing the efficiency of the operation of objects leads, in the end, only to a negative result.
- Work on the creation of integrated systems for automating the functioning of objects can and should happen with evolutionary (but not revolutionary) methods. This will avoid “production stress” and, especially with insufficient funding, not to make large one-time financial injections and to develop the system gradually.
- Using software created using the proposed approach, the cost of creating integrated integrated automated control systems is significantly reduced.
- The system contributes not only to improving the quality of the management process and the competitiveness of products and services, but also is a means of improving the production culture and personnel qualifications.