
- •Введение
- •Часть 2. Общая классификация архитектур информационных приложений
- •2.1. Файл-серверные приложения
- •2.2. Клиент-серверные приложения
- •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. Классический подход к проектированию реляционных баз данных
- •4.4.1. Функциональные и прочие зависимости
- •4.4.2. Проектирование реляционных баз данных на основе принципов нормализации
- •4.4.2.1. Вторая нормальная форма
- •4.4.2.2. Третья нормальная форма
- •4.4.2.3. Нормальная форма Бойса-Кодда
- •4.4.2.4. Четвертая нормальная форма
- •4.4.2.5. Пятая нормальная форма
- •4.5. Концептуальные модели и схемы баз данных
- •4.5.1. Диаграммное представление
- •4.5.1.1. Основные понятия модели Entity-Relationship (Сущность-Связи)
- •4.5.1.2. Нормальные формы er-схем
- •4.5.1.3. Более сложные элементы er-модели
- •4.5.1.4. Получение реляционной схемы из er-схемы
- •4.5.2. Виды нотаций
- •4.5.2.1. Case-метод Баркера
- •4.5.2.2. Методология idef1
- •4.5.2.3. Подход, используемый в case-средстве Vantage Team Builder
- •4.6. Case-системы для проектирования информационных систем
- •4.6.1. Назначение и разновидности case-систем
- •4.6.2. Примеры и различия распространенных case-систем
- •4.6.2.4. Локальные средства (eRwin, bPwin, s-Designor, case.Аналитик)
- •4.6.2.5. Объектно-ориентированные case-средства (Rational Rose)
- •4.7. Физическое проектирование баз данных
- •4.7.1. Противоречия теории и практики
- •4.7.2. Денормализация для оптимизации
- •Часть 6. Информационные приложения, основанные на использовании "складов данных" (DataWarehousing)
- •6.1. Проблема интеграции данных
- •6.2. Подходы и имеющиеся решения
- •6.2.1. Компания ibm
Часть 3. Средства и методологии проектирования, разработки и сопровождения файл-серверных приложений
Как мы уже отмечали, по поводу файл-серверных приложений имеется значительная путаница в терминологии. В этом курсе мы будем называть файл-серверной информационной системой систему, которая в основном базируется на персональных компьютерах, используя в качестве внешней поддержки один или несколько файловых серверов, обеспечивающих значительные возможности управления внешней памятью, но не обладающих "интеллектом", поддерживая в основном только управление файлами. Практически во всех файл-серверных средствах и методологиях имеется тенденция к переходу к технологии "клиент-сервер". Выражая только свое личное мнение, заметим, что файл-серверные архитектуры являются в большой степени облегченными вариантами клиент-серверных архитектур "для бедных", хотя во многих случаях предлагаемые решения являются достаточными для небольшого по объему класса информационных систем.
3.1. Традиционные средства и методологии разработки файл-серверных приложений
Пожалуй, стоит отметить, что хотя для разработки файл-серверных приложений имеется целый ряд инструментальных средств, отсутствуют общепринятые методологии. Вернее сказать, что когда методологии используются, то они те же, что в к клиент-серверных приложениях. Обычно же файл-серверные приложения проектируются и разрабатываются "по месту" без использования каких-либо стандартных методов.
3.1.1. Системы программирования и библиотеки
Системы программирования третьего поколения 3GL являются предшественниками современных инструментальных средств и могут использоваться для разработки информационных приложений при наличии соответствующих встроенных или библиотечных средств для реализации диалога и доступа к базам данных.
Системы программирования для персональных компьютеров прошли долгий путь развития. Можно выделить три четкие языковые линии, которые оказывали друг на друга большое влияние, взаимно обогащаясь - это Си, Паскаль и Бейсик.
Отметим основные вехи на пути развития систем программирования:
Переход от одиночных утилит систем программирования к интегрированным диалоговым средам программирования (например, семейство Turbo-продуктов фирмы Borland);
Развитие инструментальных наборов, расширяющих возможности систем программирования, в частности, в области диалога (разного рода Tool Box);
Появление объектно-ориентированных диалектов языков Си и Паскаль; заметим, что по нашему мнению, несмотря на то, что Паскаль является более строгим и корректным языком, феномен Си++ имеет большее значение в силу наличия стандарта;
Возникновение операционной среды Windows со встроенной поддержкой диалога и первых Windows-приложений с помощью SDK (Software Development Keet);
Создание объектно-ориентированных библиотек, поддерживающих диалоговый режим работы в среде DOS и Windows (TurboVision, Object Windows и MFC);
Появление систем программирования, облегчающих создание приложений для DOS и Windows;
Развитие механизма встраивания и связывания объектов OLE 2;
Переход к визуальным системам программирования (Visual Си++, Delphi, Visual Basic), которые ориентированы на разработку информационных приложений.
Поддержка диалогового режима развивалась совместно с развитием самих систем программирования и была естественным образом интегрирована с ними. Библиотеки же доступа к базам данных развивались своим путем. Наибольшее число библиотек доступа из языков программирования уровня 3GL к реляционным СУБД на персональных компьютерах поддерживает семейство xBase (Clipper, FoxPro, dBase). Из языков программирования чаще всего используется Си. Также можно отметить наличие таких библиотек, как CodeBase и DBTools (фирма Rogue Wave).
В библиотеке CodeBase используются те же форматы данных, индексов и memo-файлов, что и в СУБД dBase IV. Имеется возможность поддержки индексных файлов Clipper и memo-файлов dBase III Plus. Имеющиеся в библиотеке CodeBase функции могут не только выполнять все стандартные операции СУБД семейства xBase, но и позволяют устанавливать фильтры, задавать отношения, вычислять допустимые в СУБД выражения. Библиотечные функции поддерживают многопользовательские режимы работы в локальной сети и в среде многозадачной ОС, обеспечивая блокировку как на уровне файлов, так и записей. В комплект поставки входят тексты функций, что позволяет адаптировать их для конкретного использования.
Библиотека DBTools является многоплатформенной библиотекой для языков Си/Си++ и рассчитана на поддержку семейства СУБД xBase, Informix, Oracle и др.