ИНФОРМАЦИОННЫХ СИСТЕМ
Сервисно-ориентированная архитектура COA (service-oriented architecture, SOA) – это подход к созданию ИС, основанный на использовании сервисов или служб (service). СОА – это интеграционная архитектура, основанная на концепции сервисов (служб). Далее сервис и служба рассматриваются как синонимы. СОА – это, в первую очередь, интеграционная архитектура, использование которой позволяет обеспечить гибкую интеграцию ИС. При использовании СОА приложения взаимодействуют, вызывая сервисы, входящие в состав других приложений. Сервисы объединяются в более крупные последовательности, реализуя бизнес-процессы, которые могут быть доступны как сервисы.
СОА можно рассматривать так же как подход к построению слабосвязанных (loosely coupled) систем, реализующих механизмы асинхронного взаимодействия. К слабосвязанным системам обычно относятся такие системы, как электронная почта и системы очередей сообщений.
Переход на СОА-архитектуры позволяет решать следующие задачи:
- уменьшать сроки освоения и внедрения новых ИТ-систем, быстро создавать новые ИТ-системы на базе уже существующих;
- уменьшать суммарную стоимость владения ИТ-продуктом и стоимость их интеграции;
- увеличить срок жизни ИТ-систем за счёт возможности их оперативной модернизации;
- использовать гибкие модели ценообразования путём передачи разработки детализированных бизнес-модулей сторонним производителям (аутсорсинг);
- уменьшать стоимости работ по интеграции, необходимой при слиянии и поглощении компаний;
- реализовывать бизнес-процессы на уровне, не зависящем от приложений и платформ для поддержки процессов.
Бизнес-функции и инфраструктурные функции, которые необходимы для построения распределённых систем, реализуются как сервисы, которые в сочетании или по отдельности обеспечивают прикладную функциональность либо другим сервисам, либо приложениям, взаимодействующим с конечным пользователем.
Концепция СОА предполагает использование единого механизма взаимодействия служб. Этот механизм строится на основе концепции свободных связей и должен поддерживать использование формальных интерфейсов.
Сервисы можно рассматривать как строительные блоки, которые могут использоваться для построения как сервисов более высокого уровня, так и законченных распределённых ИТ-систем. Сервисы могут вызываться независимо внешними или внутренними потребителями для выполнения элементарных функций либо могут объединяться в цепочки для формирования более сложных функций и для быстрого создания новых функций.
При использовании СОА организации могут создавать гибкие КИС, которые позволяют оперативно реализовывать быстро изменяющиеся бизнес-процессы и многократно использовать одни и те же компоненты в рамках одной ИТ-системы, в рамках семейств продуктов и в независимых ИТ-системах.
Сервисом можно назвать любую дискретную функцию, которая может быть предложена внешнему потребителю. В качестве сервиса может выступать как отдельная бизнес-функция, так и набор функций, которые образуют бизнес-процесс.
Сервисы, ориентированные на использование в составе СОА, должны обладать следующими свойствами:
- представлять собой многократно используемые бизнес-функции;
- определяться с помощью формальных, не зависящих от реализации интерфейсов;
- наличие протоколов связи, обеспечивающих прозрачность местонахождения и инвариантность по отношению к языку и платформе.
Во время выполнения каждый сервис размещается в одном, и только в одном месте и удалённо вызывается всеми клиентами, которые используют данный сервис. Достоинство подобного подхода состоит в том, что изменения в интерфейс или реализацию сервиса, например, изменение кода реализации или настроек, нужно вносить только в одном месте.
На этапе размещения каждая служба создаётся один раз, но её можно локально размещать в любой системе или наборе систем, которым она необходима. Использование такого подхода позволяет повысить гибкость в достижении нужной производительности, а также гибкость настройки службы.
Использование формальных, не зависящих от реализации интерфейсов для определения и инкапсуляции функции службы особенно важно для того, чтобы службу можно было использовать многократно.
Интерфейс службы должен инкапсулировать только те аспекты поведения, которые используются при взаимодействии между клиентом и сервером. Формальное определение интерфейса или контракт служит для установления связи между поставщиком и потребителем службы. В нём должны быть указаны только те действия с обеих сторон, которые необходимы для осуществления взаимосвязи.
СОА не принуждает пользователя использовать конкретный протокол для доступа к сервису. Идея заключается в том, что сервис не определяется используемым протоколом, напротив, описание сервиса составляется независимым от протокола способом, позволяющим использовать для доступа к сервису разные протоколы. В идеале служба определяется только один раз при помощи интерфейса службы и должна иметь несколько реализаций для работы с разными протоколами доступа. Такой подход позволяет максимально расширить возможности повторного использования сервиса.
Дата добавления: 2015-11-10; просмотров: 2376;