Опубликован: 12.10.2017 | Доступ: свободный | Студентов: 857 / 143 | Длительность: 07:43:00
Лекция 4:

Интеграционные шаблоны проектирования

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

Объектно-центрический

Концепция, описываемая в шаблоне проектирования "Объектно-центрический", состоит в том, что программные продукты объединяются вокруг общедоступных распределенных объектов со стандартными интерфейсами.

Характерными особенностями данного подхода к разработке программного обеспечения являются:

  • унифицированный язык спецификации интерфейсов объектов;
  • отделение реализации компонентов от спецификации их интерфейсов;
  • общий механизм поддержки взаимодействия объектов, реализуемый в виде брокер-объектных запросов или общей интеграционной шины, поддерживающей взаимодействие объектов.

Данный паттерн проектирования наиболее удачно сочетается с шаблоном "Репозиторий", который должен выступать в виде объекта. Его реализация также наиболее удачно сочетается с шаблоном "Клиент-сервер" или же многослоевой архитектурой.

На основе модели предметной области

Условия, в которых требуется реализовать интеграцию в рамках единой системы разнородных интегрирующих средств, достаточно распространены в современном информационном мире.Как правило, в качестве интеграционных объектов выступают корпоративные информационные ландшафты, в которых применяются различные покупные и коробочные системы. Для подобных ситуаций залогом успеха является использование единой и унифицированной понятийной модели, представляющей собой базу метаданных, хранящую описания бизнес-объектов каждого из компонентов и отношения между этими объектами.

Обязательными условиями применения этого шаблона являются:

  • поддержка соответствия между интегрируемыми компонентами и их атрибутами;
  • Реализация атрибутов и интеграционных компонентов должны быть независимы от конкретного программного обеспечения.
    • Основная задача интеграции – разработка компонентов, основанных на единой понятийной модели, описывающей объекты предметной области, их взаимосвязи и поведение.

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

Единицей информационного обмена в рассматриваемом подходе являются сообщения, поэтому целесообразно строить такое программное обеспечение на основе программных продуктов с архитектурой, основанной на обмене сообщениями.

Интеграционный шаблон на основе модели предметной области наиболее удачно сочетается с системами, спроектированными по архитектурному шаблону "Модель предметной области".

Шаблоны по типу обмена данными

Следующая группа шаблонов конкретизирует способы обмена между системами. Рассматриваемые паттерны базируются на рассмотренных ранее структурных шаблонах и описывают способы их реализации.

Файловый обмен

Шаблон "Файловый обмен" основан на структурном шаблоне "Точка-точка". Его суть состоит в том, что "системы-источники" экспортируют необходимые данные в форматах (XML и пр.), пригодных для импорта и последующего преобразования и загрузки в "системы-потребители".

Общая база данных

Этот шаблон является одним из вариантов реализации шаблона "Интеграция систем по данным". Он позволяет получить полностью интегрированную систему приложений, работающую с едиными данными в любой момент времени.

Изменения, произведенные в одном из приложений, автоматически отражаются в другом. За корректность и непротиворечивость данных отвечает многопользовательская СУБД.

Данный паттерн затруднительно интегрировать в уже существующие системы, но удобно использовать для вновь создаваемых.

Удаленный вызов данных

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

Каждая из систем самостоятельно заботится о поддержке данных в корректном состоянии, что является довольно сложной задачей и приводит к их возможной деконсистентности.

Обмен сообщениями

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

Заключение об интеграционных шаблонах

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

Необходимо отметить, что в данной группе содержатся как достаточно концептуальные шаблоны, описывающие подходы к проектированию ("На основе предметной области", "Функционально-центрический", "Объектно-центрический" и пр.), так и шаблоны, предлагающие конкретные решения по реализации интеграций ("Файловый обмен","Удаленный вызов данных" и пр.).

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >