powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как написать свой COM+ сервер?
20 сообщений из 20, страница 1 из 1
Как написать свой COM+ сервер?
    #39733744
RedCatX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Есть необходимость создать костыль сервис, работающий на удалённом сервере, который будет предоставлять довольно древнее NoSQL API к современной MS SQL базе данных. Именно сервис, потому что необходимо реализовать отличную от SQL схему блокировок строк таблицы, и кэширование, обеспечивающее более высокую производительность последовательного чтения записей, чем это даёт ODBC.
Хотелось бы использовать COM+, но я ни разу не пользовался этой технологией... Что выбрать, EXE или DLL сервер? Я слышал, что DLL COM+ может автоматически создать отдельный поток для каждого пользователя, и изолировать их друг от друга, но можно ли в таком случае пользоваться разделяемыми между потоками данными, такими как таблица блокировок или кэш?
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39733755
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatXХотелось бы использовать COM+, но я ни разу не пользовался этой технологией...
имхо COM+ - мертворожденная технология, я бы не стал к ней прикручивать новый софт
COM+ не дает никаких преимуществ, по сравнению с голым RPC, весь маршалинг все равное придется делать руками (IDL и прочие радости), но тут, конечно, зависит от того, на чем собственно писать собираетесь, какие библиотеки использовать.

Опять же, имхо, если жесткий требований не стоит обеспечить COM совместимость, то я бы писал обычную службу, либо с собственным протоколом и логикой, либо что из современных популярных а ля SOAP.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39733798
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatXЕсть необходимость создать сервис, работающий на удалённом сервере, который будет
редоставлять довольно древнее NoSQL API к современной MS SQL базе данных. Именно сервис,
потому что необходимо реализовать отличную от SQL схему блокировок строк таблицы, и
кэширование, обеспечивающее более высокую производительность последовательного чтения
записей, чем это даёт ODBC.

Непонятно как связан этот набор разнородных утверждений.

Если уже есть спецификация некоторого API, то выбора "как его реализовать" не остаётся:
его надо реализовывать описанным способом.

Или вопрос в том как организовать взаимодействие между реализацией API и подлегающим MS
SQL? Так это не в этот форум, поскольку опять же надо использовать строго фиксированное
API, представляемое MS SQL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39733846
RedCatX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЕсли уже есть спецификация некоторого API, то выбора "как его реализовать" не остаётся:
его надо реализовывать описанным способом.

Или вопрос в том как организовать взаимодействие между реализацией API и подлегающим MS
SQL? Так это не в этот форум, поскольку опять же надо использовать строго фиксированное
API, представляемое MS SQL.


Нужно реализовать API Btrieve, чтобы очень старый софт мог работать через него с базой данных MS SQL. Софт обладает очень неприятной особенностью: если последовательное чтение записей (строк таблицы) происходит недостаточно быстро, то программа молча прекращает чтение, и отображает пустую таблицу - как будто ничего не было прочитано. Вопрос о том, как именно транслировать вызовы Btrieve в SQL запросы не стоит, вопрос в том, как организовать связь сервера и клиентов при помощи COM+.

Cerebrumимхо COM+ - мертворожденная технология, я бы не стал к ней прикручивать новый софт
COM+ не дает никаких преимуществ, по сравнению с голым RPC, весь маршалинг все равное придется делать руками (IDL и прочие радости), но тут, конечно, зависит от того, на чем собственно писать собираетесь, какие библиотеки использовать.

Опять же, имхо, если жесткий требований не стоит обеспечить COM совместимость, то я бы писал обычную службу, либо с собственным протоколом и логикой, либо что из современных популярных а ля SOAP.
Ну так COM+ вроде бы из коробки обеспечивает многопоточность, что довольно неплохо. Кроме того, мне в первую очередь важна скорость, скорость, и ещё раз скорость, так что текстовые протоколы основанные на XML мне вряд-ли подойдут...
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39733847
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatXВопрос о том, как именно транслировать вызовы Btrieve в SQL запросы не стоит, вопрос в
том, как организовать связь сервера и клиентов при помощи COM+.

