Java Web Start против Java-апплета - PullRequest
1 голос
/ 12 октября 2011

Я работаю над приложением Java, которое я хочу, чтобы оно было доступно через Интернет.Однако некоторые требования ставят меня в сложную ситуацию.Вот почему я был бы признателен за вклад опытных программистов.Ситуация выглядит следующим образом:

У меня есть основной веб-хост, с

  • база данных mysql
  • открытый ftp-порт (21)
  • открытый http-порт (80)

, но без

  • открытый mysql-порт (3306)
  • открытый ssh-порт (22)

Теперь я хочу создать приложение (Java Web Start ИЛИ Java-апплет), которое может выполнять следующие действия:

  • Доступно для нескольких пользователей через Интернет
  • Связь с базой данных MySQL
  • Обмен документами между локальной файловой системой и веб-хостом

Теперь вы видите проблему:

  • При запускеПриложение Java Web Start, кажется, невозможно подключиться к базе данных mysql, так как порт mysql закрыт.
  • При запуске Java-апплета кажется, что я не могу получить доступ к файлам в локальной файловой системе.

Кто-нибудь предлагал эту проблему?

Заранее спасибо!

Том

Ответы [ 2 ]

4 голосов
/ 12 октября 2011

Я бы не рекомендовал такой сценарий.

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

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

2 голосов
/ 12 октября 2011

Ни Webstart, ни Applets не смогут обмениваться данными с базой данных, когда они не могут к ней подключиться.На самом деле, было бы очень плохо, если бы они могли, потому что тогда приложения должны были бы содержать пароль БД, который каждый, имеющий доступ к приложению, мог бы извлечь из него и нанести ущерб вашей БД.Вероятно, именно поэтому хостер не открывает этот порт в Интернете.

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

...