Google App Engine Java上のRESTfulアプリケーション?


83

Google AppEngineでRESTfulアプリを作成したいと思います。XMLとJSONサービスを提供したいと思います。Restlet、Resteasy、Jerseyを簡単に試しました。Restletのいくつかの簡単な例を除いて、私はそれらのどれでもあまり成功していません。

Javaを使用してGoogleAppEngineでRestfulWebアプリケーションを作成した経験を共有したり、GAEの前述のツールキットに関する洞察を提供したりできますか?

ありがとう!

編集(2009-07-25):

とりあえずRestletを使うことにしました。これまでのところ問題なく動作しているようです。あなたが持っているかもしれない他の洞察/意見を投稿してください。どのような問題が発生しましたか?GAE / JでJersey / Restlet / Resteasyを正常に使用しましたか?もしそうなら、私たちはそれについて聞きたいです!


Technicalrex.com/2014/08/11/… およびjavacodegeeks.com/2012/05/…は、JerseyGAE統合についての最高の裏話です。
–Md。SajedulKarim 2015

開発で使用するフレームワークの選択の問題です。私はSpringMVCをobjectifyとHibernateで使用しており、Google AppEngineでも問題なく動作します。
アンクルジャイン2016

@AnkurJainはい、7年間で多くの変化があります。
JPリチャードソン

回答:


45

RestletM3がAppEngine1.2.2でFLAWLESSLYで動作することを報告できてうれしいです。http://restlet.com/technical-resources/restlet-framework/guideにある「最初のステップ」と「最初のリソース」のチュートリアルに従いました。

したがって、RestletがGAE / JRestfulアプリケーションの答えであるように思われます。


4
上記のリンクは現在壊れています。Restlet 2.2のGAE関連リンクはrestlet.org/learn/guide/2.2/editions/gae–
George Hawkins

17

GAEでJerseyを使用しています。設定に興味のある方へのリンクは次のとおりです:(私はGAESDK v1.4.0を使用しています):

http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html


2
上記のリンクはJersey1.1.5をカバーしています。GAEチームは、このバージョンとそれ以降のバージョンに関するメモをここで管理しています-code.google.com/p/googleappengine/wiki/WillItPlayInJava#Jersey
George Hawkins

6

私もこれを探求し始めるつもりですが、まだ始めていません。私はこのフレームワークを見つけました、それはそれがうまくいくはずだと言っています、しかし私が言ったようにまだそれを試していません。

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

それが機能するようになった場合、または上記の提案のいずれかが機能するようになった場合は、これに関心があると確信しているので、全員を更新してください。


1
Restletが機能すると確信しています。他のものよりも使用するのは少し厄介です。私は特にジャージーが紹介する注釈が好きです。今後数週間以内にRestletを使用する予定です。必ず更新を投稿します。
JPリチャードソン

私も週末をこれで遊んで過ごしました、そしてRestletはGAEで素晴らしい働きをします。以前に残したURLのRestletサイトにある例に従って、現在ダウンしているものをまとめることができました。しかし、すべてを設定するのは簡単でした。
broschb 2009

stackoverflowに関する別の質問に答えるために、ブログに小さな投稿を書きました。これは、GAEでレストレットを実行するという非常に基本的な例を示しています。broschb.blogspot.com/2009/08/...
broschb

1
RestletにJAX-RSが実装されました。また、AppEngine専用のビルドの配布も開始しました。最新の2.0マイルストーン(現在は2.0m4)を使用することをお勧めします。これを、現在構築中の新しいアプリの概念実証として設定しました。Restlet独自のAPIは根本的に一般的で、過度に抽象化されており、一般的に混乱するため、使用することはお勧めしません。 restlet.org/downloads/2.0/restlet-gae-2.0m4.zip
Mark Renouf



3

これらの勇敢な古いソリューションにパッチが適用されたため、Googleは、App Engineアプリ、Android APK、およびWebアプリを生成するスタータープロジェクトを作成するためのEclipseプラグインを提供したようです。これらはすべて、単一のセットで定義されたインターフェイスを介して相互に通信します。注釈付きオブジェクト宣言の。

