12 января 2023 5247
SOA, или сервис-ориентированная архитектура, внесла большой вклад в разработку и интеграцию приложений. IBM, Corel, Oracle и другие производители ПО говорят о ней. Этот термин стал настолько популярным, что компании начали «подхватывать» тренд и осваивать сервис-ориентированную архитектуру. Но каждый понимает SOA по-своему, поэтому давайте разберемся, что это такое на самом деле.
Что такое SOA? Понятие, преимущества и недостатки сервис-ориентированной архитектуры

Строгого определения сервис-ориентированной архитектуры нет, как и стандартов для работы с ней. Да и существовать такие стандарты не могут просто потому, что SOA — это скорее представление о разработке программного обеспечения, основанное на интеграции технологий и бизнеса.

Поэтому каждый понимает под SOA что-то свое, а мы попробуем объяснить, что такое сервис-ориентированная архитектура в нашем понимании: SOA — это подход к разработке ПО, основанный на архитектурных принципах, с применением стандартизированных интерфейсов.

Другими словами, SOA — это подход по созданию программного обеспечения, ориентированный на решение многочисленных бизнес-задач. С помощью SOA можно разработать приложения на основе многоразовых интерфейсов сервисов, разработать надежное обслуживание, которое оптимизирует информационный поток и повысит гибкость процессов в компании.

Предпосылки к созданию SOA появились еще в 80-х. В это время компании начали использовать корпоративные сети и клиент-серверную архитектуру. Поэтому у бизнеса появилась необходимость в стандартизации взаимодействия приложений, созданных на основе разных технологий и работающих на разных операционных системах.

В 90-е, еще до появления SOA, подключение приложений к другим системам представляло собой сложный процесс. С каждым проектом разработчикам приходилось выстраивать новую интеграцию, что отнимало много времени и сил. Появление SOA помогло упростить этот процесс и избавиться от необходимости создавать интеграцию каждый раз заново.

По сути, главные причины того, что SOA стала популярной — это постоянные изменения и конкуренция в современном бизнесе. Теперь от информационных систем требуется не только автоматизация бизнес-задач, но и умение быстро адаптироваться под изменяющиеся условия.

undraw_Dev_productivity_re_fylf.png

Преимущества и недостатки сервис-ориентированной архитектуры

Поговорим о преимуществах SOA:

  • Автономность. Сервисы, разработанные на основе SOA, не зависят друг от друга, поэтому могут использоваться несколькими приложениями одновременно.

  • Простота в обслуживании. Чтобы обновить сервисы, разработанные с помощью SOA, не нужно редактировать старую систему полностью. В управлении SOA, всегда есть третья сторона и изменения в ней не будут влиять на вашу систему. Практически в любых ситуациях предыдущий API будет работать просто потому, что он функционирует как раньше .

  • Масштабируемость. Если перед вами стоит задача обработать большое количество информации, то для SOA это не проблема. Сервис-ориентированную архитектуру легко масштабировать, подключая к ней дополнительные мощности, а это позволяет работать с конфигурацией и подстраивать систему под ваши нужды.

  • Одинаковая структура каталогов. SOA поддерживает применение «шаблонов», которые помогают выстраивать каталоги под единому принципу.

  • Переиспользование сервисов. SOA дает возможность повторно применить сервис существующей системы для новых проектов.

 Но у SOA есть и недостатки:

  • Сложное управление. Каждый сервис SOA должен без задержек доставлять сообщения, но их количество может быть больше нескольких миллионов, а это затрудняет управление всеми службами.

  • Большая нагрузка. В SOA служба проверяет сообщение на соответствие заявленному заранее контракту. В случае, если применяется несколько сервисов, это может привести к увеличению время отклика и снижению общей производительности.

  • Не подходит для GUI. Приложения с графическим интерфейсом плохо взаимодействуют с SOA, они требуют интенсивный обмен данными, что еще больше нагружает систему.

  • Высокие инвестиционные затраты. Использование SOA требует большого количества инвестиций: организационных, экономических, технических и психологических.

undraw_Interior_design_re_7mvn.png

