Веб-приложение может работать в автономном режиме!

Мне нужно разработать веб-приложение, которое может работать в автономном режиме.

Так что есть много рабочих точек, которые в обычном режиме работают онлайн, подключенные к центральному серверу.

Сейчас бывают моменты, когда по разным причинам центральный сервер может быть недоступен. (нет интернета, сбой сервера и т. д.), поэтому необходимо войти в автономный режим работы. Не требуется работать в полную силу только для того, чтобы выполнить какую-то работу, потому что клиенты не должны ждать, поэтому должно быть возможно выставление счетов (конкретный случай).

Пользовательское решение, которое я уже имею в виду, но мне интересно, знаете ли вы структуру или что-то, что уже делает такие вещи.

Спасибо !


person Cris    schedule 04.06.2011    source источник
comment
это веб-приложение? Вы используете html и javascript?   -  person hvgotcodes    schedule 04.06.2011
comment
Он может использовать что угодно... однако у меня есть фон Java.... для внешнего интерфейса это будет html5, но наверняка фреймворк Java.   -  person Cris    schedule 04.06.2011


Ответы (3)


Мы написали настольное приложение для сотен сотрудников, которое они могли использовать на своих ноутбуках. Он использовал репликацию базы данных для объединения данных из копии базы данных на ноутбуке с копией базы данных на сервере. Объем данных, содержащихся в базе данных, был значителен: информация о продуктах, контактная информация клиентов и так далее. Этого было достаточно, чтобы представитель мог создавать заказы на продажу, счета-фактуры и тому подобное. Крайне важно, чтобы торговый представитель мог использовать программное обеспечение все время, а не только время от времени, когда у них было подключение. Однако у этого подхода есть свои проблемы: если локальные базы данных не синхронизируются часто, данные на обоих концах устареют, плюс вам придется иметь дело с конфликтующими обновлениями.

Если объем информации базы данных, необходимой локально для работы в автономном режиме, невелик, вы определенно можете воспользоваться преимуществами нового автономного хранилища HTML5 и использовать веб-сайт.

Я думаю, что критическими факторами здесь являются то, сколько данных нужно пользователю, когда он работает в автономном режиме, насколько свежими должны быть данные и какой процент времени они будут работать онлайн по сравнению с офлайн.

person DOK    schedule 04.06.2011
comment
Да ... довольно много ... поэтому я задаюсь вопросом, подходит ли для этого html5. Речь идет о выставлении счетов. Так что более 10000 клиентов, 10000 продуктов ... + создание счета-фактуры в формате PDF ... Какую базу данных вы сделали использовал ? репликация работала нормально...? - person Cris; 04.06.2011
comment
Мы использовали SQL Server. Репликация работала нормально. Представителям понравилась мобильность. Так неловко сидеть с клиентом, а твой чертов ноутбук не может подключиться к интернету. Если вы хотите исследовать это, вы можете составить очень конкретный новый вопрос, описывающий объем данных и т. д., и просить людей посоветовать, какие базы данных лучше всего использовать для репликации. Прежде чем вы это сделаете, ознакомьтесь с другими вопросами SO, такими как this one< /а>. - person DOK; 04.06.2011
comment
вы можете использовать html5 и реплицировать в локальное хранилище или что-то вроде кушетки db - person hvgotcodes; 05.06.2011

Если ваше приложение — html/javascript, используйте манифест приложения HTML5. См. следующие ресурсы

http://www.w3.org/TR/offline-webapps/ http: //www.webreference.com/authoring/languages/html/HTML5-Application-Caching/

person hvgotcodes    schedule 04.06.2011
comment
Подходит ли это для хранения 10000 клиентов в таком кеше? Основная идея этого приложения заключается в простом выставлении счетов. Обычно вы получаете данные с сервера: клиенты, цены, продукты и т. д. В автономном режиме все это должно быть получено? локальная бд? или .... - person Cris; 04.06.2011
comment
каждый клиент является отдельным приложением и управляет своим автономным состоянием - person hvgotcodes; 04.06.2011

Вы можете использовать Google Gears.

Вот еще одна ссылка: http://www.scriptol.com/ajax/google-gears.php

person Marcelo    schedule 04.06.2011
comment
но обратите внимание, что Google больше не разрабатывает шестерни. он не работает во всех браузерах. они тоже перешли на html5. - person Ahmet Alp Balkan; 04.06.2011