
- •Конспект лекций модуля № 4 "Целевой курс" дисциплины "Распределенные программные системы и технологии" Тема 11. Системы параллельных вычислений
- •11.1.1. Общие понятия
- •11.1.2. Функции управления задачами
- •11.1.3. Взаимодействие задач
- •11.1.3.1 Типы взаимодействия
- •11.1.3.2 Выполнение взаимодействия
- •11.1.4. Синхронизация работы задач
- •11.2.1. Общие сведения
- •11.2.2. Основные понятия
- •11.2.3. Функции mpi
- •11.2.4. Функции управления процессами
- •11.2.3. Взаимодействие процессов
- •11.2.3.1 Прием/передача сообщений с блокировкой
- •11.2.3.2 Прием/передача сообщений без блокировки
- •11.2.3.3 Объединение запросов на взаимодействие
- •11.2.3.4 Совмещенные прием/передача сообщений
- •11.2.3.5 Коллективные взаимодействия процессов
- •12.1.2. Уровень заглушки и скелета
- •12.1.3. Уровень удаленных ссылок
- •12.1.4. Транспортный уровень
- •12.1.2. Взаимодействие
- •2.1.3 Идентификация объектов
- •2.1.4. Синхронизация вызовов методов
- •2.1.5. Безопасность
- •Тема 13. Сервисно-ориетированные архитектуры
- •13.1.1. Стандарт Web - сервисов
- •13.1.2. Взаимодействие Web-служб
- •13.1.3. Идентификация служб
- •13.1.5. Отказоустойчивость Web-служб
- •13.1.6. Безопасность Web-служб
- •13.2. Сервисно-ориентированная архитектура
- •13.2.1. Концепция soa
- •13.2.2. Характеристики соа
- •13.2.3. Компоненты соа
- •13.3. Оркестровка Web - сервисов
- •13.3.1. Основные понятия
- •13.3.2. Организация основанная на потоках работ
- •13.3.3. Язык bpel
- •Тема 14. Многоагентные системы
- •14.1. Определение агента
- •14.2. Применение агентов
- •14.2. Стандарты технологии мобильных агентов
- •14.2.1. Стандарт masif
- •14.2.2. Стандарт fipa
- •14.3. Языки взаимодействия агентов.
- •Тема 15. Распределенные базы данных
- •15.1. Определение Дэйта.
- •15.2. Свойства распределенных бд
- •15.2.1 Целостность данных
- •15.2.2 Прозрачность расположения
- •15.2.3 Обработка распределенных запросов
- •15.2.4 Межоперабельность
- •15.2.5 Технология тиражирования данных
- •15.2.6 Архитектура "клиент-сервер"
- •15.3.1 Концепция ejb
- •15.3.2. Компоненты ejb
- •15.3.3 Этапы создания ejb-проектов
- •Тема 16. Аппаратное обеспечение распределенных встроенных систем
- •16.1. Перспективы развития и области применения распределенных встроенных систем
- •16.2. Функциональная классификация микропроцессоров
- •16.2.1. Процессоры общего назначения и специализированные процессоры
- •16.2.2. Микроконтроллеры
- •16.2.3. Процессоры цифровой обработки сигналов
- •16.2.4. Конфигурируемые процессоры и перепрограммируемы системы на кристалле
- •16.2.5. Эволюция микропроцессоров
13.1.5. Отказоустойчивость Web-служб
Возможность обеспечения отказоустойчивости Web-служб заложена в архитектуру приложений на их основе. Ее можно добиться дублированием их реализаций и регистрацией нескольких точек доступа к службам, реализующим один и тот же интерфейс.
Для обеспечения отказоустойчивости при передаче сообщений разрабатывается дополнительный стандарт WS-Reliability [28], расширяющий SOAP. Использование WS-Reliability позволяет гарантировать доставку сообщений, используемых в работе Web-служб.
13.1.6. Безопасность Web-служб
Наиболее вероятным кандидатом на место широко используемого стандарта защиты информации, передаваемой в сообщениях при работе с Web-службами, является стандарт WS-Security [18,29].
Он расширяет SOAP, добавляя в заголовки сообщений этого протокола информацию, с помощью которой можно подтвердить целостность сообщения, подтвердить личность отправителя или затруднить доступ к его содержанию для третьих партий, определив алгоритм шифрования содержимого.
13.2. Сервисно-ориентированная архитектура
13.2.1. Концепция soa
Се́рвисно-ориенти́рованная архитекту́ра (англ. SOA, service-oriented architecture) — подход к разработке программного обеспечения, основанный на использовании сервисов (служб) со стандартизированными интерфейсами.
Компоненты программы могут быть распределены по разным узлам сети, и предлагаются как независимые, слабо связанные, заменяемые сервисы-приложения.
СОА - это модель для объединения вычислительных ресурсов (в основном, приложений и данных) с требованиями достижения желаемых результатов для потребителей сервисов (которые могут быть представлены как конечными пользователями, так и другими сервисами). OASIS (Организация по Продвижению Стандартов Структурированной Информации) определяет СОА следующим образом:
Парадигма для организации и использования распределенных возможностей, которые могут принадлежать доменам с различными владельцами. Она предоставляет универсальные средства по предложению, раскрытию, взаимодействию и использованию возможностей для производства желаемых эффектов, согласующихся с измеряемыми предусловиями и ожиданиями.
Архитектура не привязана к какой-то определённой технологии. Она может быть реализована с использованием широкого спектра технологий, включая такие технологии как REST, RPC, DCOM, CORBA или веб-сервисы. SOA может быть реализована используя один из этих протоколов и, например, может использовать механизм файловой системы для обмена данными. Главное, что отличает SOA, это использование независимых сервисов с чётко определёнными интерфейсами, которые могут быть вызваны стандартным способом для выполнения их задач, при условии, что сервисы заранее ничего не знают о приложении, которое их вызовет, а приложение не знает каким образом сервисы выполняют свою задачу.
СОА также может быть рассматриваться как стиль архитуктуры информационных систем, который позволяет создавать приложения, построенные путём комбинации слабо-связанных и взаимодействующих сервисов. Эти сервисы взаимодействуют на основе строго определённого платформенно-независимого и языково-независимого интерфейса (например, WSDL). Определение интерфейса скрывает языково-зависимую реализацию сервиса. Таким образом системы, основанные на СОА, могут быть независимы от технологий разработки и платформ (таких как Java, .NET и т.д.). К примеру, сервисы, написанные на C#, работающие на платформах .Net и сервисы на Java, работающие на платформах Java EE, могут быть с одинаковым успехом вызваны общим составным приложением. Приложения, работающие на одних платформах, могут вызывать сервисы, работающие на других платформах, что облегчает повторное использование компонентов.
СОА может поддерживать интеграцию и консолидацию операций в составе сложных систем, однако СОА не определяет и не предоставляет методологий или фреймворков для документирования сервисов.