Какого сервера с какими клиентами? Насколько я помню, клиентское API BTrieve это одна
функция в одной DLL. Никакого СОМ+ там и близко нет. Вы хотите добавить ещё одну
прокладку, которая увеличит шансы на таймаут и пустую таблицу?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734031
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatXНужно реализовать API Btrieve, чтобы очень старый софт мог работать через него с базой данных MS SQL.Сам Btrieve - система управления записями: надёжные обновления, вставки, блокировки и всё такое.
Поверх этого Pervasive делал упрощённый SQL, но, убей меня бог, если я понимаю, как можно провернуть фарш назад и предоставить низкоуровневый доступ к записям через высокоуровневый SQL ...
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734035
RedCatX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovКакого сервера с какими клиентами?
Очевидно, между сервером где устанвлен MS SQL и клиентскими компьютерами. Да это прокладка, но она необходима для сетевого взаимодействия серверной части (которая обрабатывает блокировки и содержит кэш таблиц), и клиентской - той самой DLL с одной функцией.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734045
RedCatX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovСам Btrieve - система управления записями: надёжные обновления, вставки, блокировки и всё такое.
Поверх этого Pervasive делал упрощённый SQL, но, убей меня бог, если я понимаю, как можно провернуть фарш назад и предоставить низкоуровневый доступ к записям через высокоуровневый SQL ...
Можно, например, читать таблицу из базы данных большими кусками в память, и уже с этими данными работать в рамках Btrieve API.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734061
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatXМожно, например, читать таблицу из базы данных большими кусками в память, и уже с этими данными работать в рамках Btrieve API."МожноМашкуЗаЛяжку ..."
Зачем создавать геморрой там, где вполне гармонично смотрится какой-нибудь ETL/интеграционное приложение?
Уровень сложности - вполне сравнимый, но качество результата - принципиально разное.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734092
RedCatX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov, нет, данные должны браться из таблицы SQL с помощью API Btrieve, и никак иначе.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734094
RedCatX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Однако мне сейчас нужно написать многопоточный COM+ сервер с использованием ATL, и с возможностью использования переменных разделяемых между потоками.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734102
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatX, сдается мне, ты путаешь COM+ (MS TS) с DCOM (Distributed COM). Если нужны основательные знания по COM/DCOM, рекомендую почитать Дейла Роджерсона - " Inside COM ". Нечего лучше не найдешь.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734115
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatXона необходима для сетевого взаимодействия серверной части (которая обрабатывает
блокировки и содержит кэш таблиц), и клиентской - той самой DLL с одной функцией.

Нет, с этим всем справится и MS SQL непосредственно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734181
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatXЗдравствуйте.

Есть необходимость создать костыль сервис, работающий на удалённом сервере, который будет предоставлять довольно древнее NoSQL API к современной MS SQL базе данных. Именно сервис, потому что необходимо реализовать отличную от SQL схему блокировок строк таблицы, и кэширование, обеспечивающее более высокую производительность последовательного чтения записей, чем это даёт ODBC.
Хотелось бы использовать COM+, но я ни разу не пользовался этой технологией... Что выбрать, EXE или DLL сервер? Я слышал, что DLL COM+ может автоматически создать отдельный поток для каждого пользователя, и изолировать их друг от друга, но можно ли в таком случае пользоваться разделяемыми между потоками данными, такими как таблица блокировок или кэш?

А вы уверены, что вам удастся легко с налету оптимизировать то, что написано в одбц?
Разделяемые потоки для юзеров то еще х.с.н., а что эти потоки будут делат с данными? т.е. вы хотите заменить механизм блокировок SQL Server своим велосипедом? пишите тут, что получится, удачи и настроения (ц)
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39734300
Фотография tehKosh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если это надо для конкретного приложения сделать
то я бы просто сделал репликацию из ms sql базы данных в btrieve таблички
у pervasive были средства организации подобного взаимодействия
то что вы предлагаете сделать можно, но это сложно и долго
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39735083
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev...рекомендую почитать Дейла Роджерсона - " Inside COM ". Нечего лучше не найдешь.


+100500

(круглый)
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39735477
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RedCatXЗдравствуйте.

Есть необходимость создать костыль сервис, работающий на удалённом сервере, который будет предоставлять довольно древнее NoSQL API к современной MS SQL базе данных. Именно сервис, потому что необходимо реализовать отличную от SQL схему блокировок строк таблицы, и кэширование, обеспечивающее более высокую производительность последовательного чтения записей, чем это даёт ODBC.
Хотелось бы использовать COM+, но я ни разу не пользовался этой технологией... Что выбрать, EXE или DLL сервер? Я слышал, что DLL COM+ может автоматически создать отдельный поток для каждого пользователя, и изолировать их друг от друга, но можно ли в таком случае пользоваться разделяемыми между потоками данными, такими как таблица блокировок или кэш?

Вряд ли сейчас вообще надо связываться с COM.
Попытайся для начала обойтись без него вообще.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39737247
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-то стряхнул пыль с книги образца 2000x. В наше время вопросы интеграции нужно решать так чтобы COM+ вообще не звучал в ТЗ.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39737254
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему СОМ+, ну явно ведь речь о DCOM.
...
Рейтинг: 0 / 0
Как написать свой COM+ сервер?
    #39738459
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devRedCatX, сдается мне, ты путаешь COM+ (MS TS) с DCOM (Distributed COM). Если нужны основательные знания по COM/DCOM, рекомендую почитать Дейла Роджерсона - " Inside COM ". Нечего лучше не найдешь.

Некогда тратить впустую время на какие-то книжки.
Чем больше читаешь, тем глупее становишься (ц, Мао Цзэ Дун)
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как написать свой COM+ сервер?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]