Отличия SOA от MSA (микросервисной архитектуры)

Отличия заключаются в технических особенностях и реализации этих подходов. Так, например, использование сервис-ориентированной архитектуры невозможно без ESB, централизации и наличия крупных сервисов. Система, спроектированная с помощью SOA, многослойна и по принципу работы напоминает монолитную архитектуру. Но сервис-ориентированная архитектура намного сложнее монолитной за счет глубоких связей и относительной децентрализованности.

В свою очередь, MSA — это подход, при котором система разрабатывается на основе небольших самостоятельных серверов. В отличие от SOA, микросервисы избегают повторное использование и предпочитают дублирование. Повторное использование серверов предполагает связанность между ними, а микросервисная архитектура — это максимальная децентрализованность и возможность распределить нагрузку между компонентами. Другими словами, микросервисная архитектура помогает разбить сервисы по бизнес-отраслям. Каждый сервис имеет все необходимые для самостоятельного функционирования элементы и существует как независимый процесс. Использовать MSA лучше в проектах с большим коллективом разработчиков, объемной и сложной архитектурой, продуктами, с резко меняющимся трафиком, приложениями, которые требуют частых обновлений. Хотите узнать больше о “плюсах” и “минусах” MSA? Читайте статью Зачем бизнесу нужны микросервисы в нашем блоге.

Новый проект (8).jpg

Вывод

За последние 10 лет SOA эволюционировала и стала заменой устаревшим решениям. Особой популярностью сервис-ориентированная архитектура пользуется у владельцев больших и сложных корпоративных систем, в частности банков. Благодаря SOA разработчикам больше не нужно создавать новую интеграцию под каждый проект. Теперь решения создаются на основе «шаблонов», которые позволяют тратить меньше времени и других ресурсов. Вместе с SOA компания может быстрее реагировать на потребности бизнеса и быть на шаг впереди конкурентов.

Помните, что сервис-ориентированная архитектура — это не «панацея», а обобщение практик  по разработке ПО. Поэтому, ориентируйтесь на свои задачи и потребности, используйте SOA только тогда, когда это необходимо.

Если вы хотите глубже изучить микро-сервисную архитектуру, присоединяйтесь к нашим курсам!



Последние статьи в блоге

Платформа сертификации IBS признана лучшим digital-решением для корпоративного обучения

Центр сертификации IBS стал обладателем Гран-при премии «Смарт пирамида» — одной из самых престижных российских премий за достижения в области обучения и развития человеческого капитала.

20 декабря 2024

Учебный центр IBS получил сертификат ГОСТ Р ИСО 9001-2015

В октябре 2024 года Учебный центр IBS получил сертификат соответствия ГОСТ Р ИСО 9001-2015. Это важное достижение подтверждает, что мы придерживаемся высоких стандартов качества и результативно управляем образовательными процессами организации.

19 декабря 2024

9 курсов со скидкой до 50%

Друзья, в январе стартует 9 курсов, обучение на которых можно купить со скидкой до 50%*! 

15 декабря 2024

8 заблуждений про тестирование

Тестирование программного обеспечения окружено множеством заблуждений. Эти стереотипы нередко приводят к недопониманию его реальной роли и важности для успешного создания продуктов. Рассмотрим восемь самых распространенных мифов о тестировании и объясним, почему они не соответствуют действительности.

15 декабря 2024

Путь к Fullstack-тестировщику: что нужно знать о ручном и автоматизированном тестировании?

Тестирование программного обеспечения — одна из самых востребованных областей в IT. И часто новички и даже опытные специалисты, желающие строить свою карьеру в этом направлении, часто сталкиваются с вопросом: какое тестирование выбрать — ручное, автоматизированное или Fullstack? У каждого из этих направлений свои особенности, преимущества и требования к знаниям. В этой статье рассмотрим каждое из направлений, их плюсы и минусы, области применения и навыки, необходимые для успеха.

15 декабря 2024

Совет по развитию сертификации ИТ-специалистов при АПКИТ аккредитовал «Платформу сертификации IBS»

