2009-06-18 15 views
81

Chciałbym stworzyć aplikację RESTful na Google App Engine. Chciałbym świadczyć usługi XML i JSON. Krótko eksperymentowałem z Restlet, Resteasy i Jersey. Nie osiągnąłem żadnego sukcesu z żadnym z nich, poza kilkoma prostymi przykładami w Restlet.Aplikacja RESTful na Google App Engine Java?

Czy możesz podzielić się swoimi doświadczeniami, tworząc aplikację WWW Restful na Google App Engine przy użyciu języka Java lub zapewnić wgląd w wyżej wymienione zestawy narzędzi w GAE?

Dzięki!

Edit (2009-07-25):

zdecydowałem się użyć Restlet na razie. Wydaje się, że do tej pory działa bezbłędnie. Opublikuj wszelkie inne opinie/opinie, które możesz mieć. Jakie problemy napotkaliście? Czy z powodzeniem stosowałeś Jersey/Restlet/Resteasy na GAE/J? Jeśli tak, chcemy o tym usłyszeć!

+0

http://technicalrex.com/2014/08/11/creating-a-jersey-app-on-google-app-engine/ i http://www.javacodegeeks.com/2012/05/google-app-engine-j ax-rs-rest-service.html to najlepszy widok na temat integracji Jersey GAE. –

+0

Jest to kwestia wyboru szkieletu, do którego jesteśmy przyzwyczajeni w rozwoju, używam Spring MVC z Objectify oraz Hibernate i działa również bezbłędnie w Google App Engine. –

+0

@AnkurJain tak, wiele zmian w ciągu 7 lat. –

Odpowiedz

42

Z przyjemnością informuję, że Restlet M3 działa BEZPRZEWODOWO na AppEngine 1.2.2. Skorzystałem z samouczków "Pierwsze kroki" i "Pierwszy zasób", które zostały znalezione: http://restlet.com/technical-resources/restlet-framework/guide.

Wydaje mi się więc, że Restlet jest odpowiedzią na Twoje spokojne aplikacje GAE/J.

+4

Powyższy link jest teraz uszkodzony. Odpowiedni link GAE dla Restlet 2.2 to http://restlet.org/learn/guide/2.2/editions/gae –

-1

2 najbardziej uciążliwe działania interfejsu API REST GAE w celu wykonania pracy, czy to Java czy .py, to grafika i sposób wyświetlania informacji prywatnych. My little gae reszta paszy rozwidlony projekt another. Jestem pewien, że Java powiedzie się tam, gdzie python utknął z powodu Java i daje więcej sposobów (zalet), jak również dłuższy (wolniejszy) czas na sukces (wada), podczas gdy projekty Pythona otwiera mniej sposobów na sukces (niekorzystny) i mniej czasu rozwoju (korzystny szybki rozwój), aby odnieść sukces.

2

Cóż, było sporo dyskusji na temat tego, jak sprawić, by Jersey pracował nad GAE. Jest to nieco żmudna praca ze względu na ograniczenia GAE (brak klas z białych list - miejmy nadzieję, że rozwiązany w czasie), ale najwyraźniej można go uruchomić. Tak więc, choć nie jest to banalnie proste, to może być Twój najlepszy zakład; esp. ponieważ wiele napotkanych problemów jest takich samych dla wszystkich struktur (narzuconych przez GAE).

+0

Chciałbym zapytać, czy masz jakieś rozwiązanie mojego pytania tutaj http://stackoverflow.com/questions/32699420/url-parameters-are-not-being-passed-by-curl-post thank you –

6

Zacznę też odkrywać to, ale jeszcze się nie zacząłem. Znalazłem tę strukturę, która mówi, że powinna działać, ale jak powiedziałem, jeszcze jej nie wypróbowałem.

http://wiki.restlet.org/docs_1.2/13-restlet/275-restlet/252-restlet.html

Jeśli dostać pracy, czy uda się uzyskać jedną z powyższych sugestii roboczych, zaktualizuj wszystkim jak jestem pewien, że jest zainteresowanie tym.

+1

I ' m całkiem pewnie Restlet zadziała. Jest po prostu nieco gorszym w użyciu niż inne. Szczególnie podoba mi się adnotacje, które wprowadza Jersey. Planuję używać Restleta w ciągu najbliższych kilku tygodni. Na pewno opublikuję aktualizację. –

+0

Spędziłem też cały weekend z tym, a Restlet działa świetnie na GAE. Udało mi się umieścić coś razem na przykładzie podanym na stronie Restletu pod adresem URL, który opuściłem wcześniej, który jest teraz wyłączony. Ale wszystko było proste. – broschb

+0

Napisałem mały wpis na moim blogu, aby odpowiedzieć na inne pytanie na stackoverflow. Jest to bardzo prosty przykład na to, aby uzyskać uzupełnienie GAE. http://broschb.blogspot.com/2009/08/restful-service-on-google-app-engine.html – broschb

3

Cóż, to bardzo rada, aby rzucić okiem na play framework

Zapraszamy do obejrzenia filmu na stronie głównej

Ma gae module

Z siena jako orm do obsługi danych Gae

Od wszystkich Ramy Java widziałem tak daleko, myślę, że ma łatwiejszy krzywej uczenia się,

  • wielki documentation,

  • w tutorial opracowanie kompletnego wniosku

  • bardzo aktywny i pomocny społeczność ,

  • wolny jak piwo, a także w mowie

  • wysoce skalowalne ze względu na jego bezpaństwowcem z konstrukcji skrzynki

  • rest friendly

  • wysoce konfigurowalny poprzez to moduły i wtyczki podejście

Więcej więcej, biorąc pod uwagę, że to dla przebiegu studiów , to naprawdę łatwe do włamania się do kodu, mogłem obsłużyć kilka biletów i nowe funkcje bez żadnego doświadczenia z java, zaledwie kilka lat rozwijających aplikacje internetowe z php

innych korzyści

  • to naprawdę łatwe do uruchomienia, nie skomplikowana konfiguracja udział, wystarczy pobrać i rozpakować plik i państwa są gotowe

  • wielkie doświadczenie w rozwoju, po prostu rozwiązać ten kod i hit odświeżenia, odtwórz autocompiles zmiany na bieżąco podczas pracy na tryb rozwoju

  • szybki i lekki

  • fullstack, nie trzeba zintegrować c Ramy umbersome aby pracować

  • wielki raport błędów, nie więcej nieograniczone błąd ślad stosu, po prostu pokazuje linię z błędem

  • żadnej konfiguracji xml wszędzie wokół

  • wielkim wsparciem dla TDD z selenem zintegrowany test

Myślę, że główną zaletą narzędzia edukacyjnego 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 rzucając okiem na kod źródłowy ...

+0

Gra wygląda imponująco. Jednak jego integracja z GAE nie wygląda tak, jakby była utrzymywana w ramach głównego projektu, a zatem pozostaje w tyle za cyklem wydawniczym GAE. Jego wtyczka GWT wydaje się opóźniać jeszcze bardziej. Niemniej jednak dam ci upominek za pokazanie mi takiego fajnego projektu. –

+0

moduł gae został opracowany i jest utrzymywany przez głównego programistę, moduł siena (zalecany orm dla gae, jpa ma wiele problemów) jest utrzymywany przez bardzo aktywnego członka społeczności, niestety moduł gwt nie zwraca na to uwagi w czyn ... – opensas

+0

Moduł Gae powraca! przejął ją inny programista, oto wsparcie dla fot gae 1.6 http://www.playframework.org/modules/gae-1.6.0/home – opensas

2

Niedawno przygotowałem szablon projektu z Jersey, Guice and AppEngine na GitHub. Został opracowany w SimpleDS, ale można go zmodyfikować do pracy z Objectify/JDO. Projekt jest na żywo here.

Powinien to być dobry punkt wyjścia dla nowych projektów.

1

Oto bardzo dobry samouczek Restlet/Android/GAE/Objectify z przykładem prostej aplikacji. Przepraszam, że jest po francusku, ale możesz go skopiować, wkleić lub użyć google traduction.

Poszedłem za nim i miałem działający serwer Android/GAE komunikujący się razem w ciągu 2 godzin. To dobra baza do rozpoczęcia lub przetestowania Restletu.

http://www.tutos-android.com/webservice-rest-android-appengine-restlet-objectify

Powodzenia

3

Ponieważ są dzielni starszych rozwiązań zostały poprawione razem, Google najwyraźniej zestawie plugin Eclipse do tworzenia projektu rozrusznika, który wytwarza aplikację App Engine, Android APK i Web aplikacji, wszystkie rozmawiają ze sobą przez interfejs zdefiniowany przez pojedynczy zestaw adnotowanych deklaracji obiektów.

nie próbowałem tego jeszcze sam, ale trzeba spojrzeć przed próbą którykolwiek z bardziej różnorodnych przykładów opisanych we wcześniejszych komunikatów powyżej:

https://developers.google.com/eclipse/docs/appengine_connected_android

Ten film Google jest również dość dobrze poinformowany:

http://www.youtube.com/watch?v=NU_wNR_UUn4