
- •Государственное образовательное учреждение высшего профессионального образования
- •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.2 Анализ архитектуры приложения
Приложение построено на сервис-ориентированной архитектуре, использование которой необходимо для выполнения определенных требований и обеспечения гибкости внутри системы. Одним из основных аспектов является концепция разделения на слои. Система представляет собой платформу, предназначенную для управления сервисами и их выполнения. Система ориентирована на пользователя или автомобиль для различных групп пользователей.
Device Gateway
Vehicle Interface
B2B Interface External Interface
End User Services
…………
Weather
Parking
Security and Identity
Monitoring and Control
Service Registry
Central Platform Services
Security
Conv. Management
Рис. 2 Общая архитектура приложения
В операционную платформу будут интегрированы продукты для создания ESB приложений и использованы в качестве SOA компонентов. Эти продукты могут быть использованы как для работы, управления и осуществления контроля, так и в качестве доставки служб внутрь автомобиля и дальнейшего подключения различных внешних систем к платформе. На следующем рисунке более детально показаны используемые слои приложения.
Рис. 3 Детальная архитектура приложения
Внутренний интерфейс приложения состоит из 6 различных кластеров / слоев, назначение которых более подробно будет объяснено позже:
Device Gateway, к которому имеет доступ конечный пользователь;
End User Services, предоставляющие сервисы конечному пользователю.
Service Integration Layer, предоставляющий сервисы для администрирования, мониторинга и т.д.
Central Platform Services, предоставляющие центральные сервисы, которые необходимы всем остальным кластерам.
B2B Interface, предоставляющий B2B сервисы интеграции.
Security PKI, обеспечивающий безопасные условия для ключей и сертификатов.
Device Gateway действует как прокси между мобильными устройствами или приборами, установленными в автомобиле, и другими кластерами. Device Gateway представляет собой группу компонентов, отвечающих за обработку входящих сообщений или запросов на обслуживание с мобильных устройств или других клиентов сети. Device Gateway помогает достичь высокой пропускной способности и малого времени задержки в обработке запросов сервисов в рамках платформы путем отделения основных компонентов бизнес-логики от тех, которые касаются получения сообщения. Слой состоит из нескольких WSO2 ESB, содержащих прокси для слоя End User Services.Устройство, которое запрашивает услугу, посылает свой запрос на Device Gateway.Входящий запрос перенаправляется в целевую службу, которая является частью кластера "End User Service". Для перенаправления запроса, целевая служба или слой презентации должны быть переопределены (Conv.Resolver). После этого запрос должен быть отослан целевому компоненту (Dispachter).
Слой End User Services содержит веб-представление и веб-сервисы для приложений, предусмотренных устройством и предназначенных для конечного пользователя (например, Weather, Parking и т.д.,). Как правило, приложение состоит хотя бы из одного веб-представления и по крайней мере одного сервисного компонента. За время существования, различные версии могут быть добавлены и предоставлены одновременно. Система построена на гибкой и интегрированной среде выполнения, где Tomcat и WSO2 AS используются в кластере. Сервисы могут быть построены не только на основе фремворка Spring, но и на других парадигмах Java. Важной особенностью так же является многоуровневая внутренняя архитектура самих приложений.
Central Platform Services предоставляют широкий спектр платформенных сервисов, необходимых всем сервисам, например, доступ к данным и т.д.
Service Integration Layer содержит сервисы для управления, мониторинга и администрирования платформы. Этот слой соединяет все другие, и наследует управление интерфейсами и сервисные адаптеры.
B2B Interface предоставляет интерфейсы внешних сервисов, которые могут быть использованы для принятия внешних сервисов, таких как Twitter или RSS, эти сервисы будут называться Service Adapters.
PKI инфраструктура публичных ключей, которая обрабатывает сертификаты транспортных средств.
Основным требованием,
выдвигаемым заказчиком было то, что
клиент не может напрямую обратится к
любому из компонентов и слоев архитектуры.
Все запросы, приходящие от клиента,
должны идти на Device Gateway,
где они контролируются на каждом
обращении к сервисам или внешним
ресурсам. Это делается для того, чтобы
осуществить безопасность, нахождение
проблемных мест, анализируя их и улучшая
разрабатываемое приложение. Схема
маршрутов движения запросов представлена
на следующем рисунке.
Рис. 4. Схема движения запросов в приложении
Инфраструктура и техническая архитектура выполнены в виде многоуровневой архитектуры с четырьмя разделенными зонами. Разделение также происходит на уровне 2 между web-уровнем и бизнес-логикой. Слои поддерживают гибкость и масштабируемость всей системы.
Рис. 4 Техническая архитектура приложения