📜 ⬆️ ⬇️

Silver bullet or golden mean?

I want to present to the habrasoobshchestva court the concept of an information system.

As I promised earlier in my blog, in this post I will describe the concept of my information system. I ask you not to judge strictly, because this manuscript is a generalization and formalization of my humble experience in creating IP. By publishing this document, I would very much like to receive constructive criticism and suggestions for improvement. I am also interested in the commercial application of the information system implemented on this concept.

I am very interested in working in this direction, I want to create a free and open analogue to existing systems and gain valuable development experience. Please do not write comments like “You should not create another bike” or “Company X and Company Y have already done this and are selling successfully”, but it will be interesting for me to see analogs.
')
At the moment there are several classes of information systems:


CRM - Customer Relationship Management Systems
ERP - systems for enterprise resource planning
MES - production control systems
WMS - Warehouse Management Systems
SCM - Supply Chain Management Systems
ECM - Enterprise Information Management Systems
EMM - marketing automation systems
MRP - material needs planning systems
SSDT - Unified Problem Solving Systems
EAM - enterprise asset management systems
HRM - Human Resource Management Systems
ServiceDesk - IT Service Management Systems
CMS - content management systems
Issue-tracking - task management systems
Workflow - Workflow Management Systems
BPMS - Business Process Management Systems

In the process of studying this issue, I found that each class of information systems is different (perhaps the description and analysis of each class of IP will be the topic of my next posts) from each other, in general, only data models and the implementation of a sequence of actions on these data, and came concluded that the golden mean of all information systems is a hybrid based on Workflow and Issue-tracking systems.

I will try to describe this hybrid on the example of a small information system for managing an IT service.

The described information system should consist of an application management module and an IT asset management module.
ITIL does not use the terminology deliberately, so as not to burden the reader.

The order management module is a classic example of the Issue-tracking system, where each request (issue) is determined by the status and accompanying data, such as priority, description of the request, user data, and classification of the request. The life cycle of an application, determined by the status of the application, is provided by a workflow system, which describes the stages of work, which data is edited and which users participate in a certain stage of the life cycle. For example, at the stage of registration of the application, operators and technical support engineers participate and they need to indicate the priority, description and user data. And at the closing stage of the application, only engineers participate and they need to classify the application and describe its decision.

The IT asset management module is an asset database (servers, workstations, network equipment, office equipment, consumables) interconnected and classified in such a way that under certain conditions you can see the infrastructure in a certain section. Each asset has at least two statuses (active or inactive), and also groups of assets can be accessed by certain users. For a more convenient asset management, it is necessary to integrate the modules so that it is possible to initiate an application from asset management and to make a change in the asset database from application management. Obviously, this module is also implemented using the Issue-tracking and Workflow systems.

Abstracted from the subject area, several structural elements can be identified, on the basis of which, with the right approach, scaling the IT management system for the IT service will cease to be a problem.

user management
Description
Subsystem authorization and management of user accounts.

Requirements
It should work both independently and with the help of LDAP, OpenID and other systems.

Personalization
Description
The subsystem organizes the mechanisms of social networks and user interface settings.

Requirements
The subsystem should use reference books and consist of the following components on the basis of service and reference information:
- Personal page
- Private messages
- Links to other users
- Group of users
- Personal settings
- Customization of user interface
- Project links
- Links to project information
- Customizable activity channels in the system

Access control
Description
The subsystem controls the access of subjects to objects based on roles, role hierarchies, and privilege inheritance. Role-based access control will allow you to implement flexible, dynamically changing access control rules in the workflow.

Projects, Subprojects
Description
Subsystem of project management and subprojects, as independent and logically related information systems.

Requirements
The subsystem should have the ability to create its own project or subproject by the user and be regulated using access control. The subsystem should provide mechanisms for linking projects and the exchange between them of any information in order to provide a flexible way to combine information systems.

