ПрИС_Лекция1.ppt
- Количество слайдов: 26
2. 2. Клиент-серверные приложения 1. На стороне клиента выполняется код приложения, в который обязательно входят компоненты, поддерживающие интерфейс с конечным пользователем, производящие отчеты, выполняющие другие специфичные для приложения функции (пока нас не будет занимать, как строится код приложения). 2. Клиентская часть приложения взаимодействует с клиентской частью программного обеспечения управления базами данных, которая, фактически, является индивидуальным представителем СУБД для приложения
• Сервер производит компиляцию полученного оператора. На основе информации, содержащейся в таблицах-каталогах базы данных производится преобразование непроцедурного представления оператора в некоторую процедуру его выполнения. • Далее (если компиляция завершилась успешно) происходит выполнение оператора. 1. Класс операторов определения (или создания) объектов базы данных 2. Операторы выборки данных 3. Оператор модификации содержимого базы данных Далее сервер проверяет, не затрагивает ли данное изменение условие срабатывания какого-либо триггера, и если такой триггер обнаруживается, выполняет процедуру его действия. 4. Оператор модификации схемы базы данных 5. Операторы уничтожения объектов схемы базы данных 6. Операторы вызова ранее определенных и сохраненных в базе данных хранимых процедур 7. Операторы завершения транзакции
"Тонкий" клиент и "толстый" сервер в клиент-серверной архитектуре . "Потолстевший" клиент и "толстый" сервер в клиент-серверной архитектуре с поддержкой локального кэша на стороне клиентов Основное преимущество клиент-серверной архитектуры - ее масштабируемость и способность к развитию
Intranet-приложения Информационная Intranet-система - это корпоративная система, в которой используются методы и средства Internet Простая организация Intranet-системы с использованием средств WWW Вызов внешней процедуры Web-сервера При применении Web-технологии существует возможность ее реализации на стороне Web-сервера. Для этого могут использоваться два подхода - CGI (Common Gateway Interface) и API (Application Programming Interface).
Доступ к базе данных на стороне клиента Intranet-системы Доступ к базе данных в Intranet-системе
Хранилища данных и системы оперативной аналитической обработки данных Схематическое представление архитектуры аналитической информационной системы 1. ХД должно включать как внутренние корпоративные данные, так и внешние данные, 2. В ХД нужно поддерживать хранение информации о деятельности корпорации и состоянии рынка на протяжении нескольких лет 3. ХД должно содержать единообразно представленные данные из всех оперативных баз данных 4. ХД существуют для того, чтобы отвечать на неожиданные (ad hoc) запросы аналитиков 5. Аналитические базы данных меняются только тогда, когда в них загружается оперативная или внешняя информация 6. Информация аналитических баз данных настолько критична, что нуждается в дополнительной защите.
12 основных требований к системам, поддерживающим аналитические базы данных(Эдвар Кодд) Многомерное концептуальное представление данных. OLAP-модели должны поддерживать это представление и, естественно, оно должно хотя бы в какой-то мере опираться на возможности аналитической базы данных. Прозрачность. Для бизнес-пользователя не должно быть существенно, где конкретно расположены средства динамического анализа данных. Доступность. Логическая схема, с которой работает OLAP-система, должна отображаться в схемы разнородных физических хранилищ данных. При доступе к данным должно поддерживаться их единое и согласованное представление. Согласованная эффективность производства отчетов. Эта эффективность не должна деградировать при увеличении числа измерений. Архитектура "клиент-сервер". Серверный компонент OLAP-системы должен быть достаточно развитым, чтобы разнообразные клиенты могли подключаться к нему с минимальными усилиями и затратами на дополнительное "интегрирующее" программирование. Родовая многомерность. Структурные и операционные возможности работы с каждым измерением данных должны быть эквивалентны. Для всех измерений должна существовать только одна логическая структура. Любая функция, применимая к одному измерению, должна быть применима к любому другому измерению.
Управление динамическими разреженными матрицами. Сервер OLAPсистемы должен уметь эффективно хранить и обрабатывать разреженные матрицы. Физические методы доступа должны быть разнообразны, включая прямое вычисление, B-деревья, хэширование или комбинации этих методов. Поддержка многопользовательского режима. OLAP-система должна поддерживать многопользовательский доступ к данным (по выборке и изменению), обеспечивая целостность и безопасность данных. Неограниченные операции между измерениями. При выполнении многомерного анализа данных все измерения создаются и обрабатываются единообразно. OLAP-система должна быть в состоянии выполнять соответствующие вычисления между измерениями. Интуитивное манипулирование данными. Манипуляции, подобные смене пути анализа или уровня детализации, должны выполняться с помощью прямого воздействия на элементы OLAP-модели без потребности использовать меню или другие вспомогательные средства. Гибкая система отчетов. Бизнес-пользователь должен иметь возможность манипулировать данными, анализировать и/или синтезировать, а также просматривать их таким образом, как ему захочется. Неограниченное число измерений и уровней агрегации. OLAP-сервер должен поддерживать не менее 15 измерений для каждой аналитической модели. Для каждого измерения должно допускаться неограниченное число определяемых пользователями агрегатов.
Неоднородность, распределенность и автономность информационных ресурсов системы Потребности в интеграционном комплексировании компонентов информационной системы Реинжинерия системы Решение проблемы унаследованных (legacy) систем Повторно используемые (reusable) ресурсы Продление жизненного цикла информационной системы
Средства и методологии проектирования, разработки и сопровождения файл-серверных приложений Основные вехи на пути развития систем программирования 1. Переход от одиночных утилит систем программирования к интегрированным диалоговым средам программирования (Turbo-продукты фирмы Borland); 2. Развитие инструментальных наборов, расширяющих возможности систем программирования, в частности, в области диалога (разного рода Tool Box); 3. Появление объектно-ориентированных диалектов языков Си и Паскаль; 4. Возникновение операционной среды Windows со встроенной поддержкой диалога и первых Windows-приложений с помощью SDK (Software Development Keet); 5. Создание объектно-ориентированных библиотек, поддерживающих диалоговый режим работы в среде DOS и Windows (Turbo. Vision, Object Windows и MFC); 6. Появление систем программирования, облегчающих создание приложений для DOS и Windows; 7. Развитие механизма встраивания и связывания объектов OLE 2; 8. Переход к визуальным системам программирования (Visual Си++, Delphi, Visual Basic), которые ориентированы на разработку информационных приложений
1. x. Base-продукты - лидер по использованию для разработки одиночных и групповых информационных приложений. 2. Следующее место занимает СУБД Paradox. 3. Далее идут системы управления записями Clarion 4. MS Access и Lotus Approach позволили взглянуть по-новому на возможности персональных СУБД и до сих пор не оценены по-настоящему как профессиональные средства разработки приложений Вехи на пути развития инструментальных средств и самих СУБД на персональных компьютерах 1. Появление компонентов Assistant и Application Generator в d. Base III Plus, упрощающих работу пользователя и позволяющих генерировать простейшие приложения или макеты приложений; 2. Выход в свет d. Base-совместимых систем программирования (d. BFast и Clipper), создающих исполняемый модуль приложения; 3. Разработка быстрого интерпретатора Fox. Base для частично откомпилированного кода d. Base-совместимых приложений; 4. Возникновение системы Paradox с оригинальным макроязыком PAL, существенно ориентированной на конечного пользователя; 5. Развитие многопользовательских версий СУБД для локальных сетей персональных компьютеров, дополненных средствами синхронизации на основе блокировок файлов и записей;
6. Появление системы d. Base IV, включающую диалоговую среду Control Center, индексы, встроенные в файл БД, поддержку языка SQL и средства защиты БД; 7. Развитие Clipper с объектной ориентацией; Обеспечение доступа из файл-серверных приложений к серверам БД (Borland SQL Link и Microsoft Connectivity Kit); 8. Внедрение технологии Rushmore, ускоряющей доступ к данным при помощи использования индексов; 9. Появление в Fox. Pro развитой среды разработки, ориентированной на разработку проектов и близкой по возможностям к средствам 4 GL; 10. Дальнейшее расширение средств диалога (Foundation Read) в направление событийной управляемости; 11. Первые версии инструментальных средств, поддерживающие Windows-приложения, а вместе с ними типы данных Blob (Binary Large Objects); 12. Появление универсальных интерфейсов к различным СУБД (Borland IDAPI и Microsoft ODBC); 13. Первый продукт MS Access, направленный сугубо на создание Windows-приложений и содержащий средства объектно-ориентированного диалога, событийно-управляемого программирования, визуального конструирования интерфейса пользователя и многие другие черты, присущие системам программирования 4 GL и RAD; 14. Появление новых визуальных объектно-ориентированных инструментальных средств и СУБД на ПК (MS Access 2. 0, Visual Fox. Pro, CAVisual. Objects и Visual d. Base).
Общая характеристика современных средств два встречных процесса: (1) разукрупнение серверов БД - появление новых версий серверов БД Informix, Oracle и т. д. сначала в варианте для рабочих групп, а потом облегченные версии для одиночных персональных компьютеров; (2) укрупнение СУБД для персональных компьютеров - новые "персональные" СУБД и связанные с ними инструментальные средства развивались в сторону "истинно реляционных" СУБД, т. е. серверов БД, приложений клиент-сервер и инструментальных средств программирования 4 GL и быстрой разработки RAD 1. Визуальный характер программирования приложений особенно в части создания диалогового графического интерфейса пользователя. Это множество поддерживаемых диалоговых объектов, поддержка механизма drag-and-drop и наличие мастеров, помогающих реализовать сложные процедуры. 2. Управляемость приложений в соответствии с событиями диалога и обеспечение доступа к БД позволяет строить гибкий интерфейс пользователя и поддерживать ссылочную целостность БД. 3. Встроенная поддержка языка структурированных запросов SQL (Standard Query Language) закладывает возможность масштабирования создаваемых файл-серверных приложений до уровня приложений клиентсервер.
3. Имеется возможность построения приложений клиент-сервер за счет реализации доступа к серверам БД напрямую или через интерфейс ODBC для открытого взаимодействия с базами данных. 4. Использование объектно-ориентированного языка разработки приложений (по крайней мере в части диалога) позволяет широко использовать механизм наследования и тем самым использовать ранее произведенные программные компоненты. 5. Поддержка компонентно-ориентированного программирования дает возможность расширения приложений за счет использования готовых внешних визуальных объектов типа VBX и OCX (Active. X). 6. "Истинно реляционная" база данных представляет собой объединенный набор файлов, содержащий таблицы, индексы и т. п. , что облегчает сопровождение БД и приложений и является основой для поддержки целостности данных. 7. Поддерживается общий для информационной системы словарь данных (data dictionary), который содержит описание структуры БД, типы полей, правила поддержки ограничений целостности и т. п. 8. Поддержка целостности БД (данных, ссылок и транзакций) позволяет создавать приложения с необходимым уровнем надежности и сохранности данных. 9. Возможности серверных процедур обработки (триггеров и хранимых процедур) закладывают основу для масштабирования приложений, позволяют гибко распределять прикладную логику между клиентом и сервером при переходе к архитектуре клиент-сервер. 10 Хранение в БД описания проекта создаваемого приложения является прообразом репозитория инструментальных средств быстрой разработки RAD и CASE-систем.
Microsoft Access - первая СУБД для персональных компьютеров, созданная для работы в среде Windows
Система Visual Fox. Pro
Перенос файл-серверных приложений в среду клиент-сервер Существует несколько подходов к интеграции и адаптации файлсерверных приложений к архитектуре клиент-сервер: 1. Использование библиотек доступа к серверам БД; 2. Связь с сервером БД через открытый протокол ODBC; 3. Укрупнение файл-серверных приложений. Библиотеки доступа к базам данных Применяется для систем на базе Clipper или Clarion 1. Подключиться к системе Oracle; 2. Вставить в базу данных новую строку; 3. Удалить существующую строку; 4, Произвести модификацию содержимого полей существующей строки; 5. Выполнить поиск строк по заданному точному значению полей; 6. Выполнить поиск строк по заданному шаблону значений полей; 7. Выполнить поиск строк по их относительному номеру в заданной группе; 8, Блокировать и разблокировать таблицы; 9. Обрабатывать транзакции, в том числе с возможностью установки контрольных точек внутри одной транзакции.
Протокол ODBC и его реализации Интерфейс CLI соответствует требованиям, установленным в 1996 году комитетом SQL Access Group и определяющим общий синтаксис SQL и интерфейса API. Иметь общий метод доступа к источникам данных удобно потому, что тогда база данных на сервере становится прозрачной для приложений, которые написаны в соответствии со специфицированным уровнем совместимости ODBC. Интерфейс ODBC API реализован как набор расслоенных DLL-функций для Windows. Динамическая библиотека ODBC. DLL - это основная библиотека управления драйверами ODBC, которая содержит функции вызовов специализированных драйверов для разных поддерживаемых системой баз данных Одноуровневые драйверы предназначены для использования при работе с теми источниками данных, которые не могут быть прямо обработаны с использованием ANSI SQL. Обычно это локальные базы данных на персональных компьютерах, такие как d. Base, Paradox, Fox. Pro и Excel. Драйверы, соответствующие этим базам данных, производят компиляцию ANSI SQL в наборы инструкций более низкого уровня, которые непосредственно обрабатывают составляющие базу данных файлы. Многоуровневые драйверы используют сервер РСУБД для обработки SQLпредложений и предназначены для работы в среде клиент-сервер. Помимо обработки ANSI SQL, они также могут поддерживать и собственные конструкции конкретной РСУБД, поскольку ODBC может без трансляции передавать SQL-операторы источникам данных (механизм "passthrough").
Шаг 1 - установление соединения. Первый шаг состоит в размещении указателей (handle) среды ODBC, которые выделяют оперативную память под ODBC драйверы и библиотеки. Затем происходит выделение памяти для указателей соединения, и соединение устанавливается. Шаг 2 - выполнение оператора SQL. Выделяется указатель оператора, локальные переменные связываются со столбцами в SQLвыражении (это необязательное действие), и выражение представляется главному ODBC-драйверу для обработки. Шаг 3 - извлечение данных. Перед извлечением данных возвращается информация о результирующем наборе, в частности, число столбцов в наборе. Исходя из этого числа, результирующий набор помещается в буфер записей, выполняется цикл его просмотра и содержимое каждого столбца помещается в соответствующую локальную переменную. Этот шаг необязателен, если используется связывание столбцов с локальными переменными. Шаг 4 - освобождение ресурсов. После того, как данные получены, ресурсы освобождаются путем вызова функций освобождения указателей оператора, соединения и среды. Указатели оператора и соединения могут быть использованы в процессе обработки.
Укрупнение приложений (Upsizing) Начиная с версии 2000, появилась возможность создавать так называемые проекты (. adp), которые являются, по сути, клиентской частью приложения, работающего с БД SQL Server. Файлы *. adp будут работать только с SQL Server. Для укрупнения базы данных Access убедитесь в том, что SQL Server работает и создайте на нем пустую базу данных. Вы также должны удостовериться, что у каждой таблицы вашей базы данных Access есть первичный ключ. Если такового не имеется, SQL Server перенесет таблицу в режиме «только для чтения» . После того как база данных готова к преобразованию, вы будете использовать сам Access для выполнения преобразования в базу данных SQL Server. Находясь в Access , выберите Tools | Databases Utilites |Upsizing Wizard (Сервис | Служебные программы | Мастер преобразования в формат SQL Server).


