Конференция "Базы" » Использование RDSConnection в трехзвенке
 
  • elonir (09.06.12 04:26) [0]
    Доброго времени суток. Многим известен стандартный пример на использование RDS c ADO в папке Demos. Этот пример характерен тем, что клиент успешно подключается к серверу приложений только на машине сервера.

    В случае запуска на удаленной машине клиента с прописанными у RDSConnection ServerName и ComputerName  - "не удалось создать бизнес объект." Север-приложений не виден для удаленного клиента.

    Вопрос заключается в том, как использовать связку RDS-ADO для организации доступа с удаленной машины. Как заставить стандартный пример работать? Что и как нужно настроить? Если есть разные варианты организации такого взаимодействия, то какой проще?

    Кто-то говорит, что нужно настраивать DCOM в dcomcnfg.exe  и регистрировать сервер на обоих машинах и  создавать на каждый клиент пользователя на серверной машине оО. А что именно настраивать? Что делать если прав нет на создание пользователей и раздачу привилегий?
    Кто-то говорит непременно нужен IIS, куда без него.

    Совсем замучался с этим( Видимо не я первый, не я последний. Помогите, пожалуйста, новичку.

    Спасибо.
  • elonir (09.06.12 15:54) [1]
    Спасибо ребята, вроде разобрался с проблемой, если настроить DCOM то работает.
    Ссылка на настройку DCOM:

    http://help-micro.com.ua/rus/dcom/dcomclixp.htm - на клиентской машине
    http://help-micro.com.ua/rus/dcom/dcomsrvxp.htm - на серверной машине
  • Savek (09.06.12 17:48) [2]
    Слава богу я этого не нашел в свон время
  • Savek (09.06.12 17:48) [3]
    Слава богу я этого не нашел в свон время
  • elonir (09.06.12 22:44) [4]
    Да я натыкался на много таких вопросов и все они увы без ответа, или с пространными советами весьма)) Ну мб пригодится кому-нибудь еще)
  • Loginov Dmitry © (09.06.12 23:35) [5]

    > Спасибо ребята, вроде разобрался с проблемой, если настроить
    > DCOM то работает.
    > Ссылка на настройку DCOM:


    На какой именно версии Windows и при каких настройках работает данный совет?
    Учтите, что в каждой версии Windows, имеются свои нюансы по настройке DCOM, причем влияет тип сети (локальная/домен), особенности локальной/групповой политики, наличие/отсутствие паролей у пользователей и тыщи других вещей.
    Если есть возможность, то не связывайтесь с данной технологией!
    В свое время борланд пытался разработать решение для обхода проблем с настройками DCOM, создал службу ScktSrvr и компоненты TSocketConnection для подключения к ней, но это весьма сложно назвать законченными решением, оно имеет имеет немало глюков (к счастью есть исходники ScktSrvr, а также модуля SConnect).
  • sniknik © (09.06.12 23:58) [6]
    > решение для обхода проблем с настройками DCOM
    основная проблема - считается не безопасным, и хрен ты местных админов заставишь открыть твоей программе доступ по DCOM.

    т.е. если программа "для себя" то бога ради, используй, если "на вынос" клиентам ставить, то лучше не надо.
  • elonir (10.06.12 00:08) [7]
    >На какой именно версии Windows и при каких настройках работает данный совет?
    Для XP, сработало на машинах в одном домене, под доменным пользователем. Совершенно точно, везде свои нюансы, например на Vista у меня не были доступны свойства Моего Компьютера в службах компонентов

    >влияет тип сети (локальная/домен)
    да, действительно, в процессе поисков можно натолкнуться для варианты настройки для домена и без него.

    >ScktSrvr
    Да, я вкурсе, спасибо, и это действительно намного проще.
    Да и вообще, трехзвенку сейчас уже особо не используют)
    Необходимость разобраться с RDS была навязана учебной задачей в институте, тут уж не отвертишься.
  • sniknik © (10.06.12 00:14) [8]
    > Да и вообще, трехзвенку сейчас уже особо не используют)
    ???? да ну. 1С-сом в конторе пользуются? а субд какой нибудь? любой клиент сервер это суть трехзвенка.
  • sniknik © (10.06.12 00:16) [9]
    да черт с ним с 1С-ом, а браузер + сервер? ты сюда каким то чудом в обход написал?
  • elonir (10.06.12 00:39) [10]
    >???? да ну.

    Разумеется речь не о том, что трехзвенку вообще нигде больше не встретишь))))
    Но тем не менее, это не мои слова, я просто слышал, что по возможности стараются отходить от трехзвенной архитектуры, например, интегрируя сервер приложений с сервером БД. Благо, что многими СУБД поддерживается ООП - в oracle java, в MSSQL  -языки .net.
    В условиях современных высокопроизводительных серверов уже не всегда есть необходимость выносить часть бизнес-логики на сервер приложений.

    Насколько я понял, конечно в общем случае выбор архитектуры сильно зависит от задачи, но широкий класс задач позволяет использовать двухзвенку. А вообще - это тема эпических холиваров)

    Вообще, честно говоря, тут я сливаюсь, так как опыта нет и темой владею слабо)
  • Loginov Dmitry © (10.06.12 00:40) [11]

    > и хрен ты местных админов заставишь открыть твоей программе
    > доступ по DCOM.


    Советоваться с админами по вопросам разработки ПО - это лишнее! Ихнее дело - настроить, чтобы все работало. Начальство скажет - откроют доступ к чему угодно.
    Наоборот, админы в шоке, когда сталкиваются с настройками DCOM (иногда целый день тратят, пока не выяснится, что он сам задал некую настройку в винде, препятстdующую работе DCOM) и каждый раз умоляют избавится от этой мути. Поскольку нельзя заранее определить, какой порт прослушивает подсистема DCOM, не все файрволы/антивирусы можно корректно настроить, часто приходится их отключать. Помню, года три назад бодался с кашперовским антивирусом, который проверял весь DCOM-траффик (делал он это не спеша, приложения ЖУТКО тормозили (простейший вызов функции занимал порядка секунды)) и не имел возможности отключить данный режим.
  • Loginov Dmitry © (10.06.12 00:42) [12]

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


    Если есть возможность не связываться с трехзвенкой, воспользуйся ею.
  • sniknik © (10.06.12 00:53) [13]
    > Советоваться с админами по вопросам разработки ПО - это лишнее!
    при чем тут советы? главное продажи, а они зависят от кучи факторов, в том числе и что скажет начальнику местный админ.

    > Ихнее дело - настроить, чтобы все работало.
    сколько у тебя/программы было клиентов? вообще продавал? и скольких вынудили по этой схеме "поперек" админов?
  • elonir (10.06.12 00:58) [14]
    >Если есть возможность не связываться с трехзвенкой, воспользуйся ею.

    Трехзвенкой? XDDD, всевсевсе, шутка шутка)
  • Loginov Dmitry © (10.06.12 09:06) [15]

    > сколько у тебя/программы было клиентов? вообще продавал?
    >  и скольких вынудили по этой схеме "поперек" админов?


    Клиентов много. Админов спрашивают в последнюю очередь. Во всех случаях удается разрулить (специфика такая). Часто приходится учить админов вопросам настройки Windows (не говоря уж о DCOM).
  • sniknik © (10.06.12 10:05) [16]
    > удается разрулить
    разрулить, это не заставить.
    тем более если клиенты - магазины, банки т.е. там где реальные деньги, там волшебное слово "безопасность" дает админу дополнительный "скилл" во влиянии на свое начальство.
    знание настроек виндовс это зачастую совсем другой "скилл", часто в "противофазе" с первым... т.е чем меньше он знает о настройках/работе винды, тем больше вероятность, что прикрываясь "безопасностью" или чем другим, он откажется менять конфигурацию своей сети. и всех не научишь.
 
Конференция "Базы" » Использование RDSConnection в трехзвенке
Есть новые Нет новых   [119556   +69][b:0][p:0.001]