Вопросы создания качественной архитектуры ПО

Вопросы создания качественной архитектуры ПО

Сообщение ModeratorGorbi » 28 авг 2009, 00:24

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

Сейчас немного не хватает времени в связи с разработкой критериев сравнения АИС ОГД, но это действо преходящее, а реально этот сайт хочется развить именно в направлении каркасного программирования, о чем в интернете чрезвычайно мало информации в виду довольно высокого уровня абстракций, используемых в данной методологии.

Скоро мы планируем (чуть станет больше времени) пригласить сюда дружественных разработчиков, чтобы попытаться создать "теплую компанию" программистов, которые не просто кодируют, а проектируют большие системы.

С уважением, Горбачев Вадим
Аватар пользователя
ModeratorGorbi
 
Сообщений: 24
Зарегистрирован: 18 авг 2009, 14:45

Re: Вопросы создания качественной архитектуры ПО

Сообщение korshunov » 19 окт 2009, 17:16

Добрый день.

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

Судя по структуре сайта и информационным посланиям, можно утверждать что это не столько форум, сколько web-портал профессионального сообщества, инициированный ЦСИ "Интегро". В связи с чем - ряд вопросов:
1) Предмет взаимодействия - ИСОГД (и муниципальные системы) или этот предмет шире?
2) Насколько это сообщество открыто?

ModeratorGorbi писал(а):Скоро мы планируем (чуть станет больше времени) пригласить сюда дружественных разработчиков


кто-то может попасть к категорию "не дружественных"? :)

Собственно, предмет моего вопроса: шаблоны интеграции корпоративных приложений.

Это в сегодняшних реалиях ОЧЕНЬ актуальный и, я бы даже сказал, больной вопрос.
Почему актуальный? Да потому что стремительно уходит в прошлое эпоха систем с коротким жизненным циклом, быстро устаревающих по техническим причинам. 21 век в информатике - однозначно век открытых, "долгоиграющих" систем, систем с условными границами.
Почему больной? Потому что на стыке с проблемами интеграции лежит вопрос экономики и ценообразования в IT. Разработка открытых систем и механизмов интеграции сильно тормозится правообладателями, которые, зачастую сами того не осознавая, препятствуют проникновению "свежих" тенденции на занятые ими ниши.

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

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

Этап 1. Связывание интерфейсов низкого уровня

Используются только общие для интегрируемых систем "низкоуровневые" интерфейсы (SQL, TCP/IP, NTFS/FAT, WMS/WFS, XML и т.д.). Строятся инструменты для «вытягивания» данных из сторонних систем. Внешняя система получает статус "источника данных". При этом, семантическая трактовка получаемых данных и ответственность за их качество остаётся полностью на интегрирующей системе.

Этап 2. Наладка асинхронного взаимодействия

На втором этапе интеграции предъявляется требование «обменного формата» - такого, что ответственность за семантический смысл и качество данных перекладывается на внешнюю систему (на уровне обоюдного соглашения). Происходит разграничение зон ответственности систем на уровне данных.

Этап 3. Объединение жизненных циклов

На третьем этапе интеграции, когда за счет регламента цифрового описания функциональная ответственность интегрируемой системы четко ограничена и определена, порядок её использования включается в общее нормативно-методическое обеспечение системы (например, перестраивается регламент использования системы, или пишется согласованное руководство по совместному использованию). Таким образом формально обеспечивается общий жизненный цикл систем.
Очевидно, что т.к. на этом этапе интегрируемая система переходит из статуса источника данных в статус подсистемы, то ей делегируется весь спектр функциональных направлений (хранение и обработка данных, взаимодействие с пользователем и т.д.). Соответственно, в ходе очередного витка совместного жизненного цикла, центральная система модифицируется для снятия с себя части соответствующих полномочий. Соответствующим образом перестраивается проектная документация (спецификации требований, технические проекты и т.д.). Происходит разграничение зон ответственности на уровне функций.

Этап 4. Динамическая интеграция и отчуждение
В ходе одной или более итераций совместного жизненного цикла, разрабатывается система программного взаимодействия систем (например, web-интерфейсы).
После того как взаимодействие налажено и составлены соответствующие спецификации подсистема отчуждается и становится внешней по отношению к контуру интегрирующей системы. Взаимодействие осуществляется динамически, в соответствии со спецификациями. Дальнейшие витки жизненных циклов становятся вновь независимыми.


В качестве источника технической информации по данному вопросу, так сказать задела, наводящего мосты между упомянутыми шаблонами "банды четырех" и поднятой темой, предлагаю рассматривать относительно свежую монографию:
Грегор Хоп, Бобби Фульф, "Шаблоны интеграции корпоративных предложений": "Вильямс", 2007
(имеется, к стати, предисловие Фаулера)

С уважением,
Коршунов Максим, дружественный разработчик, г. Екатеринбург
korshunov
 
Сообщений: 1
Зарегистрирован: 19 окт 2009, 15:52
Откуда: г. Екатеринбург


Вернуться в Методологические вопросы. Архитектура программных систем

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron