- •Содержание
- •1. Общее представление об корпоративной информационной системе
- •2. Общая классификация архитектур информационных приложений
- •3. Средства и методологии проектирования, разработки и сопровождения файл-серверных приложений
- •4. Средства и методологии проектирования, разработки и сопровождения клиент-серверных приложений
- •5. Средства и методологии проектирования, разработки и сопровождения Intranet-приложений
- •6. Информационные приложения, основанные на использовании "складов данных" (DataWarehousing)
- •7. Глобально распределенные кис
- •Введение
- •1. Общее представление об информационной системе
- •1.1. Специфика информационных программных систем
- •1.2. Этапы развития кис
- •1.3. Задачи информационных систем
- •1.4. Проблемы построения кис
- •1.5. Требования к техническим средствам, поддерживающим кис
- •2. Общая классификация архитектур информационных приложений
- •2.1. Файл-серверные приложения
- •2.2. Клиент-серверные приложения
- •2.3. Intranet-приложения
- •2.4. Склады данных (DataWarehousing) и системы оперативной аналитической обработки данных
- •2.5. Интегрированные распределенные приложения
- •3. Средства и методологии проектирования, разработки и сопровождения файл-серверных приложений
- •3.1. Традиционные средства и методологии разработки
- •3.1.1. Системы программирования и библиотеки
- •3.1.2. Средства и методы разработки приложений на основе субд на персональных компьютерах
- •3.2. Новые средства разработки файл-серверных приложений
- •3.2.1. Общая характеристика современных средств
- •3.2.2. Примеры новых подходов
- •3.2.2.1. Пакет ms Access
- •3.2.2.2. Система Visual FoxPro
- •3.2.2.3. Среда программирования ca-Visual Objects
- •3.3. Перенос файл-серверных приложений в среду клиент-сервер
- •3.3.1. Библиотеки доступа к базам данных
- •3.3.2. Протокол odbc и его реализации
- •3.3.3. Укрупнение приложений (Upsigsing)
- •3.4. Рекомендации по использованию инструментальных средств разработки файл-серверных приложений
- •4. Средства и методологии проектирования, разработки и сопровождения клиент-серверных приложений
- •4.1. Базовые средства построения ис в архитектуре "клиент-сервер"
- •4.1.1. Вызовы удаленных процедур
- •4.1.1.1. Протокол rpc и его реализации
- •4.1.1.2. Протокол xdr
- •4.1.2. Стек протоколов tcp/ip как основа rpc
- •Семейство протоколов tcp/ip
- •4.2. Серверы баз данных как базовая системная поддержка информационной системы в архитектуре "клиент-сервер"
- •4.2.1. Понятие сервера баз данных
- •4.2.2. Базовая архитектура сервера баз данных
- •4.2.2.1. Непосредственное управление данными во внешней памяти
- •4.2.2.2. Управление буферами оперативной памяти
- •4.2.2.3. Управление транзакциями
- •4.2.2.4. Журнализация
- •4.2.2.5. Языки бд
- •4.2.3. Основные производители серверов баз данных и характеристика их продуктов
- •4.2.3.1. История и серверные продукты компании Oracle
- •4.2.3.2. История и серверные продукты компании Informix
- •4.2.3.3. Серверные продукты компании Sybase
- •4.2.3.4. Линия серверных продуктов ca-OpenIngres компании Computer Associates
- •4.2.3.5. Серверные продукты линии db2 компании ibm
- •5. Средства и методологии проектирования, разработки и сопровождения Intranet-приложений
- •5.1. Основные понятия Intranet
- •5.2. Языки и протоколы
- •5.2.1. Html
- •5.2.2. Http
- •5.2.2.1. Форма запроса клиента
- •5.2.2.2. Методы доступа
- •5.2.2.3. Ответ сервера
- •5.2.2.4. Защита сервера от несанкционированного доступа
- •5.3. Серверы Intranet
- •5.3.1.1. Типы информационных ресурсов
- •5.3.1.2. Протокол ftp
- •5.3.1.3. Сервер протокола - программа ftpd
- •5.3.2.1. Структура базы данных сервера www
- •5.3.3. Поисковые серверы
- •5.3.3.1. Архитектура современных информационно-поисковых систем World Wide Web
- •5.3.3.2. Информационные ресурсы и их представление в информационно-поисковой системе
- •5.4. Язык программирования Java
- •5.4.1. Мобильность Java
- •5.4.2. Безопасность, Java и Intranet
- •5.4.3. Миграция от средства программирования интерфейсов электронных устройств
- •5.5. Возможные архитектуры Intranet-приложений
- •5.5.1. Решения, ориентированные на клиентскую часть системы
- •5.5.2. Трехзвенные архитектуры (Web-ориентированные)
- •5.5.3. Решения, основанные на использовании языка Java
- •6. Информационные приложения, основанные на использовании "складов данных" (DataWarehousing)
- •6.1. Проблема интеграции данных
- •6.2. Подходы и имеющиеся решения
- •6.2.1. Компания ibm
- •6.2.2. Oracle
- •6.2.3. Hewlett Packard
- •6.2.4. Sybase
- •6.2.5. Informix Software
- •6.2.7. Sas Institute
- •6.2.8. Software ag
- •7. Глобально распределенные кис
- •7.1. Проблема "унаследованных систем" (Legacy Systems)
- •7.2. Объектный подход
- •7.3. Предложения omg и odmg
- •7.4. Промышленный стандарт corba
3.3.2. Протокол odbc и его реализации
Интерфейс прикладного программирования ODBC API предоставляет общие методы доступа на основе языка баз данных SQL как к реляционным, так и к нереляционным (ISAM) источникам данных.
Наиболее современный стандарт ANSI SQL (фактически, это часть разрабатываемого стандарта SQL-3) включает спецификацию интерфейса на уровне вызовов (CLI - Call-Level Interface), на которую опирается ODBC для обеспечения доступа и работы с данными во многих системах управления базами данных. Интерфейс CLI соответствует требованиям, установленным в 1996 году комитетом SQL Access Group и определяющим общий синтаксис SQL и интерфейса API. Иметь общий метод доступа к источникам данных удобно потому, что тогда база данных на сервере становится прозрачной для приложений, которые написаны в соответствии со специфицированным уровнем совместимости ODBC.
Интерфейс ODBC API реализован как набор расслоенных DLL-функций для Windows. Динамическая библиотека ODBC.DLL - это основная библиотека управления драйверами ODBC, которая содержит функции вызовов специализированных драйверов для разных поддерживаемых системой баз данных. Каждый драйвер совместим со своим уровнем CLI и относится к одной из двух категорий: одноуровневые или многоуровневые драйверы.
Одноуровневые драйверы предназначены для использования при работе с теми источниками данных, которые не могут быть прямо обработаны с использованием ANSI SQL. Обычно это локальные базы данных на персональных компьютерах, такие как dBase, Paradox, FoxPro и Excel. Драйверы, соответствующие этим базам данных, производят компиляцию ANSI SQL в наборы инструкций более низкого уровня, которые непосредственно обрабатывают составляющие базу данных файлы.
Многоуровневые драйверы используют сервер РСУБД для обработки SQL-предложений и предназначены для работы в среде клиент-сервер. Помимо обработки ANSI SQL, они также могут поддерживать и собственные конструкции конкретной РСУБД, поскольку ODBC может без трансляции передавать SQL-операторы источникам данных (механизм "passthrough"). Драйверы ODBC для баз данных, поддерживаемым в технологии клиент-сервер реализованы для Oracle V 6.0 и Oracle V 7, а также Informix, Microsoft и Sybase SQL Server, Rdb, DB2, Ingres, HP/Image и An SQL. Драйверы можно приобрести в фирмах Microsoft, Intersolv, Visigenic и Openlink, причем только Microsoft и Intersolv выпускают и 32-х, и 16-ти разрядные драйверы.
Существует 4 важных этапа (шага) процедуры запроса данных через ODBC API.
Шаг 1 - установление соединения. Первый шаг состоит в размещении указателей (handle) среды ODBC, которые выделяют оперативную память под ODBC драйверы и библиотеки. Затем происходит выделение памяти для указателей соединения, и соединение устанавливается.
Шаг 2 - выполнение оператора SQL. Выделяется указатель оператора, локальные переменные связываются со столбцами в SQL-выражении (это необязательное действие), и выражение представляется главному ODBC-драйверу для обработки.
Шаг 3- извлечение данных. Перед извлечением данных возвращается информация о результирующем наборе, в частности, число столбцов в наборе. Исходя из этого числа, результирующий набор помещается в буфер записей, выполняется цикл его просмотра и содержимое каждого столбца помещается в соответствующую локальную переменную. Этот шаг необязателен, если используется связывание столбцов с локальными переменными.
Шаг 4- освобождение ресурсов. После того, как данные получены, ресурсы освобождаются путем вызова функций освобождения указателей оператора, соединения и среды. Указатели оператора и соединения могут быть использованы в процессе обработки.
Технология ODBC разрабатывалась как общий, независимый от источников данных, способ доступа к данным. Применение технологии должно было также обеспечить переносимость приложений в среду различных баз данных без потребности переработки самих приложений. В этом смысле технология ODBC уже стала промышленным стандартом, ее поддерживают практически все производители СУБД и средств разработки.
Однако универсальность стоит дорого. Если при разработке приложений одним из основных критериев является переносимость на различные СУБД, то использование ODBC является оправданным. Для увеличения производительности и эффективности приложения активно применяют специфические для данной СУБД расширения языка SQL, используют хранимые на сервере процедуры и функции. В этом случае теряется роль ODBC как общего метода доступа к данным. Тем более, что для разных СУБД драйверы ODBC поддерживают разные уровни совместимости. Поэтому многие производители средств разработки, помимо поддержки ODBC, поставляют "прямые" драйверы к основным СУБД.