Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИОСУ Ч.1 _2016.docx
Скачиваний:
2
Добавлен:
31.01.2024
Размер:
2.97 Mб
Скачать

6. Организация доступа прикладной программы к серверу базы данных

6.1 Общие сведения

Проектирование и разработка ИС может базироваться на разных архитектурных решениях. Кратко рассмотрим классификацию возможных архитектур ИС.

1. Архитектурное решение, основанное на использовании выделенных файл-серверов. При работе на файл-серверных архитектурах сохраняется автономность прикладного (и большей части системного) программного обеспечения, работающего на каждом компьютере сети. Фактически, компоненты ИС, выполняемые на разных компьютерах, взаимодействуют только за счет наличия общего хранилища файлов, которое хранится на файл-сервере. В классическом случае на каждом компьютере дублируются не только прикладные программы, но и средства управления базами данных. Файл-сервер представляет собой разделяемое всеми компьютерами комплекса расширение дисковой памяти. Таким образом, в файл-серверной архитектуре мы имеем «толстого» клиента и очень «тонкий» сервер в том смысле, что почти вся работа выполняется на стороне клиента, а от сервера требуется только достаточная емкость дисковой памяти.

2. «Клиент-серверное» архитектурное решение. Под клиент-серверным приложением понимают ИС, основанную на использовании серверов баз данных. Сервером баз данных называют программное обеспечение, привязанное к соответствующей базе (базам) данных, существующее независимо от наличия пользовательских (клиентских) процессов и выполняемое (хотя и не обязательно) на выделенной аппаратуре. Интерфейс между клиентской частью приложения и клиентской частью сервера баз данных, как правило, основан на использовании языка SQL. Клиентская часть сервера баз данных, используя средства сетевого доступа, обращается к серверу баз данных, передавая ему текст оператора языка SQL.

Отметим, что обычно компании, производящие развитые серверы баз данных, стремятся к тому, чтобы обеспечить возможность использования своих продуктов не только в стандартных на сегодняшний день TCP/IP-ориентированных сетях, но в сетях, основанных на других протоколах (например, SNA или IPX/SPX). Поэтому при организации сетевых взаимодействий между клиентской и серверной частями, СУБД часто используются не стандартные средства высокого уровня (например, вызовов удаленных процедур), а собственные функционально подобные средства, менее зависящие от особенностей сетевых транспортных протоколов. В связи с этим, несмотря на титанические усилия по стандартизации языка SQL, нет такой его реализации, в которой стандартные средства языка не были бы расширены. Необдуманное использование расширений языка приводит к полной зависимости приложения от конкретного производителя сервера баз данных.

В клиент-серверной организации клиенты могут являться достаточно «тонкими», а сервер должен быть «толстым» настолько, чтобы быть в состоянии удовлетворить потребности всех клиентов.

С другой стороны, разработчики и пользователи ИС, основанных на архитектуре «клиент-сервер», часто бывают неудовлетворенны постоянно существующими сетевыми накладными расходами, которые следуют из потребности обращаться от клиента к серверу с каждым очередным запросом. На практике распространена ситуация, когда для эффективной работы отдельной клиентской составляющей информационной системы в действительности требуется только небольшая часть общей БД. Это приводит к идее поддержки локального КЭШа общей БД на стороне каждого клиента. В таком случае, клиенты становятся более «толстыми» при том, что сервер «тоньше» не делается.

3. Архитектура КИС, базирующаяся на технологии Internet (Intranet-приложения). Возникновение и внедрение в широкую практику высокоуровневых служб Internet (e-mail, ftp, telnet, Gopher, WWW и т.д.) естественным образом повлияли на технологию создания КИС, породив направление, известное теперь под названием Intranet. По сути дела, информационная Intranet-система – это корпоративная система, в которой используются методы и средства Internet. Такая система может быть локальной, изолированной от остального мира Internet, или опираться на виртуальную корпоративную подсеть Internet. В последнем случае особенно важны средства защиты информации от несанкционированного доступа.

4. Архитектура ИС, основанная на концепции «склада данных» (DataWarehouse) – интегрированной информационной среды, включающей разнородные информационные ресурсы.

5. Архитектура, предназначенная для построения глобальных распределенных информационных приложений с интеграцией информационно-вычислительных компонентов на основе объектно-ориентированного подхода.

Остановимся более подробно на организации доступа прикладной клиентской программы к серверу базы данных в рамках «клиент-серверной» архитектуры.

Как правило, любой поставщик СУБД предоставляет вместе со своей системой внешнюю или встроенную утилиту, которая позволяет вводить операторы SQL в режиме командной строки и выдает на консоль результаты их выполнения. Недостатки такого режима работы – это необходимость очень хорошо знать SQL, помнить схему БД, невозможность удобного просмотра результатов выполнения запросов. Поэтому подобные утилиты стали инструментами администраторов баз данных, а для создания пользовательских приложений используются универсальные и специализированные языки программирования. Приложения, написанные таким образом, позволяют пользователю сосредоточиться на решении собственных задач, а не на структуре данных в базе.

Кроме этого, SQL позволяет только манипулировать данными, но в нем отсутствуют средства создания экранного интерфейса, что необходимо для пользовательских приложений. Для создания этого интерфейса служат универсальные языки программирования третьего поколения (C, C++ и т.д.) или объектно-ориентированные языки четвертого поколения (xBase, Informix 4Gl, Progress, Jam и т.д.). Все они содержат необходимые операторы ввода/вывода на экран, управляющие операторы (циклы, ветвления и т.д.), допускают определение структур, соответствующих записям таблиц обрабатываемой БД. В текст программ включаются операторы языка SQL, во время исполнения передающиеся серверу БД, который собственно и производит манипулирование данными. Результаты, полученные при выполнении сервером SQL-запросов, возвращаются прикладной программе, которая заполняет строками этих результатов заранее определенные структуры. Дальнейшая работа клиентской программы (отображение, корректировка записей) ведется с этими извлеченными из БД структурами [6].

Далее рассмотрим основные способы организации доступа прикладной программы к серверу базы данных.

Соседние файлы в предмете Информационное обеспечение систем управления