Какой правильный выбор для меня для создания веб-сервиса с использованием Axis2 - AXIOM, JAXB, ADB или XMLBeans

Axis2 поддерживает создание веб-служб с использованием AXIOM, JAXB, ADB и XMLBeans. Я новичок в этой области разработки веб-сервисов и хочу создать веб-сервис с использованием Axis2. Веб-сервис будет очень простым, но я ожидаю, что он будет меняться довольно часто. Мне показалось, что AXIOM хорош, поскольку он позволяет вам указать ваши требования к сервису в файле service.xml, а затем создает его для вас. Поэтому я подумал, что это облегчит мою жизнь, так как в будущем для любых изменений в моем веб-сервисе мне нужно всего лишь изменить файл service.xml и некоторый код в виде классов.java для веб-сервисов. Но и у других методов есть свои преимущества. Учитывая мои требования, можете ли вы сказать мне, какой метод я должен использовать при создании веб-службы? Примечание. Я хотел бы расширить поддержку веб-службы REST и SOAP.

1 ответ

Решение

Я начну с признания своей предвзятости в том, что я руководлю реализацией MOXy JAXB, что подводит меня к моей первой мысли.

1. Есть несколько реализаций JAXB

Поскольку JAXB является стандартом ( JSR-222), существует несколько реализаций: Metro (эталонная реализация), EclipseLink MOXy, Apache JaxMe и т. Д. Если вы столкнулись с ошибкой show stopper в одной реализации, вы можете попробовать другую.

2. JAXB - это уровень связывания по умолчанию для JAX-RS (веб-службы RESTful) и JAX-WS (веб-службы SOAP).

JAXB был разработан совместно с JAX-WS, а JAX-RS был написан для использования JAXB. JAXB поддерживается на всех серверах приложений Java EE 5 и Java EE 6.

3. JAXB поддерживает функции Java 5, такие как дженерики и перечисления

Это может иметь большое значение для вас, но JAXB поддерживает дженерики и перечисления, в то время как XML Beans - нет.

4. Индивидуальные реализации имеют очень полезные расширения

Например, MOXy имеет расширения для отображения на основе XPath, файл метаданных XML и расширения для отображения сущностей JPA:

Другие вопросы по тегам