МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА – Российский технологический университет» РТУ МИРЭА Институт информационных технологий (ИИТ) Кафедра математического обеспечения и стандартизации информационных технологий (МОСИТ) Выпускная квалификационная работа на тему: «Метод проектирования интероперабельных интерфейсов программных средств при построении единого информационного пространства организации» 1 Цель, объект и предмет исследования Объект исследования: разработка методики, позволяющей упростить аналитикам и архитекторам проектирование интеграционных микросервисов в сложных корпоративных системах Предмет исследования: интеграционный микросервис разработанный по выработанной автором методике Цель исследования: разработанная методика, позволяющая упростить процесс проектирования интеграционных микросервисов в сложных корпоративных системах 2 Задачи Для достижения поставленной цели необходимо выполнить следующие задачи: • провести сравнительный анализ подходов к построению архитектуры программного обеспечения; • изучить основные подходы к проектированию сервисов; • сформировать архитектуру интеграционного сервиса; • количественно оценить эффект от внедрения метода Для достижения поставленной цели необходимо решить главную научную задачу - разработать методику проектирования интеграционных микросервисов Актуальность данной работы обусловлена необходимостью построения постоянных интеграций в сложных корпоративных системах. Практическая значимость работы заключается в дальнейшем использовании данной методики другими аналитиками компании проектировании сервисов, позволяющей сэкономить время на написание аналитики. 3 при Модели архитектуры Модели архитектуры организаций Enterprise Application Integration(EAI) Service Oriented Architecture (SOA) Основные различия между EAI и SOA: - Ориентация: EAI ориентирован на интеграцию приложений на уровне данных, тогда как SOA на использование сервисов в качестве общей функциональности. - Гибкость: SOA гибче, чем EAI, поскольку позволяет быстро изменять и обновлять функциональность сервисов, в то время как при использовании EAI приходится менять интеграционные решения и проводить перебоя! - Подход к разработке: EAI основан на использовании инструментов интеграции, тогда как SOA базируется на работе с сервисами и их функциональностью. - Результат: EAI разработан в качестве средства позволяющего системам общаться друг с другом, тогда как SOA разработан обеспечения гибкости и удобства использования сервисов. 4 Архитектурное проектирование сервиса 5 Параметры сервиса 6 Параметр конфигурации Инструмент Тип сервера CPU RAM, Gb Назначение База данных PostgreSQL Виртуальный VMWare 8 32 Межсервисное взаимодействие REST Сервер PostgreSQL. Master DB Виртуальный VMWare 8 32 Обновление данных Kafka Сервер БД PostgreSQL. Slave DB (sync) 2 8 Kafka, Балансировка входящей нагрузки HAProxy Алгоритм балансировки RoundRobin Маршрутизация запросов между сервисами ServiceMesh Инструменты журналирования ElasticSearch VM vsphere 2.13-2.4.1 Параметры технического обеспечения БД версия Формирование метода Было сформировано методическое пособие для аналитиков и архитекторов включающее в себя набор рекомендаций для проектирования интеграционных сервис адаптеров, состоящих из 15 основых принципов: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 6 Организация взаимодействия внутри одного сервиса – 2 рекомендации Организация взаимодействия между сервисами – 4 рекомендации Унификация протоколов взаимодействия – 3 рекомендации Управление изменениями API – 3 рекомендации Межсервисная аутентификация – 1 рекомендация Унификация интеграций посредством API – 1 рекомендация Унификация файлового обмена – 1 рекомендация Кэширование – 2 рекомендации Конфигурирование – 2 рекомендации Принципы проектирования методов – 3 рекомендации Принцип зона ответственности – 3 рекомендации Обеспечение логов полнотой информации – 3 рекомендации Обеспечение мониторинга – 3 рекомендации Управление конфигурацией сервиса – 4 рекомендации Принцип стабильности работы – 1 рекомендация Около 36 рекомендаций, позволяющих, сократить время аналитика и архитектора Качественная оценка Плюсы • Единая кодовая база • Отказоустойчивость • Единый подход к проектированию интеграционных микросервисов • Масштабируемость • Единая зона ответственности • Снижение количества запросов в мастер систему • Отсутствие избыточности данных Минусы • Организация работ команды • Версионирование Экономический эффект от внедрения Член команды Затраченное время(ч/д) Затраты на оплату труда Руководитель проекта 3 51 012 руб. Аналитик 26 315 770 руб. Разработчик 20 291 480 руб. Тестировщик 17 189 958 руб. Итого 66 848 220 руб. Сумма затраченных средств на разработку адаптера до появления единой методики Член команды Затраченное время(ч/д) Затраты на труда Руководитель проекта 3 51 012 руб. Аналитик 17 206 465 руб. Разработчик 14 204 036 руб. Тестировщик 14 156 436 руб. Итого 48 617 949 руб. Сумма затраченных средств на разработку адаптера после появления методики оплату Сокращение времени разработки интероперабельного интерфейса на 28% Выводы В рамках магистерской работы были изучены существующие методы и подходы в области проектирования архитектуры интероперабельных программных сервисов, а также проведено исследование проблем, возникающих при построении единого информационного пространства организации. На основе этих знаний был разработан метод проектирования интероперабельных интерфейсов, учитывающий особенности функционирования и взаимодействия сервисов в условиях единого информационного пространства. Предложенный метод был протестирован на реальном проекте и продемонстрировал свою эффективность и применимость. В процессе ислледования были решены следующие задачи: • Проведен сравнительный анализ архитектурных подходов к проектированию интероперабельных интерфейсов; • Была сформирована архитектура интеграционного сервис адаптера и адаптер был спроектирован с использованием современных технологий; • Была разработана универсальная методика, позволяющая упростить процесс аналитики и проектирования интеграционных сервис адаптеров; • Был оценен экономический эффект от внедрения метода. Таким образом, на основании полученных результатов можно сделать вывод о том, что разработанный метод проектирования интероперабельных интерфейсов является актуальным и востребованным в современной информационной среде.