Navigation
Description
A subsystem for organizing a menu, page-by-page division, and similar interface elements, providing a quick and convenient, intuitive transition to different states of an information system.

Tracker
Description
The subsystem tracker is needed to create modules of the information system.

Requirements
The subsystem should use dynamically connected directories defined in the workflow for flexible configuration of the processed data. Within one project, several trackers can be created and they can be interconnected, and one tracker can also be used in several projects. Data from trackers should be portable. Each tracker must have required attributes to determine the number and status of tracker objects, the date the object was created, the date of status change and change counters, the object's history and comments to the object. The tracker subsystem should provide automatic generation of editing forms and representations of objects.

Directories
Description
Directories are data operated by an information system. It can be either database data or any other data structure describing some system objects and their state.

Requirements
The component should provide a list display, adding, editing and deleting objects of the directory.
Directories may consist of:
- Basic data types
- Lists of objects
- Hierarchical lists
- autocomplete fields
- Classifications by keywords

Integrated directories
Description
Directories connected from data sources that are not used in the information system, such as files, databases and various services.

Requirements
The component should be provided with convenient integration customization mechanisms.

Form generation
Requirements
The tracker subsystem should be provided with mechanisms for automatic and manual creation of data editing forms, such as:
- Creating \ editing a single object
- Creating \ editing a group of objects
- Object / group transfer
- Integration with other data models

View generation
Requirements
The tracker subsystem should be provided with mechanisms for automatic and manual creation of views, such as:
- List of objects
- An object

Templates
Requirements
The tracker subsystem should be provided with mechanisms for creating templates for filling out forms in order to increase the efficiency of adding and processing information.

Filters
Description
The filter subsystem is needed to search and display the necessary data, depending on the filtering condition chosen.

Requirements
The subsystem should contain filtering conditions based on service and reference information. The subsystem should provide multi-level data sorting. Filters must be:
- Custom
- Are common
- Privileged (available to certain users or groups of users)

Flexible reporting
Description
The subsystem for creating common and custom reports in the form of tables and graphs based on reference books and service information.

Export information (files, e-mail, ldap, 3dparty, rss, soap)

Activity in the system
Description
Subsystem monitoring activity in the system.

Requirements
The subsystem should provide the ability to view total activity, activity in projects, as well as to provide flexible configuration of common and user activity viewing channels.

Workflow
Description
The workflow subsystem controls data access, describes the sequence of user actions, user groups, simple and complex systems. It also provides timely notification of subjects about events occurring in the system.

Data access
Description
Component of managing role access to processed and displayed data at certain stages of work.

Sequencing
Description
Component management sequence of actions in the processing of information.

Requirements
The sequence of actions can be described by control structures, such as:
- Conditions
- Cycles

Automatic transaction management
Description
A component that describes automatic operations with processed data.

Routing
Description
Component that describes the routing of objects to subjects

Performance, performance and quality control

Alert system
Description
The subsystem of notification of events occurring in the information system through internal messages, e-mail and rss.

Plug-in system
Examples of plugins:
- Integration into office applications
- Version control system
- Group calendar

Import, Export Projects
Description
A mechanism for transferring customized information systems from one platform to another.

Internationalization

Having described these constructs, I came to the conclusion that on their basis it is possible to build any of the existing user-oriented information systems, without the participation of the programmer (in some cases, the problem is solved by creating the necessary plug-in). The existing class of information systems BPMS (Bussines Process Management System), aims to solve this same goal, but it has serious drawbacks, in my opinion, and if desired, can be integrated into my concept, in the form of add-on graphical modeling of workflows and data models. In the other existing classes of IP, the mechanisms of a dynamic model and workflow are implemented, but, in my opinion, not yet fully.

Perhaps I have described common truths, but for me it has become a kind of discovery. Therefore, I would like to discuss with you this concept and move on to the design and implementation phase of this IP, describing them in the next post.

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


All Articles