これはかなり自由形式の質問になるでしょう。しかし、この時点で私が始めなければならないのはこれだけです。現在、2層のアプリケーション設計があります。つまり、SQLServerに接続して挿入/更新/クエリなどの一般的なデータベース操作を実行するC++APIがあります。これを、ある種のアプリケーションサーバーを中央に配置した3層設計にすることを目指しています。目標は、負荷が増えるにつれて、DBがボトルネックであることに対処する必要はありません。設計では、ユーザーからのすべての通信が「中間層」で行われ、DBに移動します。これにより、複雑なビジネスルールをDBトリガーに配置する必要がなくなり、中間層でそれらを処理できるようになります。
私がまだはっきりしていないのは、その中間層がどのように見えるかです。ある種のWebサービスである必要がありますか?すべてのクライアントはHTTPを使用して中間層に接続し、それをDBに渡しますか?あなたが言うことができるように; C++APIからWebサービスへ。それはかなり大きな変化です。私がこのトピックに取り組むのを手伝ってくれるリソースがあれば、大いに感謝します。ありがとう!
質問する
130 次
1 に答える
0
SQLServerに接続してSQLServerで直接操作を実行するC++APIがすでにあるため、これは設計の中間層にリファクタリングするのにすでに適した候補のようです。このコードはすでにいくつかのルールに従ってデータベースを操作しています。これはまさに中間層が行うべきことです。
残りの作業は、プレゼンテーションロジックをこのAPIから分離し、それを独自のアプリケーションに配置できるようにすることです。アプリケーションは、中間層のC ++ APIに接続して、データを処理し、データベースと結果は、ユーザーに表示するために返されます。
プレゼンテーション層とC++APIの間の接続については、要件に応じて、独自の通信プロトコル(たとえば、TCP / IPまたはRPCを介して実装)またはHTTPを使用して、仲介を行うことができます。サーバーからC++APIを呼び出し、結果を呼び出し元に返す「リレー」Webサービス。HTTPの選択は、最初は実装が高速ですが、デフォルトではステートレスであり(ユーザーセッションを自分で実装する必要があります)、コードとの同期を維持する必要があるなど、考慮すべき点がいくつかあります。 、開発中にパブリックメソッドが変更された場合。
于 2011-08-07T06:50:32.437 に答える