powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Передача данных из UDF по HTTP
36 сообщений из 36, показаны все 2 страниц
Передача данных из UDF по HTTP
    #38789304
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, многоуважаемое сообщество.
Есть такая задача. Имеется около 1000 территориально разнесенных рабочих мест. На рабочих местах - Firebird 1.5 Super и клиент на делфи. При вставке строки в определенную таблицу надо эту строку передавать в центр. Как думаю решить -

1. В центре поставить веб сервер.
2. На местах добавить к серверу UDF. В ней процедура, которая будет дергаться из триггера, скажем. Процедура будет делать POST-запрос к вебсерверу в центре, в запросе передавать данные. А веб сервер уже куда-нибудь будет их складывать.

Вопросы :
1. Возможно ли такое вообще ?
2. Если возможно, какие могут быть подводные камни ?
Заранее всем спасибо !
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789330
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabww,

1. Да.
2. А триггер кто дернет? Если клиентское приложение в основном потоке, то оно будет "зависать" на все время, пока будет обрабатываться http запрос.
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789336
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabww,

1. Возможно
2. Дык дофига. Что будет делать твоя программа когда веб сервер не доступен?

Лучше посмотри в сторону оффлайн репликации
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789337
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabww В ней процедура, которая будет дергаться из триггера, скажем. Процедура будет делать POST-запрос к вебсерверу в центре, в запросе передавать данные. А веб сервер уже куда-нибудь будет их складывать.
ужасный ужас. работать может и будет, но недолго. :-)

тебе нужна репликация. почему ты ее решил организовать таким образом, через ..., неясно.
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789341
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты потратишь на это больше времени и денег чем на покупку и настройку готового репликатора
+ VPN.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789344
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlinevaskabww,

1. Да.
2. А триггер кто дернет? Если клиентское приложение в основном потоке, то оно будет "зависать" на все время, пока будет обрабатываться http запрос.

1. Это хорошо
2. Ну триггер дернет дельфовый клиент, когда сохранит строку. А насчет зависания клиента... Нельзя ли как-нибудь асинхронно это сделать ?
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789347
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис2. Дык дофига. Что будет делать твоя программа когда веб сервер не доступен?

Лучше посмотри в сторону оффлайн репликации
От данных зависит. Я бы в простом случае обошелся вызовом скрипта-однострочника (который будет вызывать упомянутую процедуру) в планировщике или из ярлычка на десктопе.
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789348
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwНельзя ли как-нибудь асинхронно это сделать ?
Можно, но работать всё равно не будет. Ты когда-нибудь слышал о savepoint и rollback?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789351
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, проблемы понятны. А где посмотреть на готовый репликатор, который можно купить, подскажите ?
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789352
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwНу триггер дернет дельфовый клиент, когда сохранит строку. А насчет зависания клиента... Нельзя ли как-нибудь асинхронно это сделать ?

ну допустим сделаешь. А что будет если сервер не доступен. Как потом твоя программа узнает была ли передана строка на центральный сервак. Не изобретай велосипед. Либо покупай готовый репликатор, либо делай его сам, но только через механизм логирования изменений, с последующей их вычиткой, а не через UDF в триггере.
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789358
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Слышал я про это, конечно :-) Только роллбэк тут причем ? на клиенте строка сохранилась, а вот дошла ли она до веб сервера, как-то надо понять
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789361
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,
Это все я понимаю. Только заказчик хочет именно так. Там на самом деле не просто веб-сервер, а сервер приложений, которому, кроме складывания данных, хотят еще и нагрузочное тестирование сделать
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789362
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabww2. Ну триггер дернет дельфовый клиент, когда сохранит строку. А насчет зависания клиента... Нельзя ли как-нибудь асинхронно это сделать ?
В дельфи же никто не запрещает делать многопоточные приложения, но, как уже сказали выше много раз умные люди - какой-то проктостоматологический метод передачи данных получается. Оправдан (ИМХО) только в случае, когда передаваемых данных очень мало.

Само собой подразумевается, что надо будет делать проверки доступности http-сервера, передачи запроса, хранения информации о том, какие данные не были переданы и т.д. Это к камням по пункту 2 из первоначального вопроса.
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789365
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwТолько роллбэк тут причем ? на клиенте строка сохранилась, а вот дошла ли
она до веб сервера, как-то надо понять
Ну сохранилась она на клиента, дошла до сервера. А потом приходит rollback и на клиенте
она исчезает. А на сервере - остаётся. И опаньки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789367
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabww,

третий слой делать надо. служба нужна, однако.

должен ловить он евенты, инициировать рассылку, рассылать по списку и записывать квитанцию о доставке.
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789372
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwА где посмотреть на готовый репликатор, который можно купить, подскажите ?

Если тебе позарез важна отправка через сервер приложений, то тебе поможет CopyCat.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789401
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovvaskabwwА где посмотреть на готовый репликатор, который можно купить, подскажите ?

Если тебе позарез важна отправка через сервер приложений, то тебе поможет CopyCat.


А что за зверь - CopyCat ? не гуглится ничего похожего
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789408
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovvaskabwwА где посмотреть на готовый репликатор, который можно купить, подскажите ?

Если тебе позарез важна отправка через сервер приложений, то тебе поможет CopyCat.


О, нашел ! щас посмотрю
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789410
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwDimitry Sibiryakovпропущено...

Если тебе позарез важна отправка через сервер приложений, то тебе поможет CopyCat.


А что за зверь - CopyCat ? не гуглится ничего похожего
Да ладно?
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789415
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanvaskabwwпропущено...


А что за зверь - CopyCat ? не гуглится ничего похожего
Да ладно?
Да-да, спасибо ! уже нашел :-)
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789462
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем участникам обсуждения :-)
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789825
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwТолько заказчик хочет именно так.
если бы заказчик тебя попросил только закодировать конкретное решение, то ты бы тут вопросы не задавал.
Поэтому заказчик по поводу "только так" идет лесом, ибо он не умеет программировать, иначе бы сам все написал.

Насчет многозвенного сервера в центре - сколько угодно, он же только принимать данные будет, как я понял. Вопрос именно в корректной отправке данных с клиента.
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789859
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,
Ок, как мне иначе сделать вот такое нагрузочное тестирование ? хочу, чтобы каждая добавленная строка тут же отправлялась в сервер приложений. В прошлом варианте система с удаленных рабочих мест отправляла данные в центр с определенной периодичностью по мылу и там консолидировалась . теперь же заказчик хочет, чтобы в центре был сервер приложений, одна база данных, а клиенты работали через браузер
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789863
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, забыл добавить - но перед этим хочет вот такое тестирование на то, выдержит ли новая система реальную нагрузку
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789869
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так просто сделай новую систему и пусть работает параллельно со старой. Не выдержит в
процессе перехода - откатишься на старую и всё.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789874
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНу так просто сделай новую систему и пусть работает параллельно со старой. Не выдержит в
процессе перехода - откатишься на старую и всё.


