Silver bullet or middle ground?
I want to present the concept of an information system to the court of the habrasociety.
As I promised earlier in my blog, in this post I will describe the concept of my information system. Please do not judge strictly, because this manuscript is a generalization and formalization of my modest experience in the field of IP creation. By publishing this document, I would really 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 “Do not create another bike” or “Company X and Company Y have already done this and are successfully selling it,” but I will be interested to see the analogues.
Currently, there are several classes of information systems:
CRM - customer relationship management
systems ERP - enterprise resource planning systems
MES - production management systems
WMS - warehouse management systems
SCM - supply chain management
systems ECM - enterprise information management systems
EMM - automation systems marketing
MRP - material needs planning systems
SSDT - unified
EAM problem solving systems -
HRM enterprise asset management
systems - ServiceDesk human resource management systems
- CMS IT service management systems - Content management systems
Issue-tracking -
Workflow task management systems
- BPMS workflow management systems - business process management systems
In the process of studying this issue, I found that each class of information systems is different (perhaps a description and analysis of each class of IP will become the topic of my next posts) from each other, in general, only by data models and the implementation of a sequence of actions on this data, and I came to the conclusion that the golden mean of all information systems is a hybrid based on Workflow and Issue-tracking systems.
I’ll try to describe this hybrid using an 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.
I do not use ITIL terminology knowingly so as not to burden the reader.
The application management module is a classic example of the Issue-tracking system, where each application (issue) is determined by its status and accompanying data, such as priority, application description, user data, application classification. The life cycle of the application, determined by the status of the application, is provided by the workflow system, which describes the stages of work, what data is edited and which users participate at a certain stage of the life cycle. For example, operators and technical support engineers participate in the application registration phase and need to indicate priority, description and user data. And at the stage of closing the application, only engineers participate and they need to classify the application and describe its solution.
The IT asset management module is an asset database (servers, workstations, network equipment, office equipment, supplies), interconnected and classified in such a way that under certain conditions it is possible to see the infrastructure in a certain context. Each asset has at least two statuses (active or inactive), and groups of assets may be available to certain users. For more convenient asset management, integration of modules is necessary so that it is possible to initiate an application from asset management and make a change to the asset database from application management. Obviously, this module is also implemented using the Issue-tracking and Workflow systems.
Abstracting from the subject area, you can identify several structural elements, on the basis of which, with the right approach, the scaling of IS management IT service will cease to be a problem.
User Management
Description
The subsystem of authorization and user account management.
Requirements
It should work, both independently, using LDAP, OpenID and other systems.
Personalization
Description
Subsystem organizing the mechanisms of social networks and user interface settings.
Requirements
The subsystem must use directories and consist on the basis of service and reference information of the following components:
- Personal page
- Private messages
- Links with other users
- User groups
- Personal settings
- Customization of the user interface
- Links with projects
- Links with project information
- Customizable activity channels in the system
Access control
Description
Subsystem for controlling access to objects based on roles, role hierarchies and inheritance of privileges. Role-based access control allows implementing flexible access control rules dynamically changing in the workflow.
Projects, subprojects
Description
The subsystem for managing projects and subprojects as independent and logically connected information systems.
Requirements
The subsystem must be able to create a user of its own project or subproject and be regulated by access control. The subsystem should provide mechanisms for linking projects and exchanging any information between them in order to provide a flexible way of combining information systems.
Navigation
Description
The subsystem for organizing menus, pagination, and similar interface elements that provides a quick and convenient, intuitive transition to different states of the information system.
Tracker
Description
The tracker subsystem is required 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 the framework of one project, several trackers can be created and they can be interconnected; also, one tracker can be used in several projects. Data from trackers must be portable. Each tracker must have mandatory attributes for determining the number and status of tracker objects, the date the object was created, the date the status changed and the counters of changes, the history of the object, and comments on 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. This can be either database data or any other data structure that describes some objects of the system and their state.
Requirements The
component should provide a list display, addition, editing and deletion of directory objects.
Directories can consist of:
- Basic data types
- Lists of objects
- Hierarchical lists
- Auto-completion fields
- Keyword classifications
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.
Generating forms
Requirements
The tracker subsystem should be provided with mechanisms for automatically and manually creating data editing forms, such as:
- Creating / editing a single object
- Creating / editing a group of objects
- Transferring an object / group
- Integration with other data models
Generation of representations
Requirements
The tracker subsystem should be It is provided with mechanisms for automatic and manual creation of representations, such as:
- List of objects
- Object
Patterning
Requirements
The tracker subsystem should be provided with mechanisms for creating templates for filling out forms to increase the efficiency of adding and processing information.
Filters
Description
The filter subsystem is necessary for searching and displaying the necessary data, depending on the selected filtering condition.
Requirements
The subsystem must contain filtering conditions based on service and reference information. The subsystem should provide multi-level data sorting. Filters should be:
- Custom
- General
- Privileged (available to specific users or user groups)
Flexible reporting
Description
Subsystem for creating general and user reports in the form of tables and graphs based on directories and service information.
Information export (files, e-mail, ldap, 3dparty, rss, soap)
Activity in the system
Description
Subsystem for monitoring activity in the system.
Requirements
The subsystem must provide the ability to view general activity, activity in projects, as well as provide flexible configuration of general and user channels for viewing activity.
Workflow
Description
The subsystem workflow controls access to data, describes the sequence of actions of the user, user group, simple and complex systems. It also provides timely notification of subjects about events occurring in the system.
Access to data
Description
A component of management of role-based access to the processed and displayed data at certain stages of work.
Sequence of actions
Description
A control component of the sequence of actions in information processing.
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 the processed data.
Routing
Description
A component that describes the routing of objects to entities.
Monitoring of efficiency, productivity and quality
. Alert system.
Description
Subsystem of notification about events occurring in the information system through intra-system messages, e-mail and rss.
Plug-in system
Examples of plug-ins:
- Integration into office applications
- Version control system
- Group calendar
Import, Export of projects
Description
A mechanism that allows you to transfer customized information systems from one platform to another and reuse.
Internationalization
Having described these constructs, I came to the conclusion that they can be used to build any of the existing user-oriented information systems without the participation of a 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), aimed at solving the same goal, but has serious drawbacks, in my opinion, and if desired, can be integrated into my concept, in the form of an add-in for graphical modeling of workflows and data models. The remaining existing IP classes implement the mechanisms of the dynamic model and workflow, but, in my opinion, have not yet fully implemented.
Perhaps I have described common truths, but for me it was a kind of discovery. Therefore, I would like to discuss this concept with you and go to the stage of designing and implementing this IP, describing them in the next post.
As I promised earlier in my blog, in this post I will describe the concept of my information system. Please do not judge strictly, because this manuscript is a generalization and formalization of my modest experience in the field of IP creation. By publishing this document, I would really 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 “Do not create another bike” or “Company X and Company Y have already done this and are successfully selling it,” but I will be interested to see the analogues.
Currently, there are several classes of information systems:
CRM - customer relationship management
systems ERP - enterprise resource planning systems
MES - production management systems
WMS - warehouse management systems
SCM - supply chain management
systems ECM - enterprise information management systems
EMM - automation systems marketing
MRP - material needs planning systems
SSDT - unified
EAM problem solving systems -
HRM enterprise asset management
systems - ServiceDesk human resource management systems
- CMS IT service management systems - Content management systems
Issue-tracking -
Workflow task management systems
- BPMS workflow management systems - business process management systems
In the process of studying this issue, I found that each class of information systems is different (perhaps a description and analysis of each class of IP will become the topic of my next posts) from each other, in general, only by data models and the implementation of a sequence of actions on this data, and I came to the conclusion that the golden mean of all information systems is a hybrid based on Workflow and Issue-tracking systems.
I’ll try to describe this hybrid using an 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.
I do not use ITIL terminology knowingly so as not to burden the reader.
The application management module is a classic example of the Issue-tracking system, where each application (issue) is determined by its status and accompanying data, such as priority, application description, user data, application classification. The life cycle of the application, determined by the status of the application, is provided by the workflow system, which describes the stages of work, what data is edited and which users participate at a certain stage of the life cycle. For example, operators and technical support engineers participate in the application registration phase and need to indicate priority, description and user data. And at the stage of closing the application, only engineers participate and they need to classify the application and describe its solution.
The IT asset management module is an asset database (servers, workstations, network equipment, office equipment, supplies), interconnected and classified in such a way that under certain conditions it is possible to see the infrastructure in a certain context. Each asset has at least two statuses (active or inactive), and groups of assets may be available to certain users. For more convenient asset management, integration of modules is necessary so that it is possible to initiate an application from asset management and make a change to the asset database from application management. Obviously, this module is also implemented using the Issue-tracking and Workflow systems.
Abstracting from the subject area, you can identify several structural elements, on the basis of which, with the right approach, the scaling of IS management IT service will cease to be a problem.
User Management
Description
The subsystem of authorization and user account management.
Requirements
It should work, both independently, using LDAP, OpenID and other systems.
Personalization
Description
Subsystem organizing the mechanisms of social networks and user interface settings.
Requirements
The subsystem must use directories and consist on the basis of service and reference information of the following components:
- Personal page
- Private messages
- Links with other users
- User groups
- Personal settings
- Customization of the user interface
- Links with projects
- Links with project information
- Customizable activity channels in the system
Access control
Description
Subsystem for controlling access to objects based on roles, role hierarchies and inheritance of privileges. Role-based access control allows implementing flexible access control rules dynamically changing in the workflow.
Projects, subprojects
Description
The subsystem for managing projects and subprojects as independent and logically connected information systems.
Requirements
The subsystem must be able to create a user of its own project or subproject and be regulated by access control. The subsystem should provide mechanisms for linking projects and exchanging any information between them in order to provide a flexible way of combining information systems.
Navigation
Description
The subsystem for organizing menus, pagination, and similar interface elements that provides a quick and convenient, intuitive transition to different states of the information system.
Tracker
Description
The tracker subsystem is required 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 the framework of one project, several trackers can be created and they can be interconnected; also, one tracker can be used in several projects. Data from trackers must be portable. Each tracker must have mandatory attributes for determining the number and status of tracker objects, the date the object was created, the date the status changed and the counters of changes, the history of the object, and comments on 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. This can be either database data or any other data structure that describes some objects of the system and their state.
Requirements The
component should provide a list display, addition, editing and deletion of directory objects.
Directories can consist of:
- Basic data types
- Lists of objects
- Hierarchical lists
- Auto-completion fields
- Keyword classifications
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.
Generating forms
Requirements
The tracker subsystem should be provided with mechanisms for automatically and manually creating data editing forms, such as:
- Creating / editing a single object
- Creating / editing a group of objects
- Transferring an object / group
- Integration with other data models
Generation of representations
Requirements
The tracker subsystem should be It is provided with mechanisms for automatic and manual creation of representations, such as:
- List of objects
- Object
Patterning
Requirements
The tracker subsystem should be provided with mechanisms for creating templates for filling out forms to increase the efficiency of adding and processing information.
Filters
Description
The filter subsystem is necessary for searching and displaying the necessary data, depending on the selected filtering condition.
Requirements
The subsystem must contain filtering conditions based on service and reference information. The subsystem should provide multi-level data sorting. Filters should be:
- Custom
- General
- Privileged (available to specific users or user groups)
Flexible reporting
Description
Subsystem for creating general and user reports in the form of tables and graphs based on directories and service information.
Information export (files, e-mail, ldap, 3dparty, rss, soap)
Activity in the system
Description
Subsystem for monitoring activity in the system.
Requirements
The subsystem must provide the ability to view general activity, activity in projects, as well as provide flexible configuration of general and user channels for viewing activity.
Workflow
Description
The subsystem workflow controls access to data, describes the sequence of actions of the user, user group, simple and complex systems. It also provides timely notification of subjects about events occurring in the system.
Access to data
Description
A component of management of role-based access to the processed and displayed data at certain stages of work.
Sequence of actions
Description
A control component of the sequence of actions in information processing.
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 the processed data.
Routing
Description
A component that describes the routing of objects to entities.
Monitoring of efficiency, productivity and quality
. Alert system.
Description
Subsystem of notification about events occurring in the information system through intra-system messages, e-mail and rss.
Plug-in system
Examples of plug-ins:
- Integration into office applications
- Version control system
- Group calendar
Import, Export of projects
Description
A mechanism that allows you to transfer customized information systems from one platform to another and reuse.
Internationalization
Having described these constructs, I came to the conclusion that they can be used to build any of the existing user-oriented information systems without the participation of a 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), aimed at solving the same goal, but has serious drawbacks, in my opinion, and if desired, can be integrated into my concept, in the form of an add-in for graphical modeling of workflows and data models. The remaining existing IP classes implement the mechanisms of the dynamic model and workflow, but, in my opinion, have not yet fully implemented.
Perhaps I have described common truths, but for me it was a kind of discovery. Therefore, I would like to discuss this concept with you and go to the stage of designing and implementing this IP, describing them in the next post.