Добрый день.
Задел по структуре форума просто потрясающий. Честно говоря удивлен, что тут до сих пор не развернулось оживленных бесед.
Судя по структуре сайта и информационным посланиям, можно утверждать что это не столько форум, сколько web-портал профессионального сообщества, инициированный ЦСИ "Интегро". В связи с чем - ряд вопросов:
1) Предмет взаимодействия - ИСОГД (и муниципальные системы) или этот предмет шире?
2) Насколько это сообщество открыто?
ModeratorGorbi писал(а):Скоро мы планируем (чуть станет больше времени) пригласить сюда дружественных разработчиков
кто-то может попасть к категорию "не дружественных"?
Собственно, предмет моего вопроса:
шаблоны интеграции корпоративных приложений.
Это в сегодняшних реалиях ОЧЕНЬ актуальный и, я бы даже сказал, больной вопрос.
Почему актуальный? Да потому что стремительно уходит в прошлое эпоха систем с коротким жизненным циклом, быстро устаревающих по техническим причинам. 21 век в информатике - однозначно век открытых, "долгоиграющих" систем, систем с условными границами.
Почему больной? Потому что на стыке с проблемами интеграции лежит вопрос экономики и ценообразования в IT. Разработка открытых систем и механизмов интеграции сильно тормозится правообладателями, которые, зачастую сами того не осознавая, препятствуют проникновению "свежих" тенденции на занятые ими ниши.
Что конкретно я имею в виду под интеграцией. В данном случае - крупными набросками, организационно-методологические подходы к связыванию и гармонизации предметно-ориентированного функционала систем (в терминах жизненного цикла информационных систем). Предлагаю к критическому рассмотрению четырехэтапную модель интеграции (если хотите, паттерн).
Предлагаемый паттерн, разумеется, не универсальный - он имеет свою область применения, а конкретно - интеграция действующей корпоративной системы с некоторой внешней, развитой в функциональном плане, реестровой системой для делегирования внешней системе части проблемно-ориентированных функций.
Этап 1. Связывание интерфейсов низкого уровняИспользуются только общие для интегрируемых систем "низкоуровневые" интерфейсы (SQL, TCP/IP, NTFS/FAT, WMS/WFS, XML и т.д.). Строятся инструменты для «вытягивания» данных из сторонних систем. Внешняя система получает статус "источника данных". При этом, семантическая трактовка получаемых данных и ответственность за их качество остаётся полностью на интегрирующей системе.
Этап 2. Наладка асинхронного взаимодействияНа втором этапе интеграции предъявляется требование «обменного формата» - такого, что ответственность за семантический смысл и качество данных перекладывается на внешнюю систему (на уровне обоюдного соглашения). Происходит разграничение зон ответственности систем на уровне данных.
Этап 3. Объединение жизненных цикловНа третьем этапе интеграции, когда за счет регламента цифрового описания функциональная ответственность интегрируемой системы четко ограничена и определена, порядок её использования включается в общее нормативно-методическое обеспечение системы (например, перестраивается регламент использования системы, или пишется согласованное руководство по совместному использованию). Таким образом формально обеспечивается общий жизненный цикл систем.
Очевидно, что т.к. на этом этапе интегрируемая система переходит из статуса источника данных в статус подсистемы, то ей делегируется весь спектр функциональных направлений (хранение и обработка данных, взаимодействие с пользователем и т.д.). Соответственно, в ходе очередного витка совместного жизненного цикла, центральная система модифицируется для снятия с себя части соответствующих полномочий. Соответствующим образом перестраивается проектная документация (спецификации требований, технические проекты и т.д.). Происходит разграничение зон ответственности на уровне функций.
Этап 4. Динамическая интеграция и отчуждениеВ ходе одной или более итераций совместного жизненного цикла, разрабатывается система программного взаимодействия систем (например, web-интерфейсы).
После того как взаимодействие налажено и составлены соответствующие спецификации подсистема отчуждается и становится внешней по отношению к контуру интегрирующей системы. Взаимодействие осуществляется динамически, в соответствии со спецификациями. Дальнейшие витки жизненных циклов становятся вновь независимыми.
В качестве источника технической информации по данному вопросу, так сказать задела, наводящего мосты между упомянутыми шаблонами "банды четырех" и поднятой темой, предлагаю рассматривать относительно свежую монографию:
Грегор Хоп, Бобби Фульф, "Шаблоны интеграции корпоративных предложений": "Вильямс", 2007
(имеется, к стати, предисловие Фаулера)
С уважением,
Коршунов Максим, дружественный разработчик, г. Екатеринбург