Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Реферат_СОА_Беляева Е.В..doc
Скачиваний:
2
Добавлен:
20.09.2019
Размер:
115.2 Кб
Скачать
  1. Общие сведения о soa

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

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

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

  1. Возможность настройки сервиса под потребности бизнеса.

  2. Возможность его компоновки с другими сервисами.

  3. Его потенциал для повторного использования.

  4. Его техническая реализуемость.

Для того, чтобы лучше понять, что есть SOA обратимся к статье об этой архитектуре Джерими Уэстермана (Jeremy Westerman) – представителя компании BEA. Он приводит 3 основных принципа, касающихся SOA:

  1. SOA не является чем-то новым: IT-отделы компаний успешно создавали и развертывали приложения, поддерживающие сервис-ориентированную архитектуру, уже много лет - задолго до появления XML и Web-сервисов.

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

  3. Покупка самых новых продуктов, реализующих XML и Web-сервисы, не означает построения приложений в соответствии с принципами SOA.

Также в своей статье Джерими Уэстерман дает следующее определение SOA: это парадигма, предназначенная для проектирования, разработки и управления дискретных единиц логики (сервисов) в вычислительной среде. Применение этого подхода требует от разработчиков проектирования приложений как набора сервисов, даже если преимущества такого решения сразу неочевидны. Разработчики должны "выйти за границы" своих приложений и подумать, как воспользоваться уже существующими сервисами, или изучить, как их сервисы могут быть использованы их коллегами.

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

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

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

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

Теперь, когда рассмотрены основные сведения о SOA, перейдем к следующей главе: основные принципы SOA.