UNIFIED DIGITAL INFRASTRUCTURE OF THE MODERN SCIENTIFIC LIBRARY ON THE BASIS OF WEB TECHNOLOGIES

Dep. «Electronic Computing Machines», Dnipro National University of Railway Transport named after Academician V. Lazaryan, Lazaryan St., 2, Dnipro, Ukraine, 49010, tel. +38 (056) 373 15 89, e-mail klugran@i.ua, ORCID 0000-0001-9939-0755 Scientific and Technical Library, Dnipro National University of Railway Transport named after Academician V. Lazaryan, Lazaryan St., 2, Dnipro, Ukraine, 49010, tel. +38 (056) 371 51 05, e-mail lib@b.diit.edu.ua, ORCID 0000-0002-4603-4375 Scientific and Technical Library, Dnipro National University of Railway Transport named after Academician V. Lazaryan, Lazaryan St., 2, Dnipro, Ukraine, 49010, tel. +38 (056) 371 51 05, e-mail popcornphp@gmail.com, ORCID 0000-0002-2568-036X


Introduction
Today, in scientific libraries, the development of digital infrastructure and networking, the high level of information services for learning and research is a prerequisite for fulfilling their missionpromoting the creation, preservation and dissemination of knowledge.This is the result of the choice and implementation of the strategy of digitization of educational and research activities of universities.
In a situation where the world of science and education becomes more global, and the development of the Internet allows searching for any information in a few clicks anywhere in the world, there are being developed the university digital transformation programs.Such a transformation is, in general, a cultural and organizational change in HEI, based on the implementation of IT solutions.Herewith, digital services of scientific libraries are among the main services, which considerably facilitate the life of students, scientific-pedagogical workers and scientists in the modern university.[5].
According to the Law of Ukraine «On Libraries and Library Services» [7] Ukrainian citizens have the right to library services, which may include the form of remote telecommunication services as well.
Today, it is no longer possible to preserve knowledge in ordinary printed books and understand library service only as circulation of literature.Digital services of scientific libraries are multi-vector and multifunctional [5].And this involves the availability of sophisticated search and storage systems for libraries that can filter and find the right information in a matter of seconds.
Creating such systems requires the search and research of methods for distributing the computing server resources between clients.For such systems, the primary problem is to work at peak loads.When creating such systems, an important factor is the response time from the server, which often depends on the level of software optimization.
The data storage and retrieval system can mean absolutely any client-server system.When designing and developing a data storage and retrieval system, it is important to rely on the existing experience of creating such systems.
In the course of digital transformation, the library is being integrated with the research division, the publishing department, IT-structures of the HEI [4].This allows, for example, solving an extremely important taskthe creation and support of a digital publishing profile of the university and individual scientists.Obtaining from such system of the information about scientific publishing activities of each scientist, department, and institution significantly simplifies the formation of various levels of reporting and the presentation of the research activity of the institution in the WWW.
At the same time since the beginning of the XXI century, the use of library management systems (LMS) has become widespread in Ukraine.These systems replace the mostly traditional library processes with the automate ones, starting from acquisition and ending with a variety of user services (LIBER, IRBIS, UFD / Library, Aleph, MARC-SQL, etc.).The main element of any LMS is the electronic catalogue (EC).However, none of the LMS versions that serve Ukrainian libraries does not meet the current standards and level of information systems development, as well as in view of emergence of fundamentally new library services.
Digitization, the expansion of the library information environment and its integration into the global digital space require the creation of a fullfledged multifunctional Web-oriented ecosystem.

Purpose
Taking into account the aforementioned, the authors intend to explore the rational ways and realize the implementation of individual tools within the framework of an interactive information system of the scientific library based on Webtechnologies, which includes a single API gateway and combines separate library automation systems.Particular attention will be paid to the analysis of the solutions of the project «Publication Profile of University Science»an interactive information and analytical system for obtaining a statistically reliable picture of the publication activity and influence of scientists, departments, the university as a whole.
A new Web-oriented scientific library system with a central Web-based application (library site) should provide opportunities for: -Search for publications by title, author's name and surname, academic year, year of publication, keywords, etc.; -Search for authors and display of their author IDs/profiles: Scopus Author ID, ResearcherID, ORCID, Google Scholar Citations; -Implementation of automated electronic reporting by scientific publications of individual scientists, departments, the university as a whole; -Integration into IRBIS LMS in order to synchronize the user databases and literature; -Creation and processing of applications for the circulation of printed materials; -Downloading literature in electronic form; -Collection of statistics relating to library reader usage of the service for the library management [16].

