2012-10-25 13 views
7

Szukałem usług internetowych RESTful w Javie i większość podejść, które znalazłem wygląda raczej nadęty. Należą do nich podejścia z NetBeans, Spring 3 i EJB przy użyciu Singletons.Lekka RESTful Java Framework

Mogę się mylić, więc proszę, popraw mnie, ale te wszystkie "odczucia" to bardzo skomplikowane rozwiązania stosunkowo prostego problemu.

Czy ktoś może zaproponować bardzo proste i lekkie podejście do RESTful webservices w java?

Nie jestem przekonany, że MVC jest niezbędny do tego celu, zamiast tego szukam czystych pionowych plasterków.

Nie będę potrzebować trwałości, chyba że można go podłączyć do mongoDB - więc nie potrzebuję mapowania ORM.

Odpowiedz

7

Spójrz na Dropwizard, podsumowanie na stronie internetowej powiedziało, o czym trzeba powiedzieć.

Opracowany przez Yammer do zasilania JVM oparte usługi zaplecza, Dropwizard ciągnie razem stabilne, dojrzałe biblioteki z ekosystemu Java w prosty, lekkiego pakiet, który pozwala skoncentruj się na załatwianie spraw.

Dropwizard posiada wsparcie dla zaawansowanej konfiguracji , metryk aplikacji, pozyskanie drewna, narzędzi operacyjnych, i wiele więcej out-of-the-box, pozwalając Tobie i Twojemu zespołowi dostarczy + produkcyjnej jakości HTTP JSON internecie usługi w jak najkrótszym czasie.

Użyłem go ostatnio jako prostą aplikację, która okazała się naprawdę szybka i łatwa do uruchomienia i używana do momentu zakończenia aplikacji.

+0

Dzięki za to. To jest bardziej to, czego szukam. Podczas gdy dodatki mogą być uważane za rozdęte, nie jest to spowodowane czystością usługi. Jego wskaźniki i tym podobne. To wygląda na najlepszą opcję dla mnie i tego, co chcę zrobić. –

+0

Link do Dropwizard nie działa, czy możesz go wymienić? – watery

3

Możesz sprawdzić http://www.restlet.org/. Inną opcją byłoby napisanie prostego serwletu do obsługi żądań, szczególnie jeśli jest to mały projekt.

1

Proponuję użyć pakietu Apache Httpcomponents. Dzięki temu możesz mieć Restful Web Service całkiem łatwo.

Istnieje przykład serwera HTTP non-blocking, asynchronous lub old style, blocking one.

Kolejną zaletą jest to, że nie wymaga to żadnych serwerów aplikacji, więc można po prostu uruchomić aplikację i gotowe. Jeśli nie potrzebujesz mocy kontenera serwletu lub Java EE, wydaje się, że to dobry sposób.

8

Użyłem CXF i Jersey dla JAX-RS do tworzenia RESTful usług internetowych. Utworzenie/wdrożenie usługi RESTful było dość łatwe przy użyciu jednego z nich. Uważam, że dokumentacja była odpowiednia do uruchomienia.

+0

Z moich badań idę z dropWizard pomimo dobrej odpowiedzi tutaj. CXF i Jersey są z pewnością dobrymi wyborami, jadę z dropWizard (co i tak wykorzystuje Jersey). Dzięki za wejście. Albo CXF, albo Jersey również by spełniły moje potrzeby. –

1

Dla usług opartych na danych RESTful prawdopodobnie masz rację co do swojego założenia w MVC ... chcesz, aby JSON wrócił z adresów URL.

Dla prawdziwych usług RESTful (opartych na Hypermedia) w/niestandardowych formatach mediowych ... Odtwarzanie multimediów jest naprawdę przyjemne, ponieważ widoki stają się szablonami formatów mediów.Jest to szczególnie ważne, jeśli używasz HTML/XML jako podstawowego formatu multimediów.

+0

Dzięki, jestem bardzo znany na cały temat. –

9

Wystarczy rzucić inną opcję do mieszanki, sprawdź Spark:

Sinatra inspirowane Micro Web Framework

Dla Java.

Nie użyłem go osobiście, ale wygląda obiecująco i na pewno go sprawdzę.

I, nie, nie jestem w żaden sposób związany ze Spark.