2012-12-22 4 views
11

Wybieram ramy dla spokojnej obsługi. Restlet wygląda obiecująco. Chciałbym jednak wybrać coś, co jest na tyle popularne, że wkrótce nie wyjdzie poza wsparcie/rozwój. Wiem, że odrestaurowanie istnieje już od kilku lat. Chciałbym jednak wiedzieć, czy jest wystarczająco popularny. Moje pytania to:Jak popularna jest restauracja?

  1. Jakieś wielkie nazwy firm, które go używają?
  2. Czy domyślny serwer http jest wystarczająco dobry do produkcji?

dzięki

+1

Czy mówisz o konstrukcji językowej lub ogólnej koncepcji używania usługi REST? W pierwszym przypadku brakuje znacznika języka. –

+0

Czy kiedykolwiek zastanawiasz się, czy używać SOAP? –

Odpowiedz

0

Z article

Interfejs API został wydany w 1998 roku, a jego rdzeń projekt nie zmieniła się znacząco od tego czasu. Jest to jeden z najbardziej udanych interfejsów API Java EE w wersji , ale ma kilka wad konstrukcyjnych i ograniczenia . Na przykład odwzorowanie między wzorami URI i procedurami obsługi jest ograniczone i scentralizowane w jednym pliku konfiguracyjnym. Ponadto, daje kontrolę strumieni gniazd bezpośrednio programistom aplikacji, zapobiegając niektórym optymalizacji IO przez kontenery serwletów , podobnie jak pełne wykorzystanie funkcji NIO. W końcu nie obsługuje funkcji HTTP , takich jak buforowanie, negocjowanie treści i kompresja zawartości bardzo dobrze, powodując zbyt wiele bólu dla programistów i zapobiegając ich skupieniu się na ich specyficznym dla aplikacji kodzie.

Innym poważnym problemem był brak nowoczesnego interfejsu API klienta HTTP w pakiecie Java EE . Klasa HttpURLConnection JDK jest trudna w użyciu, a pozostawia za dużo funkcji HTTP nieobsługiwanych, takich jak wyrażanie preferencji klienta w zakresie negocjowania treści.

Często ludzie polegali na interfejsach API klienta HTTP innych firm do obejścia tych ograniczeń. Ponownie, NIO nie może być wspierane przez HttpURLConnection.

W 2005 roku zobaczyłem możliwość wyjścia poza te wszystkie ograniczenia, i zaprojektować nowy interfejs API w świetle zasad REST. W przypadku po raz pierwszy mamy interfejs API, który ujednolica aplikacje internetowe po stronie klienta i po stronie serwera. Interfejs API w pełni obsługuje NIO i interfejs API, który pozwala programistycznie sterować kontenerami, łącznikami i wdrożonymi aplikacjami bez konieczności stale polegać na deskryptorach XML .

4

Najważniejszym nurtem, jaki można uzyskać, jest Jersey. Jest to oficjalna implementacja odpoczynku w języku Java. Restlet pojawił się przed Jersey. Ale potem Jersey przewyższył ich (moim skromnym zdaniem). Użyłem zarówno Jersey, jak i Restleta przy poważnych projektach. Oboje są dobrzy. Jednak na Jersey znajdziesz więcej wsparcia, więcej książek i więcej przykładów.

+6

To prawda, że ​​nie mamy siły marketingowej Oracle, ale technicznie rzecz biorąc, była to szansa dla Restlet Framework, pozwalająca nam na swobodniejsze wprowadzanie innowacji (np. Wspieranie technologii Google, takich jak Android, GWT i GAE, które to Jersey relunctanty robi). Mamy teraz naszą własną obszerną książkę "Restlet in Action", a kilka innych obejmuje Restlet, w tym biblię O'Reilly: "RESTful Web Services". Poza tym chciałbym wiedzieć, że nasz Jersey jest technicznie lepszy :) –

2

