@longBurn

Как выбрать веб сервер?

Добрый день!

Разрабатываю приложение которое будет анализировать определенные данные и строить все возможные графики.
Приложение можно структурно разделить на 4 части:
1. Сбор данных - через API с другого ресурса, по протоколу HTTP.
2. Хранение собранной информации в БД
3. Обработка полученных данных. Математика, математика, математика.
4. Отображение пользователю обработанной информации в виде графиков по протоколу HTTP. На клиентской стороне поддерживаются html 5.0, css 3.0, javascript.

Попытался описать задачу формальным языком, что бы меня лучше поняли. Надеюсь цель достигнул)

Так вот, проработав концепцию решения, я начал задумываться о выборе конкретных решений и зашел в ступор.

Мне нужен свободно распространяемый веб сервер с открытым исходным кодом. Сразу на ум пришел jetty и tomcat, так как продукты, которыми я раньше занимался, использовали именно эти веб серверы и потому что я знаю java, а согласно Вики именно они написаны на java. Но начав изучать данный вопрос, понял что тону в информации.

Я никогда не занимался подобной разработкой и для меня это пока темень, а выбирать решение "пальцем в небо" не хочется. Помогите понять в чем разница, что для каких задач нужно, может быть какая-нибудь литература есть, в которой хорошо изложено что и зачем следует.

Спасибо всем за помощь!

П,С, параллельно гуглю гугл, но совет опытных людей всегда полезен =)
  • Вопрос задан
  • 2622 просмотра
Пригласить эксперта
Ответы на вопрос 2
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Веб сервер вам по сути потребуется только для четвёртого пункта.
В вашей ситуации всё равно что.
Можете взять Play framework или jRails в качестве соврменного фреймворка для веба. Или же просто использовать jsp + любой сервер (тот же jetty).

Хранение информации в бд, опять же, или берёте то что поддерживает фреймворк, или какой-то стандартный способ: jdbc, hibernate. Но у того же play гораздо больше возможностей в этом плане, и как по мне выглядят они привлекательнее.

Для сбора данных вам скорее всего понадобится какой-нибудь планировщик: ScheduledThreadPoolExecutor, akka scheduler. Ну и собираете данные либо в одном потоке, либо многопоточно. Если одновременных конекшнов будет больше 10 000 - лучше асинхронно. Если меньше то просто многопоточно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы