|
|
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
здравствуйте есть сайт с определённой базой данных (mysql) каким образом можно сделать stand-alone приложение, позволяющее взаимодействовать с БД (типа, как клиент, front-end), при условии, что, на хостинге разрешено работать с базой только через localhost каким образом сделать связь программы и базы? то есть, нужен какой-то протокол, туннель. а через HTTP - это, наверно, будет не слишком надёжно к тому же, должна быть возможность работать офф-лайн, то есть, должна быть какая-то локальная база, а при соединении с интернетом - синхронизировать какие выбрать средства разработки для подобной "задачи"? или, предоставлять отдельное (исполняемое) приложение для доступа к сайту - плохая затея? ну есть же всякие клиенты жж, вконтактов. но эти жж, вконтакты, наверняка, представляют какой-то API ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 21:50 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
registeredпри условии, что, на хостинге разрешено работать с базой только через localhost менять хостинг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 22:10 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
registered, с базой взаимодействовать с помощью JSON. HTTP - чем не надёжно? Надёжнее не придумаешь. Если хочется push'ей и прочего - можно заюзать WebSockets. Десктоп-приложение можно реализовать на Qt. При желании можно даже ВЕБ-морду в Stand-Alone приложении заюзать, взяв QtWebKit, и запихав все ресурсы в приложение. В качестве "оффлайн"-базы заюзать SQLite. Синхронизацию прийдется писать самому. ИМХО - по-другому никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 22:22 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
Опять же непонятна цель этой задачи... Да, ВК и прочие предоставляют АПИ. Базируется он на всё том же HTTP и JSON. Так что сложности никакой нет: как к БД отправляешь запрос -> получаешь ответ - так же и к сайту: запрос-ответ, только в JSON'е. Опять же имеется плюс - асинхронность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 22:26 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
веб-морды, собственно, нету. её тоже нужно сделать по-хорошему, хотят 2 приложения - одно через сайт, а другое - отдельно. "там, где нет интернета" (где тут смайлик с выпученными глазами?) хотелось бы отделаться одним делать только одно приложение, а на сайт - только выгружать данные (когда онлайн - работать напрямую с базой данных). а веб-интерфейс - обойдутся или делать прогу со встроенной веб-мордой, и на сайте использовать оную же? то есть, нужно делать всё то же "веб-приложение" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 22:37 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
непонятно, что первично. то есть, всё-таки, придётся делать на сайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 22:38 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
registered, и всё же непонятно, зачем это. Для целей администрирования? Администратор сайта что, в хате-мазанке, в глухой деревне сидит, через пиратский спутниковый интернет, заюзанный через метеоспутник с помощью антенны из ржавого тазика? Для клиента, которому новости/каменты почитать? В зависимости от задачи уже и надо плясать. Может убедить заказчика, что интернет с более-менее нормальной скоростью есть уже везде, и городить подобные костыли нет никакой необходимости? В этом случае всё решается "толстым" ВЕБ-приложением, взаимодействующим по AJAX с сервером, чтоб страницу на каждый чих не перегружать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 23:51 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
ДринкинсМожет убедить заказчика, что интернет с более-менее нормальной скоростью есть уже вездеФормально - да, но как только появляются конкретные требования к минимальной скорости, стабильности и количеству обрывов, внезапно оказывается, что далеко не везде даже внутри МКАД... Желающие продемонстрировать бесперебойный беспроводной интернет на скорости хотя бы 100 кбит/с без обрывов хотя бы в течение 4 часов на лыжном стадионе в Химках (на ул. Мичурина) и в здании по адресу Волоколамское шоссе, д. 84, к. 9 могут даже рассчитывать на денежную компенсацию в случае удачи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 10:09 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
registeredделать только одно приложение, можно и так. Один сайт на хостинге, другой - локальный и репликация между базами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 10:17 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
registeredна хостинге разрешено работать с базой только через localhost каким образом сделать связь программы и базы?Зачастую возможен вариант работы через SSH-туннель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 10:20 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
каким образом можно сделать stand-alone приложение, позволяющее взаимодействовать с БД (типа, как клиент, front-end), при условии, что, на хостинге разрешено работать с базой только через localhost Никаким. Если не пробросить порт MySQL наружу через тунель. каким образом сделать связь программы и базы? то есть, нужен какой-то протокол, туннель. а через HTTP - это, наверно, будет не слишком надёжно Через SSH или VPN. к тому же, должна быть возможность работать офф-лайн, то есть, должна быть какая-то локальная база, а при соединении с интернетом - синхронизировать Должна -- так пусть будет. синхронизировать надо -- синхронизируй. какие выбрать средства разработки для подобной "задачи"? Голова, руки, мозг. или, предоставлять отдельное (исполняемое) приложение для доступа к сайту - плохая затея? ну есть же всякие клиенты жж, вконтактов. но эти жж, вконтакты, наверняка, представляют какой-то AP Смотря кому предоставлять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 15:10 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
registered, ну и пускай себе работают с локальной базой. А синхронизацию сделать по различиям... то есть при работе с локальной базой ведём учёт запросов на вставку/удаление/изменение записей в базе (если не предусмотрено создание/изменение/удаление таблиц разумеется). Как я понимаю, само приложение рассчитано на работу с записями по отдельности, а значит никаких доп. действий выполнять не придётся (иначе, все where надо заменять на список выбранных id записей, предварительно запуская "select id ..." по тем же условиям). После каждого insert надо получаться список вставленных строк. Итак, есть список для синхронизации... Соединяемся с удалённым скриптом синхронизации по имени пользователя и паролю, запрашиваем все изменения на сервере после последней синхронизации. выполняем у себя, при том, все delete запросы уменьшают id всех манипуляций в нашем "логе" с большим id на 1, а insert - увеличивают на 1. соединяемся снова, что бы отправить свои "логи" на сервер. На сервере просто выполняем все запросы. минус: одновременно синхронизация возможна только с одним клиентом, остальным придётся ждать. Потому на момент синхронизации базу стоит блокировать на запись. Не знаю, возможно есть уже готовые механизмы двусторонней синхронизации, у меня просто нету опыта с базами данных на десктопах. (это так, мысли... вдруг помогут) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 15:25 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
Изопропилregisteredделать только одно приложение, можно и так. Один сайт на хостинге, другой - локальный и репликация между базамину из сообщения Дринкинса мне показалось, что веб-морду можно автономно использовать в приложении. а если поднимать целиком локальный сайт, то не годится если она будет подгружаться с сервера, то какая разница между приложением и браузером? Дринкинси всё же непонятно, зачем этонапример, есть на сайте информация об определённых мероприятиях, участниках, и результатах оных (т.е., база, с возможностью выборки о том, кто, где, когда, а не просто список. каждому сопоставлены свои поля, которые рассчитываются так-то и так-то) часть - проходит в интернете, часть - очные то, что проходит в интернете, заполняется через сайт, то, что проходит на местах - вносится в программу, потом обработанные результаты на сайт вставляются вручную сейчас вручную вставляется всё - просто в виде таблиц, скриншотов, т.е., нет ни веб-морды, ни обычной морды. в программу вставляют из excel-таблиц, на сайт постят в виде скриншотов и html-таблиц. собственно, смысл - одна общая база на сайте, и "две" оболочки к ней (одна - через веб, другая - в виде приложения) и всё делать через интернет "на местах" - даже если он и есть, то всё делать через браузер - ждать, пока загрузится, то там обрывы связи- даже если их и нет, то как-то спокойнее, и быстрее. - обычное приложение как-то надёжнее. собственно, две программы с одинаковым функционалом делать было бы неразумно. по мне, так стандартные приложения (вообще все) намного лучше, чем все эти веб-интерфейсы, с перезагружаемыми формами, и т.д. - вообще веб-интерфейс как класс. но тогда если делать только одно приложение, то надо смириться, что "через браузер" ничего изменить будет нельзя, и на каждый чих запускать программу (даже когда нужно заполнять проходящие в онлайне мероприятия, когда было бы разумнее всё делать, "не отходя от браузера") а делать два - собственно, но зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 16:26 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
собственно, вносятся в программу не по окончании. а непосредственно в момент проведения, и от этого будет зависеть, какие будут следующие участники, т.д. т.е., это не как просто информация (типа такого-то числа состоялось ...), а интерактивный "процесс" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 16:33 |
|
||
|
взаимодействие программы и базы данных на сайте
|
|||
|---|---|---|---|
|
#18+
registeredсобственно, две программы с одинаковым функционалом делать было бы неразумно. по мне, так стандартные приложения (вообще все) намного лучше, чем все эти веб-интерфейсы, с перезагружаемыми формами, и т.д. - вообще веб-интерфейс как класс. функционал делайте в виде вебсервиса броузерное и декстопное приложение - просто легковесные пользовательские оболочки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 16:37 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38529888&tid=1341502]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
390ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 663ms |

| 0 / 0 |
