Предложения на УСПОКОИТЕЛЬНОЙ платформе веб-сервисов Java …

Я погуглил некоторую информацию о веб-сервисах, она походит на приложение уровня предприятия. Я нашел, что УСПОКОИТЕЛЬНЫЙ дизайн является очень классной идеей об этом. Я нахожу, что Apache, CXF выглядит прохладным, он поддерживает УСПОКОИТЕЛЬНЫЙ дизайн и Java. Это - хороший выбор для новичка начать писать приложение с помощью Apache CXF? или какая-либо другая платформа предлагается?

5
задан DNB5brims 13 February 2010 в 15:50
поделиться

5 ответов

Я рекомендую использовать JAX-RS, потому что IMHO это наиболее нейтральный фреймворк с точки зрения указания того, как должен быть сделан REST. Я не использовал CXF, только Jersey. Это очень надежная реализация и поставляется с хорошим коннектором для клиентской стороны (клиентская сторона пока не является частью JAX-RS).

Быть нейтральным в отношении того, "как делать REST", важно, потому что пока не существует признанного "лучшего" способа подхода к некоторым аспектам (например, проектирование гипермедиа).

Поздравляю с тем, что вы выбрали путь REST - вы не пожалеете об этом.

Jan

4
ответ дан 18 December 2019 в 09:49
поделиться

Я бы выбрал Джерси , RI JAX-RS (JSR 311), Java API для веб-служб RESTful (т. Е. Стандарт).

8
ответ дан 18 December 2019 в 09:49
поделиться

Я запускаю REST с помощью RESTEasy и получаю его через 30 минут. Вы можете использовать его как отдельную библиотеку в своем любимом контейнере сервлетов без всего этого JBoss.

1
ответ дан 18 December 2019 в 09:49
поделиться

Если вы иногда хотите самостоятельно управлять временем жизни экземпляров Apple, а иногда позволите контейнеру обращаться с ним, то вы можете определить два интерфейса:

public IApple
{
   void Consume();
}

public IDisposableApple : IApple, IDisposable
{
}

А затем зарегистрировать класс дважды:

builder.RegisterType<Apple>().As<IApple>();
builder.RegisterType<Apple>().As<IDisosableApple>().ExternallyOwned(); 

Затем вы можете ввести DisposureStartFactory в классы, которые должны создавать и утилизировать яблоки.

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

Однако тот факт, что вы нуждаетесь в обоих, может указывать на то, что вы смешиваете новые и инъекционные устройства . Apple может быть просто «новым» объектом, т.е. объектом, который не должен управляться контейнером IoC.

-121--3101577-

Я бы согласился с перемещением определения перечисления в отдельное место. В настоящее время перечисления видны только через карту, так что, если вы хотите проверить на туз, вам придется сделать

if (card.CardSuit == Card.Suit.Ace) { }  //need different name for Suit field

Где если вы перенесете его в отдельное определение, вы можете сделать это, если вы сделали его глобальным:

if (card.Suit == Suit.Ace) { } //no naming clashes, easier to read
-121--1393987-

Гораздо проще реализация для новичка будет весна 3.0 REST поддержки. Spring MVC 3.0 имеет поддержку REST и намного проще по сравнению с Apache CXF.

2
ответ дан 18 December 2019 в 09:49
поделиться

Restlet в другом RESTful web framework для Java : http://www.restlet.org/

1
ответ дан 18 December 2019 в 09:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: