Локальное веб-приложение
От: samurdolph  
Дата: 16.09.08 11:03
Оценка:
Коллеги, подскажите, плс, по такой задачке.

Есть небольшое веб-приложение mysql+php. Пользователи вводят данные в браузере, данные сохраняются в БД и затем в браузере можно вывести отчеты. Все работает вполне хорошо и стабильно.

Но возникла задача: требуется вести те же данные локально и сохранять в БД на сервере время от времени. Писать десктоп-приложение с нуля не хочется, это и трудоемко достаточно, и бизнес-логика с течением времени рассинхронизируется между веб- и десктоп-приложениями.

Подскажите, куда копать? Самый интересный на мой взгляд вариант, запустить это веб-приложение локально и дописать утилиту, которая будет между локальной и удаленной базами данных синхронизировать записи.

Кто-то делал что-то подобное? Какой веб-сервер лучше использовать локально, чтобы ресурсов поменьше потреблял? А еще лучше, чтобы вообще запускался по требованию для обработки скрипта, наподобие как sqlite делает. Существует что-либо подобное?

Все ответившим заранее большое спасибо!
Re: Локальное веб-приложение
От: Роман Дубров Украина Я@Blogspot
Дата: 16.09.08 11:32
Оценка:
samurdolph пишет:

> Но возникла задача: требуется вести те же данные локально и сохранять в

> БД на сервере время от времени. Писать десктоп-приложение с нуля не
> хочется, это и трудоемко достаточно, и бизнес-логика с течением времени
> рассинхронизируется между веб- и десктоп-приложениями.

что понимается в виду под "локально"? обязательно pure desktop? Google
Chrome в режиме web app не подходит? В крайнем случае можно доваять
обертку-вебсервис на стороне пхп и простенького клиента на дотнете —
логика вся на сервере останется, а если там хоть немного был MVC —
переделки будут минимальные.

> Подскажите, куда копать? Самый интересный на мой взгляд вариант,

> запустить это веб-приложение локально и дописать утилиту, которая будет
> между локальной и удаленной базами данных синхронизировать записи.

Вам принципиально, будет ли браузер ходить на www.mysite.com или
localhost? Или там интернет не круглые сутки? Если запускать копию
локально — можно между базами настроить репликацию и запускать ее
вручную когда надо, вот только 2-way в мускуле будет несколько
геморройно сделать.

> Кто-то делал что-то подобное? Какой веб-сервер лучше использовать

> локально, чтобы ресурсов поменьше потреблял? А еще лучше, чтобы вообще

apache for windows. В айдле есть только память, и ту можно укрутить по
самое нехочу.

> запускался по требованию для обработки скрипта, наподобие как sqlite

> делает. Существует что-либо подобное?

афаик, в sqlite нет встроенного вебсервера

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.1 beta
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[2]: Локальное веб-приложение
От: samurdolph  
Дата: 16.09.08 15:05
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>samurdolph пишет:


>> Подскажите, куда копать? Самый интересный на мой взгляд вариант,

>> запустить это веб-приложение локально и дописать утилиту, которая будет
>> между локальной и удаленной базами данных синхронизировать записи.

РД>Вам принципиально, будет ли браузер ходить на www.mysite.com или

РД>localhost? Или там интернет не круглые сутки? Если запускать копию
РД>локально — можно между базами настроить репликацию и запускать ее
РД>вручную когда надо, вот только 2-way в мускуле будет несколько
РД>геморройно сделать.

То-то и оно, что интернет не круглые сутки. Поэтому получается две независимые программы с одинаковой логикой: десктоп-приложение и веб-приложение. Хочу по максимуму использовать код веб-приложения для создания десктопной версии.
Да, репликацию придется настроить.

>> Кто-то делал что-то подобное? Какой веб-сервер лучше использовать

>> локально, чтобы ресурсов поменьше потреблял? А еще лучше, чтобы вообще

