Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.10.2008, 12:43
kiber0net0 kiber0net0 вне форума
Прохожий
 
Регистрация: 12.08.2008
Сообщения: 15
Репутация: 10
По умолчанию Как работает "Удаженный модуль данных"?

У меня вопросик чисто теоретический, в литературе про это как-то вскользь упоминается.

А вопрос в следующем:
Есть сервер, подключенный к БД, и тонкий клиент , на клиенте формируется SQL-запрос и отправляется на сервер, а там уже обрабатывается.
Как работает "Удаженный модуль данных"(в часности "Remote Data Module"), тоесть как он работает я примерно понял, меня больше интересует не будет ли создаваться конфликтов если с разных компьютеров одновременно подключатся пользователи и захотят получить различную информацию?
Или для каждого клиента приложение создаст копию отдельного удаленного модуля?


Заранее спасибо за ответы.
Ответить с цитированием
  #2  
Старый 10.10.2008, 10:52
Grunch Grunch вне форума
Новичок
 
Регистрация: 08.04.2008
Адрес: Краснодар
Сообщения: 52
Репутация: 10
По умолчанию

Когда создается Remote Data Module выбираются его режимы работы Instances и Threading model. Вот от этих настроек и зависит как Remote Data Module будет себя вести при несколькоих подключениях.

CoClass Name - имя класс, под которым данный сервер приложений будет зарегистрирован в реестре (в нашем примере SrvApp).
Instancing (способ создания экземпляров)- раскрывающийся список с 3я допустимыми вариантами. Этот параметр определяет, сколько копий серверного процесса будет запущено:
Internal -использование COM-сервера только внутри приложений без доступа к внешних объектов;
Single Instance (единственный экземпляр)- каждый клиент при подключении создает свой отдельный экземпляр COM-сервера. Данный метод позволяет получить параллельный доступ клиентов к данным, но создает большую нагрузку на компьютер сервера;
Multiple Instance (множественные экземпляры)- всеми клиентами используется один экземпляр COM-сервера. Работа клиентов в данном случае будет вестись по очереди, но нагрузка на сервер будет меньше. Для нашего примера этот вариант наиболее предпочтителен.
Treading Model (выбор модели потока)- этот параметр позволяет подпрограммам поддержки COM распределять соединения по отдельным потокам без необходимости применять дополнительный код. Для RDM модулей допустимы 4 модели потоков:
Single (одиночная) - эта модель позволяет одновременно обрабатывать только один запрос, но при этом нет необходимости заботится об управлении потоками.
Apartment (раздельная) - эта модель в сочетании с параметром Multiple Instance дает самые высокие результаты. Все клиенты использовать один процесс сервера и не будут блокировать работу друг друга, поскольку каждый будет использовать собственный поток сервера. Именно эту модель стоит выбрать при работе с BDE.
Free (свободная) - эта модель обеспечивает ещё большую гибкость, позволяя передавать серверу несколько запросов клиентов. Эту модель выгодно использовать при работе с ADO.
Both (обе модели) - эта модель также эффективна, как и модель Free, но при её использовании обеспечивается автоматическая сериализация обратных вызовов.
Взятоотсюда
Ответить с цитированием
  #3  
Старый 10.10.2008, 16:43
kiber0net0 kiber0net0 вне форума
Прохожий
 
Регистрация: 12.08.2008
Сообщения: 15
Репутация: 10
По умолчанию

Grunch

Огромное спасибо, ссылка то что надо.


P.S. Считаю, что тему можно закрывать
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025