Czy chodzi o Javę? W takim przypadku JAX-RS jest wspaniałym nowym API do tego. Najlepszą książką do tego jest Restful Java with JAX-RS. Moją ulubioną implementacją jest Jersey, ale są też inne z ich własnymi unikalnymi cechami. Wszystkie implementacje JAX-RS są zgodne, jeśli nie używasz ich charakterystycznych cech (które i tak są niewielkie). Książka wyjaśnia podstawowe API, filozofię REST, a także niektóre funkcje unikalne dla różnych implementacji.To doskonała książka. Uwielbiam wprowadzenie, w którym autor opowiada o tym, jak przywykł do tradycyjnego zdalnego wywoływania procedur (jak SOAP, WCF i zwykła semantyka OO), ale potem zobaczył światło zasad REST jako prostsze i bardziej eleganckie.

używam Tomcat jako serwera HTTP (kontener serwletów). Jest lekki i jest tym, co używa Amazon Beanstalk (możesz po prostu wgrać swoją aplikację, plik WAR, i działa). Możesz także użyć GlassFish, który obsługuje wiele innych funkcji JavaEE, lub użyć Apache'a do statycznych stron i innych rzeczy, i przesłać żądania REST do Tomcat/GlassFish.

Irytujące rzeczą JAX-RS jest to, że tak potężny i łatwy, że masz ochotę napisać usługi REST ideowo-dźwiękowych. Niestety javascript nie może korzystać z wielu funkcji REST (ustawienie Accept header, wywoływanie czegokolwiek oprócz GET/POST itp.) Ale to nie jest wielka sprawa.

Jersey ma również fantastyczny po stronie klienta Java API, które odzwierciedla JAX-RS i sposoby ponownego wykorzystania tych samych klas adnotacją, jeśli klienci będą Java.

27

Restlet ramowa jest dostępna od 2005 roku, kiedy to był pierwszy relaksującego Web Framework for Java. Obsługuje interfejs API JAX-RS, ale jego własny interfejs Restlet API jest od samego początku zarówno klientem, jak i serwerem, znacznie bardziej wszechstronny i rozszerzalny. Możemy wprowadzać innowacje w oparciu o informacje zwrotne od społeczności, bez konieczności przechodzenia przez długie procesy standaryzacji JCP.

Także my właśnie opublikował „Restlet w działaniu” książki we wrześniu ubiegłego roku wraz z wersją 2.1. Nasz wewnętrzny łącznik jest w pełni asynchroniczny i oparty na NIO i stale go stabilizujemy, mimo że nie jest jeszcze gotowy na ciężkie produkcje (użyj złącza Jetty lub kontenera Java EE bez żadnych zmian w aplikacji Restlet).

Jego konsekwentne wsparcie dla Java SE/EE, OSGi, Android, GAE i GWT z dedykowanych wydaniach jest wyjątkowy. Trwa również port do JS (Node.js + AJAX). Rozpoczęliśmy także prace nad wersją 2.2 z wydaniem pierwszego milestone (z pełną obsługą Java 6, przedłużeniem OAuth 2.0 w oparciu o specyfikację końcową itp.).

Pod względem referencji mamy wiele dużych firm, które go używają, w tym LinkedIn (zobacz ich projekt Open Source GLU), IBM, NVidia, ForgeRock, NASA, Sonatype, Apache Camel, Mule ESB, itp. Google go używa również wewnętrznie. Zobacz kilka cytatów tutaj: http://restlet.com/discover/quotes

W styczniu będziemy uruchomić nową stronę internetową społeczność, a także APISpark, all-in-one platformą do tworzenia, gospodarz, zarządzać i korzystać z API internetowych bezpośrednio w oparciu o Restlet Framework (PaaS), więc projekt jest aktywny i ma ekscytującą przyszłość!

poważaniem,

Jerome Louvel

PS: Jestem twórcą Restlet Framework i głównym programistą.

+2

To trochę stary post, ale muszę powiedzieć, że właśnie odkryłem Restleta i jestem zdumiony, jak czyste, przemyślane i elastyczne.Zdecydowanie zasługuje na większą popularność. – Red

+0

Bardzo dziękuję za informację zwrotną! –

Powiązane problemy