Как создать онлайн и оффлайн версии одного и того же веб-приложения

1

Фоновая информация: в организации, где я работаю, используется Java, Oracle ADF framework, стек Oracle db/weblogic.

Новое требование У меня есть это сложное требование для нового проекта, чтобы сделать веб-приложение, на котором я основано, также работать в автономном режиме. В соответствии с требованиями пользователь должен иметь возможность щелкнуть кнопку "Работа в автономном режиме" в режиме "онлайн" и получить локальную копию приложения/страницы на своем устройстве.

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

Решение, которое я пытаюсь сделать, следующее:

  1. Я создаю std веб-приложение для работы в онлайн-режиме производства. Он будет использовать ADF или /JSF с Oracle db.
  2. Я создам простое приложение для автономного режима, которое будет повторно использовать большинство страниц, разработанных для онлайн-режима. Но использование базы данных будет легким, как hsqldb. И все приложение будет в комплекте с легким сервером, как причал.
  3. Все автономное приложение и сервер будут объединены вместе как исполняемый банкомат, который можно загрузить и запустить с любого устройства.
  4. В локальной автономной версии приложения будет кнопка "отправить". И нажав эту кнопку, когда есть интернет-совместимость, мы сделаем вызов webservice на производственный сервер и отправим собранные данные

Мои вопросы :

  1. Будет ли мое предлагаемое решение работать?...Есть лучший способ сделать это?
  2. Является ли hsqldb лучшей облегченной встроенной базой данных для автономного режима?
  3. Является ли пристань хорошим легким встроенным веб-сервером?... есть ли лучший?
  4. Может ли исполняемый банку запускаться на любом устройстве, таком как mac, ios, linux, android, windows и т.д.
  • 0
    Я не уверен, что ADF поддерживается Jetty. Использование продуктов Oracle вне стека Oracle обычно является кошмаром. Oracle ADF не подходит для такого требования. Посмотрите, как HTML5 работает в автономном режиме. В вашей архитектуре вам не хватает стратегии синхронизации. Есть ли причина иметь автономный режим?
  • 0
    Если Jetty не поддерживает ADF, тогда я могу попробовать HTML5 / сервлеты или JSP или JSF. Организация хочет, чтобы ее сотрудники отправлялись со своими устройствами в удаленные районы, где нет подключения, и выполняли работу. После того, как пользователь ввел данные в приложение в автономном режиме, пользователь может попытаться загрузить данные, хранящиеся в локальной базе данных, и синхронизировать их с prodserver через веб-службу SOAP или службу REST.
Теги:
web-applications
embedded-jetty
oracle-adf

2 ответа

2
Лучший ответ

Подход, который я использовал, следующий:

  1. Я построил пользовательский интерфейс веб-страниц с помощью angularjs внутри обычной страницы html5 и разместил его на своем веб-сервере.
  2. Я написал файл appcache.manifest для html-страницы, описывающий все файлы css/js/image, используемые приложением. Чтобы страница была загружена в браузер, страница будет кэширована в браузере.
  3. Я создал успокоительные службы для обмена данными с моей html-страницей с сервера. Данные были переданы в формате json, и я шифровал полезную нагрузку json с использованием AES-шифрования. На стороне клиента я использовал библиотеку cryptojs для дешифрования данных, предоставляемых службой отдыха. как работает криптоид
  4. Я использовал javascript-библиотеку pouchdb для хранения данных, предоставленных пользователем локально, в базу данных браузера (pouchdb хранит данные в индексированном DB в случае хрома и firefox, он хранит данные в webSQLDB в случае сафари и других участников).
0

Вы можете использовать ADF Essentials, который поддерживается GlassFish для автономной версии. (Это также снизит стоимость лицензии). Вы можете использовать базу данных Oracle XE для автономной версии. http://www.oracle.com/technetwork/developer-tools/adf/overview/adfessentials-1719844.html

  • 0
    будет ли это решение работать на мобильных устройствах

Ещё вопросы

Сообщество Overcoder
Наверх
Меню