На главную страницу
Форум txt.version   




Статья :: Дочерние удаленные модули данных

 

Дочерние удаленные модули данных

Один сервер приложения может содержать несколько удаленных модулей данных, которые, например, выполняют различные функции или обращаются к разным серверам БД. В этом случае процесс разработки серверной части не претерпевает изменений. При выборе имени сервера в компоненте удаленного соединения на стороне клиента (см. гл. 22) будут доступны имена всех удаленных модулей данных, включенных в состав сервера приложения.

Однако тогда для каждого модуля понадобится собственный компонент соединения. Если это нежелательно, можно использовать компонент TSharedConnection, но в этом случае в интерфейсы удаленных модулей данных необходимо внести изменения.

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

Рассмотрим, что же это означает для практики создания удаленных модулей данных. Суть идеи проста. Интерфейс главного модуля данных (разработчик назначает модуль главным, исходя из собственных соображений) должен содержать свойства, указывающие на интерфейсы всех других модулей данных, которые также необходимо использовать в рамках одного соединения на клиенте. Такие модули данных и называются дочерними.

Если такие свойства (свойство должно иметь атрибут только для чтения) существуют, все дочерние модули данных будут доступны в свойстве ChildName Компонента TSharedConnection (см. гл. 20).

Например, если дочерний удаленный модуль данных носит название Secondary, главный модуль данных должен содержать свойство Secondary:

ISimpleRDM = interface(lAppServer)

['{E2CBEBCB-1950-4054-B823-62906306E840}'] function Get_Secondary: Secondary; safecall;

property Secondary: Secondary read Get_Secondary;

end;

Реализация метода Get_secondary выглядит так:

function TSimpleRDM.Get_Secondary: Secondary;

 begin

Result := FSecondaryFactory.CreateCOMObject(nil) as ISecondary;

 end;

Как видите, в простейшем случае достаточно вернуть ссылку на вновь созданный дочерний интерфейс.

Полностью пример создания дочернего удаленного модуля данных рассматривается далее в этой главе.

 

Дочерние удаленные модули данных

страницы в данном разделе 
 ГЛАВА 21  ГЛАВА 21 Сервер приложения
 Структура сервера приложения  Интерфейс IAppServer
 Интерфейс IProviderSupport  Удаленные модули данных
 Удаленный модуль данных для сервера Автоматизации  Дочерние удаленные модули данных
 Регистрация сервера приложения  Пример простого сервера приложения
 Главный удаленный модуль данных  Дочерний удаленный модуль данных
 Регистрация сервера приложения  Резюме


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)
Flutter
React Native
Xamarin

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
©  http://ekb.programming-lang.com/tlg/  бесплатный телеграм бот
React Native
demo forum