Технологии используемые для разработки сервера на java в трехзвенке?

Изучаю Java и решил в процессе реализовать приложение по трехзвенной архитектуре клиент-сервер-БД. Приложение чисто академическое — допустим клиентское приложение библиотекаря (список книг, расположения этих книг, посетителей). Толстый клиент + БД уже реализовывал, так что хочется заморочиться именно с трехзвенкой. По идее всей логикой, фильтрацией и манипулированием данных должен заниматься сервер? Клиент отвечает только за отображение данных. База за их хранение.

Клиент — rich — swing

БД: Postgres.

ORM: Hibernate

Какие технологии мне следует изучить/попробовать для разработки серверной части? Если я правильно понимаю — мне требуется использовать сервер приложений(glassfish/weblogic/jboss)? Так же в будущем хотелось бы расширить функционал тонким веб-клиентом(но с несколько другими функциями, не дублирующими десктоп, администрирование к примеру)
  • Вопрос задан
  • 5446 просмотров
Решения вопроса 1
@sergei-grigorev
Технологии, которые потребуются вам изучить (по-минимуму):
* JNDI-каталог (в нем прописывается jdbc-ресурс — адрес до базы данных)
* EJB (бизнес-уровень, в нем как раз используете hibernate, транзакции)
* Servlets и JSP (уровень отображения данных, проще говоря — генерация html-страниц)

Если в EJB все понятно (выбирать особо не из чего), то для JSP вы можете воспользоваться библиотеками MVC, среди которых достаточно удобные и с большим количеством документации Struts2, Sprinc VMC и пр.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
SSiarhei
@SSiarhei
Позволю себе заметить, что клиент-серверные архитектуры такого плана уже вчерашний день и будущее их прискорбно.

Я бы на вашем месте изучал чисто webовские технологии (как выше уже посоветовали — EJB итд) и не заморачивался со swing-клиентами.
Ответ написан
@Gregy
Senior Java Developer
Лучше всего начать сразу со Spring, не мучайтесь вы с этим EJB и прочим мракобесием от J2EE. Я потратил 5 лет на работу с J2EE и сейчас перешел на платформу Spring, так здесь все просто легковесно и главное работает.

Из J2EE нужно разобраться очень хорошо с Servlets, для понимания возьмите Tomcat.
Также неплохо понять что-такое IoC, loose-coupling.
JBoss или Glassfish очень тяжелые решения и на первых порах будет сложно понять как там всё работает. Поэтому лучше c Tomcat разберитесь, с Servlets, IoC, loose-coupling, на примере Spring. И после этого вам уже ненужен будет JBoss или Glassfish.
Ответ написан
Комментировать
fkvf
@fkvf
Сервер приложений потребуется.
Ответ написан
javax
@javax
Software Architect, Java Developer since 1996
Советую компоненты связывать через spring. Используя спринг легко экспортировать Ваши сервисы через HTTP — веб сервисы или hessian remoting
Ответ написан
Комментировать
@relgames
Java Developer
Немного не ясно, зачем тут вообще нужен промежуточный сервер, почему бы сразу не обращаться к базе из клиента. Фильтрация/сортировка и т.д. вполне себе реализуются через SQL-запросы

Или есть какие-то дополнительные требования, типа журналирования / интеграции со сторонними системами / сложная бизнес-логика?

Самое простое, конечно, EJB
Если хочется больше свободы — тогда Spring
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы