Chciałbym stworzyć aplikację RESTful w Google App Engine. Chciałbym świadczyć usługi XML i JSON. Krótko eksperymentowałem z Restlet, Resteasy i Jersey. Nie odniosłem większego sukcesu z żadnym z nich, poza kilkoma prostymi przykładami w Restlet.
Czy mógłbyś podzielić się swoimi doświadczeniami z tworzenia aplikacji internetowej Restful w Google App Engine przy użyciu języka Java lub przedstawić wgląd w wyżej wymienione zestawy narzędzi w GAE?
Dzięki!
Edycja (2009-07-25):
Na razie zdecydowałem się na Restlet. Jak dotąd wydaje się działać bez zarzutu. Opublikuj wszelkie inne spostrzeżenia / opinie, które możesz mieć. Jakie problemy napotkałeś? Czy z powodzeniem używałeś Jersey / Restlet / Resteasy na GAE / J? Jeśli tak, to chcielibyśmy o tym usłyszeć!
Odpowiedzi:
Z przyjemnością informuję, że Restlet M3 działa NIEPRAWIDŁOWO na AppEngine 1.2.2. Postępowałem zgodnie z samouczkami „Pierwsze kroki” i „Pierwsze zasoby”, które znalazłem http://restlet.com/technical-resources/restlet-framework/guide .
Wydaje mi się więc, że Restlet jest odpowiedzią na Twoje aplikacje GAE / J Restful.
źródło
Używam Jersey w GAE. Oto link dla tych, którzy są zainteresowani konfiguracją: (używam GAE SDK v1.4.0):
http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html
źródło
Zamierzam również rozpocząć odkrywanie tego, ale jeszcze nie zacząłem. Znalazłem ten framework, który mówi, że powinien działać, ale jak powiedziałem, jeszcze go nie wypróbowałem.
http://wiki.restlet.org/docs_1.2/13-restlet/275-restlet/252-restlet.html
Jeśli sprawisz, że zadziała lub uda Ci się uruchomić jedną z powyższych sugestii, zaktualizuj wszystkich, ponieważ jestem pewien, że jest to zainteresowanie.
źródło
Używam Restlet razem z Guice w Google AppEngine. IMHO bardzo dobrze do siebie pasują. Więcej informacji można znaleźć w moim ostatnim poście na blogu: http://haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html
źródło
Ponieważ te odważne starsze rozwiązania zostały połączone razem, Google najwyraźniej dostarczył wtyczkę Eclipse do stworzenia projektu początkowego, który tworzy aplikację App Engine, pakiet APK na Androida i aplikację internetową, wszystkie rozmawiają ze sobą przez interfejs zdefiniowany przez jeden zestaw deklaracji obiektów z adnotacjami.
Sam jeszcze tego nie próbowałem, ale spójrz przed wypróbowaniem któregokolwiek z bardziej heterogenicznych przykładów opisanych we wcześniejszych wiadomościach powyżej:
https://developers.google.com/eclipse/docs/appengine_connected_android
Ten film Google jest również dość pouczający:
http://www.youtube.com/watch?v=NU_wNR_UUn4
źródło
Co jest warte, było sporo dyskusji na temat list użytkowników Jersey, dotyczących tego, jak sprawić, by Jersey działał w GAE. Jest to trochę żmudna praca z powodu ograniczeń GAE (brak klas z białych list - miejmy nadzieję, że z czasem zostanie rozwiązana), ale najwyraźniej można ją zmusić do pracy. Więc chociaż nie jest to banalnie łatwe, może to być najlepszy wybór; zwł. ponieważ wiele napotykanych problemów jest takich samych dla wszystkich frameworków (narzuconych przez GAE).
źródło
Cóż, gorąco radzę przyjrzeć się ramom zabaw
Obejrzyj wideo na stronie głównej
Posiada moduł gae
Ze Sieny jako ORM obsłużyć gae datastore
Ze wszystkich frameworków Java, które widziałem do tej pory, wydaje mi się, że ma łatwiejszą krzywą uczenia się,
świetna dokumentacja ,
poradnik do opracowania kompletnego wniosku
bardzo aktywna i pomocna społeczność,
wolny jak w piwie, a także jak w mowie
wysoce skalowalny ze względu na bezstanowy projekt po wyjęciu z pudełka
odpoczynek przyjazny
wysoce konfigurowalny dzięki modułom i podejściu do wtyczek
co więcej, biorąc pod uwagę, że jest to kurs na studia, bardzo łatwo jest włamać się do kodu, poradziłbym sobie z kilkoma biletami i nowymi funkcjami bez żadnego doświadczenia z java, zaledwie kilka lat tworzyłem aplikacje internetowe z php
inne korzyści
jest naprawdę łatwy do uruchomienia, bez skomplikowanej konfiguracji, po prostu pobierz i rozpakuj plik i gotowe
świetne wrażenia programistyczne, po prostu napraw kod i naciśnij przycisk odświeżania, odtwarzaj zmiany autokompilacji w locie podczas pracy w trybie programistycznym
szybki i lekki
fullstack, nie musisz integrować uciążliwych frameworków, aby to działało
świetny raport o błędach, koniec z niekończącym się śledzeniem stosu błędów, po prostu pokazuje wiersz z błędem
nigdzie nie ma konfiguracji XML
świetne wsparcie dla tdd ze zintegrowanym testem selenu
Myślę, że główną zaletą narzędzia do nauki jest to, że można zajrzeć do kodu źródłowego bez poczucia zagubienia i wsparcia społeczności ... Dokumentacja jest bardzo przejrzysta i można się wiele nauczyć, po prostu patrząc na źródło kod...
źródło
Niedawno stworzyłem szablon projektu z Jersey, Guice i AppEngine w GitHub. Został opracowany za pomocą SimpleDS, ale można go łatwo zmodyfikować, aby działał z Objectify / JDO. Projekt jest tutaj na żywo .
Powinien być dobrym punktem wyjścia do nowych projektów.
źródło
Oto bardzo dobry tutorial Restlet / Android / GAE / Objectify z przykładem prostej aplikacji. Przepraszamy, jest w języku francuskim, ale możesz po prostu skopiować / wkleić kod lub skorzystać z Google Traduction.
Śledziłem to i miałem działający serwer Android / GAE komunikujący się ze sobą w ciągu 2 godzin. To dobra baza do uruchomienia lub przetestowania Restlet.
http://www.tutos-android.com/webservice-rest-android-appengine-restlet-objectify
Powodzenia
źródło
Dwie najbardziej kłopotliwe akcje GAE REST API, które działają, czy to Java, czy .py, to grafika i sposób ukrywania prywatnych informacji. My little gae rest feed rozwidlił kolejny projekt. Jestem pewien, że Java odnosi sukces tam, gdzie Python utknął, ponieważ Java zajmuje i daje więcej sposobów (korzyści), a także dłuższy (wolniejszy) czas na odniesienie sukcesu (wada), podczas gdy projekty w Pythonie otwierają mniej możliwości odniesienia sukcesu (niekorzystne) i krótszy czas programowania ( korzystny szybki rozwój), aby odnieść sukces.
źródło