close

Вход

Забыли?

вход по аккаунту

?

Sposobs

код для вставкиСкачать

Способы доступа к данным информационной системы
В настоящее время используются четыре основные модели доступа к данным:
- модель файлового сервера,
- модель сервера базы данных,
- модель сервера приложений,
- модель доступа из Web-браузера (технология Internet/Intranet).
Ниже обсуждается каждая из этих моделей.
1. Модель файлового сервера.
Приложения выполняются на рабочих станциях и включает модули для организации диалога с пользователем, бизнес-правила (транзакции), обеспечивающие требуемую логику вычислений, и ядро СУБД. Часто ядро СУБД в модели файлового сервера не является выраженным и представляет собой набор функций, связанных с остальными компонентами приложения. Приложение, включая и ядро СУБД, дублируется на различных рабочих станциях. На файловом сервере хранятся только файлы базы данных (индексы, файлы данных и т. д.) и некоторые технологические файлы (оверлейные файлы, файлы сортировки и др.). Операторы обращения к СУБД, закодированные в прикладной программе, обрабатываются ядром СУБД на рабочей станции. СУБД организует доступ к файлам базы данных для выполнения оператора. По сети передаются запросы на чтение/запись данных, индексы, промежуточные и результирующие данные, блоки технологических файлов.
На основе модели файлового сервера функционируют такие популярные СУБД как FoxPro ( Microsoft), dBase (Borland), CF-Clipper (Computer Associates International), Paradox (Borland) и др.
СУБД рассматриваемого класса стоят недорого, просты в установке и освоении. Но они обладают и рядом существенных недостатков:
- системы, разработанные на базе этих СУБД, имеют низкую производительность, т. к. все промежуточные данные передаются, как правило, по низкоскоростной шине сети, а прикладные программы и ядро СУБД выполняются на маломощных рабочих станциях,
- эти СУБД не поддерживают распределённую обработку.
В силу перечисленных недостатков модель файлового сервера практически не используется в распределённых информационных системах.
2. Модель сервера базы данных.
Здесь приложения также выполняются, в основном, на рабочих станциях. Приложение включает модули для организации диалога с пользователем и бизнес-правила (транзакции). Ядро СУБД является общим для всех рабочих станций и функционирует на сервере. Операторы обращения к СУБД (SQL-операторы), закодированные в транзакции, не выполняются на рабочей станции, а пересылаются для обработки на сервер. Ядро СУБД транслирует запрос и выполняет его, обращаясь для этого к индексам и другим промежуточным данным. Обратно на рабочую станцию передаются только результаты обработ-ки оператора.
В современных СУБД на сервере могут запускаться так называемые хранимые процедуры и триггеры, которые вместе с ядром СУБД образуют сервер базы данных. К хранимым процедурам можно обращаться из приложений на рабочих станциях. Это позволяет сократить размер кода прикладной программы и уменьшить поток SQL-операторов с рабочей станции, так как группу требуемых SQL-предложений можно закодировать в хранимой процедуре. Триггеры - это программы, которые выполняются ядром СУБД перед или после обновления (UPDATE, INSERT, DELETE) таблицы базы данных. Они позволяют автоматически поддерживать целостность базы данных.
Модель сервера базы данных (БД) поддерживают следующие СУБД: Oracle, Sybase, Informix, Ingress, Progress и др. Причём на первые три СУБД приходятся более 80 % рынка.
СУБД рассматриваемого класса имеют следующие преимущества:
- системы, разработанные на основе этих СУБД, имеют высокую производительность, так как по шине передаются только SQL-запросы и результаты из выполнения; запросы выполняются на высокоскоростных серверах,
- СУБД поддерживают распределённую обработку,
- в рамках этих СУБД предлагается большое число сервисных продуктов, облегчающих разработку приложений и создание распределённой системы.
Но эти СУБД имеют и недостатки:
- они намного дороже СУБД предыдущего класса, сложны в освоении,
- для эффективной работы этих СУБД требуются высокоскоростные (а поэтому и дорогие) серверы и сети.
3. Модель сервера приложений.
Использование этой модели позволяет разгрузить рабочие станции, то есть перейти к "тонким" клиентам. Конечно, сервер приложений можно организовать и с помощью хранимых процедур (рис. 7). Но для реализации хранимых процедур используют языки высокого уровня (например, в Oracle - язык PL/SQL ), поэтому программы получаются ресурсоёмкими. Причём возможности этих языков ограничены: с их помощью нельзя организовать обработку данных на уровне битов. Хранимые процедуры также не поддерживают распределённые приложения, т. е. они не обеспечивают автоматический запуск требуемой программы на другом сервере.
Для устранения указанных недостатков разработаны специальные средства, которые часто называют менеджерами транзакций, мониторами транзакций, OLTP (Online Transaction Processing)-мониторами.
В настоящее время наиболее популярен менеджер транзакций Tuxedo (BEA System). Он представляет собой оболочку, в рамках которой выполняются сервисы (прикладные программы), написанные на языке С. Tuxedo выполняет маршрутизацию запросов к сервисам, организует динамическое распределение нагрузки и мультиплексирование запросов к базам данных. Часто менеджер транзакций и приложения запускаются на том же компьютере (хотя это не явля-ется обязательным), где выполняется сервер базы данных, чтобы уменьшить поток SQL-запросов по сети.
В дальнейшем под сервером (S) будем понимать компьютер, где функционирует сервер базы данных и/или сервер приложений.
4. Модель доступа из Web-браузера (технология Internet/Intranet).
В настоящее время для доступа к базам данных в системах, разработанных по технологии Internet/Intranet, используются
- CGI- или ISAPI-программы,
- Java- или JavaScript-программы.
А. Доступ к базе данных из CGI- или ISAPI-программы (рис. 4).
Рис. 4. Организация связи HTML-документов с базами данных.
Сейчас наиболее популярными продуктами, позволяющими работать с Web-страницами, являются Netscape Navigator (Netscape) и Microsoft Explorer (Microsoft). Эти продукты ещё часто называют Web-браузерами.
Сначала по запросу Web-браузера из Web-сервера Internet читается HTML-форма (это HTML-программа, которая содержит описание полей ввода для Web-страницы и имя CGI-программы для их обработки). Web-браузер интерпретирует эту программу и выводит страницу на экран рабочей станции. Пользователь должен заполнить поля ввода и нажать кнопку типа SUBMIT. Web-браузер пересылает Web-серверу имя CGI-программы обработки, имена полей ввода и их значения. Web-сервер в свою очередь, используя интерфейс CGI (Common Gateway Interface), запускает CGI-программу (транзакцию), которая с помощью SELECT-запроса через ODBC-интерфейс читает данные из локальной или удалённой базы данных и с помощью оператора print генерирует новую HTML-программу, содержащую результаты поиска. Эта программа передаётся на рабочую станцию, где и интерпретируется Web-браузером. Пользователь видит Web-страницу с данными, полученными из базы данных.
Сейчас в основном используются Web-серверы фирм Netscape и Micro-soft: Netscape Communication Server (Unix) и Microsoft Internet Information Server (только под Windows NT). Фирма Novell также разработала свой Web-сервер NetWare Web Server (только под NetWare 4.1 и 4.11).
Для написания CGI-программ для Web-серверов применяют языки Perl, C, TCL (Tool Command Language) и командный процессор Unix Bourne. Встре-чаются CGI-программы, написанные на Visual Basic, Access и на специфических языках (NetBasic для NetWare 4.11 Web Server, Basic для NetWare 4.1 Web Server, PL/SQL для Oracle Web Server и т. д.)
В настоящее время для написания приложений в среде Microsoft Internet Information Server вместо медленного CGI-интерфейса (CGI-программа выпол-няется как иной, нежели Web-сервер, процесс) часто используют ISAPI-интерфейс, позволяющий создавать dll-программы, выполняющиеся в адрес-ном пространстве Web-сервера. Для доступа к базе данных часто используют уже готовые ISAPI-приложения типа dbWeb, IDC и др.
Б. Доступ к базе данных из Java- или JavaScript -программы (рис. 5).
Рис. 5. Организация связи Java-программ с базами данных.
На рис. 5 приняты следующие обозначения:
1 - запрос к Web-серверу на чтение Java-программы (апплета). Следует отметить, что Web-браузер инициирует загрузку апплета, когда при интерпретации HTML-программы встречается следующий тег: .
2 - Чтение из Web-сервера Java-программы в Web-браузер и запуск Java-машины (интерпретатора Java-программы).
3 - в процессе выполнения Java-программы на рабочей станции она может через интерфейс JDBC (Java Data Base Connectivity) обращаться к удалённому серверу базы данных. Для этой цели JDBC использует соответствующий ODBC-драйвер на Web-сервере, откуда была загружена Java-программа.
Большинство современных Web-серверов и Web-браузеров одновре-менно поддерживают HTML- и Java-программы. Более того, в HTML-документ могут быть встроены фрагменты на языке JavaScript (или VBScript), откуда можно вызывать методы объектов ActiveX и передавать им SQL-операторы для дальнейшей обработки.
Основной недостаток технологии Internet/Intranet заключается в необходимости использования дополнительных средств защиты от несанкционированного доступа.
Часто говорят, что системы доступа к данным на базе моделей сервера базы данных, сервера приложений и Internet/Intranet поддерживают архитектуру клиент/сервер.
При создании информационных систем большое значение имеет анализ временных показателей. Особенность этих характеристик определяется тем, что даже опытному проектировщику ИС бывает очень трудно спрогнозировать их значения, так как временные показатели зависят, в основном, от решений, принимаемых на ранних этапах проектирования информационной системы, то есть от концептуальной схемы базы данных, спецификаций разрабатываемых программ, архитектуры будущей системы (модели доступа к данным, комплекса технических средств, операционной системы, системы управления базой данных), от наполнения базы данных. Поэтому важно дать проектировщику, выполняющему разработку в среде СУБД, инструмент, позволяющий прогнозировать временные показатели информационных систем и выявлять потенциальные "узкие места" ИС на основе описаний проектных решений. Это особенно важно, если учесть, что основной язык доступа к данным (SQL) относится к классу непроцедурных языков. Неосторожное использование спецификаций этого языка может привести к существенному увеличению времени реакции системы.
В настоящее время для оценки показателей производительности вы-числительных систем используются системы массового обслуживания (СМО), которые не учитывают особенностей выполнения приложений; для них непро-сто получить исходные данные; трудно проверить выполнение предпосылок их использования. Тем более в этих моделях не учитывается механизм декомпо-зиции запросов к распределенной базе данных на подзапросы и особенности их обработки в узлах распределённой ИС; не учитываются объемы данных промежуточных и результирующих таблиц базы данных, передаваемых по ка-налам связи.
Сейчас назрела насущная необходимость разработки принципиально нового класса моделей анализа временных характеристик ИС, учитывающих механизмы оптимизации запросов к распределенной базе данных, и примене-ния метода принятия решений, который опирается на целостный выбор вари-анта архитектуры ИС.
Литература. 1. Меллинг В. Корпоративные информационные архитектуры: и всё-таки они меняются // Системы управления базами данных. - М., 1995. - № 2. - с.45-59.
2. Зиндер Е.З. Новое системное проектирование: информационные тех-нологии и бизнес-реинжиниринг (часть 1) // Системы управления базами дан-ных. - М., 1995. - № 4. - с.37-49.
3. Зиндер Е.З. Новое системное проектирование: информационные тех-нологии и бизнес-реинжиниринг (часть 2) // Системы управления базами дан-ных. - М., 1996. - № 1. - с.55-67.
4. Зиндер Е.З. Новое системное проектирование: информационные тех-нологии и бизнес-реинжиниринг (часть 3) // Системы управления базами дан-ных. - М., 1996. - № 2. - с.61-76.
5. Вендров А.М. Современные методы и средства проектирования ин-формационных систем. - М.: Финансы и статистика, 1998. - 176 с.
6. Дракин В.И., Попов Э.В., Преображенский А.Б. Общение конечных пользователей с системами обработки данных. - М.: Радио и связь, 1988. - 288 с.
Источник:
Ю.А.Григорьев, Д.т.н., профессор. Проблемы выбора модели доступа к данным при проектировании информационных систем на основе СУБД. Электронный журнал "Инженерное образование" #7 июнь 2004 www.techno.edu.ru:16000/ | 
Документ
Категория
Рефераты
Просмотров
27
Размер файла
155 Кб
Теги
sposobs
1/--страниц
Пожаловаться на содержимое документа