Сервис-ориентированная архитектура: от концепции к применению

NovaInfo 44, с.19-22, скачать PDF
Опубликовано
Раздел: Технические науки
Просмотров за месяц: 5
CC BY-NC

Аннотация

Cервис-ориентированная архитектура (SOA) - это такая архитектура приложения, в которой компоненты или «сервисы», имея согласованные общие интерфейсы, используют единые правила (контракты) для определения того, как вызывать сервисы и как они будут взаимодействовать друг с другом. В настоящее время эта технология получает все большее распространение во многих областях ИТ индустрии благодаря своему главному преимуществу: способности предложить эффективный подход к решению одной из самых сложных и насущных проблем — проблемы интеграции информационный ресурсов.

Ключевые слова

СЕРВИСНО-ОРИЕНТИРОВАННЫЙ КОМПЬЮТИНГ, РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ, ПРОГРАММНЫЕ СЛУЖБЫ, СЕРВИСНО-ОРИЕНТИРОВАННАЯ АРХИТЕКТУРА

Текст научной работы

В настоящее время бурными темпами идет процесс усложнения разрабатываемого программного обеспечения. Современные приложения уже не являются монолитными ядрами, работающими на крупной компьютерной платформе, а представляют собой набор динамически изменяемых модулей. Сегодня большинство приложений создаются командами разработчиков на основе нескольких различных языков программирования, с применением множества данных, которые чаще всего поступают «онлайн» из нескольких, как правило, географически распределенных источников. В итоге возникает потребность в создании такого стиля разработки приложений, в основе которого будут программные службы (software services). Такой стиль позволит программистам не начинать работу с нуля, а создавать новые приложения, используя уже готовые службы. Между службами существует определенная иерархия: служба которая обрабатывает сложный запрос, разбивает его на более простые, и передает уже их в другие службы. При этом образуются ассоциативные связи.

Изначально распределенные системы строились как естественное расширение тех методов, которые применялись для традиционных архитектур с последовательным выполнением операций, что привело к использованию модели распределенных объектов. Данная модель оказалась неадекватна так как она плохо масштабировалась - распределенные объекты были слишком сильно связаны друг с другом, а объектные технологии были слишком сложны. В результате на сегодняшний момент объектно-ориентированный подход был заменен на «сервисно - ориентированный». На смену объектам пришли «сервисы», которые взаимодействуют посредством асинхронных «сообщений» - заменив прежний механизм взаимодействия объектов в режиме «запрос-ответ». Таким образом, распределенные системы стали слабо связанными, их масштабируемость улучшилась а накладные расходы на взаимодействие снизились [1].

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

В течение последних нескольких лет возрос интерес разработчиков и пользователей к концепции «сервисно-ориентированный компьютинг» (Service Oriented Computing – SOC) и «сервисно-ориентированная архитектура» (Service Oriented Architecture – SOA). При этом SOA - это не рассматривается как технология, а понимается как способ проектирования и организации информационной архитектуры и бизнес-функциональности [2,3].

Определим ключевые термины при рассмотрении термина «сервисно-ориентированная архитектура»:

Архитектура – это формальное описание системы, определяющее еѐ цели, функции, внешне видимые свойства, и интерфейсы. Она также включает описание отношений и внутренних компонентов системы, принципы которые лежат в основе управления ее дизайном, функционированием и последующей эволюцией.

Сервис (служба) – программный компонент, к которому можно удалѐнно обратиться посредством компьютерной сети, и предоставляющая некоторые функциональные возможности запрашивающей стороне.

В общем виде в структуре SOA предполагается наличие трех основных участников: поставщика сервиса, потребителя сервиса и реестра сервисов. Взаимодействие участников происходит по схеме: поставщик сервиса регистрирует свои сервисы в реестре, а потребитель обращается к реестру с запросом.

При внедрении SOA на начальном этапе ставятся следующие цели:

  • сокращение времени адаптации сложных информационных систем к постоянно изменяющимся бизнес-процессам компании;
  • снижение стоимости владения ИТ (Total Cost of Ownership, TCO) в масштабе времени — за счет сокращения затрат на проектирование, внедрение, документирование, внесение изменений и т. п.;
  • систематизация компонентов ИТ-архитектуры и повышение степени интегрированности информационных систем компании.

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

Открытые стандарты, которые описывают XML и Web-сервисы, позволяют применять SOA ко всем технологиям и приложениям, установленным в компании. Web-сервисы базируются на распространенных и открытых протоколах: HTTP, XML, UDDI, WSDL и SOAP. Данные стандарты реализуют и поддерживают основные требования SOA - во-первых, сервис должен поддаваться динамическому обнаружению и вызову (UDDI, WSDL и SOAP), во-вторых, должен использоваться независящий от платформы интерфейс (XML). Наконец, HTTP обеспечивает функциональную совместимость. Сегодня Web-сервисы рассматриваются разработчиками как эффективный инструмент для интеграции и взаимодействия процессов, выполняемых в различных компаниях [4].

SOA поддерживается языком WSDL (Web Services Description Language). В данном языке описание сервисов делится на интерфейс и оболочку. Интерфейс описывает, что должен содержать запрос, а оболочка определяет протоколы транспорта и данных.

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

Читайте также

Список литературы

  1. Андреева А.В., Максимова Н.А. Идеология облачных вычислений // Современные проблемы науки. 2015. № 3. С. 30-36.
  2. Андреева А.В., Максимова Н.А. Основные направления развития инфраструктуры регионального рынка IT-услуг // Современные проблемы науки. 2015. № 3. С. 3-9.
  3. Богданов А.В., Станкова Е.Н., Мареев В.В. Cервис-ориентированная архитектура: новые возможности в свете развития GRID технологий. URL: http://www.ict.edu.ru/ft/005639/62316e1-st03.pdf (дата доступа 28.04.2016)
  4. Мунерман В.И., Самойлова Т.А. Параллельная реализация решения оптимизационных задач средствами баз данных // Системы высокой доступности. 2015. Т. 11. № 1. С. 18-22.

Цитировать

Максимова, Н.А. Сервис-ориентированная архитектура: от концепции к применению / Н.А. Максимова. — Текст : электронный // NovaInfo, 2016. — № 44. — С. 19-22. — URL: https://novainfo.ru/article/5610 (дата обращения: 26.06.2022).

Поделиться