GWT нормально для этого?если да, то какая лучшая серверная технология Java, которую мы можем использовать? - PullRequest
4 голосов
/ 04 января 2011

Я давно занимаюсь разработкой веб-приложений с использованием технологий Microsoft, но теперь меня попросили создать ОЧЕНЬ БОЛЬШОЕ приложение для веб-проекта Java.По какой-то причине меня заставляют использовать GWT в качестве внешнего интерфейса;Я читал некоторые комментарии по этому поводу, где некоторые люди говорят, что это не лучший вариант для больших / корпоративных приложений (в данном случае это нечто почти такое же сложное, как ERP).Еще одно требование: разрешить подключение к нескольким базам данных, используя технологию быстрой разработки и имея низкую производительность (пользователи не хотят ждать загрузки страниц) ...

Таким образом, вопросы будут такими:- GWT - лучший вариант?- Если это так, какой лучший бэкэнд (технология Java) мы можем использовать?Я читал, что это может быть Groovy, Spring Roo или JSF.- Должен ли я использовать Hibernate или создать другой легкий вариант?

Заранее спасибо

Ответы [ 4 ]

6 голосов
/ 04 января 2011

GWT - серьезный фреймворк, независимо от того, используется он для большого или маленького проекта. Перед совершением GWT вы должны понять, что:

  • это клиентская (браузерная) технология
  • это слой перевода с Java на JavaScript, где разработка JavaScript либо исключена, либо сведена к минимуму
  • он способен интегрироваться с сервером (средний уровень), особенно хорошо с основанными на Java, независимо от того, какую технологию он использует: JDBC, Hibernate, GAE, проприетарный и т. Д.
  • он ориентирован на разработчиков Java / десктопов, так что ожидайте крутой кривой обучения, если это не ваш опыт
  • требует фундаментального понимания структур MVP (вариация MVC)
  • требует знакомства с технологией браузера JavaScript
  • большие проекты с GWT потребуют использования вспомогательных сред, таких как GWT MVP, Guice, gin, gwtp и т. Д.

Хорошей аналогией может быть Swing или Eclipse RCP. Они предлагают богатую графическую платформу для разработки графических интерфейсов с интеграцией с различными серверными технологиями. Но целевой платформой для GWT является браузер с поддержкой JavaScript, а не рабочий стол.

2 голосов
/ 05 января 2011

GWT - это очень мощная платформа, которая подходит для проектов любых размеров, особенно начиная с версии 2.1. Команда Google Wave помогла GWT разработать API и практикум , которые действительно помогают в использовании GWT для крупных проектов. Что касается исходных данных .NET, поначалу это может быть крутой курс обучения, но руководство по началу работы с GWT от Google - хорошее место для начала, и вы должны быть в состоянии приступить к работе. Одна вещь, которую люди часто забывают, это то, что GWT на самом деле является просто компилятором, который эмулирует части JRE, и в конце концов это всего лишь HTML, CSS и Javascript.

Для внутренних технологий есть много вариантов, но на самом деле есть два решения, которые вы должны принять. Сначала вам нужно будет выбрать веб / коммуникационный уровень. На мой взгляд, у вас есть 3 основных варианта типа связи, прежде чем мы даже приступим к реализации: GWT-RPC, REST (XML или JSON) или SOAP. Я предпочитаю REST с JSON, однако, если вам не нужно показывать свои услуги за пределами GWT, вам может быть лучше с GWT-RPC. Если вы решите использовать REST или SOAP, вы можете даже не использовать серверную часть Java, а вместо этого использовать .NET, чтобы оставаться в своей зоне комфорта. Для этого я написал бы XSD для описания вашей модели данных и использовал бы .NET для сохранения и предоставления ваших данных в виде JSON через REST. Затем вы можете использовать JAXB для генерации Java-представления этих классов для использования в вашем клиенте GWT, однако вам придется удалить все аннотации XML и изменить их так, чтобы они работали как типы наложения .

Во-вторых, вам нужно будет определить свой уровень персистентности. Многие предпочитают Hibernate, но я предпочитаю JPA, либо отлично подойдет для приложений уровня предприятия. Преимущество использования Java-интерфейса с коммуникациями GWT-RPC заключается в том, что вы можете использовать RequestFactory с EntityProxy , так что вам нужно будет поддерживать только одну версию объекта от клиента через уровень персистентности.

1 голос
/ 04 января 2011

Рекомендую посмотреть на эту тему: GWT для больших проектов?

0 голосов
/ 04 января 2011

Во-первых, вы не можете использовать JSF для back-end. Я предлагаю вам использовать hibernate для back-end и jsf для front-end, особенно новую версию jsf2 с мощью CDI, и я рекомендую использовать Richfaces, Primefaces каклегкие jsf-компоненты, а также платформа разработки Seamframeworkas, если вы используете ее, я думаю, у вас будут самые мощные веб-технологии java

GWT может помочь вам в большом проекте, но это может занять в два раза больше времени по сравнению с JSF, но если вам нравится GWTВы должны взглянуть на Ваадин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...