Презентация, доклад по МДК 02.02 Технология разработки и защита баз данных на тему Трёхуровневые приложения. Принципы построения трёхуровневых приложений для студентов специальности 230115 Программирование в компьютерных системах (базовая подготовка)

Содержание

План занятияПонятие трёхуровневой архитектурыПринципы построения трехуровневых приложенийСервер приложенийПриложение клиента

Слайд 1Трехуровневые приложения. Принципы построения трехуровневых приложений

Трехуровневые приложения. Принципы построения трехуровневых приложений

Слайд 2План занятия
Понятие трёхуровневой архитектуры
Принципы построения трехуровневых приложений

Сервер приложений

Приложение клиента

План занятияПонятие трёхуровневой архитектурыПринципы построения трехуровневых приложенийСервер приложенийПриложение клиента

Слайд 3 В трёхуровневой архитектуре, кроме сервера и приложений-клиентов (клиентов) дополнительно присутствует еще

сервер приложений.
Сервер приложений является промежуточным уровнем, обеспечивающим организацию взаимодействия клиентов ("тонких" клиентов) и сервера.
Сервер приложений также называют брокером данных (broker — посредник).

В трёхуровневой архитектуре, кроме сервера и приложений-клиентов (клиентов) дополнительно присутствует еще сервер приложений. 		Сервер приложений является промежуточным

Слайд 4Основные достоинства трехуровневой архитектуры
снижение нагрузки на сервер;
упрощение клиентских приложений;
единое поведение всех

клиентов;
упрощение настройки клиентов;
независимость от платформы.

Информационные системы, основанные на трехуровневой сетевой архитектуре, называют также распределенными.

Основные достоинства трехуровневой архитектурыснижение нагрузки на сервер;упрощение клиентских приложений;единое поведение всех клиентов;упрощение настройки клиентов;независимость от платформы.Информационные системы,

Слайд 5Принципы построения трехуровневых приложений
В Delphi многоуровневые приложения разрабатываются на основе технологии

