|
|
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Добрый день, многоуважаемое сообщество. Есть такая задача. Имеется около 1000 территориально разнесенных рабочих мест. На рабочих местах - Firebird 1.5 Super и клиент на делфи. При вставке строки в определенную таблицу надо эту строку передавать в центр. Как думаю решить - 1. В центре поставить веб сервер. 2. На местах добавить к серверу UDF. В ней процедура, которая будет дергаться из триггера, скажем. Процедура будет делать POST-запрос к вебсерверу в центре, в запросе передавать данные. А веб сервер уже куда-нибудь будет их складывать. Вопросы : 1. Возможно ли такое вообще ? 2. Если возможно, какие могут быть подводные камни ? Заранее всем спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:05 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabww, 1. Да. 2. А триггер кто дернет? Если клиентское приложение в основном потоке, то оно будет "зависать" на все время, пока будет обрабатываться http запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:13 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabww, 1. Возможно 2. Дык дофига. Что будет делать твоя программа когда веб сервер не доступен? Лучше посмотри в сторону оффлайн репликации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:14 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabww В ней процедура, которая будет дергаться из триггера, скажем. Процедура будет делать POST-запрос к вебсерверу в центре, в запросе передавать данные. А веб сервер уже куда-нибудь будет их складывать. ужасный ужас. работать может и будет, но недолго. :-) тебе нужна репликация. почему ты ее решил организовать таким образом, через ..., неясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:14 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Ты потратишь на это больше времени и денег чем на покупку и настройку готового репликатора + VPN. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:15 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
miwaonlinevaskabww, 1. Да. 2. А триггер кто дернет? Если клиентское приложение в основном потоке, то оно будет "зависать" на все время, пока будет обрабатываться http запрос. 1. Это хорошо 2. Ну триггер дернет дельфовый клиент, когда сохранит строку. А насчет зависания клиента... Нельзя ли как-нибудь асинхронно это сделать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:16 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Симонов Денис2. Дык дофига. Что будет делать твоя программа когда веб сервер не доступен? Лучше посмотри в сторону оффлайн репликации От данных зависит. Я бы в простом случае обошелся вызовом скрипта-однострочника (который будет вызывать упомянутую процедуру) в планировщике или из ярлычка на десктопе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:18 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabwwНельзя ли как-нибудь асинхронно это сделать ? Можно, но работать всё равно не будет. Ты когда-нибудь слышал о savepoint и rollback?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:19 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Спасибо, проблемы понятны. А где посмотреть на готовый репликатор, который можно купить, подскажите ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:19 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabwwНу триггер дернет дельфовый клиент, когда сохранит строку. А насчет зависания клиента... Нельзя ли как-нибудь асинхронно это сделать ? ну допустим сделаешь. А что будет если сервер не доступен. Как потом твоя программа узнает была ли передана строка на центральный сервак. Не изобретай велосипед. Либо покупай готовый репликатор, либо делай его сам, но только через механизм логирования изменений, с последующей их вычиткой, а не через UDF в триггере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:20 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Слышал я про это, конечно :-) Только роллбэк тут причем ? на клиенте строка сохранилась, а вот дошла ли она до веб сервера, как-то надо понять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:21 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Это все я понимаю. Только заказчик хочет именно так. Там на самом деле не просто веб-сервер, а сервер приложений, которому, кроме складывания данных, хотят еще и нагрузочное тестирование сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:24 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabww2. Ну триггер дернет дельфовый клиент, когда сохранит строку. А насчет зависания клиента... Нельзя ли как-нибудь асинхронно это сделать ? В дельфи же никто не запрещает делать многопоточные приложения, но, как уже сказали выше много раз умные люди - какой-то проктостоматологический метод передачи данных получается. Оправдан (ИМХО) только в случае, когда передаваемых данных очень мало. Само собой подразумевается, что надо будет делать проверки доступности http-сервера, передачи запроса, хранения информации о том, какие данные не были переданы и т.д. Это к камням по пункту 2 из первоначального вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:25 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabwwТолько роллбэк тут причем ? на клиенте строка сохранилась, а вот дошла ли она до веб сервера, как-то надо понять Ну сохранилась она на клиента, дошла до сервера. А потом приходит rollback и на клиенте она исчезает. А на сервере - остаётся. И опаньки. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:27 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabww, третий слой делать надо. служба нужна, однако. должен ловить он евенты, инициировать рассылку, рассылать по списку и записывать квитанцию о доставке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:29 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabwwА где посмотреть на готовый репликатор, который можно купить, подскажите ? Если тебе позарез важна отправка через сервер приложений, то тебе поможет CopyCat. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:31 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovvaskabwwА где посмотреть на готовый репликатор, который можно купить, подскажите ? Если тебе позарез важна отправка через сервер приложений, то тебе поможет CopyCat. А что за зверь - CopyCat ? не гуглится ничего похожего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:43 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovvaskabwwА где посмотреть на готовый репликатор, который можно купить, подскажите ? Если тебе позарез важна отправка через сервер приложений, то тебе поможет CopyCat. О, нашел ! щас посмотрю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:44 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabwwDimitry Sibiryakovпропущено... Если тебе позарез важна отправка через сервер приложений, то тебе поможет CopyCat. А что за зверь - CopyCat ? не гуглится ничего похожего Да ладно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:45 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
wadmanvaskabwwпропущено... А что за зверь - CopyCat ? не гуглится ничего похожего Да ладно? Да-да, спасибо ! уже нашел :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 14:47 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Спасибо всем участникам обсуждения :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 15:14 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
vaskabwwТолько заказчик хочет именно так. если бы заказчик тебя попросил только закодировать конкретное решение, то ты бы тут вопросы не задавал. Поэтому заказчик по поводу "только так" идет лесом, ибо он не умеет программировать, иначе бы сам все написал. Насчет многозвенного сервера в центре - сколько угодно, он же только принимать данные будет, как я понял. Вопрос именно в корректной отправке данных с клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 20:05 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
kdv, Ок, как мне иначе сделать вот такое нагрузочное тестирование ? хочу, чтобы каждая добавленная строка тут же отправлялась в сервер приложений. В прошлом варианте система с удаленных рабочих мест отправляла данные в центр с определенной периодичностью по мылу и там консолидировалась . теперь же заказчик хочет, чтобы в центре был сервер приложений, одна база данных, а клиенты работали через браузер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 21:20 |
|
||
|
Передача данных из UDF по HTTP
|
|||
|---|---|---|---|
|
#18+
Да, забыл добавить - но перед этим хочет вот такое тестирование на то, выдержит ли новая система реальную нагрузку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 21:25 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38789304&tid=1563237]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 527ms |

| 0 / 0 |
