Midas, COM
От: Shuric  
Дата: 22.08.02 16:34
Оценка: -1
Приветик.
Вот смотрел на досуге примеры из Delphi...
Наткнулся на пример ...\Demos\Midas\Login и мне понравилась идея обмена информацией между компами, не задумавывась о протоколах и т.д. Однако данная технология мне обсолютно не известна. Из примера понял, что послать серверу можно что игодно — но вот как обратно? Подскажите, как реализовать вызов какой-нибудь процедурки в клиенте.
Re: Midas, COM
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.08.02 19:06
Оценка:
Здравствуйте Shuric, Вы писали:

S>Приветик.

S>Вот смотрел на досуге примеры из Delphi...
S>Наткнулся на пример ...\Demos\Midas\Login и мне понравилась идея обмена информацией между компами, не задумавывась о протоколах и т.д. Однако данная технология мне обсолютно не известна. Из примера понял, что послать серверу можно что игодно — но вот как обратно? Подскажите, как реализовать вызов какой-нибудь процедурки в клиенте.

МИДАС это средство передачи курсоров БД через RPC. Изначально он целиком был основан на DCOM. Потом прикрутили другие каналы работы. Но полноценно все равно можно работать только через DCOM (там маршалинг куда серьезнее).

Так что "вызов какой-нибудь процедурки в клиенте" это глупость.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Midas, COM
От: Awaken Украина  
Дата: 23.08.02 02:07
Оценка:
Здравствуйте VladD2, Вы писали:

VD>Здравствуйте Shuric, Вы писали:


S>>Приветик.

S>>Вот смотрел на досуге примеры из Delphi...
S>>Наткнулся на пример ...\Demos\Midas\Login и мне понравилась идея обмена информацией между компами, не задумавывась о протоколах и т.д. Однако данная технология мне обсолютно не известна. Из примера понял, что послать серверу можно что игодно — но вот как обратно? Подскажите, как реализовать вызов какой-нибудь процедурки в клиенте.

VD>МИДАС это средство передачи курсоров БД через RPC. Изначально он целиком был основан на DCOM. Потом прикрутили другие каналы работы. Но полноценно все равно можно работать только через DCOM (там маршалинг куда серьезнее).


VD>Так что "вызов какой-нибудь процедурки в клиенте" это глупость.


по моему оно у Борланда все через DCOM реализовано. даже если используется CORBA connection
Больше всего мне понравилось запускать Midas через http. позволяет вполне сносно работать с базой по 56K модему.
Re: Midas, COM
От: Аноним  
Дата: 23.08.02 10:58
Оценка:
Здравствуйте Shuric, Вы писали:

S>Приветик.

S>Вот смотрел на досуге примеры из Delphi...
S>Наткнулся на пример ...\Demos\Midas\Login и мне понравилась идея обмена информацией между компами, не задумавывась о протоколах и т.д. Однако данная технология мне обсолютно не известна. Из примера понял, что послать серверу можно что игодно — но вот как обратно? Подскажите, как реализовать вызов какой-нибудь процедурки в клиенте.

Это делается очень просто, а может мне это кажется. Короче вызвать какую-нибудь процедурку на стороне клиента можно несколькими способами. Первый и наиболее распространенный это через интерфейс диспетчирования, который легко реализуется в Delphi 5,6 второй менее распространненный, но работает несколько быстрее первого. Для этого необходимо создать два интерфейса на стороне сервера, один из которых реализовать на стороне клиента. И при вызове сервера в качестве параметра передавать ссылку на реализацию данного интерфеса. Сервер через эту ссылку буден вызывать процедуры и функции на стороне клиента, реализованные в интерфейсе обратного вызова.
Надеюсь я понятно изложил? :)
Re[2]: Midas, COM
От: Shuric  
Дата: 23.08.02 11:11
Оценка:
Здравствуйте Аноним, Вы писали:

А>Здравствуйте Shuric, Вы писали:


S>>Приветик.

S>>Вот смотрел на досуге примеры из Delphi...
S>>Наткнулся на пример ...\Demos\Midas\Login и мне понравилась идея обмена информацией между компами, не задумавывась о протоколах и т.д. Однако данная технология мне обсолютно не известна. Из примера понял, что послать серверу можно что игодно — но вот как обратно? Подскажите, как реализовать вызов какой-нибудь процедурки в клиенте.