Директор департамента обучения и развития IBS Владимир Гернер участвовал в заседании Совета по сертификации ИТ-специалистов при АПКИТ.

Новости Жизнь компании
08 октября 2024

Java-сертификация: IBS в сравнении с Oracle

Игорь Судакевич рассказывает, почему сертификаты могут стать важным инструментом для достижения карьерных целей.

Новости
04 октября 2024

Исследование IBS: число новых ИТ-решений в реестре ПО выросло в 2023 году более чем на треть

Анализируем ситуацию на рынке российского ПО.

Жизнь компании
01 октября 2024

6 суперспособностей Fullstack-тестировщиков, которые напоминают навыки животных

Читайте о скиллах, которые делают тестировщиков востребованными на рынке труда.

27 сентября 2024

5 мифов о системных аналитиках

Вместе с Екатериной Тихомировой, специалистом по системному и бизнес-анализу, разбираемся, чем занимаются системные аналитики.

20 сентября 2024

Методология 12 факторов: как успешно разрабатывать облачные приложения

Андрей Бирюков рассказывает о методологии, которая помогает разрабатывать качественные, устойчивые и эффективные веб-приложения.

12 сентября 2024

Баги, которые стали фичами

Многие вещи, которые мы используем ежедневно, были случайно открыты. В честь дня тестировщика рассказываем про 5 багов, которые стали фичами.

09 сентября 2024

Шаблоны облачного проектирования

Читайте про наиболее популярные шаблоны облачного проектирования: шаблон Bulkhead и шаблон Sidecar.

06 сентября 2024

Бесплатные мини-курсы ко Дню знаний

Друзья, поздравляем с Днём знаний! Желаем любопытства, открытий и новых побед!

02 сентября 2024

5 курсов со скидкой 30%

Друзья, в сентябре стартует 5 курсов со скидкой 30%*

29 августа 2024

Исследование IBS: на одну вакансию в Java-разработке приходится 4 резюме

По данным исследования рекрутингового центра IBS, наибольшая конкуренция среди соискателей наблюдается среди Python-разработчиков: на одну вакансию приходится 10 резюме. В менее конкурентной среде находятся Java-разработчики (4 резюме на одну вакансию). Самыми дефицитными являются специалисты по языку Go: менее 2 резюме на одну вакансию.

28 августа 2024

Индексирование баз данных в PostgreSQL: погружение в тему

В продолжение серии статей об устройстве системы управления базами данных (СУБД) PostgreSQL (раз, два) смотрим, как ускорить выполнение запросов к базе данных с помощью индексов.

28 августа 2024

Книги для системных и бизнес-аналитиков, а также будущих и нынешних архитекторов

Наш коллега, архитектор информационных систем Сергей Политыко, поделился полезными книжными рекомендациями.

Жизнь компании
19 августа 2024

Сценарии кибератак с использованием ИИ. Внутренний периметр.

Кибератаки, направленные на внутренние периметры организаций, становится особенно актуальной темой. Внутренние атаки могут происходить как от злоумышленников с доступом к ресурсам, так и извне, используя уязвимости внутренней инфраструктуры. Использование ИИ в таких атаках позволяет автоматизировать и улучшить процесс поиска уязвимостей, создать вредоносный код и разработать методы социальной инженерии, что увеличивает скорость и масштаб атак. Расскажем про сценарии таких атак подробнее.

16 августа 2024

Сценарии кибератак с использованием ИИ. Внешний периметр

Сценарии кибератак по внешнему периметру представляют собой модели и методы, которые злоумышленники используют для незаконного доступа к информационным системам и данным компаний через их внешние интерфейсы и сети. Это как если бы ваша компания была неприступной крепостью, а за ее воротами стояла бы армия хорошо обученных солдат-магов, которые способны разрушить крепость по щелчку пальцев. Вы уверены, что ваши высокие стены и глубокие рвы вас спасут от подобной армии?

09 августа 2024

Не нашли, что искали? — Просто напишите, и мы поможем

Продолжая, я подтверждаю, что ознакомлен с Условиями использования и Порядком обработки персональных данных
Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.