Распределенные информационные системы
РИС представляет собой набор независимо функционирующих составляющих, выглядящих как единая система [[21]]. Специфика таких систем еще не нашла достаточно удобных языковых средств, что и обуславливает на ближайшее время одно из направлений развития парадигм программирования наряду с парадигмой компонентного программирования, которая заслуживает отдельного рассмотрения.
При обсуждении РИС обычно используют сетевые модели, отражающие взаимосвязи составляющих как связи между узлами сети. При этом характерны следующие свойства РИС:
- скрыты малосущественные различия и связи между узлами,
- поддерживается расширение сети и массштабирование числа узлов,
- РИС существует постоянно, хотя части РИС могут выходить из строя,
- определен промежуточный уровень между оборудованием и приложениями.
Примеры:
- компьютерная сеть с сервером, поддерживающим дневники, форумы, переписку и клиентские файлы,
- система обработки заказов, хранящая оперативно обновляемую информацию про билеты, гостиничные номера, товары и т.п.,
- электронная почта с базой данных адресов доставки и реальных серверов.
Типовые задачи РИС:
- эксплуатация общих ресурсов,
- поддержка виртуальных коллективов,
- обеспечение безопасности и конфиденциальности отдельных процессов,
- специализированные настройки, информационные сервисы и поддержка пользователей.
Решение таких задач сопряжено с выполнением следующих требований:
- прозрачность доступа к данным, их местоположения, переноса и перемещения, копирования, совместного доступа к блокам данных, отказа-восстановлений процесса обработки, оперативного хранения дублей компонент, обеспечивающих бесперебойное функционарование РИС;
- управление степенью открытости процесса разработки РИС, протокола взаимодействия компонент РИС, пользовательского интерфейса терминальных узлов РИС, информационных сервисов и технических служб;
- интероперабельность и переносимость, гибкость и массштабируемость компонент и комплексов, образующих РИС.
Естественный подход к выполнению таких требований - определение децентрализованных алгоритмов, таких что:
- ни один узел не содержит всю полную информацию по системе,
- решения принимаются по локальной информации,
- сбой любого узла не нарушает ход выполнения алгоритма,
- нет единого времени - узлы функционируют асинхронно.
Чаще всего РИС реализуется на базе сетевой операционной системы, обеспечивающей доступ к совместно используемым ресурсам, позволяющей скрыть сложность и неоднородность используемого обрудования. Архитектура РИС концептуально близка проблематике сетевых баз данных и трехзвенных клиетн-серверных систем, но сопряжена с рядом дополнительных условий, связанных с практикой вертикального распределения звеньев при обработке приложений на разных машинах и горизонтальной реорганизации с целью выравнивания нагрузки посредством дублирования серверов.
Элементы РИС (ЭЛ) могут быть разделены на части Э1, Э2, размещаемые в разных логических зонах Р, связанных соответствующим протоколом П(Р).
ЭЛ/Р ( Э1 П(Р) Э2 )
Этим обеспечивается то, что концепция системы не зависит от физического размещения частей.
На концептуальном уровне для РИС характерны свойства:
- разнородность используевых устройств,
- целостность (единство) системы,
- электронная связность,
- высокий уровень взаимодействия между элементами,
- свобода выбора конструктивных решений и их улучшения.
На уровне реализации принципиально важна надежность:
- отказоустойчивость,
- защита транзакций при сбоях,
- предсказуемость времени реакции,
- настройка-отладка сложных подсистем,
- быстродействие диалога между узлами.
В настоящее время массово выполнимы требования к устройствам для реализации РИС, которые должны быть одновременно мощными (высокая пропускная способность) и недорогими (могут простаивать).
Критерии успешности разработки РИС:
- оптимальные затраты на разработку,
- легкость расширения простым добавлением узлов или перераспределением зон,
- наличие методов определения неисправностей и технологии быстрого их устранения.
По существу РИС - эволюционирующий объект, разработка которого имеет непрерывный характер и продолжается в период эксплуатации.По этой причине язык представления РИС должен поддерживать в полной мере средства для решения проблем разработки и эксплуатации программ, что приводит к парадигме КП.