Во-первых, нужно сказать, что у меня довольно короткий опыт работы с php, я только пишу некоторые базовые скрипты, без использования каких-либо фреймворков, таких как Zend.So, что мне нужно сделать, это следующее: добавить часть ( скажем, модуль) к существующему php-сайту, который позволит пользователю загружать pdf-файлы с сайта (может быть, лучше сказать сервер) с помощью клиента рабочего стола Java. Клиент на самом деле читатель PDF, но он также должен позволять пользователю видеть свою электронную книжную полку, состоящую из книг / статей, на которые он уже подписан на сайте. Данные должны быть зашифрованы, чтобы их мог видеть только этот пользователь. Вот почему я хотел бы услышать несколько советов / идей, как лучше всего делать такие вещи, как:
- Напишите php-часть на стороне сервера, которая будет заниматься получением файлов с сервера, их шифрованием и отправкой пользователю. Особенно меня беспокоит, каким образом лучше отправлять пароль для декодирования на стороне клиента и как отправлять данные с сервера, используя сокеты или URL.
- Запрос файла из настольного клиента Java. Здесь я имею в виду, лучше ли использовать сокеты или вызывать URL.
- Реализовать синхронизацию с состоянием полки на сайте.
- Реализация загрузки выбранной книги по требованию (выбор происходит на стороне клиента), если она не была ранее загружена с сайта и сохранена на стороне клиента. Здесь следует проверить загруженные файлы. Кроме того, меня интересует, как лучше сделать запрос, например, если лучше отправить какой-нибудь, возможно, XML-файл с данными книги, которые должны быть проанализированы на стороне сервера, и сформирован ответ - здесь я имею в виду отправку книги клиенту .
- Какой алгоритм шифрования лучше использовать. Я думаю, что ключи будут основаны на логине / пароле пользователя для доступа к сайту, и мне нужен алгоритм, для которого существуют библиотеки как на PHP (для шифрования), так и на Java (для расшифровки). Может быть, такая идея выбора ключей не очень хороша, любые мысли приветствуются.
Я понимаю, что это довольно большой вопрос, поэтому любые идеи будут полезны. Заранее спасибо!