Table of Contents

A Pattern Language for Service-based Platform Integration and Adaptation

Ioanna Lytra, Stefan Sobernig, Huy Tran, and Uwe Zdun. 2012. A pattern language for service-based platform integration and adaptation. In Proceedings of the 17th European Conference on Pattern Languages of Programs (EuroPLoP '12). ACM, New York, NY, USA, , Article 4 , 27 pages. DOI=http://dx.doi.org/10.1145/2602928.2603080

Основная часть

Программная платформа - совокупность программных подсистем, которые все вместе формируют переиспользуtмую инфраструктуру для разработки приложений. Для сборки конкретного приложения с переиспользованием артефактов платформы выполняется кастомизация и конфигурирование одного из интерфейсов.

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

Язык шаблонов

Введем четыре основные категории решений при проектирования: адаптация и интеграция, дизайн интерфейса, стиль коммуникации, поток коммуникации (направление стрелки показывает на категорию решений, осуществляемую после. Стрелка в обе стороны показывает, что категории решений могут разрабатываться параллельно).

Интеграция и адаптация

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

Дизайн интерфейса

Стиль коммуникации

Поток коммуникации

На рисунке ниже представлена часть архитектуры интеграции, содержащей три платформы на бэкенде(Yard Management System YMS, Warehouse Management System WMS, Remote Maintenance System RMS), Virtual Service Platform (VSP) и приложение.

Два типичных дизайна потока общения между приложением и тремя платформами:

Заключение

В данной работе освещаются существующие паттерны и решения дизайна, относящиеся к интеграции и адаптации платформ и объединяются в исчерпывающий язык паттернов. Существуют различные шаблоны проектирования на разных уровнях абстракции. Их недостаток в том, что они описаны с разных точек зрения. Также не очень удобно просматривать большое количество литературы, чтобы найти приемлемое решение в конкретном случае. В данной статье авторы пытаются создать универсальный язык, которому будут следовать архитекторы и разработчики для построения решения с подходящей интеграцией и адаптацией платформ.