Прежде всего, у меня есть концептуальный вопрос: означает ли слово "распределенное" только то, что приложение запускается на нескольких машинах? или есть другие способы, по которым приложение может считаться распределенным (например, если есть много независимых модулей, взаимодействующих с тогером, но на одной машине, распространяется ли это?).
Во-вторых, я хочу создать систему, которая выполняет четыре типа задач, будет несколько клиентов, и у каждого из них будет много задач каждого типа, которые будут запускаться периодически. Например: customer1 будет иметь task_type1 сегодня, task_type2 через два дня и так далее, может быть клиент2, у которого есть task_type1, который будет выполняться одновременно с customer1 task_type1. т.е. существует необходимость в concurrency. Конфигурация для выполнения задач будет храниться в БД, и результаты этих задач также будут сохранены в БД. клиенты будут использовать систему из веб-браузера (html-страницы) для взаимодействия с системой (в основном, настраивать задачи и видеть результаты). Я подумал об использовании веб-сервиса rest (используя JAX-RS), где html-страницы будут взаимодействовать с бэкэнд и использовать потоки для параллельного выполнения. Вопросы:
- Это звучит просто, но я иду в правильном направлении? или я должен использовать другие технологии или концепции, например Java Beans?
2.Если мой подход прекрасен, мне нужно использовать язык сценариев, например JSP, или я могу отправить html-формы непосредственно на остальные URL-адреса и получить результат (например, с помощью JSON)?
- Если я хочу, чтобы приложение было распространено, возможно ли это с моей идеей? Если не то, что мне нужно будет использовать?
Извините за то, что у меня много вопросов, но я действительно смущен этим.