СРАВНИТЕЛЬНЫЙ АНАЛИЗ ТЕХНОЛОГИЙ ДЛЯ РАЗРАБОТКИ СЕРВЕРНОЙ ЧАСТИ СИСТЕМЫ УПРАВЛЕНИЯ ПРОДАЖАМИ

  • И.В. Родыгина Государственный морской университет им. адмирала Ф.Ф. Ушакова
  • А. В. Наливайко Государственный морской университет им. адмирала Ф.Ф. Ушакова
Ключевые слова: Backend, java vert.x, php, node.js, веб-приложение, SAAS

Аннотация

Данная статья посвящена важной теме при разработке веб-приложений: выбор тех-
нологии для написания серверной части приложения. Вопрос выбора правильного языка и
фреймворка для реализации серверной части приложения всегда актуален, поскольку от это-
го зависит его качество работы: сможет ли сервер обработать большое количество запро-
сов, насколько быстро будет произведена обработка данных и выдача их пользователю - что
особенно важно для системы управления продажами, поскольку она предполагает работу с
большим количеством данных. Большинство современных веб-приложений написаны с ис-
пользованием таких языков как PHP, NodeJS, поскольку они обеспечивают разработчику
высокую скорость написания кода. Метод разработки с помощью PHP позволяет писать
блокирующий и не блокирующий код, который, в любой реализации, при большом количеств
запросов будет значительно нагружать систему. NodeJS позволяет реализовывать асин-
хронный не блокирующий код, но отсутствие типизации может значительно снизить каче-
ство работы над проектом при его масштабировании. В таком случае следует рассмотреть
Java - его фреймворки и библиотеки, которые позволят выполнить задачу. В статье описан
принцип взаимодействия клиентской и серверной части веб-приложения. По выделенным
критериям проведено сравнение таких технологий как Java, PHP, платформы NodeJS, а
также рассмотрен принцип работы бессерверной архитектуры с помощью сервиса Google
Firebase, Рассмотрены фреймворки и библиотеки для создания серверной части приложения.
Также важным этапом при сравнении будет проведение тестов производительности, кото-
рые покажут, какую нагрузку могут выдержать фреймворки, какое количество запросов
могут обработать, задержка между ними. В результате исследования, на основе проведен-
ного исследования, будет выбрана оптимальная технология, которая будет использована для
разработки серверной части системы для управления продажами.

Литература

1. MDN Web Docs: Client-Servcer. Available at: https://developer.mozilla.org/ru/docs/
Learn/Server-side/First_steps/Client-Server_overview (accessed 24 July 2021).
2. Ksendzovskiy I. D., Kalyuzhnyy I.D., Zarikovskaya N.V. Razrabotka servernoy chasti
prilozheniy i sistem: tekhnologii i yazyki programmirovaniya [Development of the server side
of applications and systems: technologies and programming languages], European reserch: Sb.
statey XXVII Mezhdunarodnoy nauchno-prakticheskoy konferentsii. V 2-kh chastyakh, Penza,
07 iyunya 2020 goda [European reserch: Collection of articles of the XXVII International scientific
and practical conference. In 2 parts, Penza, June 07, 2020], 2020, pp. 30-32.
3. Makosiy A.I., Makosiy R. Sovremennaya oblachnaya infrastruktura: besservernye vychisleniya
[Modern cloud infrastructure: serverless computing], Vestnik Khakasskogo gosudarstvennogo
universiteta im. N.F. Katanova [Bulletin of the Khakass State University named after
N.F. Katanova], 2019, Vol 2 (28), pp. 13-16.
4. Semchenko R.V., Erovlev P.A. Rabota s mnogopotochnost'yu v Java [Working with multithreading
in Java], Postulat [Postulate], 2020, Vol. 9 (59), pp. 45-46.
5. NodeJS: Overview of Blocking vs Non-Blocking. Available at: https://nodejs.org/ru/docs/
guides/ blocking-vs-non-blocking (accessed 25 July 2021).
6. PHP: Type declarations. Available at: https://www.php.net/manual/ru/language.types. declarations.
php#language.types.declarations.strict (accessed: 25 July 2021).
7. Gurulev D.A. Sravnenie sredstv razrabotki PHP i node.js [Comparison of PHP and node.js development
tools], Fundamental'nye i prikladnye razrabotki v oblasti tekhnicheskikh i fizikomatematicheskikh
nauk: Sbornik nauchnykh statey po itogam raboty tret'ego mezhdunarodnogo
kruglogo stola, Kazan', 31 iyulya 2018 goda [Fundamental and applied developments in the field of
technical and physical and mathematical sciences: Collection of scientific articles following the results
of the third international round table, Kazan, July 31, 2018], pp. 88-91.
8. Vert.X: Official documentation. Available at: https://vertx.io/ (accessed 27 July 2021).
9. Nasirov E.F., Kirillov D.S., Chervnova M.V., Mertins G.R. Laravel-PHP-freymvork [Laravelphp
framework], Proryvnye nauchnye issledovaniya: problemy, zakonomernosti, perspektivy:
sbornik statey XV Mezhdunarodnoy nauchno-prakticheskoy konferentsii: v 2 ch., Penza, 30
dekabrya 2020 goda [Breakthrough scientific research: problems, patterns, prospects: collection
of articles of the XV International Scientific and Practical Conference: at 2 pm, Penza,
December 30, 2020], pp. 62-64.
10. Parinyak A.Y. Sravnitel'nyy analiz postavshchikov oblachnykh uslug dlya razrabotki backendsostavlyayushchey
mobil'nogo prilozheniya [Comparative analysis of cloud service providers
for the development of a backend component of a mobile application], Nauchnye trudy
magistrantov i aspirantov: Sbornik nauchnykh trudov [Scientific works of undergraduates and
graduate students: Collection of scientific papers], 2020, pp. 183-186.
11. TechEmpower: Web Framework Benchmarks Available at: https://www.techempower.com/
benchmarks/ (accessed 28 July 2021).
12. Bahtin I.V. Glavnye principy MVC i smysl ispol'zovaniya v razrabotke programmnykh
produktov [The main principles of MVC and the meaning of using it in software development],
Forum molodykh uchenykh [Forum of Young Scientists], 2020, Vol 1 (41), pp. 63-65.
13. Docs Microsoft: Serialization in .NET. Available at: https://docs.microsoft.com/enus/
dotnet/standard/serialization (accessed 28 July 2021).
14. Firebase: Pricing. Available at: https://firebase.google.com/pricing (accessed 25 July 2021).
15. Kulikova N.N., Mashirov O.A., Solomykov A.D., Yakovlev A.S. Osnovy back-end razrabotki na
spring [Fundamentals of back-end development at spring]. Fundamental'nye i prikladnye
nauchnye issledovaniya: aktual'nye voprosy, dostizheniya i innovacii: sbornik statej XXXVI
Mezhdunarodnoj nauchno-prakticheskoн konferenеыii: v 2 ch., Penza, 27 iyulya 2020 goda
[Fundamental and applied scientific research: current issues, achievements and innovations:
collection of articles of the XXXVI International Scientific and Practical Conference:
in 2 parts, Penza, July 27, 2020], 2020, pp. 158-160.
16. Makarova O.V., Mashanin A.S., Yastrebkov A.S. Obzor komponentov Spring Framework dlya
razrabotki mikroservisnykh prilozheniy [Overview of Spring Framework components for the
development of micro service applications], Nauka nastoyashchego i budushchego [Science of
the present and the future], 2020, Vol. 1, pp. 179-182.
17. Dedov S.V., Kirsanov O.D., Timoshevskaya Y.U. Analiz preimushchestv naibolee vostrebovannykh
sovremennykh yazykov programmirovaniya [Analysis of the advantages of the most popular modern
programming languages], Aktual'nye voprosy sovremennoy nauki: Sb. statey po materialam
XVII mezhdunarodnoy nauchno-prakticheskoy konferentsii, Tomsk, 19 dekabrya 2018 goda [Actual
issues of modern science: a collection of articles based on the materials of the XVII International
Scientific and Practical Conference, Tomsk, December 19, 2018], 2018, pp. 63-72.
18. Vendrov A.M. CASE-tekhnologii: Sovremennye metody i sredstva proektirovaniya
informaеыionnykh system [CASE-technologies: Modern methods and means of designing information
systems]. Moscow: Finansy i statistika [Finance and Statistics], 1998, 176 p.
19. MDN Web Docs: Concurrency model and the event loop. Available at:
https://developer.mozilla.org/ru/docs/Web/JavaScript/EventLoop (accessed 20 July 2021).
20. Red Hat: Troubleshooting the Performance of Vert.x Applications, Part I – The Event Loop
Model. Available at: https://www.redhat.com/en/blog/troubleshooting-performance-vertxapplications-
part-i-%E2%80%94-event-loop-model (accessed 20 July 2021).
Опубликован
2021-11-14
Выпуск
Раздел
РАЗДЕЛ V. АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ И СЕТЕВЫЕ ТЕХНОЛОГИИ