Analysis of the research and publications.
The tendencies of recent years show that the multiyear corporate design paradigm, where a separate application-service (often without communication and integration with other corporate services) was created for solving individual business tasks, recedes into the past [12].Today we are talking about distributed Weboriented systems, which allow combining previously separate services into a single system using a central Web-application with a single unified API-interface.This solution allows us to get a flexible distributed, easily scalable system, constantly replenished with a new functional and able to withstand a high load [1], that is, it contains all the features of the Library 2.0, which works in a state of «constant beta» [3] (constantly evolving).
Of course, one of the most widely used LMSs, such as Koha, Absotheque Unicode, Ruslan, OPAC-Global, MAPK-SQL, IRBIS and others, can be used to create a full-fledged Web-oriented ecosystem of a modern library.Such systems are, in the vast majority, closed commercial products and/or require substantial development by programmers for the tasks previously stated by the authors.Of course, in the conditions when a university library has been using a certain morally obsolete and closed LMS (for example, IRBIS) for decades and there is no money for an army of highly skilled developers, there is a problem of alternative solutions, which in the long run will allow to «get off the needle» of the closed LMS [2].
In the context of this study, our attention is focused on the automation technologies, which allows to receive and analyze the state of publishing activities of higher education institutions and academic institutions, including its scientific metrics [16].
The research methodology.The study was conducted on the basis of the Scientific and Technical Library of the Dnipro National University of Railway Transport named after Academician V. Lazaryan (DNURT).
Fig. 1 shows the old structural diagram of the automation services of the Scientific and Technical Library of DNURT till 2017.The system was split into 3 databases with three different interfaces: -Website; electronic catalogue IRBIS LMS 64 (Web IRBIS); scientist publication profile [1].Within the framework of the article, taking into account the information in Fig. 1, the issue of integrating other existing services of the DNURT library, such as the eaDNURT repository on DSpace, the Open Journal System (OJS) publishing systems, Open Monograph Press (OMP), the Open Conference System (OCS), is not raised.So far, these systems remain separate services.
As can be seen from Fig. 1 separate library services are implemented on a variety of data base management system (DBMS).For example, MYSQLon the site, IRBIS LMS 64does not have a separate relational database, while the scientist profile system was implemented by a separate stand-alone windows-application using the Firebird DBMS.To create a unified library system, it is necessary to completely abandon the old structure.The new structural diagram of the Web-oriented library system of DNURT with the central Webapplication (library Website) is shown in Fig. 2 [6].The Website, electronic catalogue and scientist publication profile were merged into a single system to which the IRBIS LMS was connected through the C#-program synchronizer, Android application and Telegram bot.All other subsystems shown in Fig. 2 perform an exchange between themselves through a centralized node (site) using a single specially developed APIinterface.

