2012-02-03 6 views
0

私は現在、JavaとPrimeFacesを使用してGoogle App EngineでWebアプリケーションを開発中です。クライアントのWebサイトのデータベースであるリモートのMySQLサーバーにアクセスする必要があります。このウェブサイトには、アプリケーションに必要なすべてのデータが含まれています。Apache WebサーバーとGoogle App Engineの間のHTTP通信はどのように管理しますか?

私はウェブを検索し、Google App Engineを使用してデータベースに直接アクセスする方法がないことを確認しました。 私は、MySQLサーバーの代わりにSQLクエリをHTTP要求として受け入れ、返されたデータをHTTP応答として送信する、Webサーバー上にPHPスクリプトを作成することに決めました。 (もちろん暗号化されています) PHP WebサーバーからHTTP経由で大量の結果セットをGoogle App Engineに送信するにはどうすればよいですか?

私がここで直面している問題は、PHPでGET経由でHTTPリクエストを取得することができますが、問題です。どのように私はそれらを送り返すのですか?ただフラッシュすることはありません。私はどのようにそれらを私のアプリケーションのGoogle App Engineのアプリケーションにリダイレクトするのですか?

ありがとうございます!

+1

「なぜ単に洗うことはできませんか」私たちにあなたの問題についての詳細と、それが何をしているのかを具体的に教えてください。 –

答えて

1

UrlFetch APIを使用して、appengineからMySQLサーバーにリクエストを送信できます。あなたは応答を得て、それをappengineで直接解析できます。

MySQLサーバーがリクエストでトリガーできるサーブレットをappengineアプリで設定できます。あなたのMySQLサーバーはyourapp.appspot.com/servletpathにリクエスト(あなたのphp GET関数)を送ることができます。これによりappengineサーブレットが起動します。 Appengineはそこから応答を返すことができます。

+0

ああ!返信いただきありがとうございます。ええ、私は私がPHPのスクリプトを使って行ったことを、Google App Engineでもここに書き込むことができます。もう一度このことを指摘してくれてありがとう、そしてUrlFetch API – LalakaJ

0

データセットが大きすぎて一括して転送できない場合は、クエリに範囲制限を追加して複数のリクエストに分割してください。また、タスクキューを使用して、このジョブを複数のタスクに分割します。 appengineでは、長すぎる/大きすぎるものをいくつかのタスクに分割するのが一般的です。分割統治。

+0

もう少し説明できますか?どのようにあなたの応答をPHPの複数の応答に分割しますか?これを行う方法や機能はありますか?私はこれが投稿される別の質問だと思う、それはそれに値する? – LalakaJ

+0

クエリに範囲制限をどのように追加しますか? SQL LIMIT関数を意味しますか? – LalakaJ

+0

はい、LIMITを使用する必要があり、あまりにも多くのデータを要求しないことを意味します。 – Ski

関連する問題