title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° ÑÐµÑÐ²Ð¸ÑÐ°-Ð°Ð´Ð°Ð¿ÑÐµÑÐ° Ð¼ÐµÐ¶Ð´Ñ REST-ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼ Ð¸ GraphQL-ÑÐµÑÐ²ÐµÑÐ¾Ð¼
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Development of an adaptor between REST clients and GraphQL servers
Creators: name: Ð¨ÐµÑÐ³Ð°Ð»Ð¸Ñ, ÐÐ¾Ð½Ð°Ñ
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2021
Subjects: Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÐ° ÐºÐ»Ð¸ÐµÐ½Ñ-ÑÐµÑÐ²ÐµÑÐ½Ð¾Ð³Ð¾ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ
graphql
rest
Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÐ° Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ñ
Ð¼Ð¸Ð³ÑÐ°ÑÐ¸Ñ Ð½Ð° graphql
architecture for client-server interaction
information system architecture
migration to graphql

description: Ð Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÐµ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑÑÑ Ð½Ð¾Ð²ÑÐ¹ Ð¿Ð¾Ð´ÑÐ¾Ð´ Ðº Ð¾ÑÐ³Ð°Ð½Ð¸Ð·Ð°ÑÐ¸Ð¸ ÐºÐ»Ð¸ÐµÐ½Ñ-ÑÐµÑÂ­ Ð²ÐµÑÐ½Ð¾Ð³Ð¾ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ. Ð Ð¿ÐµÑÐ²Ð¾Ð¹ Ð³Ð»Ð°Ð²Ðµ Ð¿ÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÑÐ½ Ð¾Ð±Ð·Ð¾Ñ ÑÐ°Ð¼ÑÑ Ð¿Ð¾Ð¿ÑÐ»ÑÑÐ½ÑÑ ÑÐ¾Ð²ÑÐµÐ¼ÐµÐ½Ð½ÑÑ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¹ Ð´Ð»Ñ Ð¾ÑÐ³Ð°Ð½Ð¸Ð·Ð°ÑÐ¸Ð¸ ÐºÐ»Ð¸ÐµÐ½Ñ-ÑÐµÑÐ²ÐµÑÐ½Ð¾Ð³Ð¾ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ â REST Ð¸ GraphQL, Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½Ð¾ Ð¸Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ, Ð¿ÐµÑÐµÑÐ¸ÑÐ»ÐµÐ½Ñ Ð´Ð¾ÑÑÐ¾Ð¸Ð½ÑÑÐ²Ð° Ð¸ Ð½ÐµÐ´Ð¾ÑÑÐ°ÑÐºÐ¸ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¸, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¿ÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¾ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ðµ ÑÑÐ¸Ñ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¹ Ð¼ÐµÐ¶Ð´Ñ ÑÐ¾Ð±Ð¾Ð¹, Ð¸ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½ÑÐµ ÑÐ»Ð¾Ð¶Ð½Ð¾ÑÑÐ¸, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¼Ð¾Ð³ÑÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÑÑÑ Ð¿ÑÐ¸ Ð¼Ð¸Ð³ÑÐ°ÑÐ¸Ð¸ Ñ REST Ð½Ð° GraphQL. ÐÐ¾ Ð²ÑÐ¾ÑÐ¾Ð¹ Ð³Ð»Ð°Ð²Ðµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ð° Ð¸Ð´ÐµÑ ÑÐµÑÐ²Ð¸ÑÐ°-Ð°Ð´Ð°Ð¿ÑÐµÑÐ°, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð½ÐµÐ´Ð¾ÑÑÐ°ÑÐºÐ¾Ð² Ð¿ÐµÑÐµÑÐ¸ÑÐ»ÐµÐ½Ð½ÑÑ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¹, Ð½Ð¾ Ð¿ÑÐ¸ ÑÑÐ¾Ð¼ ÑÐ¾ÑÑÐ°Ð½ÑÐµÑ Ð¸Ñ Ð´Ð¾ÑÑÐ¾Ð¸Ð½ÑÑÐ²Ð°. ÐÐ¾ ÑÑÐ¾Ð¹ Ð¸Ð´ÐµÐµ ÑÑÐ¾ÑÐ¼ÑÐ»Ð¸ÑÐ¾Ð²Ð°Ð½Ð° ÑÐ¿ÐµÑÐ¸ÑÐ¸ÐºÐ°ÑÐ¸Ñ, Ð¸ Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð¸Ð¸ Ð½ÐµÑ Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½Ð¾ Ð¿ÐµÑÐµÑÐ¸ÑÐ»ÐµÐ½Ð¸Ðµ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼ÑÑ Ð¿ÑÐµÐ¸Ð¼ÑÑÐµÑÑÐ² Ð¸ Ð½ÐµÐ´Ð¾ÑÑÐ°ÑÐºÐ¾Ð². ÐÐ° Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð¸Ð¸ Ð½Ð¸Ñ Ð¿ÑÐ¸Ð½ÑÑÐ¾ ÑÐµÑÐµÐ½Ð¸Ðµ Ð¾ ÑÐµÐ»ÐµÑÐ¾Ð¾Ð±ÑÐ°Ð·Ð½Ð¾ÑÑÐ¸ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð½Ð¾Ð³Ð¾ ÑÐµÑÐ²Ð¸ÑÐ°, Ð¸ Ð² ÑÑÐµÑÑÐµÐ¹ Ð³Ð»Ð°Ð²Ðµ Ð¿ÑÐ¸Ð²Ð¾Ð´Ð¸ÑÑÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ Ð¿ÑÐ¾ÑÐµÑÑÐ° ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ ÑÐµÑÐ²Ð¸ÑÐ°, ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÂ­ ÑÐµÐ³Ð¾ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð½Ð¾Ð¹ ÑÐ¿ÐµÑÐ¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¸. Ð ÑÐµÑÐ²ÑÑÑÐ¾Ð¹ Ð³Ð»Ð°Ð²Ðµ Ð¿ÑÐ¸Ð²Ð¾Ð´Ð¸ÑÑÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ Ð¿ÑÐ¾ÑÐµÑÑÐ° Ð¸ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ¾Ð² ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½Ð¾Ð³Ð¾ ÑÐµÑÐ²Ð¸ÑÐ°, Ð° ÑÐ°ÐºÐ¶Ðµ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÑÑÑÑ Ð²Ð°ÑÐ¸Ð°Ð½ÑÑ ÐµÐ³Ð¾ Ð´Ð°Ð»ÑÐ½ÐµÐ¹ÑÐµÐ³Ð¾ ÑÐ»ÑÑÑÐµÐ½Ð¸Ñ.
description: This paper discusses a new approach to organizing client-server interaction. The first chapter provides an overview of the most popular modern technologies for organizing client-server interaction - REST and GraphQL, provides their description, lists the advantages and disadvantages of each technology, and also compares these technologies with each other, and describes the possible difficulties that may arise when migrations from REST to GraphQL. In the second chapter, the idea of a service adapter is presented, which does not have many of the disadvantages of the listed technologies, but at the same time retains their advantages. Based on this idea, a specification is formulated, and on the basis of it, a listing of the expected advantages and disadvantages is given. Based on them, a decision was made about the feasibility of implementing the described service, and the third chapter describes the process of developing a service that meets the described specification. The fourth chapter describes the process and results of testing the developed service, and also discusses options for its further improvement.