- •1. Понятие и виды распределенных вычислений. Понятие грид-систем, их основные свойства и функции. Сравнение гридов и кластеров. Особенности и возможности грид-систем.
- •2. Классификация грид-систем по решаемым задачам и особенности их построения. Применение гридов. Примеры грид-систем.
- •3. Общие принципы архитектуры грид-систем. Стек протоколов глобального грида.
- •1.4.3 Общие принципы архитектуры грид-систем
- •1.4.3.1 Структура (стек) протоколов глобального грида
- •1.4.3.1.1 Аппаратный уровень: управление локальными ресурсами
- •1.4.3.1.5 Прикладной уровень: запуск приложений в грид-среду
- •4. Понятие веб-сервисов. Архитектура и функции веб-сервисов. Протокол soap. Сервисы с состоянием и без состояния.
- •1.4.3.1.2 Связывающий уровень: коммуникации и безопасность
- •1.4.3.1.3 Ресурсный уровень: совместное использование ресурсов
- •1.4.3.1.4 Коллективный уровень: координация ресурсов
- •1.4.3.2.4 Веб-сервисы
- •1.4.3.2.5 Веб-сервисы и soa
- •1.4.3.2.6 Веб-сервисы и виртуализация
- •1.4.3.2.3 Понятие состояния сервисов и сервисы без состояний
- •Архитектура
- •5. Сервисно-ориентированная архитектура распределенных систем. Принцип слабой связи.
- •1.4.3.2 Архитектура сервисов распределенных систем и технологии ее реализации
- •1.4.3.2.1 Сервисно-ориентированная архитектура (soa) распределенных систем
- •1.4.3.2.2 Принцип слабой связи
- •6. Сервир(с)но-ориентированный грид. Грид-стандарты. Стандарт открытой архитектуры гридсервисов. Спецификации ogsi и wsrf.
- •7. Базовые подсистемы гридов: описания и функциональные назначения.
- •8. Архитектура грид-системы unicore. Компоненты unicore: их назначение и функции.
- •9. Клиенты грид-системы unicore. Rich Client: его возможности, функции, задачи. Принципы подготовки задания и постановки его на расчет.
1.4.3.2.1 Сервисно-ориентированная архитектура (soa) распределенных систем
При рассмотрении термина «сервисно-ориентированная архитектура», полезно предварительно определить ключевые термины:
Архитектура это формальное описание системы, определяющее ее цели, функции, внешне видимые свойства, и интерфейсы. Она также включает описание внутренних компонентов системы и их отношений, наряду с принципами, управляющими ее дизайном, функционированием и возможной последующей эволюцией.
Сервис (служба) - программный компонент, к которому можно удаленно обратиться посредством компьютерной сети, и предоставляющая некоторые функциональные возможности запрашивающей стороне.
Сервисно-ориентированная архитектура (service-oriented architecture, SOA) является основой построения надежных распределенных систем, которые в качестве услуг предоставляют функциональные возможности, с дополнительным
акцентом на слабые связи между взаимодействующими сервисами.
Таким образом, SOA это архитектурный стиль, который подчеркивает реализацию компонентов системы как модульных сервисов, которые могут быть найдены и использованы клиентами. Вообще говоря, сервисы имеют следующие характеристики:
Сервисы могут быть полезными каждый сам по себе, или они могут быть объединены, чтобы предоставить единый высокоуровневый сервис. Среди других достоинств, это позволяет многократно использовать уже существующие функциональные возможности.
Сервис общаются со своими клиентами, обмениваясь сообщениями: фактически, сервисы и различаются/идентифицируются в соответствии с совокупностью сообщений, которые они могут принять и ответов, которые они могут направить запрашивающей стороне.
Сервис может участвовать в таких процессах обработки запросов, при которых порядок, в котором сообщения посылаются и принимаются, влияет на результат операций, выполненных сервисом. Это называется "сервисной хореографией" (service choreography) [5].
Сервис может быть полностью независимым, или может зависеть от существования других сервисов, или каких-либо ресурсов, например, баз данных. Простейшим примером первого типа является сервис, осуществляющий возведение в квадрат числа, посланного в запросе; примером второго типа является сервис, осуществляющий конвертацию валют – для этого ему необходим текущий валютный курс.
Сервисы предоставляют информацию о своих возможностях, интерфейсах, политике и поддерживаемых протоколах связи. Детали реализации, например, язык программирования и платформа, на которой он реализован, не нужны клиентам для направления запросов и не предоставляются.
Рис. 3 иллюстрирует простой цикл взаимодействия сервисов, который начинается с того, что данный сервис оповещает о своем существовании и свойствах посредством известного сервиса регистрации (1), свойства и способы взаимодействия с которым должны быть заранее известны клиентам.
Рис.3 Взаимодействие сервисов в SOA-среде
Потенциальный клиент, который может быть другим сервисом (или человеком), делает запрос в сервис регистрации (2), чтобы найти сервис, который удовлетворяет его потребностям. Регистрационный сервис возвращает (возможно пустой) список подходящих сервисов; клиент выбирает один из них и передает ему запрос, используя любой взаимно распознаваемый протокол (3). В этом примере, сервис отвечает (4), передавая или результат требуемой операции или сообщение об ошибке. На рисунке показан самый простой случай. В реальной установке процесс может быть значительно более сложным. Например, данный сервис может поддержать только HTTPS протокол, обслуживать только зарегистрированных пользователей, предлагать различные уровни сервиса различным пользователям, или требовать оплаты за использование. Представленный иллюстративный пример соответствует простому синхронному, двунаправленному способу обмена сообщениями, в то время как в реальной жизни взаимодействие может быть односторонним, или ответ может быть получен не от того сервиса, которому клиент посылал запрос, но от некоторого другого, которому он был передан для завершения обработки.