これはまだ自分で試したことはありませんが、上記の以前のメッセージで説明されているより異種の例を試す前に確認してください。

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

このグーグルビデオも非常に有益です:

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


2

その価値については、GAEでJerseyを機能させる方法について、Jerseyユーザーリストでかなりの議論がありました。GAEの制限(ホワイトリストからクラスが欠落している-うまくいけば時間の経過とともに解決される)のために少し面倒な作業ですが、明らかに動作させることができます。したがって、簡単ではありませんが、それが最善の策かもしれません。特に 直面する問題の多くはすべてのフレームワークで同じであるため(GAEによって課せられる)。


ここで私の質問に対する解決策があるかどうか尋ねたいと思いますstackoverflow.com/questions/32699420/…ありがとう
Marco Dinatsoli 2015

2

さて、私はあなたにプレイフレームワークを見てみることを強くお勧めします

ホームページのビデオをご覧ください

それはgaeモジュールを持っています

シエナGAEデータストアを処理するためのORMとして

これまでに見たすべてのJavaフレームワークから、学習曲線が簡単だと思います。

  • 素晴らしいドキュメント

  • チュートリアルでは、完全なアプリケーションを開発します

  • 非常に活発で役立つコミュニティ、

  • ビールとスピーチのように無料

  • すぐに使用できるステートレス設計により、拡張性が高い

  • 安らかな休息

  • モジュールとプラグインのアプローチにより高度にカスタマイズ可能

さらに、大学のコースであることを考慮すると、コードをハッキングするのは本当に簡単です。Javaの経験がまったくなくても、いくつかのチケットと新機能を処理できました。PHPを使用してWebアプリケーションを開発するのはわずか数年でした。

他の利点

  • 開始は本当に簡単で、複雑なセットアップは必要ありません。ファイルをダウンロードして解凍するだけで、準備が整います。

  • 素晴らしい開発経験、コードを修正して更新を押すだけで、開発モードで実行しているときにオンザフライで自動コンパイルの変更を再生します

  • 高速で軽量

  • フルスタック、それを機能させるために面倒なフレームワークを統合する必要はありません

  • 優れたエラーレポート、無限のエラースタックトレースはなくなり、エラーのある行が表示されます

  • 周りのどこにもxml構成はありません

  • セレン統合テストによるtddの優れたサポート

学習ツールとしての主な利点は、迷うことなくソースコードを覗くことができることと、コミュニティのサポートだと思います...ドキュメントは非常に明確で、ソースを見るだけで多くのことを学ぶことができますコード...


遊びはとても印象的です。ただし、GAEとの統合は、メインプロジェクト内で維持されているようには見えないため、GAEのリリースサイクルより遅れています。そのGWTプラグインはさらに遅れているようです。それでも、このようなクールなプロジェクトを見せてくれたことに賛成票を投じます。
JPリチャードソン

gaeモジュールはメインの開発者によって開発され、管理されています。sienaモジュール(gaeの推奨orm、jpaには多くの問題があります)は、コミュニティの非常に活発なメンバーによって管理されています。残念ながら、gwtモジュールはそれほど注目されていません。行為...
opensas

gaeモジュールが軌道に戻りました!別の開発者は、ここではGAE 1.6 FOTサポートだ、それを担当したplayframework.org/modules/gae-1.6.0/homeは
opensas


1

これは、簡単なアプリケーションの例を含む非常に優れたチュートリアルRestlet / Android / GAE / Objectifyです。申し訳ありませんが、フランス語ですが、コードをコピーして貼り付けるか、Google翻訳を使用することができます。

私はそれに従い、2時間で動作するAndroid / GAEサーバーが相互に通信しました。Restletを開始またはテストするのに適したベースです。

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

幸運を


-1

Javaであろうと.pyであろうと、動作させるための2つの最も面倒なGAE REST APIアクションは、グラフィックスと個人情報の非表示方法です。私の小さなゲーレストフィードは別のプロジェクトをフォークました。Javaが原因でPythonがスタックした場合、Javaは成功すると確信していますが、Pythonプロジェクトは成功する方法が少なく(欠点)、開発時間が短くなります(欠点)。有利な急速な開発)同じことを成功させる。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.