2015-08-11 5 views
0

Мне нужно реализовать какое-то приложение Java, которое должно быть установлено на клиентских компьютерах.Компоненты для Java-приложения

Основные требования:

  1. Это приложение должно иметь внутреннее хранилище данных (СУБД) и данные должны быть долговечными.
  2. HTTP-сервер для веб-служб RESTful (для входящих звонков от внешнего мира)
  3. Легкий процесс установки

Прямо сейчас я имею в виду, чтобы реализовать это приложение на Spring ботинке. Это позволит нам просто запустить приложение на встроенном Tomcat без необходимости установки автономного Tomcat Server.

Кроме того, для внутреннего хранения данных (РСУБД) я планирую использовать встроенные базы данных H2 или Derby. Основной критерий - данные должны быть долговечными между перезапусками приложений.

Для веб-служб RESTful я планирую использовать Spring RestController над Spring MVC.

Что вы думаете о моем выборе? Будет ли он работать с этими инструментами? Спасибо

+4

основано мнение .. –

+0

приложение должно быть установлено (настольное приложение) или он должен быть веб-приложение – MockerTim

+0

? Веб-приложение, бэкэнд с RESTfull WebServices и простой веб-интерфейс (какая-то панель) – alexanoid

ответ

1

Ваш выбор кажется прекрасным для меня.

Я действительно применил приложение с этими компонентами. В качестве базы данных я выбрал H2, потому что он имеет features, который мне нужен по сравнению с Derby, особенно важна поддержка создания доменов. Как правило, у H2 есть больше возможностей, чем у Derby.

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

RESTful API может быть легко реализован с помощью @RestController.

Вы можете запустить приложение Spring Boot после входа в систему с учетными данными пользователей и сохранить файл базы данных H2 где-нибудь в личных папках пользователей.

Как плюс, работает локальное приложение Java, как это, вы можете получить доступ к локальной файловой системе (например, для хранения отчета в формате PDF непосредственно в «Моих документах»

Edit:.

Вы можете запустить браузер автоматически, когда приложение будет готово, из последнего инициализирован боба:

@Value("${server.port}") 
private String   serverPort; 

@Value("${server.context-path}") 
private String   serverContextPath; 

public void openAppInBrowser() { 
    final Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; 
    if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) { 
     logger.debug("Open Browser."); 
     try { 
      desktop.browse(new URI("http://localhost" + 
        (StringUtils.isNotEmpty(serverPort) ? ":" + serverPort : "") + 
        (StringUtils.isNotEmpty(serverContextPath) ? serverContextPath : ""))); 
     } catch (final Exception e) { 
      logger.debug("Error opening Browser", e); 
     } 
    } 
} 
+0

Спасибо за дополнительную информацию! – alexanoid

Смежные вопросы