2010-04-24 15 views
66

Jakie są zalety/wady między tymi dwiema bibliotekami? Które z tych dwóch produktów najlepiej pasuje do środowiska produkcyjnego? Tak przy okazji, będę używał JSON zamiast XML.Implementacja Java REST: Jersey kontra CXF

Chciałbym również wiedzieć, która biblioteka jest najlepiej obsługiwana przez społeczność, np. samouczki, dokumentacja.

+0

Zobacz http://meta.stackexchange.com/questions/71068/a-few-possible-duplicate-questions- about-java-rest-what-should-we-do – ripper234

+0

Podobne pytanie tutaj http: // stackoverflow .pl/questions/80799/jax-rs-frameworks – Kirby

Odpowiedz

4

Użyłem tylko Jersey (z wielką satysfakcją), więc nie mogę podać prawdziwego porównania. Rzeczy, może warto rozważyć:

  • CXF jest pakowany z SOAP stosu wsparcia więc przynieść wiele wagi związane SOAP-nigdy nie będziesz używać kiedy zbudować system spokojny. (Istnieją plany, aby podzielić opakowanie o ile mi wiadomo, choć)
  • Jersey pochodzi z wieloma niestandardowych dodatków do JAX-RS, które są bardzo pomocne. Istnieje również struktura rdzeni klienta po stronie klienta o nazwie zaprojektowana całkiem nieźle.
  • [Warning: Wtyczka Shameless do przodu (przepraszam)]: Byłem pracuje na rozszerzonym Jersey klienta bocznej ramy, które zachęca do właściwego wykorzystania odpoczynku po stronie klienta i jest (IMHO przynajmniej) bardzo naturalny w użyciu . Planowane jest ogłoszenie tego (lub następnego) tygodnia - jeśli interesuje Cię strona klienta , spróbuj. Osobiście uważam, że ogromny argument za Pro-Jersey .

HTH,

Jan

+0

Odnośnie twojej bezwstydnej wtyczki, gdzie mogę znaleźć dokumentację/informacje/etc. na to, że mógłbym dać mu wir? –

+0

Nick, właśnie wpisuję wstępny post na blogu. Paul Sandoz zamierza dziś rano dokonać ostatecznych zmian w repozytorium. Gdy to się stanie, opublikujemy. Blog znajdziesz na http://nordsc.com/blog/ (mam nadzieję, że dziś po południu). –

+0

Nick, proszę bardzo :-) | Struktura po stronie klienta Jersey: http://www.nordsc.com/blog/?p=439 –

44

Użyłem obu, ale do różnych celów. CXF działało świetnie, aby parsować WSDL i tworzyć Java POJO do interakcji, więc CXF jest całkiem dobry dla usług WSDL po stronie klienta. Obecnie używam oprogramowania Jersey do implementacji po stronie serwera i jestem pod wrażeniem prostoty w uruchamianiu i korzystaniu z usług RESTful przy użyciu usługi Jersey.

Jako że Jersey zajmuje się głównie usługami RESTful i transakcjami CXF głównie (wszystko?) Z SOAP, myślę, że sprowadza się to do tego, czy chcesz pracować z SOAP lub REST, i określić najlepsze ramy dla tego miejsca pracy. Osobiście jestem bardziej w obozie REST niż SOAP, ale moje potrzeby są różne. Czy powinienem znaleźć się w sytuacji, gdy sprzedawca/klient/firma, którą piszę usługę, potrzebuje jakiegoś kontraktu, może nadal nalegać na REST (i równoważnik REST dla usług opartych na umowie, WADL), ale prawdopodobnie byłby potrzebny do wdrożenia usługa SOAP, w którym to przypadku najpierw sprawdziłbym CXF i wszystko inne.

Osobiście, Jersey jest całkiem niezły ze względu na framework JAX-RS, choć nie wyklucza tego, że JBoss ma RESTEasy. Lubię oba, ale dokumentacja dla RESTEasy jest lepsza.

Dla CXF dokumentacja jest w porządku, ale natrafiłem na niespójności w sposobie obsługi proxy SSL i HTTP, ale w końcu udało się. CXF dostarcza więcej szczegółów na temat tych dodatkowych funkcji i powiedziałbym, że RESTEasy zapewniałby równoważną funkcjonalność dla frameworków RESTful.

+11

CXF również REST. Zobacz tutaj: http://cxf.apache.org/docs/jax-rs.html – HDave

+1

Apache CXF oferuje [trzy metodologie] (http://cxf.apache.org/docs/restful-services.html) za korzystanie z usług REST : Powiązanie JAX-RS, JAX-WS i HTTP. – hotshot309

3

Czy wziął pod uwagę RESTlet? Jest to potężny pakiet do szybkiego budowania RESTful usług internetowych.Osoby odpowiedzialne za RESTlet również piszą książkę RESTlet In Action, która jest obecnie w fazie wczesnego dostępu. Rozdziały, które są już dostępne, bardzo dobrze wyjaśniają REST i szczegółowo opisują, jak projektować interfejs API REST.

1

Użyłem Apache CXF dla JAX-WS i Jersey dla JAX-RS, więc nie mogę komentować CXF i REST. Łatwo było ustawić przykład REST za pomocą Jersey. Dokumentacja była odpowiednia. Nie korzystałem z RESTEasy, ale wydaje mi się, że Jersey ma większą przyczepność i najnowsze aktualizacje.

Dobra książka do wytycznych dotyczących implementacji to RESTful Web Services Cookbook.

2

Jeśli chodzi o szczegóły konwersji rozwiązanie opracowane z Jersey uruchomić na CXF, Glen Mazza posted a collection of Jersey samples ported to Apache CXF on GitHub. Pliki README zawierają notatki dla każdej próbki dotyczące koniecznych zmian.

+0

link jest uszkodzony można go zaktualizować, jeśli to możliwe –

+0

@AnkurLoriya próbowałem. Glen przeniósł swojego bloga na https://web-gmazza.rhcloud.com/, ale nie mogłem znaleźć tam tego artykułu. Naprawię odpowiedź. –

Powiązane problemy