Re[4]: в общую кучу вопрос по теме (DCOM-thread)
От: INT Россия  
Дата: 22.01.02 14:49
Оценка:
А>>все таки пункт 2:
А>>несколько клиентов шуршат меняют например БД посредством сервера.. Так вот надо что бы клиент продолжал работать, но своевременно был поставлен в известность об изменениях выполненным другим клиентом.

VD>Для этого нужно или чтобы клиент проверял состояние через определенный промежуток времени (метод не красивый, но самый надежный и легкий в реализации), или реализовать обратную связь, например, через события (IConnectionPointContainer/IConnectionPoint). Метод плохой по двум причинам. 1-я — будут (обязательно!) проблемы с защитой (о том как ее обойти будет сказано в моей статье о защите в DCOM в #0 RSDN Magazine). 2-я — в этом варианте сервер становится заодно и клиентом, причем клиентом (извини за каламбур) всех своих клиентов. :) Это приводит к тому, что если хотя бы один клиент зависнет, то вызов его методов приведет к повисанию сервера (пусть даже временному, но повисанию). Конечно можно обойти это производя вызовы из отдельных потоков, но это приведет к существенному усложнению кода, и если ваши программисты не очень хорошо знакомы с ком, вероятность того, что этот проект вообще не заработает будет очень велика.


А>>Критичное требование: не использовать "третьи" приблуды типа MTS...


VD>Требования совершенно дурацкие. Потому, что COM+ мог бы упростить реализацию данной задача.

VD>А на какие ОС предполагается ставить сервер?
---------
Очень актуальный для меня вопрос!

Вот моя ситуация:
Есть некий класс который добавляет, извлекает, менят данные в БД посредством скажем DAO.
назовем этот класс враппером.

Есть ПО которое работает с этим классом.

Как такое ПО сделать многопользовательским,сетевым? Я понимаю, что можно делать это средствами DAO, но хотелось бы вариант в котором этот самый враппер выполняется на сервере, отслеживая изменения и оповещает об этом клиентов.. А еще лучше если этот самый враперр будет возвращать только результатирующие наборы данных,
а не гонять все таблицы по сети — собственно для этого и делается вся кухня :)


Достаточно просто основных вех — конкретных примеров не нужно.
ОС — win32, инструмент — родной VC;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.