MIDAS (Multitier distributed application services — служба многоуровневых распределенных приложений).
Принципы построения трехуровневых приложений 		В Delphi многоуровневые приложения разрабатываются на основе технологии MIDAS (Multitier distributed application services

Слайд 6Технология MIDAS включает в себя основные элементы:
удаленный брокер данных — обеспечивает

интерфейс для обмена данными между сервером приложений и клиентом;
брокер бизнес-объектов — совместно с технологией Borland OLEnterprise позволяет размещать сервер приложений одновременно на нескольких компьютерах;
брокер ограничений — обеспечивает распределение ограничений, применяемых к данным, между отдельными уровнями информационной системы.

Технология MIDAS включает в себя основные элементы: удаленный брокер данных — обеспечивает интерфейс для обмена данными между

Слайд 7 Особенности трехуровневого приложения связаны с созданием сервера приложений и клиентского приложения,

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

Особенности трехуровневого приложения связаны с созданием сервера приложений и клиентского приложения, а также с организацией взаимодействия между

Слайд 8Трехуровневая архитектура типа "клиент-сервер"

Трехуровневая архитектура типа

Слайд 9Сервер приложений
Для создания различных серверов приложений предназначены следующие разновидности удаленных модулей

данных:
Remote Data Module— для серверов DCOM, TCP/IP и OLEnterprise;
MTS Data Module— для сервера MTS;
CORBA Data Module— для сервера CORBA. 

Сервер приложений 		Для создания различных серверов приложений предназначены следующие разновидности удаленных модулей данных:Remote Data Module— для серверов

Слайд 10 В удаленном модуле данных размещаются те же компоненты, что и в

простом модуле данных, например, Query, Database, Session, предназначенные для организации доступа к данным.
Добавление к проекту удаленного модуля данных выполняется выбором объекта Remote Data Module страницы Multitier Хранилища объектов.
В удаленном модуле данных размещаются те же компоненты, что и в простом модуле данных, например, Query, Database,

Слайд 11 При добавлении модуля выводится диалоговое окно мастера Remote Data Module Wizard,

в котором нужно задать параметры модуля (рис.2).

При добавлении модуля выводится диалоговое окно мастера Remote Data Module Wizard, в котором нужно задать параметры модуля

Слайд 12 В поле редактирования CoClass Name вводится имя модуля данных.
В списке Instancing

выбирается способ запуска модуля:
Internal— экземпляр модуля данных создается на сервере в случае, когда МД является частью библиотеки DLL;

В поле редактирования CoClass Name вводится имя модуля данных.		В списке Instancing выбирается способ запуска модуля:Internal— экземпляр модуля

Слайд 13Single Instance— для каждого клиента в его адресном пространстве создается один

экземпляр удаленного МД, и каждое клиентское соединение запускает этот свой экземпляр;
Multiple Instance— один экземпляр приложения (процесс) представляет все удаленные МД, созданные для клиентов (по умолчанию).

Single Instance— для каждого клиента в его адресном пространстве создается один экземпляр удаленного МД, и каждое клиентское

Слайд 14 В списке Threading Model (Потоковая модель) выбирается способ вызова интерфейса клиента,

если МД является частью библиотеки DLL:
Single— библиотека получает запросы клиента по одному;
Apartment— одновременно обрабатывается несколько запросов клиентов, для каждого из которых создан отдельный экземпляр МД (по умолчанию);

В списке Threading Model (Потоковая модель) выбирается способ вызова интерфейса клиента, если МД является частью библиотеки DLL:Single—

Слайд 15Free— отдельный экземпляр МД одновременно может отвечать на несколько запросов клиентов;
Both— отдельный

экземпляр МД одновременно может отвечать на несколько запросов клиентов, результаты обработки также возвращаются одновременно.

Free— отдельный экземпляр МД одновременно может отвечать на несколько запросов клиентов;Both— отдельный экземпляр МД одновременно может отвечать

Слайд 16 Разместим в удаленном модуле набор данных Query и зададим для него

значения свойств DatаВаsеName и Sql так, чтобы включить в набор все поля всех записей таблицы Personnel. Указанным свойствам присвоим значения:
DataBaseName — BDPlace;
SQL — SELECT * FROM Personnel.db.

Разместим в удаленном модуле набор данных Query и зададим для него значения свойств DatаВаsеName и Sql так,

Слайд 17Порядок создания простейшего сервера DCOM
к проекту добавляем удаленный модуль данных;
в

модуле размещаем компонент набора данных и присваиваем значения его свойствам.

Порядок создания простейшего сервера DCOM к проекту добавляем удаленный модуль данных;в модуле размещаем компонент набора данных и

Слайд 18Созданное приложение сервера состоит из следующих частей:
 
проекта;
главной формы приложения;
удаленного модуля данных;
модуля

библиотеки типов.

Созданное приложение сервера состоит из следующих частей: проекта;главной формы приложения;удаленного модуля данных;модуля библиотеки типов.

Слайд 19 После создания сервера DCOM его нужно зарегистрировать как сервер автоматизации. Регистрация

сервера выполняется Windows автоматически при запуске приложения сервера.
Компонент DataSetProvider, который предоставляет большие возможности по управлению интерфейсом провайдера, включая обмен XML-данными.

После создания сервера DCOM его нужно зарегистрировать как сервер автоматизации. Регистрация сервера выполняется Windows автоматически при запуске

Слайд 20 Простейший сервер DCOM представляет собой удаленный брокер данных, который обеспечивает соединение

с сервером БД и передачу данных клиенту и обратно.
Поддержка механизма ограничений обеспечивается брокером ограничений.
Простейший сервер DCOM представляет собой удаленный брокер данных, который обеспечивает соединение с сервером БД и передачу данных

Слайд 21 Для реализации ограничений в сервере приложений можно использовать свой­ство Constraints наборов

данных Table И Query.
Свойства:
customConstraint типа string — код SQL, описывающий ограничение;
ErrorMessage типа string — текст, выдаваемый пользователю при нарушении данного ограничения;

Для реализации ограничений в сервере приложений можно использовать свой­ство Constraints наборов данных Table И Query. Свойства:customConstraint типа

Слайд 22FromDictionary типа Boolean — признак, значение True которого указывает, что ограничение

выбирается из словаря данных; по умолчанию свойство имеет значение False, и словарь данных не используется;
importedConstraint типа string — код SQL, описывающий ограничение, которое импортировано из словаря данных.

FromDictionary типа Boolean — признак, значение True которого указывает, что ограничение выбирается из словаря данных; по умолчанию

Слайд 23Определение ограничений для набора данных Queryl

Определение ограничений для набора данных Queryl

Слайд 25 Ответить на вопросы:
Перечислите основные достоинства трёхуровневых архитектур.
Назовите принципы построения трёхуровневых

архитектур.

Ответить на вопросы: Перечислите основные достоинства трёхуровневых архитектур.Назовите принципы построения трёхуровневых архитектур.

Слайд 26Приложение клиента
Приложение "тонкого" клиента отличается от ранее рассмотренного приложе­ния "толстого" клиента

в первую очередь тем, что для "тонкого" клиента нужно выполнить следующие действия:
организовать связь между приложением клиента и сервером приложений;
обеспечить обмен информацией между наборами данных клиента и сервера.

Приложение клиентаПриложение

Слайд 27 Выбор компонента, используемого для соединения с сервером приложений, за­висит от типа

сервера:
DCOMConnection — для соединения с серверами DCOM и MTS;
Socketconnection — для соединения с сервером через сокеты TCP/IP;
corbaConnection — для соединения с сервером CORBA.

Выбор компонента, используемого для соединения с сервером приложений, за­висит от типа сервера:DCOMConnection — для соединения с серверами

Слайд 28Создадим приложение клиента, подключаемого к рассмотренному серверу DCOM, для чего разместим

на главной форме компонент DCOMConnection (DataSnap). Основными свойствами этого ком­понента являются следующие:
ComputerName типа string — имя компьютера, на котором расположен сервер приложений;
ServerName типа string — имя сервера приложений;

Создадим приложение клиента, подключаемого к рассмотренному серверу DCOM, для чего разместим на главной форме компонент DCOMConnection (DataSnap).

Слайд 29serverGuiD типа string — универсальный уникальный идентификатор GUID сервера приложений;
Connected типа

Boolean — признак, управляющий активностью соединения.
serverGuiD типа string — универсальный уникальный идентификатор GUID сервера приложений;Connected типа Boolean — признак, управляющий активностью соединения.

Слайд 30 Если сервер расположен на одном компьютере с приложением клиента (что удобно

при отладке приложений), то свойству ComputerName значение не за­дается.

Если сервер расположен на одном компьютере с приложением клиента (что удобно при отладке приложений), то свойству ComputerName

Слайд 31 Клиентский набор данных clientDataSet предназначен для работы с записями, поступающими с

сервера приложений.






Cвойства:

RemoteServer типа TCustomRemoteServer — соединение, используемое для свя­зи с сервером;
Клиентский набор данных clientDataSet предназначен для работы с записями, поступающими с сервера приложений.   Cвойства:RemoteServer типа

Слайд 32ProviderName типа string — провайдер, обеспечивающий передачу данных;
Active типа Boolean —

признак, указывающий, открыт или закрыт набор данных;
PacketRecords типа integer — размер пакета данных;
FileName типа string — имя файла для обмена данными с диском.

ProviderName типа string — провайдер, обеспечивающий передачу данных;Active типа Boolean — признак, указывающий, открыт или закрыт набор

Слайд 33 В качестве значения свойства RemoteServer можно указывать любой из компо­нентов, используемых

для соединения с сервером: DCOMConnection, Socketconnection, corbaConnection, а также Webconnection.
В качестве значения свойства RemoteServer можно указывать любой из компо­нентов, используемых для соединения с сервером: DCOMConnection, Socketconnection,

Слайд 34 Для работы с данными в приложении клиента размещаются визуальные компо­ненты и

источник данных DataSource, которые связываются между собой, а также с клиентским набором данных аналогично как и для приложений "толстого" кли­ента.
Для работы с данными в приложении клиента размещаются визуальные компо­ненты и источник данных DataSource, которые связываются между

Слайд 35Форма приложения "тонкого" клиента на этапе разработки

Форма приложения

Слайд 36Для просмотра состояния текущей записи клиентского набора данных исполь­зуется метод updatestatus:

TUpdateStatus, возвращающий значения:
usUnmodified — запись не имеет изменений;
usModified — запись изменена (отредактирована);
usinserted — запись вставлена (является новой);
usDeleted — запись удалена.

Для просмотра состояния текущей записи клиентского набора данных исполь­зуется метод updatestatus: TUpdateStatus, возвращающий значения:usUnmodified — запись не

Слайд 37Просмотр состояния текущей записи и изменений в записях

Просмотр состояния текущей записи и изменений в записях

Слайд 38 Получить доступ ко всем изменениям, которые сделаны в записях, но еще

не отправлены на сервер, позволяют свойства Data и Delta, первое из которых представляет собой данные клиентского набора данных, а второе — его измененные данные (Delta-данные).
ClientDataSet2.Data:=ClientDataSetl.Delta;

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

Слайд 39  Свойство ChangeCount, доступное во время выполнения, содержит число измененных записей, которое

нужно проверять на равенство 0 перед тем, как делать попытку получить эти записи.
Пример:
if ClientDataSetl.ChangeCount >0 then ClientDataSet2.Data:=
ClientDataSetl.Delta;

 	Свойство ChangeCount, доступное во время выполнения, содержит число измененных записей, которое нужно проверять на равенство 0 перед

Слайд 40procedure TForml.DataSourcelDataChange(Sender: TObject; Field: TField);
begin
usUnModified: Label1.Caption:='Запись не изменялась';
usModified: Labell.Caption:=‘Зaпись изменена';
uslnserted: Labell.Caption:='Запись

вставлена';
usDeleted: Labell.Caption:='Запись удалена';
end;
if ClientDataSetl.ChangeCount > 0
then ClientDataSet2.Data:=ClientDataSetl.Delta;
Labe12.Caption:='Изменения в записях — ' +IntToStr(ClientDataSetl.ChangeCount);
end;

procedure TForml.DataSourcelDataChange(Sender: TObject; Field: TField);beginusUnModified: Label1.Caption:='Запись не изменялась';usModified: Labell.Caption:=‘Зaпись изменена';uslnserted: Labell.Caption:='Запись вставлена';usDeleted: Labell.Caption:='Запись удалена';end;if ClientDataSetl.ChangeCount > 0then

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть