Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 Практический раздел.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
5.18 Mб
Скачать

Подготовка данных для сервера приложений

Для создания сервера приложений нам потребуются какая-либо серверная СУБД, клиентом которой будет данный сервер приложений, и тестовые таблицы, которые будут перенесены на сервер баз данных. В рассмотренных в настоящей работе примерах используются Personal Oracle for Windows 95 и Oracle Workgroup Server 7.2 for Windows NT (90-дневные trial-версии), но не возбраняется использовать в качестве источника данных любую серверную СУБД (и, вообще говоря, даже набор таблиц dBase или Paradox).

Создадим нового пользователя Oracle с правами CONNECT и RESOURCE и от его имени перенесем c помощью утилиты Data Migration Wizard таблицы CLIENTS.DBF и HOLDINGS.DBF из базы данных DBDEMOS, входящей в комплект поставки Delphi 3, в базу данных Personal Oracle for Windows 95 или Oracle Workgroup Server 7.2 for Windows NT. После этого можно приступить к созданию простейшего сервера приложений, являющегося, с одной стороны, клиентом серверной СУБД, и, с другой стороны, сервером конечного пользовательского приложения, которое становится при этом так называемым "тонким" клиентом.

Создание сервера приложений

Создание сервера приложений начнем с создания обычной формы (можно небольшого размера, так как основное ее назначение - быть индикатором запущенного сервера приложений) со значением свойства FormStyle равным fsStayOnTop (рисунок 39.1). Вообще говоря, появление на экране главной формы в общем случае не является обязательным. Далее создадим обычный модуль данных, содержащий компонент TDataBase, указывающий на серверную СУБД. Для простоты установим свойство LoginPrompt этого компонента равным False, а в свойстве Params укажем имя пользователя, от имени которого будет запущен сервер приложений, и его пароль:

Username=user1

Password = user1

Рисунок 39.1 – Главная форма и модуль данных сервера приложений

Далее из репозитария объектов (доступ к которому осуществляется выбором пункта меню File/New…) со страницы New следует выбрать объект Remote Data Module (рисунок 39.2).

Рисунок 39.2 – Выбор удаленного модуля данных из репозитария объектов

Remote Data Module имеет принципиальное отличие от обычного DataModule, заключающееся в том, что объекты, помещенные в него, могут иметь COM-интерфейс.

Создание Remote Data Module начинается с запуска эксперта Remote Dataset Wizard, в котором определяется, в частности, имя класса, под которым данный сервер приложений (он же OLE-сервер) будет зарегистрирован в реестре (рисунок 39.3):

Рисунок 39.3 – Выбор имени класса

Далее в созданный удаленный модуль данных поместим два компонента TTable, связанных с компонентом Database1 и указывающих на только что созданные таблицы CLIENTS и HOLDINGS, а также два компонента TProvider. Установим значения свойств DataSet компонентов TProvider равными именам соответствующих компонентов TTable. Установим связь master/detail между таблицами по полю ACCT_NBR. Откроем таблицы (рисунок 39.4)

Рисунок 39.4 – Содержимое удаленного модуля данных

Далее из контекстного меню компонентов TTable и TProvider нужно выбрать опции

Export MyProv1 from data module

Export MyProv2 from data module

Export Table1 from data module

Export Table2 from data module

Последние две опции являются, вообще говоря, необязательными, так как компоненты TProvider обеспечивают другим приложениям, функционирующим в сети, доступ к данным, содержащимся в компонентах TTable и TQuery,

Если теперь исследовать полученную библиотеку типов (Type library), можно обнаружить, что COM-объект, который будет создаваться при запуске данного приложения, обладает интерфейсом, осуществляющим доступ извне к компонентам MyProv1, MyProv2, Table1 и Table2. (рисунок 39.5).

Рисунок 39.5 – Библиотека типов созданного проекта

Далее следует сохранить проект и скомпилировать приложение.

Рекомендуется убедиться, что оно зарегистрировано в реестре под выбранным ранее именем. Если тем не менее по каким-либо причинам этого не произошло, следует запустить наше приложение-сервер с параметром /regserver. После этого проект следует закрыть.

 

СОДЕРЖАНИЕ И ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

    1. Изучить теоретические введения.

  1. Создать сервер приложений, как рассказано в теоретическом материале.

  2. Настроить сервер приложений разными способами

  3. Проверить работу всего проекта.

  4. Продемонстрировать преподавателю работу разработанного образца проекта.

  5. Получить от преподавателя индивидуальное задание и создать проект (по аналогии) для выполнения индивидуального задания.

  6. Подготовиться к защите лабораторной работы, которая включает в себя демонстрацию индивидуального варианта, защиту по контрольным вопросам теоретической части работы.

Вопросы выходного контроля:

    1. Дайте определение понятию трехзвенная архитектура.

  1. Перечислите компоненты трехзвенной архитектуры.

  2. Назовите отличия трехзвенной архитектуры от обычной двухзвенной.

  3. Опишите процесс создания сервера приложений.

  4. Расскажите о настройках сервера приложений.

  5. Изобразите схему трехзвенной архитектуры.