Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety.docx
Скачиваний:
292
Добавлен:
11.03.2016
Размер:
22.4 Mб
Скачать

Вопрос 11. Сервис - ориентированная архитектура (soa) и архитектура, управляемая моделями (mda)

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

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

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

Принципы SOA:

  • явное отделение бизнес-логики прикладной системы от логики презентации информации;

  • реализация бизнес-логики прикладной системы в виде некоторого количества программных модулей (сервисов), которые доступны извне (пользователям и другим модулям), чаще всего в режиме "запрос-ответ", через четко определенные формальные интерфейсы доступа;

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

Понятие сервиса

Сервис - это программный компонент, реализующий законченную функцию предоставления или обработки данных. Основным отличием сервиса от обычного компонента является стандартный и платформенно-независимый интерфейс. Клиент, обращающийся к сервису, не обязан ничего знать о подробностях реализации сервиса: на каком языке и в какой модели программирования он создан, на каких аппаратных средствах, в какой операционной среде, на какой платформе промежуточного программного обеспечения он выполняется. Сервисно-ориентированная архитектура позволяет компоновать бизнес-процессы из компонентов, выполняющихся на разных платформах (например, Microsoft .NET и Java 2 Enterprise Edition (J2EE)), представлять их в виде сервисов и повторно использовать в новых бизнес-процессах.

Современные подходы к SOA охватывают не только технологический уровень обмена данными, но и уровень бизнес - операций. Для описания бизнес-процессов и их взаимодействия разработан для языка BPEL (Business Process Execution Language for Web Services), который расширяет модель взаимодействия веб-служб и включает в неё поддержку транзакций. Для задач электронного бизнеса соответствующая функциональность SOA реализуется на уровне web-сервисов (служб). В общем случае принципы SOA создания информационных систем не обязательно предполагают использование технологий web-сервисов (можно и на других платформах). Использование web-сервисов как технологических спецификаций позволяет перейти к "расширенному предприятию" и бизнесу "реального времени" объединяющему предприятие, поставщиков, партнеров, клиентов в единую систему. Web-сервисы. Под web-сервисами понимаются программные системы, которые используют XML в качестве формата данных, стандарты Web Services Description Language (WSDL), Universal Description, Discovery and Integration (UDDI) и Simple Object Access Protocol (SOAP). WSDL - определяет месторасположение сервиса и отображаемые им операции (или методы), позволяющие обращаться к этому сервису.

SOAP - это простой основанный на XML протокол для описания формата принимаемых и посылаемых сообщений. Он позволяет приложениям обмениваться информацией по транспортным протоколам, таким как HTTP. Стандарт UDDI - для создания каталогов доступных сервисов. Ссылочная модель сервис – ориентированной архитектуры предприятия. Она использует единый подход для описания бизнеса и ИТ и состоит из следующих компонент:

  • презентационный уровень описывает интерфейсы для взаимодействия пользователей с информационной системой (корпоративные и публичные порталы, доступ с мобильных устройств, преобразования информации при взаимодействии с внешними системами и устройствами);

  • на уровне бизнес-сервисов формируются модели и осуществляется управление выполнением бизнес-процессов (с использованием BPEL), а также координация автоматизированных и "ручных" операций;

  • интеграционные сервисыобеспечивают взаимодействие между приложениями, которое может быть реализовано с помощью средств обмена сообщениями или в рамках единой среды исполнения, такой как сервер приложений J2EE;

  • сервисы уровня данныхобеспечивают извлечение и повторное использование данных из СУБД и приложений. Этот уровень позволяет изолировать вышестоящие компоненты архитектуры от изменений в технологиях (например, версии продукта), и обеспечить единый унифицированный подход к выполнению операций с данными;

  • уровень инфраструктуры, приложений и СУБД является основой для всей структуры (основные инвестиции в ИТ).

Комплексная ссылочная модель SOA предприятия

Сервис-ориентированная платформадолжна соответствовать следующим требованиям:

  • обеспечивать спецификации интерфейса, которые были бы приняты, если не всеми, то большинством разработчиков компонентов;

  • использовать общепринятые протоколы для взаимодействия сервисов и клиентов;

  • не использовать в интерфейсе какие-либо сложные и/или закрытые форматы представления информации;

  • не требовать для своей поддержки дорогостоящего или ресурсоемкого программного обеспечения.

Базовая архитектура SOA:

  1. Провайдер сервисов - предоставляет сервисы, контракт по активизации которых и месторасположение опубликованы (WSDL-документ).

  2. Потребитель сервисов - потребляет нужные, обнаруженные в каталоге сервисы.

  3. Каталог сервисов (необязательно) - служит для публикации и ведения списка сервисов, доступных для потребителей (извлекается посредством UDDI).

Архитектура, управляемая моделями (MDA - Model-driven architecture)

MDA– это другая концепция создания ИС. Предложена консорциумом OMG (Object Management Group), является обобщением идей SOA и повторно используемых программных компонент (шаблонов, паттернов).

MDA по определению является открытой и "нейтральной" по отношению к используемым технологиям интеграции. Она основана на четырех принципах:

  • основой для разработки приложений масштаба предприятия являются детальные модели с общепринятой нотацией;

  • для построения систем используется рамочная система моделей, позволяющая отделить бизнес-логику приложений от конкретной реализации. Исходной является так называемая независимая модель вычислений (Computational Independent Model), которая использует платформо-независимые (PIM) и специфичные модели (PSM). Она позволяет почти автоматически генерировать исполняемый код и соответствующие структуры данных;

  • существуют формальные модели для распределенных вычислений, транзакций, операции в реальном времени и т.п.;

  • основан на использовании открытых промышленных стандартов и поддержке производителей средств разработки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]