<?xml version="1.0" encoding="UTF-8"?>
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="JATS-archive-oasis-article1-4.xsd" article-type="research-article" dtd-version="1.4" xml:lang="ru">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Журнал Современные наукоемкие технологии</journal-title>
      </journal-title-group>
      <issn>1812-7320</issn>
      <publisher>
        <publisher-name>Общество с ограниченной ответственностью &amp;quot;Издательский Дом &amp;quot;Академия Естествознания&amp;quot;</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.17513/snt.38949</article-id>
      <article-id pub-id-type="publisher-id">ART-38949</article-id>
      <title-group>
        <article-title>МАТЕМАТИЧЕСКАЯ МОДЕЛЬ И ГИБРИДНАЯ АРХИТЕКТУРА КЛИЕНТ-СЕРВЕРНОГО ПРИЛОЖЕНИЯ С ПРОГРАММНЫМ ШЛЮЗОМ-АДАПТЕРОМ</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name-alternatives>
            <name xml:lang="ru">
              <surname>Алпатов</surname>
              <given-names>А.Н.</given-names>
            </name>
          </name-alternatives>
          <name-alternatives>
            <name xml:lang="en">
              <surname>Alpatov</surname>
              <given-names>A.N.</given-names>
            </name>
          </name-alternatives>
          <email>aleksej01-91@mail.ru</email>
          <xref ref-type="aff" rid="aff1"/>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name xml:lang="ru">
              <surname>Студенников</surname>
              <given-names>М.Р.</given-names>
            </name>
          </name-alternatives>
          <name-alternatives>
            <name xml:lang="en">
              <surname>Studennikov</surname>
              <given-names>M.R.</given-names>
            </name>
          </name-alternatives>
          <email>aleksej01-91@mail.ru</email>
          <xref ref-type="aff" rid="aff1"/>
        </contrib>
      </contrib-group>
      <aff id="aff1">
        <institution xml:lang="ru">ФГБОУ ВО «МИРЭА – Российский технологический университет»</institution>
        <institution xml:lang="en">MIREA – Russian Technological University</institution>
      </aff>
      <pub-date date-type="pub" iso-8601-date="2021-12-27">
        <day>27</day>
        <month>12</month>
        <year>2021</year>
      </pub-date>
      <issue>12</issue>
      <fpage>21</fpage>
      <lpage>28</lpage>
      <permissions>
        <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This is an open-access article distributed under the terms of the CC BY 4.0 license.</license-p>
        </license>
      </permissions>
      <self-uri content-type="url" hreflang="ru">https://top-technologies.ru/article/view?id=38949</self-uri>
      <abstract xml:lang="ru" lang-variant="original" lang-source="author">
        <p>Развитие сетей передачи данных и внедрение набора протокола Интернет (TCP/IP), а также общее повышение скорости передачи данных привело к развитию распределённых систем, часто реализуемых в рамках трёхзвенных клиент-серверных архитектур. Для организации взаимодействия между клиентским и серверным программным обеспечением было разработано огромное количество методов и подходов, которые были оформлены в виде соответствующих технологий. Такое разнообразие используемых технологий накладывает существенные сложности при организации интеграции программных элементов, написанных на скриптовых языках, таких как Python, которые поддерживают огромный стек технологий для интеграции. Для решения этой задачи в данной работе предлагается способ реализации интеграционного шлюза на основе связки промежуточного ПО Ngnix и Daphne c Gunicorn, для интеграции WSGI и ASGI серверов. Также в работе даётся математическая модель разработанной системы, учитывающая разнородность запросов, протекающих в системе. Предложено математическое описание разработанной системы, с учётом сформулированного разделения системы на области, определяемые используемыми программными слоями, что может быть полезно при управлении клиент-серверной системой или разработке механизмов балансировки нагрузки в распределённых системах. Для оценки свойств разработанной системы и для решения задачи управления системой предложено совместное использование введённых в данной работе параметров точности идентификации объектов и индекса отзывчивости, в рамках расчёта среднего гармонического взвешенного.</p>
      </abstract>
      <abstract xml:lang="en" lang-variant="translation" lang-source="translator">
        <p>The development of data networks and the introduction of the Internet protocol suite (TCP/IP), as well as a general increase in data transfer rates, led to the development of distributed systems, often implemented in the framework of three-tier client-server architectures. To organize the interaction between client and server software, a huge number of methods and approaches have been developed, which have been formalized in the form of appropriate technologies. This variety of used technologies imposes significant challenges in organizing the integration of software elements written in scripting languages such as Python, which support a huge stack of technologies for integration. To solve this problem, this paper proposes a way to implement an integration gateway based on a bundle of Ngnix middleware and Daphne with Gunicorn, to integrate WSGI and ASGI servers. Also the mathematical model of the developed system, taking into account the heterogeneity of requests, flowing in the system is given in the work. The mathematical description of the developed system, taking into account the formulated division of the system into the areas determined by the used program layers, which can be useful for client-server system management or development of load balancing mechanisms in distributed systems. To evaluate the properties of the developed system and to solve the problem of managing the system, we propose the joint use of the parameters introduced in this paper, the accuracy of object identification and the responsiveness index, as part of the calculation of the harmonic weighted average.</p>
      </abstract>
      <kwd-group xml:lang="ru">
        <kwd>интерфейсы прикладного программирования</kwd>
        <kwd>клиент-серверное приложение</kwd>
        <kwd>взвешенное гармоническое среднее</kwd>
        <kwd>асинхронное и синхронное взаимодействие</kwd>
        <kwd>WSGI</kwd>
      </kwd-group>
      <kwd-group xml:lang="en">
        <kwd>application programming interface</kwd>
        <kwd>client-server application</kwd>
        <kwd>weighted harmonic mean</kwd>
        <kwd>asynchronous and synchronous communication</kwd>
        <kwd>WSGI</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <back>
    <ref-list>
      <ref>
        <note>
          <p>1. The web framework for perfectionists with deadlines | Django. [Electronic resource]. URL: https://www.djangoproject.com/ (date of access: 21.11.2021).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>2. Введение в WSGI-серверы: Часть первая. [Электронный ресурс]. URL: https://habr.com/ru/post/426957/ (дата обращения: 21.11.2021).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>3. The uWSGI project. [Electronic resource]. URL: https://uwsgi-docs.readthedocs.io/en/latest/ (date of access: 21.11.2021).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>4. Gunicorn. [Electronic resource]. URL: https://gunicorn.org/ (date of access: 21.11.2021).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>5. Анализ производительности WSGI-серверов: Часть вторая. [Электронный ресурс]. URL: https://habr.com/ru/post/427217/ (дата обращения: 21.11.2021).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>6. Настройка Gunicorn и uWSGI, сравнение производительности. [Электронный ресурс]. URL: https://proft.me/2011/08/16/nastrojka-gunicorn-i-uwsgi-sravnenie-proizvoditeln/ (дата обращения: 22.11.2021).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>7. Daphne. [Electronic resource]. URL: https://github.com/django/daphne (date of access: 22.11.2021).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>8. Uvicorn. [Electronic resource]. URL: https://www.uvicorn.org/ (date of access: 22.11.2021).</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>9. Tyagi K., Karmarkar A., Kaur S., Kulkarni S., Das R. Crop Health Monitoring System. 2020 International Conference for Emerging Technology (INCET).2020. P. 1–5.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>10. Hobson T.C., Doucet M., Leal R.M.F. Django remote submission. Journal of Open Source Software. 2017. Vol. 2. No. 16. P. 366.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>11. Akbulut A., Perros H.G. Software versioning with microservices through the api gateway design pattern. 2019 9th International Conference on Advanced Computer Information Technologies (ACIT). 2019. P. 289–292.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>12. Sathiyamoorthi V., Bhaskaran M. Data preprocessing techniques for pre-fetching and caching of web data through proxy server. International journal of Computer Science and Network security. 2011. Vol. 11. No. 11. P. 92–98.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>13. Marcelino F.J., Escubio M.T., Baquirin R.B. A Comparative Analysis of Quantum Time based on Arithmetic, Geometric, and Harmonic Mean for Dynamic Round Robin Scheduling. Proceedings of 2020 the 6th International Conference on Computing and Data Engineering. 2020. P. 80–85.</p>
        </note>
      </ref>
      <ref>
        <note>
          <p>14. Z. Li, F. Nie, X. Chang, Y. Yang. Beyond trace ratio: Weighted harmonic mean oftrace ratios for multiclass discriminant analysis. IEEE Trans. Knowl. Data Eng. 2017. Vol. 29. No. 10. P. 2100–2110.</p>
        </note>
      </ref>
    </ref-list>
  </back>
</article>
