2011-08-07 18 views
0

これはかなりオープンな質問です。しかし、この時点で、これは私がまず始めなければならないすべてです。現在、2層のアプリケーション設計を行っています。つまり、SQL Serverに接続し、挿入/更新/クエリなどの一般的なデータベース操作を実行するC++ APIがあるということです。私たちは、これを中間層に座っている何らかの種類のアプリケーションサーバーで3層設計にすることを検討しています。目標は、負荷が増えるほどです。 DBをボトルネックにする必要はありません。設計は、ユーザーからのすべてのコミュニケーションを '中間層'で行い、DBに行くことです。これにより、複雑なビジネス・ルールをDBトリガーに入れずに、中間層にそれらを処理させることがなくなります。
私がまだ不明な点は、中間層がどのように見えるかです。それは何らかのWebServiceでなければならないのですか?すべてのクライアントがHTTPを使用して中間層に接続し、それをDBに渡しますか?あなたが言うように。 C++ APIからWebサービスへそれはかなり大きなシフトです。このトピックで私の心を動かす手助けをしなければならないどんなリソースも大いに感謝されます。ありがとう!3tierデザインで始めるのに助けが必要

+0

これはオープンエンドの質問です:-)あなたはいくつかの質問から始めることができます。どのようなアプリケーションを構築していますか?これはWebアプリケーションですか?どのような種類のAPIを提供していますか?何がうまくいかないの? –

答えて

0

SQL Serverに接続して直接操作を実行するC++ APIを既にお持ちの場合、これは設計の中間層にリファクタリングする候補として適しているようです。このコードでは、いくつかのルールに従ってデータベースを操作しています。これは、中間層が行うべきことです。

残っている作業の残りの部分は、このAPIからプレゼンテーションロジックを分離し、中間層のC++ APIに接続してデータを処理する独自のアプリケーションに存在するようにすることですデータベースに格納され、結果はユーザに表示されるために戻される。

プレゼンテーション層とC++ API間の接続は、要件に応じて、独自の通信プロトコル(TCP/IPやRPCなどで実装されています)、HTTP、 C++ APIをサーバから呼び出し、結果を呼び出し元に返す中間の「リレー」Webサービスを持っています。 HTTPの選択肢は、最初は実装が速いものの、デフォルトではステートレス(ユーザーセッションを自分で実装する必要があります)で、コードと同期しておく必要があるという点など、考慮すべき点がいくつかありますパブリックメソッドが開発中に変更されたとき。

関連する問題