Fig. 2. Current structural diagram of distributed
Web-oriented library system of DNURT In the future, the structure of the electronic library system of DNURT may be released from dependence on IRBIS LMS with the aim of switching to a modern open-source LMS or even developing the own LMS with full migration of data entered into IRBIS LMS due to the developed C#-application for uploading user data and literature.
The platform for a scientific and technical library can be developed in any programming language using any frameworks and libraries that meet the specified project requirements and implementation deadlines.
Because the system is being developed for use in the Web space, the primary goal is to secure and protect user data from unauthorized access.To achieve this, it was decided to use the Web framework written in PHP version 7.0 (at the time the system was created and run), and the version of PHP 7.2 (at the moment).
Thanks to the use of the Web-based framework, it is possible to avoid many common mistakes in the system protection and to shorten the system development time.
There are many system security threats on the Internet.System security is possible with the integrated achievement of many parameters using various technologies.The main threats to which our system is opposed: -Password cracking protection; -Traffic interception protection; -Protection against SQL Injection, XSS and CSRF.
For password cracking protection, it is obligatory to set limits on the number of authorization attempts, and then to block the user's activity for 15 minutes.All user passwords are encrypted using the AES-256-CBC encryption algorithm and stored as a hash.Due to this it is impossible to know the real user password.
You must be ready for any danger.That is why a special Telegram-bot was developed, which sends a message to the system administrator in case of unforeseen mistakes during work of any system element.This solution allows you to track any activity that resulted in an error.An example of such a message is shown in Fig.A traffic interception attack can be classified as a «Man in the Middle» attack (MITM) [10,17].In MITM, the hacker redirects traffic between the user and the communication gateway.The most common type of hacking is the distribution of free Wi-Fi.To protect against this type of attack, it was decided to use an SSL cryptographic protocol that uses asymmetric cryptography to authenticate exchange keys, symmetric encryption to keep confidentiality, message authentication codes for message integrity.For automatic redirecting the readers from http to https, special software was developed.
Now Web-applications are very popular because of their user-friendly environment and the rapid reception of any information in the Internet, but Web-applications are subject to a lot of threats.CSRF attack is one of the serious threats to Webapplications [17], which is based on vulnerabilities present in the normal Web-query and HTTP response.The vulnerability is difficult to detect, but nevertheless, it is present in most existing Webapplications.
Some users are able to use SQL injection to interfere with database security by executing an SQL query.They pass a SQL subquery in the password field instead of the password to get a confirmation [11].
In general, to protect the system from SQL injection, XSS and CSRF, a fairly rigid validation system for input data from users has been set up that does not permit the addition of arbitrary data to the database.In addition to this, the system blocks all queries that go not through a single entry point.All paths in the system are set by the developer, and therefore the system does not have hypothetical «backdoors».
Since PHP programing language has been chosen as the working environment, it is necessary to choose a framework that works with this language.Before choosing a framework, the possibility of creating a project on pure PHP was taken into account.This approach involves writing the entire logic of the application from scratch, except for cases where the required functionality has already been implemented in some Composer package.Basically, writing a new service in PHP is reduced to the ability to install turnkey packages, with their further integration among each other (the same as offered by different frameworks).The development «from scratch» has not been taken into account due to the short terms of development and limited human resources.When choosing a framework, priority was given to the universality, speed and size of the community.
Phalcon is one of the fastest PHP frameworks written in C programming language.Extensions on Zephir/C are loaded together with PHP once, when you start the Web-server daemon.The classes and functions provided by the extension are ready for use in any application.The code is compiled and not interpreted because it is already compiled for a particular platform and processor.Phalcon, thanks to its low-level architecture and optimization, provides the least load on the MVCapplications.But in general, the framework has: a very scanty documentation, even in English; it requires hosting suitable for a special PHP extension; a small community of developers.
Laravel The system is based on the Laravel Web-framework, over which the shell has been written for the rapid creation of Webapplications.OctoberCMS allows to quickly create a dynamic Web-application.This system works at a very high level of abstraction, which allows for a minimum amount of errors and concentrating the developer's attention on the set task, and not on the task of the application micro-architecture.If necessary, you can use all the features of the lower levels of software that underlie the system.These include Symfony Framework and Laravel Framework [20].
By default, the OctoberCMS admin panel is capable of performing the following functions: Control of administrator accounts, the sharing of access rights for administrators and for groups of administrators separately; -Management and setting up connection to postal services; -Personalization of the control panel; -Template settings; -Viewing site query logs.The advantages include: the system is based on Laravel (with all the advantages and disadvantages); constant core system security updates; high-quality documentation, large community; ready admin panel with lots of forms and widgets for quick creation of a functional; the project has its own structure and architecture, different from Laravel; there is an opportunity to independently create and delete migration; the possibility of expanding the functionality by means of events; there is no basic functionality for the user of the site part; flexibility: the database query caching algorithm can be written from scratch; the way to compress photosmay be inherited and redefined by the model, which allows to downscale the photo during loading.
The disadvantages include: Laravel version updating once every 2 years; many little drawbacks when creating large, supported projects (for example, the sequence of performed migrations when expanding the functionality with an additional plugin, indicating the dependencies of the plugins); difficulty to create own form-widgets due to a fairly high degree of abstraction.
Thus, the analysis showed that the best option for the implementation of the interactive information system of the scientific and technical library of DNURT is OctoberCMS, which was taken as a basis.
Many Web-applications use databases for permanent data storage, and the use of Object Relational Mapping (ORM) [14,15] is a common way of developing such Web applications that are supported by the database.Unfortunately, the development of efficient applications for ORM is difficult, since the structure of ORM hides the basic generations and execution of database queries.This problem becomes more and more serious as applications require processing of more and more stable data [13,19].
The work of ORM consists in sequential calling of methods of the model, for which the database query is built.In this case, only the input parameters of the methods are inserted, without writing the SQL-code itself.Fig. 4 shows a class hierarchy for constructing SQL queries.The researchers conducted experiments, during which 4 major operations (create, select, update, delete) were checked over 1000 entries.The tests were conducted for ORM and SQL queries.Figure 5 shows the graphical representation of the results.Despite all the advantages of ORM, there is one important thing: it only forms the SQL query and in no way saves the developer from possible errors.The OctoberCMS system allows deploying to a variety of environments: in the process of development, one can use MySQL, and during implementation -PostgreSQL (which was applied in the library of DNURT).For example, let us consider the following ORM queries: $data = AuthorModel: where('name', 'ILIKE', "%{$name}%") ->get(); When this ORM-query is executed on an embedded system, an unknown operator 'ILIKE' error occurs because the operator belongs exclusively to MySQL.
PostgreSQL was taken as a database for the system.Despite the lower speed of work in comparison with MySQL, it is used by many highcapacity systems in the world [14,15], and therefore (in the system development perspective) will become a more reliable solution.Unlike MySQL, PostgreSQL operates with data through transactions, which provides additional reliability.One of the reasons for this is that the Web-server already has PostgreSQL, which was used by the DSpace system.
Before you start developing a Web-system, you need to design a database.This step allows to avoid many problems in the future.

