Начните с простого. Я бы начал с простого решения на основе сервлетов / JDBC и обеспечил бы полную работоспособность системы. С этой точки зрения рассмотрим:
- хотите ли вы использовать объединение пулов (скорее всего). Рассмотрим C3P0 / Apache DBCP
- Вы хотите использовать такие рамки, как Spring ? Вы можете перейти к этому постепенно и начать с использования возможностей сервлета MVC, IoC и т. Д. И использовать более сложные решения по мере необходимости
- Хотите использовать ORM? У вас есть сложные графы объектов, которые вы сохраняете / запрашиваете, и упростит ли ORM вашу разработку?
Если вы решите воспользоваться этим подходом, убедитесь, что ваша архитектура хорошо наслоена, чтобы вы могли заменить (скажем) необработанный JDBC на ORM, и чтобы ваша разработка была ориентирована на тестирование, так что у вас есть достаточное количество тестов для подтверждения того, что ваше решение работает во время выполнения перечисленных выше миграций.
Обратите внимание, что вы не можете никогда завершить работу над решением. По мере того, как изменяются ваши требования и масштабируется ваше приложение, вы, вероятно, захотите заменить / использовать технологию, наиболее подходящую для ваших текущих требований. Следовательно, архитектура вашего приложения важнее, чем выбранный вами набор инструментов.