Ramki JAX-RS [zamknięte]

Pracowałem nad implementacją referencyjną JAX-RS (Jersey). Znam co najmniej dwa inne frameworki (Restlet & Apache CXF).

Moje pytanie brzmi: czy ktoś zrobił jakieś porównanie tych frameworków i jeśli tak, to który framework polecacie i dlaczego?

Author: bluelurker, 2008-09-17

7 answers

WADL, implicit views, obsługa XML / JSON / Atom) ma za sobą dużą i tętniącą życiem społeczność programistów i ma świetną wiosenną integrację .

Jeśli używasz JBoss/SEAM to RESTeasy integruje się trochę lepiej - ale jeśli używasz Springa do Dependency Injection to Jersey wydaje się najprostszą, najpopularniejszą, aktywną i funkcjonalną implementacją.

 30
Author: James Strachan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 10:46:15

Restlet zawiera obszerną listę rozszerzeń dla Spring, WADL, XML, JSON oraz wiele innych, w tym rozszerzenie dla JAX-RS API.

Jest to również jedyny framework dostępny w sześciu spójnych edycjach :

  • Java SE
  • Java EE
  • Google Web Toolkit
  • Google AppEngine
  • Android
  • OSGi environments

Jego główne zalety to:

  • w pełni symetryczne API klienta i serwera, gdy JAX-RS został zaprojektowany do przetwarzania po stronie serwera
  • Jeśli JAX-RS jest używany tylko przez HTTP, to jest on używany tylko przez HTTP.]} Wiele funkcji, w tym pełna kontrola routingu URI przez Restlet API (ale w razie potrzeby może zostać zintegrowana z Servletem)
  • Pełna rezerwa na wsparcie NIO

API JAX-RS może być dobrym wyborem, jeśli jesteś ograniczony do API zatwierdzonych przez JCP (wtedy nie używaj Springa ani żadnego rozszerzenia projektów JAX-RS, takich jak Jersey i RESTeasy!), ale poza tym Restlet jest najbardziej dojrzałym frameworkiem (pierwotnie wydanym w 2005 roku) i da ci, w wersji 2.0, wszystkie korzyści płynące z adnotacji w połączeniu z potężnym i rozszerzalnym frameworkiem zorientowanym na klasy.

Aby uzyskać dłuższą listę funkcji, sprawdź tę stronę .

Pozdrawiam, Jerome Louvel

Restlet ~ założyciel i główny programista ~ http://www.restlet.org

 26
Author: Jerome Louvel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-16 07:29:29

Mój zespół i ja używamy Restlet intensywnie, ale nie jego funkcje JAX-RS. Mogę powiedzieć, że byłem pod wielkim wrażeniem deweloperów i społeczności Restlet; są bardzo aktywni, zaangażowani, responsywni i zobowiązani do stabilnego, wydajnego, niezawodnego i skutecznego frameworka. Przykro mi, że nie mogę bezpośrednio zająć się Twoim głównym zainteresowaniem, ale pomyślałem, że moje doświadczenie z Restletem może być dla ciebie cenne.

 7
Author: Avi Flax,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 18:37:43

Mój kolega wspomina, dlaczego używamy RESTeasy dla naszego obecnego projektu w RESTful web services w Java EE z RESTeasy (JAX-RS):

Jego referencyjna implementacja, Jersey, nie została wybrana, ponieważ mieliśmy problemy z jej dobrą integracją z EJB3 i Seam 2.0.

Używamy RESTeasy implementacji JAX-RS, ponieważ nie mieliśmy problemów z integracją jej z naszymi EJB i Seam. Posiada również wystarczającą dokumentację.

Jest jeszcze implementacja z Apache, ale nie próbowałem, ponieważ używa starszej wersji JAX-RS.

W końcu pojawił się kolejny framework dla RESTful web services dla Javy o nazwie Restlet, ale nie spodobał nam się, ponieważ w momencie pisania tego tekstu używa on niestandardowej architektury, mimo że działa odpowiednia obsługa JAX-RS.

 6
Author: Peter Hilton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 08:05:32

Wydaje się, że istnieją 4 przyzwoite implementacje JAX-RS, więc prawdopodobnie jesteś w porządku z każdą z nich. Jeśli to coś warte, znalazłem Jersey (1.0.2) naprawdę ładne do tej pory. Moje potrzeby to dość skromna, prosta obsługa zaplecza, dbanie o hydraulikę i tak dalej. A Ta Koszulka jest całkiem niezła.

 6
Author: StaxMan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-28 00:50:40

Okazało się, że Apache Wink jest bardzo łatwy w obsłudze, obsługuje JAX - RS i ma wiele funkcji wykraczających poza standard.

 6
Author: Shimi Bandiel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-17 07:10:34

Nie użyłbym frameworka. Tylko ten, który jest dostarczany z Twoim serwerem aplikacji. Jeśli użyjesz specyfiki jednego framworka, stracisz przenośność i będziesz w piekle, co jeśli dostawca serwera aplikacji zawiera inną wersję Twojego ulubionego frameworka. Zostanę przy jax-ws.

 0
Author: Fabián Escalante,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-06 07:47:05