2016-04-04 10 views
0

私は複数のサーバーを使用してWebプロジェクトを行っています。 銀行口座保有者は複数の銀行で口座を持つことができます。私はすべての銀行が独自のサーバーを持っていることをセットアップしました。銀行Aは銀行Aのサーバーにデータを格納しています。 銀行Bは、銀行Bサーバーなどにデータを格納しています。口座保有者のログイン時に、Webサーバーでユーザー認証を確認し、どの銀行に口座を持っているのかを確認します。私が銀行を見つけたら、彼の口座の詳細について、適切な銀行サーバーに要求を送る必要があります。 Bank Serverは自分のクエリを実行し、データをWebサーバーに渡す必要があります。その後、Webサーバーは銀行サーバーからデータを収集し、そのデータをクライアント・ブラウザーに戻します。SOAP In C++ CGI

クライアント - > [Webサーバー(認証+銀行を探す) - >銀行サーバ

銀行サーバ - > Webサーバー - >クライアント

または

銀行サーバー - >クライアント

私はCGIをC++で使用しています。私はちょうどそれをどう調査しましたか? SOAPまたはRESTfulでこれを行うことができることがわかりました。しかし、私はC++を使ってBank Server間で通信する方法を知らなかった。これまでの作業方法は、

クライアントブラウザ - > Cgi呼び出し - > C++でコンパイルされたcgiを実行します。

CGI(テキスト形式:コンテンツタイプ:テキスト/プレーンまたはコンテンツタイプ:テキスト/ HTML) - >クライアントブラウザ。

は、今私は、必要

要求:クライアントブラウザ - > WebサーバーのCGI - >銀行サーバCGI

応答:銀行のサーバーのCGI - > WebサーバーのCGI - >クライアントブラウザ。

SOAPまたはRESTfulを使用してこれを行うにはどうすればよいですか?サンプルコードまたはチュートリアルはありますか?

+0

これはかなり一般的な質問です。どのWebサーバーを使用していますか?なぜあなたはCGIを使用していますか?あなた自身のHTTPリスナーを産んでいますか? – Dennis

+0

Apache Webサーバー。なぜあなたはCGIを使用していますか?それだけで試してみてください。 –

答えて

0

あなたが決定を下す前に、SOAPとRESTの詳細をよく読んでください。 RESTは単なる設計原則であり、SOAPはWeb技術を介して遠隔手続きを呼び出すためのメカニズムです。どちらもCGIで動作する可能性がありますが、特にSOAPはおそらく過剰です。

CGIはサーバーから呼び出して出力を生成するスクリプトですが、毎回プロセスが生成されます。このプロセスは出力を返し、メモリを消費します。これらは通常、どのステートにも依存しない出力を生成するために使用されます。

この場合、CGIプロセスの共有メモリとして機能する何らかの中央プロセスが必要です。これは、CGIコール、または「通話」(メッセージングサービスなど)の方法を知っている別のプロセスを介してアクセスするDBになります。

通常、これを処理するには、内蔵の拡張メカニズム(サーバーに組み込まれています)を使用します。ほとんどの場合、私はこのタイプの項目に対して、tomcatとJava Restサービスを使用します。私はgSoapを独自のサービスとしてホストしています。

+0

gSoapを使って自分の仕事を完了するための勉強のためのチュートリアルはありますか? –

+0

GoogleはそのDwayneのあなたの友人です。ライブラリIMOを使用するのは非常に簡単ではなく、ライセンスは商用では無料ではありません。 Microsoftからcpprestsdkを確認することもできます。それは無料で、まあまあです。 – Dennis