не все так просто. система весьма сложная. и перед тем, как дать мне денег на новую, клиент вот таким образом хочет убедиться, что проблем с производительностью не будет. а если моя идея прокатит, то клиент получит к тому же хранилище данных, которым сможет пользоваться, пока будет разрабатываться новая система. параллельно в двух системах опять же операторы работать не смогут, медленно будут обслуживаться процессы
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789880
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwkdv,
Ок, как мне иначе сделать вот такое нагрузочное тестирование ? хочу, чтобы каждая добавленная строка тут же отправлялась в сервер приложений. В прошлом варианте система с удаленных рабочих мест отправляла данные в центр с определенной периодичностью по мылу и там консолидировалась . теперь же заказчик хочет, чтобы в центре был сервер приложений, одна база данных, а клиенты работали через браузер
"Тут же" может не получиться: например - связи с сервисом нет, или ему сейчас некогда.
Сделай спецклиента, который подпишется на события от сервера. Как новые строки появились - пусть вычитывает все новые и отправляет пачкой центральному сервису. По успешному завершению операции помечай эти строки "это старые".
Эта операция должна делаться при наступлении события: "есть новые строки" и при запуске этого спецклиента.
Если в процессе обработки возникли новые события - "склеивай" эти события в одно (например, "пропусти" их через таймер, который будет перезапускаться, если события наступают в процессе обмена данными с сервисом).
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789886
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД"Тут же" может не получиться: например - связи с сервисом нет, или ему сейчас некогда.
Сделай спецклиента, который подпишется на события от сервера. Как новые строки появились - пусть вычитывает все новые и отправляет пачкой центральному сервису. По успешному завершению операции помечай эти строки "это старые".
Эта операция должна делаться при наступлении события: "есть новые строки" и при запуске этого спецклиента.
Если в процессе обработки возникли новые события - "склеивай" эти события в одно (например, "пропусти" их через таймер, который будет перезапускаться, если события наступают в процессе обмена данными с сервисом).

Ну вот да, примерно так, похоже, и придется делать. Спасибо :-)
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789892
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДЭта операция должна делаться при наступлении события: "есть новые строки"Я предпочитаю таймер. тикнул таймер, вычитали пачку, отправили, получили ответ, пометили пачку как отправленную, перекурили таймаут и по новой. Нагрузочная способность куда выше.
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789906
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

тоже идея
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789918
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwпараллельно в двух системах опять же операторы работать не смогут, медленно
будут обслуживаться процессы
А операторам и не надо работать в двух системах одновременно. Часть останется в старой,
часть - уже будет в новой. И ты получишь объективную картину сравнения быстродействия этих
систем. Если операторы будут говорить "да ну нафиг, мы лучше по старинке", значит новая
система - отстой. Если будут говорить "когда нас уже переведёте на новую?" - значит всё круто.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789921
vaskabww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА операторам и не надо работать в двух системах одновременно. Часть останется в старой,
часть - уже будет в новой. И ты получишь объективную картину сравнения быстродействия этих
систем. Если операторы будут говорить "да ну нафиг, мы лучше по старинке", значит новая
система - отстой. Если будут говорить "когда нас уже переведёте на новую?" - значит всё круто.


где ты видел пользователя, который не говорит "да ну нафиг, мы лучше по старинке"
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789934
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwгде ты видел пользователя, который не говорит "да ну нафиг, мы лучше по
старинке"
На старой работе например. Как я уже сказал: это означает, что ты при разработке новой
системы облажался. Впрочем, в твоём случае это неизбежно: уеб-интерфейсы отстойны по
определению.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789936
zelder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

так я и думал ! именно это я предполагал ! (c)
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789937
zelder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извини, не удержался :-)
...
Рейтинг: 0 / 0
Передача данных из UDF по HTTP
    #38789972
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskabwwДа, забыл добавить - но перед этим хочет вот такое тестирование на то, выдержит ли новая система реальную нагрузку
допустим, с твоих слов - 1 центральный сервер и 1000 внешних клиентов. На внешних клиентах данные вставляет кто? Люди или роботы? Если люди, то допустим, 1 запись в 10 секунд. Значит средняя нагрузка будет 100 запросов в секунду, ну а пиковая - 1000 запросов в секунду, если вдруг все ломанутся одновременно. Значит, вопрос скорее в канале связи, чем в чем-то еще.
Хотя, можно и стеклянный хрен сломать :-)

Организовать такую тестовую нагрузку, на мой взгляд, элементарно. Это не бог весть что. Однако, на сервере, все же, должен быть пул коннектов, например, не более 20-50 одновременных для 1000 потенциальных клиентов.
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Передача данных из UDF по HTTP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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