Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: DCOM: посоветуйте для изучения  (Прочитано 30784 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« : 24-01-2007 17:27 » new

Ситуация примерно такая.

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

Есть задача доработать один из диалогов, но существующие интерфейсы ПО не имеют требуемого функционала - его нужно дописать. Я могу добавить прямую работу с базой и это было бы простейшим решением, но это не хорошо по двум причинам: необходимо вставлять в программу логин/пароли к базе и повышается нагрузка на саму базу (увеличивается число сессий). Кроме того, получается разносортица: часть через DCOM, а часть напрямую - не красиво. По этому есть идея добавить свои DCOM-компоненты на сервер и соотв. им затычки на машины клиентов.

Как считаете, я правильно выбрал?


Главная проблема во мне - я ни разу не писал COM компоненты.
Работать чуть-чуть пробовал, но было это очень давно - экспериментировал с DirectX. Сейчас пробовал работать с существующими компонентами в VB - оказалось намного проще, чем в VC.
Попробовал подковаться и заглянул на RSDN, но статей для начинающих я там не увидел. Кроме того, там описываются внутрипроцессовые компоненты, а про удаленные нислова.
Мне нужно прежде всего понять, как это работает. Что нужно, а что не обязательно для написания.


Что порекомендуете почитать?

Лучше бумажный вариант на русском.
Не надо советовать все подряд - напишите про то, что сами читали и книга понравилась.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #1 : 27-01-2007 14:42 » 

Я так понимаю, что DCOM никто не изучал, а узнал "свыше"?
Или никто не писал своих компонент?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #2 : 29-01-2007 08:19 » 

Третий раз забросил старик невод... (c) АСП.

Таки никто?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 30-01-2007 15:10 » 

Привет!
По большому счету ничего сложного, только я в Дельфе делал. Да и сейчас делаю.
Я вижу ситуацию так:
Есть сервер DCOM.
Есть клиент с "плагинами".
Есть проблема, для решения которой не хватает функционала DCOM -сервера.
Решение 1 - ты озвучил - это самому с базой.
Решение 2 - Сделать еще один DCOM-сервер, с которым будет работать "плагин" - правильно понял?
Решение 3 - Создать ДРУГОЙ DCOM сервер, который бы аггрегировал существующий и дополнял своим функционалом.
Решение 4 - Похоже на 3-е. Только не уверен, что такое можно сделать. Это сервер - контейнер. Какой у него запрашивают, такой выдает.
П.С. Решение 3 можно решить разными способами. Правда озвучить-то получилось, а вот как реализовать - есть ньюансы.
П.П.С. Если Дельфийские описания тебе подойдут могу посоветовать.
Записан

Ёжики, это не только ценные шкурки...
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #4 : 30-01-2007 17:44 » 

Igel, я еще с Builder5 работаю, так что твои советы будут кстати. Улыбаюсь

Варианты 3 и 4 не подойдут - там порядка пол сотни интерфейсов! Сделать такую модификацию для билинговой системы я не возьмусь - ошибка может обернуться немалым гиморром.
Задача не изменить существующие COM, а дополнить. По этому предпочтительнее вариант 2. За неделю назрела еще возможность его применения - для сопряжения с 1С:Склад и 1С:Бухгалтерия.

Я посмотрел имеющиеся возможности Builder-а по созданию COM-dll, но без теории я пока многого не понял. Потому и прошу посоветовать чтиво.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 31-01-2007 13:59 » 

RXL, Я изучаю по Дейл Роджерс "Основы СОМ". Там тем паче на Сях примеры, но простые - я понял Улыбаюсь
Там-же есть еще и про DCOM одна глава.
Варианты 3 и 4 я не возьмусь оценивать, но возможно и не нужно всех перекрывать, а какой-нибудь один, хотя все зависит от сервера.
В варианте 2 будет к существующему серверу еще один, возникнет вопрос одновременной работы с БД или можно новому серверу работать с существующим, это уже твоя задача.

Своими словами по теории пожалуй трудно будет объяснить. Вот как сделать в Дельфе - примерно могу объяснить.
Записан

Ёжики, это не только ценные шкурки...
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #6 : 31-01-2007 17:27 » 

Забавно: https://forum.shelek.ru/index.php?action=printpage;topic=7325.0
Это я поиском нашел.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 01-02-2007 01:42 » 

А ничего забавного, я сам удивляюсь, почему никто ничего не сказал - в делах все! Улыбаюсь
Самое интересное что я не могу большие книжки на компе читать, поэтому распечатывал, подшивал и уже на диване читал.
Записан

Ёжики, это не только ценные шкурки...
nop
Гость
« Ответ #8 : 01-02-2007 03:50 » 

...
Мне нужно прежде всего понять, как это работает. Что нужно, а что не обязательно для написания.
Что порекомендуете почитать?

Лучше бумажный вариант на русском.
Не надо советовать все подряд - напишите про то, что сами читали и книга понравилась.

Из почитать(все можно нагуглить по названиям):
>dir *
COM.DCOM Security - FAQ.pdf
Essential COM (Дональд Бокс).chm
Fingerprinting through rpc.pdf
Inside ATL (G. Shepherd).chm
Inside COM (Дейл Роджерсон ).pdf
Insider COM plus Base Services.chm
Introduction to DCOM(William Rubin, Marshall Brain - 1998).pdf
Mastering COM and COM+(A.Rofail, Y.Shohoud).pdf
MS DCOM Architecture.pdf
The COM Specification(MS 1995) .zip

Последние две книжки про DCOM ооочень старые, но познавательные. В принципе, можно не читать.
+MSDN.

По существу:
Использовать альтернативы не катит ?
NET Remouting например... Или тонкий клиент в виде браузера и вся логика на сервере...
Записан
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #9 : 01-02-2007 07:14 » 

nop, MSDN - это не учебник, а справочник. Времени на обучение по справочнику у меня нет.

Igel, я о том же написал Улыбаюсь На компе все глаза сломаешь читать такие объемы.

В общем, "Основы СОМ" я кратко поглядел - вполне хорошо написано. Буду искать бумажный вариант. Интересно, такой в природе существует - ведь издание древнее?

Всем спасибо за советы!
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Igel
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 01-02-2007 15:26 » 

RXL, Проще распечатать, если у тебя PDF вариант. Я так и сделал.
А статей на тему, мой первый СОМ -сервер - море. Можно сразу сделать, а потом внедряться в тонкости.
nop, А ссылочки можно?
Insider COM plus Base Services.chm
Introduction to DCOM(William Rubin, Marshall Brain - 1998).pdf
Mastering COM and COM+(A.Rofail, Y.Shohoud).pdf
MS DCOM Architecture.pdf
The COM Specification(MS 1995) .zip
И они на русском?
Записан

Ёжики, это не только ценные шкурки...
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #11 : 01-02-2007 19:21 » 

Нашел бумажный вариант "Mastering COM and COM+(A.Rofail, Y.Shohoud)" 2000 года издания. Тоже ориентированная на обучение книга. Я доволен Улыбаюсь

Книг вообще по COM очень мало продают. Я в огромном магазине нашел всего три книги.
Книгу издания от DiaSoft отбраковал сразу. Я как-то приобрел их JavaScript и долго плевался: тупой перевод, огромное количество опечаток, самая дешевая серая бумага, отвратная верстка и печать. Их книгу о COM как огкрыл - сразу повеяло той же плесенью.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
nop
Гость
« Ответ #12 : 01-02-2007 21:51 » 

nop, А ссылочки можно?

Ссылок не сохранилось Жаль
На русском только
"Essential COM"
"Inside COM"
Записан
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #13 : 01-02-2007 22:48 » 

nop, если что дельное, то можно у нас продублировать - в инете все достаточно быстро меняется, а у нас хоть копия останется. Еслич его пришлешь, то оччень хелатеьные условия: краткое описание, которое потом все будут читать и которое "застрянет" в поисковиках.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 02-02-2007 13:09 » 

Основы COM - отличная книга для погружения в COM. Необходима для того, чтобы понять, как COM устроен, но совершенно не приспособлена для реальной жизни, в которой COM компоненты разрабатывают с использованием ATL и OLE.  Я сначала тоже хотел её порекомендовать, но потом вычитал у тебя, что ты хочешь имеено DCOM и промолчал.

Когда мне нужен был DCOM, то я пользовался Visual Basic'ом, он автоматически делает DCOM OLE сервера из компонентов.
« Последнее редактирование: 16-12-2007 13:50 от Алексей1153++ » Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #15 : 03-02-2007 11:00 » 

Понятно. Меня VB не привлекает прежде всего тем, что опыта работы с ним мало.
BC++ тоже имет готовые шаблоны и диалоговый инструментарий для создания компонент. Только "с разбега" я там не много понял, т.ч. пока литературкой подковываюсь. В "Mastering COM and COM+" описывается создание для VB и VC++.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
sss
Специалист

ru
Offline Offline

« Ответ #16 : 26-02-2007 08:35 » 

RXL, есть книга "Разработка ASP компонентов". Прикольно. Одни и те же примеры для Delphi, VC, VB. Я когда ее покупал, даже не думал, что там будет столько про COM (COM+)!!! Очень даже не плохо.
Записан

while (8==8)
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #17 : 26-02-2007 14:02 » 

Спасибо.
Книжка у меня есть, но пока руки не доходят - все находится, чем их занять...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines