Недостатки рассмотренных выше моделей:
1. "Толстый" клиент
· сложность администрирования;
· сложность в обновлении ПО, т.к. его замену необходимо производить одновременно по всей системе;
· сложность в распределении полномочий, так как разграничение доступа происходит не по действиям, а по таблицам;
· перегрузка сети из-за передачи по ней необработанных данных;
· слабая защита данных.
2. "Толстый" сервер
· усложняется реализация, так как языки PL/SQL не приспособлены для разработки подобного ПО и нет средств отладки;
· производительность программ на языках PL/SQL ниже, чем на других языках, что важно для сложных систем;
· программы, написанные на СУБД-языках, работают ненадежно, что может привести к выходу из строя всего сервера БД;
· созданные таким образом программы полностью непереносимы на другие системы и платформы.
Многоуровневые архитектуры клиент-сервер - более разумно распределяют модули обработки данных, которые выполняются на одном или нескольких отдельных серверах.
Эти программные модули выполняют функции сервера для интерфейсов с пользователями и клиента - для серверов БД. Кроме того, различные серверы приложений могут взаимодействовать между собой для более точного разделения системы на функциональные блоки, выполняющие определенные роли.
Например. Можно выделить сервер управления персоналом, который будет выполнять все необходимые для управления персоналом функции. Связав с ним отдельную БД, можно скрыть от пользователей все детали реализации этого сервера, разрешив обращаться только к его общедоступным функциям. Такая система проще адаптируется к Web, т.к. легче разработать html-формы для доступа пользователей к определенным функциям БД, чем ко всем данным.
В трехуровневой модели "тонкий" клиент не перегружен функциями обработки данных, а выполняет основную роль системы представления информации, поступающей с сервера приложений. (Такой интерфейс реализуется с помощью стандартных средств Web-технологии - браузера, CGI и Java). Это уменьшает объем данных, передаваемых между клиентом и сервером приложений, позволяя подключать клиентов с медленными телефонными каналами.
Трехуровневая модель клиент-сервер позволяет более точно назначать полномочия пользователей, так как они получают права не к самой БД, а к определенным функциям сервера приложений, что повышает защищенность системы.
Многоуровневые клиент-серверные системы легко можно перевести на Web-технологию - для этого достаточно заменить клиентскую часть универсальным браузером, а сервер приложений дополнить Web-сервером и небольшими программами вызова процедур сервера. В трехуровневой системе по каналу связи между сервером приложений и БД передается много информации, при этом не замедляются вычисления, так как для связи указанных элементов используются более скоростные линии. Это требует меньших затрат, так как оба сервера находятся в одном помещении. Но при этом встает проблема согласованности совместных вычислений, которую призваны решать менеджеры транзакций - новые элементы многоуровневых систем.
Менеджеры транзакций
МТ - позволяют одному серверу приложений одновременно обмениваться данными с несколькими серверами БД. Хотя серверы Oracle имеют механизм выполнения распределенных транзакций, но если пользователь хранит часть информации в БД Oracle, часть в БД Informix, а часть в текстовых файлах, то без МТ не обойтись. МТ используется для управления распределенными разнородными операциями и согласования действий различных компонентов информационной системы. Любое сложное ПО требует использования МТ.
Например. Банковские системы должны осуществлять различные преобразования представлений документов, т.е. работать одновременно с данными, хранящимися как в БД, так и в обычных файлах, - именно эти функции и помогает выполнять МТ.
МТ - это программа или комплекс программ, с помощью которых можно согласовать работу различных компонентов инф-ой системы.
Логически МТ делится на несколько частей:
· коммуникационный менеджер (контролирует обмен сообщениями между компонентами инф-ой системы;
· менеджер авторизации (обеспечивает аутентификацию пользователей и проверку их прав доступа);
· менеджер транзакций (управляет распределенными операциями);
· менеджер ведения журнальных записей (следит за восстановлением и откатом распределенных операций);
· менеджер блокировок (обеспечивает правильный доступ к совместно используемым данным).
Обычно М-коммуникационный объединен с М-авторизации, а М-транзакций с М-блокировок и системных записей. Причем такой М редко входит в комплект поставки, поскольку его функции (ведение записей, распределение ресурсов и контроль операций), как правило, выполняет сама БД (например, Oracle).
Наибольшие изменения произошли в М-коммуникации, так как в этой области появились новые объектно-ориентированные технологии (CORBA, DCOM и т.д.). Многоуровневая модель клиент-сервер позволяет существенно упростить распределенные вычисления, делая их не только более надежными, но и более доступными.
4.4. Системы технологической почты -
это гарантированная доставка информации и средство для интеграции приложений
Проектирование информационных систем ставит перед системными аналитиками решения следующих проблем:
распределенность системы;
интеграция различных приложений;
удобство администрирования.
Современные ВС в основном являются распределенными, поэтому встает задача выбора способа взаимодействия между отдельными частями таких систем. Слияние нескольких информационных систем требует решения интеграции большого количества разнородных приложений. Такая (интегрированная) система должна обладать всей функциональностью объединяемых подсистем и сохранить простоту и удобство использования. Решение данной проблемы возможно осуществить с помощью систем технологической почты (СТП).
Термин «технологическая почта» используется для обозначения взаимодействия между приложениями ("электронная почта" - взаимодействие между людьми), передаваемая информация является технологической ее формирование и передача могут осуществляться без/или с минимальным участием человека.
Система технологической почты включает в себя два различных способа взаимодействия, используемых в современных распределенных системах.
Один из них основывается на концепции соединения (рис.1), а другой - на идее обмена сообщениями.
1 23
Рис.1. Механизм взаимодействия с установлением соединения
Процесс взаимодействия приложений и использованием установления соединения можно разделить на три фазы:
1. установление соединения;
2. передача информации;
3. закрытие соединения.
Такое взаимодействие требует наличие соединения всех трех фаз и одновременной работы приложений, что не всегда возможно.
Системы, построенные на принципе обмена сообщениями, используют при взаимодействии технологию очередей сообщений (рис.2).
Рис.2. Взаимодействие приложений с использованием технологии очередей сообщений
Приложения, которые обмениваются информацией, адресуют ее не напрямую друг другу, а в ассоциированные с приложениями очереди сообщений. Соединение между приложением и очередью происходит, как правило, в режиме on-line, что позволяет избежать затраты времени на установление соединения. Управляющее ПО может находиться как на одной машине с приложениями, так и на выделенном сервере. Системы, использующие технологию очередей сообщений, в Отличие от систем установления соединений, не требуют ни постоянного соединения в процессе взаимодействия, ни одновременной работы взаимодействующих приложений. Эти свойства обеспечивают им гибкость и приемлемость в различных областях применения.
Универсальность систем технологической почты позволяет им работать на гетерогенных (многообразие программно-аппаратных платформ, на которых работают отдельные компоненты СТП, а также многообразие способов соединения и протоколов взаимодействия, применяемых в системе) структурах. Гетерогенность достигается за счет разделения серверной и клиентских частей СТП. Клиентские части обладают небольшой функциональностью и могут быть перенесены на различные платформы. Т.о., для функционирования СТП не нужны затраты на дополнительное оборудование - система адаптируется к существующим средствам (как аппаратным и программным, так и к существующим каналам передачи данных) и не требует их замены.
Преимvшecтвa использования СТП:
- Гарантированность доставки сообщения. Серверы очередей сообщений