Паттерны интеграции информационных систем представляют собой верхний уровень классификации шаблонов проектирования. Данный вид шаблонов имеет внутреннюю классификацию, по аналогии с рассмотренными в предыдущей главе паттернами архитектурного проектирования.
Интеграционные шаблоны предлагают различные варианты решений типовых задач, возникающих в ходе разработки интеграционных продуктов и процессов.
В шаблонах интеграции традиционно выделяют следующие группы паттернов:
Интеграционные шаблоны, по сравнению с архитектурными паттернами, являются более конкретными и содержат точные предписания по разработке специализированных программных компонент.
Если архитектурные шаблоны в большинстве своем содержали описание принципов, которые следует трактовать по-разному, в зависимости от конкретных условий программного окружения, то интеграционные шаблоны имеют однозначный алгоритм их реализации.
Подгруппа структурных интеграционных шаблонов содержит описание трех базисных паттернов, которые находятся в основе всех существующих реализаций интеграций. Данные шаблоны определяют фундамент интеграционных процессов, возможности для их последующего развития, а также задают их ограничения.
Паттерн "Точка-точка" – наиболее "авторитетный" из данной группы шаблонов. Суть этого шаблона зависит от возможности системы поставщика данных предоставить интеграционный интерфейс для активной системы.
Шаблон используется в основном при стихийной интеграции систем. Он может использоваться только в том случае, когда одна из систем занимает пассивную роль (поставщик), а другая – активную (потребитель).
Когда обе системы должны являться активными, данный паттерн не подходит.
(рис 4.1.1) Шаблон "Точка-точка"
Необходимым условием применения шаблона "Звезда" является наличие центральной компоненты в интеграционной среде, которая будет использоваться в качестве управляющего интеграционного модуля системы в целом.
Интеграционная среда при этом:
(рис 3.1.2) Шаблон "Звезда"
Этот способ совмещает в себе механизмы интеграции, описанные в шаблонах "Точка-точка" и "Звезда".
Его реализация связана с необходимостью компромиссного сочетания широких функциональных возможностей шаблона "Звезда" и простотой разработки паттерна "Точка-точка", применение которых может диктоваться специфическими требованиями (такими как безопасность) к разработке процесса интеграции.
Данный шаблон предполагает использование интерфейсов внешних систем непосредственно напрямую, в обход обшей интегрирующей среды.
Смешанный способ сочетает преимущества централизации управления процессами (шаблон "Звезда") взаимодействия систем, унификации интерфейсов, а также возможность использовать прямые интерфейсы между системами.
Под методом интеграции понимается способ передачи, который в своей основе оперирует тем или иным объектом. В роли объекта могут выступать как данные, так и сервисы или специфический функционал.
Это исторически первый подход в решении задач интеграции. Он характерен для традиционных систем "клиент-сервер", рассмотренных нами ранее. При интеграции приложений по данным основным системообразующим фактором при построении информационной системы является интегрированная база данных коллективного доступа. Концепция интеграции в этом подходе состоит в том, что приложения объединяются в систему вокруг интегрированных данных под управлением единого СУБД. Интегрирующей средой является промышленная база данных со стандартным интерфейсом доступа к ним. Все функции прикладной обработки размещаются в клиентских программах.
Применение этого шаблона к решению конкретных задач характерно, когда есть необходимость передачи больших объемов данных.
Ядром шаблона "Функционально-центрический" являются сервисы.
Системообразующим фактором функционально-центрического паттерна являются сервисы.Общеупотребительные прикладные и системные функции коллективного доступа, реализованные в виде серверных программ со стандартным API.
В качестве сервисов должны быть реализованы следующие функции:
Все сервисы являются интегрированными в том же смысле, что и интегрированные данные в базе данных коллективного доступа, т.е. реализуемые сервисами функции достоверны, непротиворечивы и общедоступны.
Интеграция в данном подходе состоит в том, что приложения объединяются в систему вокруг интегрированных сервисов со стандартизованным интерфейсом. Интегрирующей средой является сервер приложений или монитор транзакций со стандартным API.
При использовании паттерна "Функционально-центрический" приложение декомпозируется на три уровня:
Интеграционный шаблон "Функционально-центрический" наиболее удачно сочетается с архитектурным шаблоном "Клиент-сервер".
Концепция, описываемая в шаблоне проектирования "Объектно-центрический", состоит в том, что программные продукты объединяются вокруг общедоступных распределенных объектов со стандартными интерфейсами.
Характерными особенностями данного подхода к разработке программного обеспечения являются:
Данный паттерн проектирования наиболее удачно сочетается с шаблоном "Репозиторий", который должен выступать в виде объекта. Его реализация также наиболее удачно сочетается с шаблоном "Клиент-сервер" или же многослоевой архитектурой.
Условия, в которых требуется реализовать интеграцию в рамках единой системы разнородных интегрирующих средств, достаточно распространены в современном информационном мире.Как правило, в качестве интеграционных объектов выступают корпоративные информационные ландшафты, в которых применяются различные покупные и коробочные системы. Для подобных ситуаций залогом успеха является использование единой и унифицированной понятийной модели, представляющей собой базу метаданных, хранящую описания бизнес-объектов каждого из компонентов и отношения между этими объектами.
Обязательными условиями применения этого шаблона являются:
Преобразование сообщений в вызовы функций той или иной интегрирующей среды обеспечивается дополнительной интегрирующей оболочкой с единым интерфейсом, который предназначен только для обмена сообщениями.
Единицей информационного обмена в рассматриваемом подходе являются сообщения, поэтому целесообразно строить такое программное обеспечение на основе программных продуктов с архитектурой, основанной на обмене сообщениями.
Интеграционный шаблон на основе модели предметной области наиболее удачно сочетается с системами, спроектированными по архитектурному шаблону "Модель предметной области".
Следующая группа шаблонов конкретизирует способы обмена между системами. Рассматриваемые паттерны базируются на рассмотренных ранее структурных шаблонах и описывают способы их реализации.
Шаблон "Файловый обмен" основан на структурном шаблоне "Точка-точка". Его суть состоит в том, что "системы-источники" экспортируют необходимые данные в форматах (XML и пр.), пригодных для импорта и последующего преобразования и загрузки в "системы-потребители".
Этот шаблон является одним из вариантов реализации шаблона "Интеграция систем по данным". Он позволяет получить полностью интегрированную систему приложений, работающую с едиными данными в любой момент времени.
Изменения, произведенные в одном из приложений, автоматически отражаются в другом. За корректность и непротиворечивость данных отвечает многопользовательская СУБД.
Данный паттерн затруднительно интегрировать в уже существующие системы, но удобно использовать для вновь создаваемых.
Это пример реализации объектно-центрического шаблона проектирования. При таком подходе приложения интегрированы на уровне отдельных функций. Изменение данных в другой системе происходит с помощью удаленного вызова конкретной функции.
Каждая из систем самостоятельно заботится о поддержке данных в корректном состоянии, что является довольно сложной задачей и приводит к их возможной деконсистентности.
Данный тип интеграции приложений основан на асинхронном обмене сообщениями с помощью общей шины данных и предназначен для интеграции независимых приложений. За логику интеграции отвечает интеграционная шина, в отличие от других типов интеграции, где за логику интеграции отвечала одна из интегрируемых систем. Такой подход позволяет интегрировать новые системы, а также изменять логику интеграции, легко приводя ее в соответствие с бизнес-логикой процесса.
В данной лекции мы обсудили одну из основных групп паттернов проектирования – интеграционные шаблоны. Важность и значимость этой группы шаблонов в ближайшем будущем будет только возрастать, учитывая современные тенденции к интеграции корпоративных информационных систем, созданию концепции мировых электронных правительств и т.д.
Необходимо отметить, что в данной группе содержатся как достаточно концептуальные шаблоны, описывающие подходы к проектированию ("На основе предметной области", "Функционально-центрический", "Объектно-центрический" и пр.), так и шаблоны, предлагающие конкретные решения по реализации интеграций ("Файловый обмен","Удаленный вызов данных" и пр.).
Паттерны интеграции информационных систем представляют собой верхний уровень классификации шаблонов проектирования. Данный вид шаблонов имеет внутреннюю классификацию, по аналогии с рассмотренными в предыдущей главе паттернами архитектурного проектирования.
Интеграционные шаблоны предлагают различные варианты решений типовых задач, возникающих в ходе разработки интеграционных продуктов и процессов.
В шаблонах интеграции традиционно выделяют следующие группы паттернов:
Интеграционные шаблоны, по сравнению с архитектурными паттернами, являются более конкретными и содержат точные предписания по разработке специализированных программных компонент.
Если архитектурные шаблоны в большинстве своем содержали описание принципов, которые следует трактовать по-разному, в зависимости от конкретных условий программного окружения, то интеграционные шаблоны имеют однозначный алгоритм их реализации.
Подгруппа структурных интеграционных шаблонов содержит описание трех базисных паттернов, которые находятся в основе всех существующих реализаций интеграций. Данные шаблоны определяют фундамент интеграционных процессов, возможности для их последующего развития, а также задают их ограничения.
Паттерн "Точка-точка" – наиболее "авторитетный" из данной группы шаблонов. Суть этого шаблона зависит от возможности системы поставщика данных предоставить интеграционный интерфейс для активной системы.
Шаблон используется в основном при стихийной интеграции систем. Он может использоваться только в том случае, когда одна из систем занимает пассивную роль (поставщик), а другая – активную (потребитель).
Когда обе системы должны являться активными, данный паттерн не подходит.
(рис 4.1.1) Шаблон "Точка-точка"
Необходимым условием применения шаблона "Звезда" является наличие центральной компоненты в интеграционной среде, которая будет использоваться в качестве управляющего интеграционного модуля системы в целом.
Интеграционная среда при этом:
(рис 3.1.2) Шаблон "Звезда"
Этот способ совмещает в себе механизмы интеграции, описанные в шаблонах "Точка-точка" и "Звезда".
Его реализация связана с необходимостью компромиссного сочетания широких функциональных возможностей шаблона "Звезда" и простотой разработки паттерна "Точка-точка", применение которых может диктоваться специфическими требованиями (такими как безопасность) к разработке процесса интеграции.
Данный шаблон предполагает использование интерфейсов внешних систем непосредственно напрямую, в обход обшей интегрирующей среды.
Смешанный способ сочетает преимущества централизации управления процессами (шаблон "Звезда") взаимодействия систем, унификации интерфейсов, а также возможность использовать прямые интерфейсы между системами.
Под методом интеграции понимается способ передачи, который в своей основе оперирует тем или иным объектом. В роли объекта могут выступать как данные, так и сервисы или специфический функционал.
Это исторически первый подход в решении задач интеграции. Он характерен для традиционных систем "клиент-сервер", рассмотренных нами ранее. При интеграции приложений по данным основным системообразующим фактором при построении информационной системы является интегрированная база данных коллективного доступа. Концепция интеграции в этом подходе состоит в том, что приложения объединяются в систему вокруг интегрированных данных под управлением единого СУБД. Интегрирующей средой является промышленная база данных со стандартным интерфейсом доступа к ним. Все функции прикладной обработки размещаются в клиентских программах.
Применение этого шаблона к решению конкретных задач характерно, когда есть необходимость передачи больших объемов данных.
Ядром шаблона "Функционально-центрический" являются сервисы.
Системообразующим фактором функционально-центрического паттерна являются сервисы.Общеупотребительные прикладные и системные функции коллективного доступа, реализованные в виде серверных программ со стандартным API.
В качестве сервисов должны быть реализованы следующие функции:
Все сервисы являются интегрированными в том же смысле, что и интегрированные данные в базе данных коллективного доступа, т.е. реализуемые сервисами функции достоверны, непротиворечивы и общедоступны.
Интеграция в данном подходе состоит в том, что приложения объединяются в систему вокруг интегрированных сервисов со стандартизованным интерфейсом. Интегрирующей средой является сервер приложений или монитор транзакций со стандартным API.
При использовании паттерна "Функционально-центрический" приложение декомпозируется на три уровня:
Интеграционный шаблон "Функционально-центрический" наиболее удачно сочетается с архитектурным шаблоном "Клиент-сервер".
Концепция, описываемая в шаблоне проектирования "Объектно-центрический", состоит в том, что программные продукты объединяются вокруг общедоступных распределенных объектов со стандартными интерфейсами.
Характерными особенностями данного подхода к разработке программного обеспечения являются:
Данный паттерн проектирования наиболее удачно сочетается с шаблоном "Репозиторий", который должен выступать в виде объекта. Его реализация также наиболее удачно сочетается с шаблоном "Клиент-сервер" или же многослоевой архитектурой.
Условия, в которых требуется реализовать интеграцию в рамках единой системы разнородных интегрирующих средств, достаточно распространены в современном информационном мире.Как правило, в качестве интеграционных объектов выступают корпоративные информационные ландшафты, в которых применяются различные покупные и коробочные системы. Для подобных ситуаций залогом успеха является использование единой и унифицированной понятийной модели, представляющей собой базу метаданных, хранящую описания бизнес-объектов каждого из компонентов и отношения между этими объектами.
Обязательными условиями применения этого шаблона являются:
Преобразование сообщений в вызовы функций той или иной интегрирующей среды обеспечивается дополнительной интегрирующей оболочкой с единым интерфейсом, который предназначен только для обмена сообщениями.
Единицей информационного обмена в рассматриваемом подходе являются сообщения, поэтому целесообразно строить такое программное обеспечение на основе программных продуктов с архитектурой, основанной на обмене сообщениями.
Интеграционный шаблон на основе модели предметной области наиболее удачно сочетается с системами, спроектированными по архитектурному шаблону "Модель предметной области".
Следующая группа шаблонов конкретизирует способы обмена между системами. Рассматриваемые паттерны базируются на рассмотренных ранее структурных шаблонах и описывают способы их реализации.
Шаблон "Файловый обмен" основан на структурном шаблоне "Точка-точка". Его суть состоит в том, что "системы-источники" экспортируют необходимые данные в форматах (XML и пр.), пригодных для импорта и последующего преобразования и загрузки в "системы-потребители".
Этот шаблон является одним из вариантов реализации шаблона "Интеграция систем по данным". Он позволяет получить полностью интегрированную систему приложений, работающую с едиными данными в любой момент времени.
Изменения, произведенные в одном из приложений, автоматически отражаются в другом. За корректность и непротиворечивость данных отвечает многопользовательская СУБД.
Данный паттерн затруднительно интегрировать в уже существующие системы, но удобно использовать для вновь создаваемых.
Это пример реализации объектно-центрического шаблона проектирования. При таком подходе приложения интегрированы на уровне отдельных функций. Изменение данных в другой системе происходит с помощью удаленного вызова конкретной функции.
Каждая из систем самостоятельно заботится о поддержке данных в корректном состоянии, что является довольно сложной задачей и приводит к их возможной деконсистентности.
Данный тип интеграции приложений основан на асинхронном обмене сообщениями с помощью общей шины данных и предназначен для интеграции независимых приложений. За логику интеграции отвечает интеграционная шина, в отличие от других типов интеграции, где за логику интеграции отвечала одна из интегрируемых систем. Такой подход позволяет интегрировать новые системы, а также изменять логику интеграции, легко приводя ее в соответствие с бизнес-логикой процесса.
В данной лекции мы обсудили одну из основных групп паттернов проектирования – интеграционные шаблоны. Важность и значимость этой группы шаблонов в ближайшем будущем будет только возрастать, учитывая современные тенденции к интеграции корпоративных информационных систем, созданию концепции мировых электронных правительств и т.д.
Необходимо отметить, что в данной группе содержатся как достаточно концептуальные шаблоны, описывающие подходы к проектированию ("На основе предметной области", "Функционально-центрический", "Объектно-центрический" и пр.), так и шаблоны, предлагающие конкретные решения по реализации интеграций ("Файловый обмен","Удаленный вызов данных" и пр.).
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.