Findings
The Scientific and Technical Library of DNURT uses IRBIS-64 LMS.For many years it has gathered a large database of readers.Therefore, all of them had to be transferred to the new system.Given this, there was created a database structure, shown in Fig. 6.
The structure of the database part responsible for users is as follows: zombietable of user data that has been transferred from IRBIS LMS.This includes just the user registration data, which gives the library readers an opportunity to register on the site and to access the electronic catalogue (for the purpose of ordering literature and access to full texts) and the scientist account (publication profile, including the research metrics); usertable with the readers who have registered on the site.To register, a user must specify his or her name, surname and number of the reader's ticket, then these data are checked against the data from the Zombie table, and if such a user is found, then the information is entered in the User, and the reader is deleted from Zombie.
Here there is the basic information about/for readers, including setting up notifications about the arrival of literature at the circulation point.
throttletable that records unsuccessful authorization attempts and blocks possible attempts to crack passwords.Blocking takes place at the client's IP address when exceeding the maximum number of authorization attempts in the system.Time stamps are stored for the most recent unsuccessful authorization attempts, upon the expiry of which the records are deleted and the reader has new authorization attempts.Entries are deleted on schedule by a standard CRONscheduler (the server runs under the Ubuntu Server OS).The part of the database responsible for the electronic catalogue consists of the following database tables: -Userinformation about registered readers; -Bookfull information about all the books in the electronic catalogue; -Authorinformation about the authors; -Keywords; -Categorycategory for electronic resources; -Orderlist of book orders in the library; -Branchbinding of a book or order to a specific circulation point in a library; -Book_has_authora connecting table between editions and authors; -Book_has_brancha connecting table between editions and circulation points; -Book_has_keyworda connecting table between editions and keywords.
The structure of the DB, which is responsible for the university scientist publication profile with the structure of the readers database, consists of the following database tables: -Authorfull author information, including the H-index from Google Scholar, Scopus, Web of Science; -Editionfull information about the edition; -Author_position; -Country; -Science_db -list of scientific databases; -Edition_has_science_dbinformation on publication of the edition in international scientific databases; -Publicationscientific publications; -Languagepublishing languages; -Edition_type; -Science_nameacademic ranks of scientists; -Science_levelacademic degrees of scientists; -Subdivisionlist of university subdivisions; -Facultylist of university faculties.Interactive library information system is a system created for the Scientific and Technical Library of DNURT.This system is integrated into the system of IRBIS LMS.It has its own APIinterface, which allows it to be easily scaled, thanks to the use of the modern Laravel-based framework -OctoberCMS.The system has an administrator and user panel.
Admin panel options (partially shown in Figure 7): -Existing integration of e-catalogue and readers with IRBIS LMS; -Displaying a complete list of readers; -Order table: Graphical representation of realtime order statistics.Ability to change the status of orders, the literature circulation point; -Publications: publications about new achievements, holidays and news.Notifications to readers about public events.Publication category breakdowns.Creating static pages from admin panel; -Scientist publication profile: full information about the scientific work of the university in recent years.The profile includes: titles of editions, publications, types of publications, authors and their positions, countries, languages, faculties and subdivisions, academic degrees, academic ranks, information on the availability of publications in international databases, etc. Reports for the Ministry of Education and Science and the departments of DNURT are formed in a separate windows-application, which executes the formation of reports in MS Excel format; -Online dictionary of scientific terms and transport words: directions of translation: Ukrainian-English and Russian-English, as well as English-Ukrainian and English-Russian; -Surveys: the possibility of conducting surveys among the library readers; -Statistics collection: total number of readers per month and total monthly growth.Display of statistics of orders and downloads of scientific literature by months, total by months and growth by months.Ability to export data as *.csv file for further submission of information to the rector's office; -Multilingualism: ability to specify an unlimited number of languages for the translation of the site content; -The electronic catalogue of literature is absent in the admin panel because it is automatically synchronized with the IRBIS LMS.Options of the client part (partially shown in Figure 8): -Display of the latest publications and the full list; -Search in electronic catalogue of the library by name, author, year, keyword and category; -Search of scientific terms and words in the online dictionary, by 4 directions: Ukrainian-English, English-Ukrainian, Russian-English, English-Russian; -University profile, with filtration by bibliographic description, First name, Last name, ID of scientometric databases, year of publication.
Subsystem «Publication Profile of University Science» (in the general interactive library system) is created based on PHP-framework with open source OctoberCMS.To ensure the required functionality, the authors created necessary plugins -(APIinterface plugin, publication profile plugin, elibrary plugin).Separately for synchronization with Scopus, Web of Science, Google Scholar the program in Pyhton language was created.To ensure reporting, the program in C# language for Windows was written (with possible porting on Linux).Database for storing data can be virtually any, the authors tested the one on MySQL and POSTGRESQL, stability in others is not guaranteed.

Originality and practical value
The authors researched the rational ways and provided the implementation of individual tools within the interactive information system of the scientific library on the basis of Web-technologies, which contains a single API gateway combining separate library automation systems.The research has shown that the use of advanced levels of abstraction with the use of specialized PHPframeworks and ORM instead of pure SQL allows the developer to focus on the development of a rather complex and yet simple system from the point of view of development, which is sufficiently effective in Ukrainian scientific libraries in terms of the lack of time and material resources.But the increase in abstraction may result in errors, for example, when using different types of DBMS at the developer and the working server.The offered interactive information system allows to practically abandon the cumbersome and morally outdated IRBIS 64 system in the issues of service for readers (there is an opportunity even to execute orders of printed literature in a personal account, like in user accounts of modern courier services).The developed software that synchronizes with IRBIS in the C# language allows to unload data from the IRBIS LMS to any modern open-source LMS in the future.
We conducted the analysis of solutions of the project «Publication Profile of University Science» an informational-analytical subsystem of the interactive information system of the scientific library.Realization of possibilities of this subsystem will allow receiving a statistically reliable picture of the publication activity and influence of scientists, departments, university as a whole.It also benefits from the created software for generating automated reports on scientists' publication activities.
The research results can also be used to solve the system cyber security problems.

Conclusions
The digitalization of the educational and research activities of universities contributes to the great transformations in their scientific libraries.
University communities should have not only the ability to receive literature in print or electronic form, but also to use convenient and reliable library digital services to create, accumulate, preserve, manage, analyze and reuse scientific and educational resources (including open ones).
In the context of promoting high quality higher education, the university scientific library should create its own information space, integrated into the external space of education and science, provide access to it and make effective use of its opportunities [9].
The solution to these problems can be facilitated by the creation of an interactive information system of university libraries on the basis of Web-technologies, which includes a single API-gateway combining separate library automation systems.This approach made it possible to create an easy-scalable and crossplatform system.Individual subsystems, which are united through a centralized gateway (library site) and through the API-interface, perform the following functions: -Search for publications by title, author's name and surname, academic year, year of publication, keywords, etc.; -Search for authors and display of their author IDs/profiles: Scopus Author ID, ResearcherID, ORCID, Google Scholar Citations; -Implementation of automated electronic reporting by scientific publications of individual scientists, departments, the university as a whole; -Integration into IRBIS LMS in order to synchronize the user databases and literature; -Creation and processing of applications for the circulation of printed materials; -Downloading literature in electronic form; -Collection of statistics relating to library reader usage of the service for the library management.
The unified digital infrastructure of the modern scientific library on the basis of Web-technologies, which already has an implementation in the scientific and technical library of DNURT, allows to assert about the partial fulfillment of the requirements for the paradigm «Library 2.0» [8].

Fig. 1 .
Fig. 1.Initial structural diagram of the library services of DNURT

Fig. 3 .
Fig. 3. Example of a Telegram-bot message about suspicious activity on the site

Fig. 5 .
Fig. 5. Graphical comparison of query processing time in different databases

Fig. 6 .
Fig.6.Structure of the interactive information system database of the Scientific and Technical Library of DNURT

Fig. 7 .
Fig. 7. Admin panel: amanagement of the university publication profile; bmanagement of online ordering of paper literature