А>Это делается очень просто, а может мне это кажется. Короче вызвать какую-нибудь процедурку на стороне клиента можно несколькими способами. Первый и наиболее распространенный это через интерфейс диспетчирования, который легко реализуется в Delphi 5,6 второй менее распространненный, но работает несколько быстрее первого. Для этого необходимо создать два интерфейса на стороне сервера, один из которых реализовать на стороне клиента. И при вызове сервера в качестве параметра передавать ссылку на реализацию данного интерфеса. Сервер через эту ссылку буден вызывать процедуры и функции на стороне клиента, реализованные в интерфейсе обратного вызова.

А>Надеюсь я понятно изложил?

Все енто хорошо, вплане мудрые мысли, изложенные на бумаге. А вот примерчик бы?!
Но все равно спасибо.
Re[3]: Midas, COM
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.08.02 21:49
Оценка:
Здравствуйте Awaken, Вы писали:

A>по моему оно у Борланда все через DCOM реализовано. даже если используется CORBA connection


В качестве носителя используется сэйфэрэй, но маршалинг они написали ручной. Кстити, после этого ценность библиотеки упала, так как они стали придерживаться "стратегии сокетов", а не создавать тип данных который можно передавать средствами миделвари.

A>Больше всего мне понравилось запускать Midas через http. позволяет вполне сносно работать с базой по 56K модему.


Секьюрити при этом по боку идет. К тому же это (по 56K модему) можно делать и с родными драйверами к БД. Я уже не говорю о том, что это формум тоже вроде как через БД работает, а у меня модем на 28.8 и тормозной ужасно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Midas, COM
От: Awaken Украина  
Дата: 24.08.02 04:53
Оценка:
VD>Секьюрити при этом по боку идет. К тому же это (по 56K модему) можно делать и с родными драйверами к БД. Я уже не говорю о том, что это формум тоже вроде как через БД работает, а у меня модем на 28.8 и тормозной ужасно.

почему побоку если можно использовать HTTPS? а DCOM нам никто не даст использовать через файрвол т.к. политика сисадминов такова — не открывать лишние дырки кроме http
есть еще один способ весьма секьюрный — VPN (на основе PPTP). но очень тормозной и не со всеми интернет-провайдерами работает
Re[5]: Midas, COM
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.02 16:51
Оценка:
Здравствуйте Awaken, Вы писали:


VD>>Секьюрити при этом по боку идет. К тому же это (по 56K модему) можно делать и с родными драйверами к БД. Я уже не говорю о том, что это формум тоже вроде как через БД работает, а у меня модем на 28.8 и тормозной ужасно.


A>почему побоку если можно использовать HTTPS?


Это защищенный протокол. А я говорю о защите. В DCOM можно например разрешить кому нибудь вызов метода или узнать кто его сейчас вызывает.

A> а DCOM нам никто не даст использовать через файрвол т.к. политика сисадминов такова — не открывать лишние дырки кроме http


Ну, этой дырки достаточно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Midas, COM
От: Awaken Украина  
Дата: 24.08.02 18:26
Оценка:
VD>>>Секьюрити при этом по боку идет. К тому же это (по 56K модему) можно делать и с родными драйверами к БД. Я уже не говорю о том, что это формум тоже вроде как через БД работает, а у меня модем на 28.8 и тормозной ужасно.

A>>почему побоку если можно использовать HTTPS?


VD>Это защищенный протокол. А я говорю о защите. В DCOM можно например разрешить кому >нибудь вызов метода или узнать кто его сейчас вызывает.


кстати такую секьюрити о которой ты говоришь можно
на уровне СУБД делать, ограничив просмотр данных путем создания VIEW и т.д.
но это получается "защита от самих себя".
большую опасность для корпоративной сети представляет перехват данных кем-то посторонним (поэтому нужен VPN или HTTPS)
Re[7]: Midas, COM
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.08.02 21:01
Оценка:
Здравствуйте Awaken, Вы писали:

A>кстати такую секьюрити о которой ты говоришь можно

A>на уровне СУБД делать, ограничив просмотр данных путем создания VIEW и т.д.
A>но это получается "защита от самих себя".

Такую нельзя. Ты не знаешь кто вызвал метод. Придется много вручную делать да и прозрачность пропадет. (информацию о юзере придется таскать явно).

A>большую опасность для корпоративной сети представляет перехват данных кем-то посторонним (поэтому нужен VPN или HTTPS)


Ну, одно другому не мешает. Я прото говорю, что кое чем придется пожертвовать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.