Abstract
Attention! At the time of this writing, the master's work has not yet been completed. Estimated completion date – May 2022. The full text of the work, as well as materials on the topic, can be obtained from the author or his supervisor after that date.
Content
- Introduction
- 1. Theme urgency
- 2. Goal and tasks of the research
- 3. Research and development overview
- 4. Designing the architecture of a web application
- Conclusion
- References
Introduction
In the modern world, information technologies are deeply integrated into both everyday and working life of people, so it is difficult to imagine any field of activity without their participation, because they automate the solution of routine tasks, increase work productivity and simplify work processes.
In this regard, enterprises and companies are interested in using specialized software and introducing it into their business processes. It will allow you to solve certain business problems and increase the productivity of employees.
Such a system can serve for communication of employees, exchange of information, personnel records of employees, and can also perform integration with other third-party systems and services.
1. Theme urgency
The task of creating automated systems designed to help a person in their work has more than 30 years of history. Various areas are investigated, such as the design of systems and complexes, software development problems, development project management, in a complex allowing to create complex and functional systems.
Effective communication in a team is one of the key components of fast and productive work of IT-enterprise employees. If the team does not have convenient communication tools, such a team will work less efficiently and at the moment in many companies there are difficulties in establishing communication, since someone prefers communication via e-mail, someone using Viber, someone using WhatsApp or Facebook Messenger [1]. You have to spend time figuring out how to connect with the person.
Added to this is the fact that it is customary for development teams to hold a meeting every day or at least several times a week.
Meeting is a meeting of developers to discuss plans for the day, problems encountered, errors, nuances of software architecture, version conflicts, changes and edits from the customer, adding new functions, and so on. They are always in the form of web conferencing - the most effective approach when all members of the team working on a specific project are connected to the same room for communication via microphone and webcam. For this, specialized systems are used that do not always have the necessary functionality.
Also, hiring employees to work remotely is gaining more and more popularity, since in this way IT enterprises can reduce their expenses for renting office space, there is no need to purchase expensive equipment and additional licensed software. There is also a certain share of benefit for employees, because many people find it more comfortable and more convenient to work from home than to go to the office every day, and there are also no travel expenses to and from work, both in terms of time and money.To implement this concept, it is necessary to establish communication between remote employees or remote employees with office employees, since without established communications costs increase, the deadlines for completing tasks are shifted, which cancels the benefit from hiring employees to work remotely.
In connection with all these factors, there is an urgent need to use specialized tools and their implementation in their business processes. It is necessary to create an effective system that will solve this business problem, and will also be cross-platform, that is, it will work in any operating system. It must meet all the necessary functional requirements, as well as have a convenient and intuitive interface for comfortable and productive work of IT-enterprise employees. This required industrial system is essentially a software system.
2. Goal and tasks of the research
The purpose of this work is to develop a system for managing business processes of an IT enterprise, designed to work on the Internet, with various functionalities. This is the communication of employees, the exchange of information, personnel accounting, tracking the receipt and execution of tasks by employees, as well as integration with the necessary third-party systems and services.
To achieve this goal, you must complete the following tasks:
- Analyze approaches, design methods and development of specialized software systems for solving business processes of enterprises;
- Develop principles for designing the architecture of specialized software for enterprises;
- Develop a modular architecture for a specialized system;
- Formulate the necessary functional requirements for the system;
- Choose the most optimal tools for developing and testing the system;
- To develop, on the basis of the proposed architecture and using the selected tools, a specialized system for solving business processes of a particular IT enterprise, which will meet all functional requirements.
The object of research in this work is the mathematical and software systems for managing business processes of enterprises.
The subject of this research is the study of functional requirements for specialized systems for enterprises.
As a result of the work carried out, it is expected to obtain a fully functional system for solving business processes that will meet all the required functional requirements, will be scalable and expandable. So that in the future it can be introduced into the work of a really operating IT enterprise.
3. Research and development overview
The topic investigated in this work relates to the development of specialized software products called Enterprise applications. It is a broad field that studies the needs of a business and suggests methods to automate or simplify certain tasks. Both national and foreign specialists are very actively engaged in its study, therefore there are enough articles and other literature at the moment to dive into the subject area.
The design of microservice architecture of software for specialized systems was considered by A.M. Shitko [2]. This article is devoted to the study of the technology of building a microservice architecture, which allows you to maintain modularity and independence of deployment of components of an Enterprise application.
Dolzhenko A.I. [3] identified the tasks of choosing cloud technologies for economic information systems and considered the prospects for using cloud technologies in economic information systems, and the tasks of justifying the choice of vendors and cloud IT services for such systems based on fuzzy models.
In the work of Baranovskaya T.P., Ivanova E.A., Saykinov V.E. [4] discussed the prospects for the deployment of a decision support system to justify the volume of lending to small agricultural enterprises in the cloud. They described the possibilities and prospects of deploying a decision support system for justifying the volume of lending to small agricultural enterprises in the cloud. We identified shortcomings in the existing automation systems for small businesses, and therefore, justified the need to develop a system that allows the head to correctly and promptly calculate the amount of required credit funds.
The study of the relevance of using the REST architecture for data exchange between client-server applications was carried out by V.V. Kovalev, V.V. Khramkov. and Semenova E.I. [5]. The structure of the client-server application and the architectural style of REST were also discussed.
Among foreign sources, one should highlight the work of Chloe Henderson [6], where a definition of what is a corporate application was given, as well as examples were given and tendencies were reasoned. Rob Johnson [7] identified 7 types of enterprise applications that will provide a competitive advantage.
Among the masters of DonNTU there were also people who researched specialized systems.
One of these is the work of M.A. Sednevets [8], where distributed systems were investigated, namely their architecture and requirements for them. Also in the work of Filenko M.S. [9] studied the development of a mechanism for distributed storage and protection of information.
4. Designing the architecture of a web application
Software architecture – the structure on the basis of which the application is created, the modules and components of the entire program interact. Currently, there are two types of architectural patterns for designing web applications: client-server architecture and three-tier architecture.
Client-server architecture is a design pattern that is the foundation for building web applications. This architecture consists of three components:
- A client is a user of a service (web application) who contacts the server to obtain any information;
- Server – the place where the web application or its server part is located. He owns the necessary information about users or can request it. Also, when the client calls, the server returns the requested information to him;
- Network – provides the exchange of information between the client and the server.
A diagram of this architecture is shown in Figure 1.
The three-tier architecture is an architectural pattern in which a third actor appears – the data warehouse. When using this template, three levels are usually called layers (Fig. 2):
- The client layer is the user interface. This can be a web browser to which HTML pages are sent, or a graphical application written with JavaFX. The main thing is that with its help the user can send requests to the server and process its responses;
- Logic layer – the server on which the requests/responses are processed. It is also often referred to as the server layer. Also, all logical operations take place here: mathematical calculations, operations with data, calls to other services or data stores;
- The data layer is the database server that the server is accessing. This layer stores all the necessary information that the application uses when working.
The use of a three-tier architecture provides a number of advantages, including:
- The ability to build protection against SQL injection is a type of attack on a server in which SQL code is transmitted, and when this code is executed, an attacker can interfere with the database;
- Delimitation of data to which user access needs to be regulated;
- Ability to modify data before sending it to the client;
- Scalability – the ability to expand the application to multiple servers that will use the same database;
- Less requirements for the quality of the user's connection. When forming a response on the server, it is often necessary to take a lot of different information from the database, format it, leaving only what the user needs. Thus, the amount of information that is sent as a response to the client is reduced.
Also with a three-tier architecture, you can use the MVC pattern (Model - View - Controller) [10], which separates the aspects of the application (input logic, business logic and user interface logic), while providing free communication between them.
- Model encapsulates (combines) application data, it will be composed of Java objects;
- View is responsible for displaying the data of the Model, as a rule, generating HTML-code that the user sees in the browser in a transformed form;
- The Controller processes the user's request, creates the corresponding Model and passes it to the View for display.
To implement the web system, it was decided to use a three-tier architecture in connection with its above advantages and interaction with the Spring MVC framework, which provides the implementation of the Model – View – Controller pattern using loosely coupled ready-made components.
Conclusion
Architectural patterns for designing web applications are considered for further use in the implementation of your own system. The relevance of the chosen topic was also investigated, a goal was set, tasks and expected results were formulated.
In the presented material, research and development on the topic of work were considered, after analyzing which conclusions were drawn for further study and development of the topic.
In the future, it is planned to develop its own product, its own Enterprise-system, which will meet the necessary functional requirements of a particular IT-enterprise and will allow solving, simplifying and automating its specific business tasks. Also, the tools and ways of implementing this system were selected for performance and data protection.
References
- Хабр. Сообщество IT-специалистов. Режим доступа: https://habr.com/ru/company/mvideo/blog/426469. – Заглавие с экрана.
- Шитько Андрей Михайлович Проектирование микросервисной архитектуры программного обеспечения // Труды БГТУ. Серия 3: Физико-математические науки и информатика. 2017. №9 (200). URL: https://cyberleninka.ru/article/n/proektirovanie-mikroservisnoy-arhitektury-programmnogo-obespecheniya
- Долженко А.И. Задачи выбора облачных технологий для экономических информационных систем // Вестник РГЭУ РИНХ. 2014. №4 (48). URL: https://cyberleninka.ru/article/n/zadachi-vybora-oblachnyh-tehnologiy-dlya-ekonomicheskih-informatsionnyh-sistem
- Барановская Татьяна Петровна, Иванова Елена Александровна, Сайкинов Виктор Евгеньевич Перспективы развертывания системы поддержки принятия решений обоснования объемов кредитования малых сельскохозяйственных предприятий в облачной среде // Научный журнал КубГАУ. 2015. №112. URL: https://cyberleninka.ru/article/n/perspektivy-razvertyvaniya-sistemy-podderzhki-prinyatiya-resheniy-obosnovaniya-obemov-kreditovaniya-malyh-selskohozyaystvennyh
- Ковалев В.В., Храмков В. В., Семенова Е. И. АКТУАЛЬНОСТЬ ИСПОЛЬЗОВАНИЯ АРХИТЕКТУРЫ REST ДЛЯ ОБМЕНА ДАННЫМИ МЕЖДУ КЛИЕНТ-СЕРВЕРНЫМИ ПРИЛОЖЕНИЯМИ // Актуальные проблемы авиации и космонавтики. 2019. №. URL: https://cyberleninka.ru/article/n/aktualnost-ispolzovaniya-arhitektury-rest-dlya-obmena-dannymi-mezhdu-klient-servernymi-prilozheniyami
- AnyConnector. What Is An Enterprise Application? Definition, Examples, and Trends. Режим доступа: https://anyconnector.com/enterprise-application.html. – Заглавие с экрана.
- Mindk. 7 types of enterprise software that will give you a competitive edge. Режим доступа: https://www.mindk.com/blog/enterprise-software/. – Заглавие с экрана.
- Седневец М.А. Разработка и исследование рспределенных систем – Режим доступа: http://masters.donntu.ru/2018/fknt/sednevets/index.htm
- Филенко М.С. Разработка механизма распределенного хранения и защиты информации – Режим доступа: http://masters.donntu.ru/2009/fvti/filenko/diss/index.htm
- Википедия – свободная энциклопедия. Model-View-Controller. Режим доступа: https://ru.wikipedia.org/wiki/Model-View-Controller. – Заглавие с экрана.