В чем преимущество использования Direct Web Remoting перед дизайном веб-сервисов REST?

1

У меня есть веб-приложение предприятия Java, развернутое в tomcat. Я ищу способы интегрировать HTML и JS UI с кодом Java среднего уровня. До сих пор, оглядываясь, я прочитал, что есть два способа сделать это, которые соответствуют моим требованиям:

1) DWR - Прямой веб-удаленный доступ

2) Используйте веб-службы REST.

Я не уверен, какой подход к использованию.

Изменение: В чем преимущество использования DWR над дизайном WS для отдыха?

Есть ли лучший подход? Некоторые люди попросили меня взглянуть на GWT, но я не уверен, что они масштабируемы.

Редактирование 2: я, скорее всего, буду использовать додзё для разработки пользовательского интерфейса (хорошо работает с REST/DWR??), и я хочу, чтобы код java-кода был минимальным. Я понимаю, что с помощью веб-сервисов мне пришлось бы написать дополнительный WS-клиент поверх существующего Java-кода.

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

  • 1
    Эти вещи не одинаковы. Из того, что я понимаю, вы хотите создать HTML / JS-интерфейс для Java-бэкэнда и хотите знать, как их соединить? REST - это, безусловно, ответ здесь, в сочетании с JSON. (если, конечно, вы не хотите сосредоточиться на стороне сервера, в этом случае вы можете посмотреть на JSF, Vaadin, ...)
  • 0
    Да, это именно то, что я хочу. Я не уверен, должен ли я идти по пути ОТДЫХА или использовать DWR. Довольно новое в мире клиентской разработки
Теги:
rest
client-server
enterprise
dwr

2 ответа

3
Лучший ответ

Хорошо, поэтому вы создаете интерфейс веб-клиента для своего java-сервера, есть несколько способов сделать это:

  • Вы хотите как можно больше использовать java-стандарты, желательно, чтобы жить в мире Java-EE: JSF. Вам понадобятся знания HTML, XML и, возможно, даже javascript (хотя и ограниченные). Лично у меня был довольно плохой опыт работы с JSF + richfaces в той мере, в какой я больше не использую его.

  • Вы очень хорошо знакомы с разработкой приложений для java-десктопов, но не очень разбираетесь в javascript: vaadin: он позволяет вам писать простой Java с использованием терминологии настольных приложений, которая будет скомпилирована в javascript. В настоящее время я работаю над большим проектом vaadin, и очень приятно работать с чистой java в eclipse, но недостатком является то, что вы далеки от фактического интерфейса, поэтому настройка может быть сложной. Кроме того, все хранится в сеансах (afaik) и плохо масштабируется.

  • В первую очередь вы являетесь сторонником с непревзойденными навыками javascript: используйте интерфейс REST в Java и чистый интерфейс js/html/css. Лично я считаю, что это самый чистый дизайн, и я разработал несколько своих приложений, подобных этому. Недостатком является то, что управление большими проектами javascript имеет тенденцию быть трудным, потому что... ну... javascript отстой. Положительным моментом является то, что это всегда будет самый быстрый доступный для вас самый легкий вариант.

Идеологически я бы определенно предложил последний подход, но это может быть трудно для крупных проектов. Если у вас есть оборудование, чтобы бросить на него, vaadin - хороший вариант. Мой опыт JSF 2 был немного разочаровывающим из-за ошибок в (необходимых) сторонних библиотеках, таких как richfaces.

PS: Я никогда не слышал о DWR, но последний стабильный релиз кажется 2 годам, и все, что ему кажется, это разоблачить java-код как javascript-метод, который можно лучше обработать с помощью интерфейса REST.

  • 0
    Разработка интерфейсной части является управляемой, и в настоящее время я нашел вариант № 3 очень подходящим для наших потребностей (масштабируемость, производительность, надежность, обслуживание кода, обычные потребности предприятия и т. Д.). Другой вариант - DWR ( directwebremoting.org/dwr/index.html ), который также выглядит довольно прилично с учетом вышеуказанных требований, но не нашел каких-либо конкретных причин для выбора. Хороший вопрос по DWR, проверим это
1

Открытые стандарты интерфейса, такие как REST и SOAP, упрощают сбор кода для использования этих сервисов, если вы используете фреймворки для создания клиента REST и кода клиента SOAP соответственно. Но дело в том, что вам нужно иметь этот клиентский код для совершения звонков на эти службы.

DWR, с другой стороны, генерирует этот код клиента. Ваши классы java готовы к вызову (как и в Java).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню