google-app-engine api - REST-konforme Anwendung in Google App Engine Java?





getting started (9)


Ich verwende Restlet zusammen mit Guice in Google AppEngine. IMHO passen sie sehr gut zusammen. Weitere Details finden Sie in meinem letzten Blogpost: http://haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html

Ich möchte eine RESTful-App in Google App Engine erstellen. Ich möchte XML- und JSON-Dienste bereitstellen. Ich habe kurz mit Restlet, Resteasy und Jersey experimentiert. Ich habe mit keinem von ihnen viel Erfolg gehabt, abgesehen von einigen einfachen Beispielen in Restlet.

Können Sie Ihre Erfahrungen mit dem Erstellen einer Restful-Webanwendung in Google App Engine mit Java teilen oder einen Einblick in die oben genannten Toolkits zu GAE geben?

Vielen Dank!

Bearbeiten (2009-07-25):

Ich habe mich entschieden, Restlet vorläufig zu verwenden. Es scheint bis jetzt einwandfrei zu funktionieren. Bitte posten Sie weitere Einsichten / Meinungen, die Sie haben könnten. Mit welchen Problemen sind Sie konfrontiert? Haben Sie erfolgreich Jersey / Restlet / Resteasy auf GAE / J verwendet? Wenn ja, wollen wir davon hören!




Nun, ich würde Ihnen wärmstens empfehlen, sich den play frame anzuschauen

Schau dir das Video auf der Homepage an

Es hat ein Gae-Modul

Mit siena als Orm, um gae Datenspeicher zu behandeln

Von all den Java-Frameworks, die ich bisher gesehen habe, denke ich, dass es die leichtere Lernkurve hat,

  • großartige documentation ,

  • ein tutorial , um eine vollständige Anwendung zu entwickeln

  • sehr aktive und hilfsbereite Gemeinschaft,

  • frei wie im Bier und auch wie in der Rede

  • hochgradig skalierbar aufgrund des zustandslosen Out-of-the-Box-Designs

  • Ruhe freundlich

  • hochgradig anpassbar über seine Module und Plugin-Ansatz

mehr noch, unter Berücksichtigung, es ist für einen College-Kurs, es ist wirklich einfach, in den Code zu hacken, konnte ich ein paar Tickets und neue Funktionen ohne jegliche Erfahrung mit Java, nur ein paar Jahre Entwicklung von Web-Anwendungen mit PHP

andere Vorteile

  • Es ist wirklich einfach zu starten, keine komplizierte Installation beteiligt, einfach herunterladen und entpacken Sie die Datei und Sie sind bereit

  • Große Entwicklungserfahrung, reparieren Sie einfach den Code und klicken Sie auf Aktualisieren, spielen Sie Änderungen automatisch im laufenden Betrieb im Entwicklungsmodus ab

  • schnell und leicht

  • Fullstack, Sie müssen keine umständlichen Frameworks integrieren, damit es funktioniert

  • große Fehler berichten, nicht mehr endlose Fehler Stack-Trace, zeigt Ihnen nur die Zeile mit Fehler

  • Keine xml-Konfiguration irgendwo um

  • große Unterstützung für TDD mit Selen integrierten Test

Ich denke, der Hauptvorteil als Lernwerkzeug ist, dass man einen Blick in den Quellcode werfen kann, ohne sich verloren zu fühlen und die Community-Unterstützung ... Die Dokumentation ist sehr klar und man kann viel lernen, wenn man sich die Quelle anschaut Code...







Die 2 schwerfälligsten GAE-REST-API-Aktionen, um Arbeit zu leisten, egal ob Java oder .py, sind Grafiken und wie private Informationen nicht angezeigt werden. Mein kleiner gae Restfutter gabelte ein another Projekt. Ich bin mir sicher, dass Java erfolgreich ist, wo Python wegen der Java-Takes feststeckt und mehr Wege (Vorteile) sowie längere (langsamere) Zeit zum Erfolg (Nachteil) gibt, während Python-Projekte weniger Wege zum Erfolg (Nachteil) und weniger Entwicklungszeit eröffnen ( vorteilhafte schnelle Entwicklung), um das gleiche zu erreichen.




Ich freue mich berichten zu können, dass Restlet M3 FLAWLESSLY auf AppEngine 1.2.2 funktioniert. Ich habe die Tutorials "Erste Schritte" und "Erste Ressource" verfolgt http://restlet.com/technical-resources/restlet-framework/guide gefunden.

Es scheint mir also, dass Restlet die Antwort für Ihre GAE / J Restful-Anwendungen ist.




Hier ist ein sehr, sehr gutes Tutorial Restlet / Android / GAE / Objectify mit einem Beispiel für eine einfache Anwendung. Sorry, es ist in Französisch, aber Sie können den Code kopieren / einfügen, oder verwenden Sie Google-Traduction.

Ich folgte ihm und hatte einen funktionierenden Android / GAE-Server, der in zwei Stunden miteinander kommunizierte. Es ist eine gute Basis, um Restlet zu starten oder zu testen.

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

Viel Glück




Für das, was es wert ist, gab es eine ganze Reihe von Diskussionen auf Jersey-Benutzerlisten, wie Jersey auf GAE arbeiten kann. Es ist etwas mühsame Arbeit aufgrund GAE-Einschränkungen (fehlende Klassen aus weißen Listen - hoffentlich im Laufe der Zeit gelöst), aber anscheinend kann zum Arbeiten gebracht werden. Also, wenn auch nicht einfach, das ist vielleicht die beste Wette. esp. da viele der Probleme für alle Frameworks (von GAE auferlegt) gleich sind.




Ich habe kürzlich eine Projektvorlage mit Jersey, Guice und AppEngine bei GitHub zusammengestellt. Es wurde mit SimpleDS entwickelt, kann aber leicht modifiziert werden, um mit Objectify / JDO zu arbeiten. Das Projekt ist here live.

Es sollte ein guter Ausgangspunkt für neue Projekte sein.




Diese Seite schreibt gut über den geschützten und standardmäßigen Zugriffsmodifizierer

.... Protected: Geschützter Zugriffsmodifikator ist etwas schwierig und man kann sagen, dass es sich um eine Obermenge des Standardzugriffsmodifikators handelt. Geschützte Mitglieder sind mit den Standardmitgliedern identisch, sofern der Zugriff in demselben Paket betroffen ist. Der Unterschied besteht darin, dass die geschützten Member auch für die Unterklassen der Klasse zugänglich sind, in der das Member deklariert ist, die sich außerhalb des Pakets befinden, in dem die übergeordnete Klasse vorhanden ist.

Diese geschützten Mitglieder sind jedoch „außerhalb des Pakets nur durch Vererbung zugänglich“. Sie können also auf ein geschütztes Mitglied einer Klasse in seiner Unterklasse, die in einem anderen Paket vorhanden ist, direkt zugreifen, als ob das Mitglied in der Unterklasse selbst vorhanden wäre. Auf dieses geschützte Mitglied kann in der Unterklasse außerhalb des Pakets nicht mit der Referenz der übergeordneten Klasse zugegriffen werden. ....







java google-app-engine rest jersey restlet