РД>apache for windows. В айдле есть только память, и ту можно укрутить по

РД>самое нехочу.

Спасибо, буду копать в эту сторону.

>> запускался по требованию для обработки скрипта, наподобие как sqlite

>> делает. Существует что-либо подобное?

РД>афаик, в sqlite нет встроенного вебсервера


sqlite я привел просто как аналогию. Т.е. mysql запускается как процесс, sqlite, по сути, маленькая библиотека, которая как отдельный процесс не запускается вовсе. И тот и другой, тем не менее, позволяют работать с таблицами БД.
Re: Локальное веб-приложение
От: c-smile Канада http://terrainformatica.com
Дата: 16.09.08 22:29
Оценка:
Здравствуйте, samurdolph, Вы писали:

S>Коллеги, подскажите, плс, по такой задачке.


S>Есть небольшое веб-приложение mysql+php. Пользователи вводят данные в браузере, данные сохраняются в БД и затем в браузере можно вывести отчеты. Все работает вполне хорошо и стабильно.


S>Но возникла задача: требуется вести те же данные локально и сохранять в БД на сервере время от времени. Писать десктоп-приложение с нуля не хочется, это и трудоемко достаточно, и бизнес-логика с течением времени рассинхронизируется между веб- и десктоп-приложениями.


S>Подскажите, куда копать? Самый интересный на мой взгляд вариант, запустить это веб-приложение локально и дописать утилиту, которая будет между локальной и удаленной базами данных синхронизировать записи.


S>Кто-то делал что-то подобное? Какой веб-сервер лучше использовать локально, чтобы ресурсов поменьше потреблял? А еще лучше, чтобы вообще запускался по требованию для обработки скрипта, наподобие как sqlite делает. Существует что-либо подобное?


Если имеется техническая возможность установить mysql+php+apache на клиента то нужно их ставить и заливать свое приложение локально + писать модуль синхронизации баз.

Если же такой возможности нет то я бы посоветовал делать это как Sciter приложение — html+css+script.
Database в Sciter встроенная + встроенный template режим (<% ... %>).
+ опять же встроенный AJAX клиент с пом. которого делается синхронизация с сервером.

В любом случае Occasionally Connected Web Applications это вообще отдельная сущность — просто перенос (drop-in) с сервера на клиент кода как правило не работает ибо логика меняется достаточно сильно.
Re: Локальное веб-приложение
От: kerch  
Дата: 17.09.08 08:14
Оценка:
а google gears вам не подойдет?
Re[3]: Локальное веб-приложение
От: Роман Дубров Украина Я@Blogspot
Дата: 17.09.08 09:35
Оценка:
samurdolph пишет:

> То-то и оно, что интернет не круглые сутки. Поэтому получается две

> независимые программы с одинаковой логикой: десктоп-приложение и
> веб-приложение. Хочу по максимуму использовать код веб-приложения для
> создания десктопной версии.

ну тогда получается классический толстый клиент с распределенной базой.

> Да, репликацию придется настроить.


+ мускулевские автоинкременты придется заменить на самописные безопасные
секвенсоры

> РД>apache for windows. В айдле есть только память, и ту можно укрутить по

> РД>самое нехочу.
>
> Спасибо, буду копать в эту сторону.

у вас там что, один клиент только? Стоит ли из-за одного юзера огород
городить, мож будет дешевле gprs ему протянуть или 3g если доступно?

> sqlite я привел просто как аналогию. Т.е. mysql запускается как процесс,

> sqlite, по сути, маленькая библиотека, которая как отдельный процесс не
> запускается вовсе. И тот и другой, тем не менее, позволяют работать с
> таблицами БД.

sqlite запускается как часть приложения, его использующего. Да, если это
приложение закрыто, sqlite, в отличие от апача с мускулем, тоже в памяти
не болтается. Ну да и фиг с ним, можно подумать что те 40-50 мб что они
сожрут так критичны для современного компа с минимум 512мб

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.1 beta
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.