2009-06-04 4 views
0

私はC++クライアントとJavaサーバーの間でデータを共有する必要があります。 クライアントはSOAPを使用してサーバーと通信します。分散共有メモリまたはそうでないこと

問題は次のとおりです。Javaバックエンドであらゆる種類の要求に対応するジェネリックインターフェイスがあります。 私は "汚染"したくない特定の種類の要求オブジェクトで、ほとんどの時はnullのままです。

だから私は "創造的な" 解決策を探しています:

  1. DB - C++クライアントは、(メモリ内の)一時的にDBテーブルを書き込み、JavaへObjectKeyを渡します。 Javaはレコードからオブジェクトを作成します。テーブルは1時間ごとに清掃されます。
  2. 共有メモリキャッシュ - キャッシュに保存されたC++オブジェクト。Javaはオブジェクトをフェッチします。
  3. SOAP - C++はSOAP要求の一部としてオブジェクトを渡しました。
  4. MORE - ???

これは可能な限り効率的でなければなりません。 私が知らない他の選択肢を聞きたいです。

答えて

0

SOAPの代わりにRESTアプローチを使用できます。これは、SOAPオーバーヘッドの一部を削減します。しかし、私はいくつかのメモリキャッシュに直接書き込むほうが効率的だと思います。

0

共有メモリをramdiskとして使用し、ファイル経由で交換することができます。また、Unix上で良いとUNIXの共有メモリのためのFASTインターフェイスを使用することができます

+0

私はTCP/IPネットワークを介して接続された別のマシンであるため、RAM /ソケットが可能だとは思わない。 –

+0

クライアントとサーバーを別々のマシンで実行していますか? - 共有メモリを配布するためのソリューションがあります。 :) ハードウェアプラットフォームについて詳しく説明してください –

関連する問題