2009-08-24 7 views
3

私たちは、HTTPSで安全なWebページ用のPHP設定を持っています。 WebアプリケーションはDBと話しますが、私たちが持っているJavaサーバーと話をしたいと思っています。PHPをJavaと話せるようにするには、すばやく汚い方法はありますか?

JavaサーバーはスタンドアロンのJavaアプリケーション(Webではありません)です。 PHPページがJavaサーバーで処理されたDBへの書き込みを終了した後、単にコールバックアクションが必要です。このPHPページが何かを得るためにJavaプログラムと話す良い方法は何ですか?

+2

私は通常、すばやく汚れていることをお勧めします。 –

+0

「スタンドアロンJavaアプリケーション」の意味について詳しく説明します。 –

答えて

4

通常、迅速で汚れていないことをお勧めしますが、ここでは です。データを非同期にできる場合は、ファイルにダンプできます。そのようなファイルを定期的にチェックするjavaのcronジョブが、指定されたコマンドを実行します。

たとえば、単語ExecuteCmd1をファイルにダンプできます。 Javaスレッドはそれを読み取り、解釈し、同じ名前のメソッドまたはクラスを実行する必要があることを選択します。

あなたはPHPに戻って同じことをすることができます。

+0

私はこの方向に同意するでしょう。あなたがアクションをトリガーする必要があるように見えます。 PHPスクリプトは、インラインで実行されるJavaコードを構築することさえできます。 – Dooltaz

+0

@Dooltaz:不要なカップリングを追加しないでください...後でjavaを別の言語に変更する必要がある場合...コードの大部分を書き直す必要があります –

2

おそらくTCP/IP接続を介して。 Javaアプリケーションがサーバーを実行している場合、PHPスクリプトは接続して、DBが書き込まれたことをJavaアプリケーションに通知するメッセージを送信できます。

0

Google Protocol Buffersあなたが使用しているlaunguageに関係なく、あまりにも汚れていませんが、動作し、うまく動作します。

0

PHP/Java bridgeをお試しください。私は以前、PHPロジックのTypo3の内部でJavaロジックを使用していました。

ブリッジを使用するかどうかにかかわらず、私の助言:何かがうまくいかない場合にエラーがどこから来たのかを確認してください。 PHPとJavaログの両方をチェックしてください。例外が発生した場合は冗長にしてください。

1

PHPからJavaへの迅速かつ汚れたJSON RPCを行います。あなたはたぶんそれをコーヒーの1杯で稼働させることができます。

CURLをphp(http://php.net/curl)に、json_encode()を使用してjson文字列をJavaサーバーにPOSTします。

JSON(http://www.json.org/java/)をデコードしてすぐに使用してください。あなたの応答をJSONでも送り返してください。

私は、何年も同じようなXML RPCシステムを運用していました。 PHP - > IP - > Javaはうまく動作します。

0
  1. どの程度のデータを転送する必要がありますか?

  2. 1秒あたりのリクエスト数はいくつですか?

  3. Javaアプリケーションは要求をすぐに処理する必要がありますか、または数分で要求を処理するのに十分ですか?

  4. Javaアプリケーションはユーザーのブラウザにデータを返す必要がありますか?

質問3と4の回答にはあり、ノー、あなただけの、仕事のためのデータベーステーブルを作成することができますPHPアプリは新しい仕事を挿入しており、すべてのJavaアプリのポーリングジョブテーブルを持っている場合分程度です。

+0

1)毎回数十バイト2) 3)毎回10秒以内に処理する必要があります。4)PHP側にデータが返されません。解決策は何ですか? – erotsppa

+0

10秒は厳しい要求ですか、誰かがそこに投げ捨てたものですか?申し訳ありませんが、私は毎日このサイトをチェックしていないので、あなたの問題はすでに解決済みです。 – mikaelhg

関連する問題