Ява-Джерси, JAX RS - PullRequest
       7

Ява-Джерси, JAX RS

9 голосов
/ 16 мая 2011

У меня есть некоторый опыт разработки программ на Java.Однако я всегда изо всех сил пытался понять некоторые основы, такие как все различные компоненты, составляющие приложение Java Enterprise.

Например, я реализовал веб-службы на основе RESTful и SOAP, которые потребляются из приложения J2ME и выполняютсятесты производительности и стоимости для моего MSC.

Для разработки Web-сервисов на основе RESTful / SOAP я использовал функциональные возможности мастера в Netbeans.Он использует JAX-RS для реализации веб-сервисов REST.Затем я вижу другие учебные пособия, в которых используется JAX-RS с Джерси и т. Д. Я часто теряюсь в жаргоне, таком как API, фреймворки приложений, файлы конфигурации, Java-версия и т. Д. И т. Д.1007 *

JAX-RS - это API.Является ли API в основном набором библиотек, используемых для реализации некоторой формы функциональности в Java?

В соответствии с их сайтом " Джерси - это эталонная реализация JAX-RS (JSR 311) с открытым исходным кодом для создания веб-служб RESTful. "Джерси - это еще один API или он используется вместе с JAX-RS, и в чем разница между ними?

Как узнать, реализовал ли я такие API и знаю, нужны ли они мне?

Когда я решил внедрить RESTful webя просто следовал учебному пособию по Netbeans, а мастера предоставляли простое и быстрое время разработки.Я понимаю, что волшебники используются потому, что они быстры и выполняют свою работу.Однако мне интересно, когда вам дают задание на код.Как узнать, какие API, фреймворки, надстройки и т. Д. Использовать.Какой выпуск Java совместим с библиотеками и т. Д. Это только я или вы заблудились время от времени?Или это из опыта.

Спасибо, что нашли время прочитать:)

Ответы [ 4 ]

6 голосов
/ 16 мая 2011
  1. JAX-RS - это больше, чем просто API. Это Запрос спецификации Java (JSR) . Они определяют API и поведение, которое должно поддерживаться разработчиком. Если вы пишете свой код для использования API, определенного JSR, вы можете выбрать, какую реализацию использовать во время выполнения.

  2. Джерси - это код, который обеспечивает поведение, продиктованное JAX-RS, определяемое JSR 311 . Называя его эталонной реализацией, это означает, что она поддерживается создателями JSR и, вероятно, входит в комплект программного обеспечения Oracle. Другие реализации JSR 311 также включают Restlet , CXF и RESTEasy .

  3. Обычно вы используете стороннюю библиотеку, которая реализует спецификацию, как я упоминал в пункте 2 выше. Единственная причина, по которой вы могли бы подумать о том, чтобы реализовать ее самостоятельно, - это если подходящая реализация не существовала.

Единственный способ узнать, какие API и спецификации могут вам помочь, - это на самом деле через процесс обнаружения. Предполагается, что JSR - это общий подход к определению решения для общей проблемы, при котором вы можете выбрать наиболее подходящую для вас реализацию.

3 голосов
/ 16 мая 2011
  1. API не предоставляет никакого кода реализации (то есть конкретных классов, которые выполняют фактическую обработку). API определяет только интерфейсы, аннотации, исключения. Могут быть конкретные классы с базовым поведением, но это все. Идея стандартных API-интерфейсов, таких как JAX-RS, состоит в том, чтобы дать разработчикам что-то для программирования, независимо от базовой платформы и реализации

  2. Джерси - это реализация - она ​​включает в себя множество конкретных классов, которые фактически обрабатывают бизнес, обещанный API. В случае JAX-RS - он обрабатывает запросы и ответы.

  3. Обычно вы не реализуете API. Вы используете один. Обычно стандартные API JavaEE используют javax. пакет, в то время как реализации используют другой пакет - com.sun, org.apache и т. д. Это хороший знак, если вы используете только интерфейсы javax., а не конкретные классы.

1 голос
/ 16 мая 2011

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

  1. JAX-RS - это всего лишь спецификация, а не реализация.Реализации: Jersey, RestEasy и т. Д.
  2. см. 1.
  3. , если вы не пишете свою собственную реализацию JAX-RS, вы не реализуете API.Вы используете их в своих проектах.
0 голосов
/ 16 мая 2011

Выбор правильной структуры для конкретной задачи является одним из наиболее сложных действий в экосистеме Java, просто из-за огромного количества вариантов, которые у вас есть.

Моя стратегия состоит в том, чтобы сначала проверить некоторые хорошо известные места для решений ( apache.org - одно из них), а затем реализовать небольшое подтверждение концепции, чтобы увидеть, достаточно ли легко справится эта платформа. Не используйте волшебников, они не помогают открывать новые рамки. Или используйте их и попытайтесь открыть их пределы ...

...