<?xml version="1.0" encoding="UTF-8"?>
<article article-type="research-article" dtd-version="1.3" xml:lang="ru" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://metafora.rcsi.science/xsd_files/journal3.xsd">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">moitvivt</journal-id>
      <journal-title-group>
        <journal-title xml:lang="ru">Моделирование, оптимизация и информационные технологии</journal-title>
        <trans-title-group xml:lang="en">
          <trans-title>Modeling, Optimization and Information Technology</trans-title>
        </trans-title-group>
      </journal-title-group>
      <issn pub-type="epub">2310-6018</issn>
      <publisher>
        <publisher-name>Издательство</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.26102/2310-6018/2025.51.4.033</article-id>
      <article-id pub-id-type="custom" custom-type="elpub">2048</article-id>
      <title-group>
        <article-title xml:lang="ru">Архитектура и реализация клиент-серверного решения для организации мобильного доступа к учебным данным</article-title>
        <trans-title-group xml:lang="en">
          <trans-title>Architecture and design of client-server application for mobile access to educational data</trans-title>
        </trans-title-group>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Абрамов</surname>
              <given-names>Алексей Михайлович</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Abramov</surname>
              <given-names>Alexey Mikhailovich</given-names>
            </name>
          </name-alternatives>
          <email>am.abramov1@yandex.ru</email>
          <xref ref-type="aff">aff-1</xref>
        </contrib>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">0000-0001-9478-4894</contrib-id>
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Аникин</surname>
              <given-names>Игорь Вячеславович</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Anikin</surname>
              <given-names>Igor Vyacheslavovich</given-names>
            </name>
          </name-alternatives>
          <email>anikinigor777@mail.ru</email>
          <xref ref-type="aff">aff-2</xref>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Бурдина</surname>
              <given-names>Алена Алексеевна</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Burdina</surname>
              <given-names>Alena Alexeevna</given-names>
            </name>
          </name-alternatives>
          <email>aliona2011ujl@yandex.ru</email>
          <xref ref-type="aff">aff-3</xref>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Гайфуллин</surname>
              <given-names>Дамир Равильевич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Gaifullin</surname>
              <given-names>Damir Ravilevich</given-names>
            </name>
          </name-alternatives>
          <email>gaifullindr@gmail.com</email>
          <xref ref-type="aff">aff-4</xref>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Грудцин</surname>
              <given-names>Андрей Андреевич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Grudtsin</surname>
              <given-names>Andrey Andreevich</given-names>
            </name>
          </name-alternatives>
          <email>grudtcinaa@ya.ru</email>
          <xref ref-type="aff">aff-5</xref>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Добрынин</surname>
              <given-names>Илья Сергеевич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Dobrynin</surname>
              <given-names>Ilya Sergeevich</given-names>
            </name>
          </name-alternatives>
          <email>me@dobryninilya.ru</email>
          <xref ref-type="aff">aff-6</xref>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Лупанов</surname>
              <given-names>Богдан Игоревич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Lupanov</surname>
              <given-names>Bogdan Igorevich</given-names>
            </name>
          </name-alternatives>
          <email>bogdanlupanov@yandex.ru</email>
          <xref ref-type="aff">aff-7</xref>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Мулюков</surname>
              <given-names>Рустам Азатович</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Mulyukov</surname>
              <given-names>Rustam Azatovich</given-names>
            </name>
          </name-alternatives>
          <email>r.mulyukov@yandex.ru</email>
          <xref ref-type="aff">aff-8</xref>
        </contrib>
        <contrib contrib-type="author">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Плотник</surname>
              <given-names>Артур Эдуардович</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Plotnik</surname>
              <given-names>Arthur Eduardovich</given-names>
            </name>
          </name-alternatives>
          <email>artur.plotnik@outlook.com</email>
          <xref ref-type="aff">aff-9</xref>
        </contrib>
      </contrib-group>
      <aff-alternatives id="aff-1">
        <aff xml:lang="ru">технопарк в сфере высоких технологий "ИТ-парк"</aff>
        <aff xml:lang="en">IT-Park</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-2">
        <aff xml:lang="ru">Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ</aff>
        <aff xml:lang="en">Kazan national research technical university named after A.N. Tupilev-KAI</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-3">
        <aff xml:lang="ru">Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ</aff>
        <aff xml:lang="en">Kazan national research technical university named after A.N. Tupilev-KAI</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-4">
        <aff xml:lang="ru">Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ</aff>
        <aff xml:lang="en">Kazan national research technical university named after A.N. Tupilev-KAI</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-5">
        <aff xml:lang="ru">Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ</aff>
        <aff xml:lang="en">Kazan national research technical university named after A.N. Tupilev-KAI</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-6">
        <aff xml:lang="ru">Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ</aff>
        <aff xml:lang="en">Kazan national research technical university named after A.N. Tupilev-KAI</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-7">
        <aff xml:lang="ru">Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ</aff>
        <aff xml:lang="en">Kazan national research technical university named after A.N. Tupilev-KAI</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-8">
        <aff xml:lang="ru">Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ</aff>
        <aff xml:lang="en">Kazan national research technical university named after A.N. Tupilev-KAI</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-9">
        <aff xml:lang="ru">Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ</aff>
        <aff xml:lang="en">Kazan national research technical university named after A.N. Tupilev-KAI</aff>
      </aff-alternatives>
      <pub-date pub-type="epub">
        <day>01</day>
        <month>01</month>
        <year>2026</year>
      </pub-date>
      <volume>1</volume>
      <issue>1</issue>
      <elocation-id>10.26102/2310-6018/2025.51.4.033</elocation-id>
      <permissions>
        <copyright-statement>Copyright © Авторы, 2026</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This work is licensed under a Creative Commons Attribution 4.0 International License</license-p>
        </license>
      </permissions>
      <self-uri xlink:href="https://moitvivt.ru/ru/journal/article?id=2048"/>
      <abstract xml:lang="ru">
        <p>Представлена архитектура и реализация клиент-серверного решения, обеспечивающего мобильный доступ к учебным данным университета. Целью работы являлось повышение эффективности реализации ряда процессов образовательной деятельности, обеспечивающих работу с такими учебными данными, как расписание занятий, результаты текущего и промежуточного контроля, информация по преподавателям и учебной группе, новостной портал. Проект не только устраняет ряд недостатков, свойственных текущей ИТ-инфраструктуре университета, но и создает основу для дальнейшей цифровой трансформации образовательного процесса. Описана архитектура решения и особенности ее реализации, в том числе выбор стека технологий. Подробно рассмотрены основные компоненты архитектуры приложения, такие как gRPC-мост для интеграции с устаревшими системами, REST API для взаимодействия с внешними сервисами и система мониторинга на основе Prometheus и Grafana. Применение современных технологий, таких как Golang, PostgreSQL, gRPC и облачных сервисов Yandex Cloud, обеспечило высокую производительность, масштабируемость и безопасность. Интеграция с существующими системами университета посредством gRPC-моста обеспечила совместимость и эффективный обмен данными. Представлены результаты внедрения приложения в реальную IT-инфраструктуру вуза, демонстрирующие повышение доступности и удобства работы с учебными данными и снижение нагрузки. Разработанный подход может быть успешно адаптирован и применен для других высших учебных заведений. В перспективе планируется расширение функциональности приложения за счет интеграции с AI-алгоритмами для прогнозирования академических рисков и формирования индивидуальных образовательных траекторий.</p>
      </abstract>
      <trans-abstract xml:lang="en">
        <p>The paper presents the architecture and implementation of a client-server solution that provides mobile access to university educational data. The aim of the work was to improve the efficiency of a number of educational activity processes that provide work with educational data such as class schedules, current and midterm assessment results, information on teachers and the study group, and a news portal. The project not only bypasses a number of shortcomings inherent in the university’s current IT infrastructure, but also creates a basis for further digital transformation of the educational process. The paper describes the architecture of the solution and its implementation features, including the choice of technology stack. The main components of the application architecture are considered in detail, such as the gRPC bridge for integration with legacy systems, REST API for interaction with external services, and a monitoring system based on Prometheus and Grafana. The use of modern technologies such as Golang, PostgreSQL, gRPC, and Yandex Cloud services ensured high performance, scalability, and security. Integration with existing university systems via the gRPC bridge ensured compatibility and efficient data exchange. The results of the application implementation in the real IT infrastructure of the university are presented, demonstrating the increase in accessibility and convenience of working with educational data and the reduction of the load. The developed approach can be successfully adapted and applied to other higher education institutions. In the future, it is planned to expand the functionality of the application through integration with AI algorithms for predicting academic risks and forming individual educational trajectories.</p>
      </trans-abstract>
      <kwd-group xml:lang="ru">
        <kwd>цифровизация образовательного процесса</kwd>
        <kwd>микросервисная архитектура</kwd>
        <kwd>gRPC</kwd>
        <kwd>REST API</kwd>
        <kwd>PostgreSQL</kwd>
      </kwd-group>
      <kwd-group xml:lang="en">
        <kwd>digitalization of education</kwd>
        <kwd>microservice architecture</kwd>
        <kwd>gRPC</kwd>
        <kwd>REST API</kwd>
        <kwd>PostgreSQL</kwd>
      </kwd-group>
      <funding-group>
        <funding-statement xml:lang="ru">Исследование выполнено без спонсорской поддержки.</funding-statement>
        <funding-statement xml:lang="en">The study was performed without external funding.</funding-statement>
      </funding-group>
    </article-meta>
  </front>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="cit1">
        <label>1</label>
        <mixed-citation xml:lang="ru">Fielding R.T., Taylor R.N. Principled Design of the Modern Web Architecture. ACM Transactions on Internet Technology. 2002;2(2):115–150. https://doi.org/10.1145/514183.514185</mixed-citation>
      </ref>
      <ref id="cit2">
        <label>2</label>
        <mixed-citation xml:lang="ru">Brazil B. Prometheus: Up &amp; Running. London: O'Reilly Media, Inc.; 2018. 386 p.</mixed-citation>
      </ref>
      <ref id="cit3">
        <label>3</label>
        <mixed-citation xml:lang="ru">Boettiger C. An Introduction to Docker for Reproducible Research. ACM SIGOPS Operating Systems Review. 2015;49(1):71–79. https://doi.org/10.1145/2723872.2723882</mixed-citation>
      </ref>
      <ref id="cit4">
        <label>4</label>
        <mixed-citation xml:lang="ru">Dua R., Raja A.R., Kakadia D. Virtualization vs Containerization to Support PaaS. In: Proceedings of the 2014 IEEE International Conference on Cloud Engineering, 11–14 March 2014, Boston, MA, USA. IEEE; 2014. P. 610–614. https://doi.org/10.1109/IC2E.2014.41</mixed-citation>
      </ref>
      <ref id="cit5">
        <label>5</label>
        <mixed-citation xml:lang="ru">Jani Ya. Unified Monitoring for Microservices: Implementing Prometheus and Grafana for Scalable Solutions. Journal of Artificial Intelligence, Machine Learning and Data Science. 2024;2(1):848–852. https://doi.org/10.51219/JAIMLD/yash-jani/206</mixed-citation>
      </ref>
      <ref id="cit6">
        <label>6</label>
        <mixed-citation xml:lang="ru">Turcotte A., Gokhale S., Tip F. Increasing the Responsiveness of Web Applications by Introducing Lazy Loading. In: Proceedings of the 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE), 11–15 September 2023, Luxembourg, Luxembourg. IEEE; 2023. P. 459–470. https://doi.org/10.1109/ASE56229.2023.00192</mixed-citation>
      </ref>
      <ref id="cit7">
        <label>7</label>
        <mixed-citation xml:lang="ru">Christie M.A., Bhandar A., Nakandala S., et al. Managing Authentication and Authorization in Distributed Science Gateway Middleware. Future Generation Computer Systems. 2020;111:780–785. https://doi.org/10.1016/j.future.2019.07.018</mixed-citation>
      </ref>
      <ref id="cit8">
        <label>8</label>
        <mixed-citation xml:lang="ru">Shanmughan V.K. Keycloak Implementation for Identity Management in SASE Architectures: A Regional Hub Approach. Sarcouncil Journal of Multidisciplinary. 2025;5(7):1001–1007. https://doi.org/10.5281/zenodo.16498126</mixed-citation>
      </ref>
      <ref id="cit9">
        <label>9</label>
        <mixed-citation xml:lang="ru">Divyabharathi D.N., Cholli N.G. A Review on Identity and Access Management Server (KeyCloak). International Journal of Security and Privacy in Pervasive Computing. 2020;12(3):46–53. https://doi.org/10.4018/IJSPPC.2020070104</mixed-citation>
      </ref>
      <ref id="cit10">
        <label>10</label>
        <mixed-citation xml:lang="ru">Bunn C.D.S., Miers Ch.C. Evaluating Performance Impacts in Identity Management Based on Keycloak and OpenID Connect. In: 2024: Companion Proceedings of the 24th Brazilian Symposium on Information and Computational Systems Security, 16–19 September 2024, São José dos Campos/SP, Brazil. Porto Alegre: Sociedade Brasileira de Computação; 2024. P. 197–200. https://doi.org/10.5753/sbseg_estendido.2024.243372</mixed-citation>
      </ref>
    </ref-list>
    <fn-group>
      <fn fn-type="conflict">
        <p>The authors declare that there are no conflicts of interest present.</p>
      </fn>
    </fn-group>
  </back>
</article>