2015-02-24 3 views
5

У меня есть большое приложение, использующее Java на бэкэнд и стойках, Jsp и библиотеку тегов JSTL на лицевой стороне. База данных - это DB2, и мы в значительной степени полагаемся на хранимые процедуры.Веб-приложение Java Передняя часть

Мы планируем обновить приложение до новой архитектуры/структуры.

Основная структура, которую мы рассматриваем, - это весна, хотя наши лидеры пытаются подтолкнуть нас к внедрению Java EE, вместо этого утверждая, что это лучшая структура.

Любые рекомендации относительно того, каким образом идти с Spring или Java EE? Любые основные причины предпочитают один над другим (преимущество/недостаток)?

Для каждой из них, что является лучшей альтернативой для JSP taglib? Мы используем для записи всех html-тегов вручную для отображения динамических данных с помощью JSTL. Я читаю о новых инфраструктурах, таких как компоненты Angular и JSF. Я не уверен также, что широко используется в наши дни. Я читал, что все больше программистов передают данные из служб REST как JSON для интерфейса. Что они используют для визуализации данных, это JSF, Angular?

Я программирую .NET, а в ASP.NET у нас есть привязка данных и такие компоненты, как ListView и т. Д. Являются ли JSF и Angular одинаковыми?

Любой веб-сайт с хорошими примерами, документация (особенно архитектура), которую вы рекомендуете?

+0

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

ответ

7

Java EE и Spring - очень хорошие и очень полные рамки для написания бэкэндов. Оба они должны быть в состоянии делать именно то, что вы хотите. Я бы рекомендовал использовать то, что знакомо вашей команде, но я собираюсь избегать деталей, так как вы сможете сделать приложение высокого качества одним из них очень легко.

Что касается front-end, я лично получил наилучшие результаты от создания RESTful API и использования этого для отправки данных в интерфейсный Javascript-интерфейс. Угловая действительно хороша для этого. Одна из причин этого заключается в том, что структуры Javascript, как правило, обеспечивают большую мощность, когда дело доходит до написания хороших веб-интерфейсов. JSF представляет собой структуру MVC на стороне сервера, основанную на компонентах, и, как правило, дает вам меньше контроля над созданным HTML + JavaScript и затрудняет запись тестов.

Я также обнаружил, что в крупных магазинах вы не всегда можете доверять людям, чтобы делать что-то сразу. Важное значение имеет разделение проблем, и мне нравится использовать фреймворк JavaScript, такой как Angular для front-end, потому что он долгий путь для того, чтобы сохранить внешний код вне его. Приложения JSF, которые мы имеем на моем рабочем месте, довольно ужасны, потому что разработчики злоупотребляли такими вещами, как сеансы. Код JSF также жил в том же развертывании, что и бэкэнд. Вместо использования веб-сервисов и подхода, ориентированного на обслуживание, и поддержания все слабосвязанного, мы столкнулись с гигантскими «блобами» кода, которые «делают все».

+0

Большое спасибо за обратную связь – daoud175

1

Многое зависит от вашей команды, в которой они удобны. Но Spring и Java EE могут делать все для вас, но лично я предлагаю весенние модули jdbc + spring mvc для бэкэнд. Функциональность Spring injection очень полезна для веб-приложений. Кроме того, модуль spring jdbc создает среду и создает sessionFactory для ваших вызовов jdbc.

Создайте rest-api в своем контроллере, который сделает вашу жизнь очень легкой. Spring также предоставляет множество шаблонов, которые выступают в качестве базовых классов, чтобы использовать с помощью стандартных технологий Java EE легкий ветерок. Например, JdbcTemplate хорошо работает с JDBC, JpaTemplate отлично справляется с JPA, JmsTemplate делает JMS довольно простой.

Кроме того, для нетрудоспособного точки зрения весной лучше всего, потому что он популярен и в основном разработчики familier с весной.

Для углового переднего конца превосходно, потому что у AngularJS есть встроенная подсистема подзарядки зависимостей, которая помогает разработчику упростить разработку, понимание и тестирование приложения.

Передача данных, вероятно, самая крутая и самая полезная функция в AngularJS. Это избавит вас от написания значительного количества шаблонов.

+0

Большое спасибо за обратную связь – daoud175

+0

> 'JpaTemplate делает хорошие вещи с JPA' - Это немного спорно и была спорной темой. Фактически это было причиной некоторого напряжения между командами Hibernate (Gavin King) и Spring - JPA был новым и чистым API, и сомнительно, нужна ли ему какая-либо упаковка или усиление к весне. –

+0

> 'JMSTemplate делает JMS довольно простым» - Обратите внимание, что в Java EE 7 JMS API был радикально упрощен. Вероятно, JMSTemplate больше не имеет смысла для JMS 2.0. –

Смежные вопросы