
- •Государственное образовательное учреждение высшего профессионального образования
- •230201 Информационные системы и технологии
- •Оглавление
- •Введение
- •1. Постановка задачи
- •2. Анализ задачи
- •2.1 Анализ требований заказчика
- •2.2 Анализ архитектуры приложения
- •2.3 Анализ предметной области
- •2.3.1 Сервисная шина предприятия
- •2.3.2 Основы архитектуры soa
- •2.3.3 Составляющие базовой архитектуры soa
- •2.3.4 Роль esb в архитектуре soa
- •2.3.5 Роль веб-сервисов в soa
- •2.4 Анализ существующих аналогов esb технологий
- •2.4.5 Проведение тестов
- •2.5 Анализ используемых средств
- •2.5.7 Фреймворк Spring
- •3. Реализация
- •3.1 Описание архитектуры приложения
- •3.2 Структура базы данных
- •3.3 Реализация классов
- •3.3.1 Диаграмма пакетов
- •3.3.2 Слой dao
- •3.3.3 Контроллер
- •3.3.4 Бизнес логика
- •3.4 Развертывание приложения
- •Заключение
- •Список литературы
2.3 Анализ предметной области
2.3.1 Сервисная шина предприятия
Сервисная шина предприятия (англ. enterprise service bus, ESB) — связующий программный продукт, обеспечивающий централизованный и унифицированный событийно-ориентированный обмен сообщениями между различными информационными системами по принципу сервис-ориентированной архитектуры.
Основной принцип ESB — концентрация обмена сообщениями между различными системами через единую точку, в которой, при необходимости, обеспечивается транзакционный контроль, преобразование данных, сохранность сообщений. Все настройки обработки и передачи сообщений предполагаются также сконцентрированными в единой точке, и формируются в терминах служб, таким образом, при замене какой-либо информационной системы, подключённой к шине, нет необходимости в перенастройке остальных систем.
Наименование подобрано по аналогии с системной шиной компьютера, позволяющей подключать несколько устройств и передавать данные между ними по одному набору проводников.
Основными задачами ESB являются:
Поддержка синхронного и асинхронного способа вызова служб;
Использование защищённого протокола передачи сообщений с гарантией доставки;
Статическая и алгоритмическая маршрутизация сообщений;
Доступ к данным из сторонних информационных систем с помощью готовых или специально разработанных адаптеров;
Обработка и преобразование сообщений;
Разнообразные механизмы контроля и управления (аудиты, протоколирование).
Конкретные программные продукты обычно также содержат готовые адаптеры для соединения с определенным прикладным программным обеспечением, а также могут включать API для создания таких адаптеров.
2.3.2 Основы архитектуры soa
Сервис-ориентированная архитектура (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных (англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам.
Программные комплексы, разработанные в соответствии с сервис-ориентированной архитектурой, обычно реализуются как набор веб-служб, взаимодействующих по протоколу SOAP, но существуют и другие реализации (например, на базе jini, CORBA, на основе REST).
Интерфейсы компонентов в сервис-ориентированной архитектуре инкапсулируют детали реализации (операционную систему, платформу, язык программирования) от остальных компонентов, таким образом обеспечивая комбинирование и многократное использование компонентов для построения сложных распределённых программных комплексов, обеспечивая независимость от используемых платформ и инструментов разработки, способствуя масштабируемости и управляемости создаваемых систем.
Теперь рассмотрим некоторые более сложные технические аспекты, такие как роль ESB, бизнес-процессы, а также роль веб-сервисов.
2.3.3 Составляющие базовой архитектуры soa
Базовая архитектура SOA состоит из провайдера сервисов, сервиса и (необязательного) каталога сервисов. Для обмена информацией используется механизм обмена сообщениями типа "приложение к приложению".
Сходство между этой моделью и чистыми веб-сервисами совершенно очевидно, поскольку в обоих случаях применяется WSDL-документ, являющийся контрактом по активизации, хранящимся в каталоге сервисов, из которого этот сервис может быть запрошен и извлечен посредством механизма UDDI (UDDI — это отраслевая спецификация для публикации и поиска информации о веб-службах). Веб-сервисы в действительности являются реализацией архитектуры SOA на самом базовом уровне.
В этой модели базовый сценарий таков. Сначала провайдер сервиса создает сервис, принимает решение открыть этот сервис и публикует его. Публикация выполняется путем отправки информации о сервисе в каталог сервисов. С другой стороны, инициатор запросов сервиса, нуждаясь в определенном сервисе, просматривает каталог сервисов в поисках того из них, который удовлетворяет необходимому критерию. После обнаружения такого сервиса и использования доступной в каталоге сервисов информации инициатор запросов сервиса может напрямую обратиться к провайдеру сервисов надлежащим способом для удовлетворения бизнес-потребности.