Какой компонент на основе Java-Framework также может делать веб-сервисы? - PullRequest
2 голосов
/ 01 марта 2012

Для нового проекта я хочу использовать основанную на компонентах структуру (думая о Wicket или Tapestry).Это интранет-приложение, но я также должен предоставить Restful Webservices.

После поисков я не нашел ни одного хорошего решения, которое описывает, как интегрировать Wicket с любой Jax-RS-совместимой библиотекой.

Кто-нибудь делал это раньше?

Я уже видел, что Wicket CAN может предоставлять URL, похожие на остальные, но я бы хотел переключаться между полноценным Wicket-Gui и веб-сервисом с помощью accept-header.

Все, что я нашел, предполагает создание другого vhost / url-маршрута.

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

Ответы [ 2 ]

2 голосов
/ 01 марта 2012

Я бы рекомендовал использовать Spring "контракт сначала" веб-сервисы или REST:

http://static.springsource.org/spring-ws/site/ http://www.ibm.com/developerworks/webservices/library/wa-spring3webserv/index.html

Особенно, если вы заинтересованы в фреймворках.Spring на намного больше, чем веб-фреймворк MVC.Он дает вам:

  1. Внедрение зависимостей
  2. Аспектно-ориентированное программирование
  3. Надежные модули для веб-MVC, постоянства, удаленного взаимодействия, обмена сообщениями, безопасности, веб-служб и т. Д.

Я не уверен, почему вы считаете, что компонентный подход лучше, но мне кажется, что он остался в пыли благодаря HTML, CSS, JavaScript и jQuery.Я бы пересмотрел требование.

Реализация веб-службы не должна знать или вообще заботиться о том, какая технология используется для реализации клиента.В этом прелесть веб-сервисов: если все сделано правильно, они могут выжить дольше.Пользовательские интерфейсы могут приходить и уходить, но бизнес-логика и основы сервисов могут остаться.Они могут работать с пользовательскими интерфейсами, работающими на настольных компьютерах, в браузерах, на мобильных устройствах и, возможно, даже с надёжным дисплеем Google.Посмотрим.

1 голос
/ 01 марта 2012

Ни Play, ни Spring MVC не основаны на компонентах. В Wicket 1.5 вы можете свернуть свой собственный IRequestMapper, который проверяет заголовки и решает, использовать ли обработку по умолчанию (на основе компонентов) или использовать ваш собственный IRequestHandler, который будет доставлять JSON, XML, ... См. TextRequestHandler для вдохновения. Ваш пользовательский IRequestMapper должен быть установлен как «root», чтобы иметь возможность сначала получать входящие запросы, см., Например, использование HttpsMapper и CryptoMapper. Не стесняйтесь спрашивать более подробную информацию в списке рассылки users @.

...