0

次の質問があります

[1]。最も頻繁に CRUD 操作を必要とする管理システムがあります。たとえば、int GetUserLimit()、List GetUserList()、int AddNewUser(ユーザー ユーザー)、bool DeleteUser()、IsAuthenticated(文字列ユーザー名、文字列パスワード)

上記の関数の場合、Web アプリケーションは何らかのリターンを待つ必要がある場合があります。

その場合、Web アプリケーションに Web サービスを直接提供する方がよいのか、それとも、それらの Web サービスを公開せずに、Web アプリケーションが要求/応答パターンを介して EBS と通信する方がよいのでしょうか?

解決策 1:

http://i.stack.imgur.com/cIRUR.png

解決策 2:

Web アプリケーションが 1 つのコンポーネント A にコマンドを「送信」すると、コンポーネント A は「webmsgqueue」と呼ばれる特定のキューにメッセージを返信するか、nosql サーバーにメッセージをプッシュします。また、Web アプリケーションは ajax ポーリング方式を使用して、「webmsgqueue」または nosql サーバーのメッセージをチェックします。

http://i.stack.imgur.com/F7qTs.png

[2] クエリまたはアップロードするデータが大きい場合、Web サービスを選択した方がよいですか?

4

1 に答える 1

0

私があなたの質問を正しく理解している場合、かなり大量のデータを転送する必要があり、一部のユーザーの資格情報を認証できるかどうかを判断する機能を含めて、サービス バスを使用して CRUD API を実装するのが良いかどうかを尋ねています。 .

私はそれをやろうとは思わない-データ転送に優れた同期asyncAPIを使用した方が良いように思えます(すべての操作が1:1の要求/応答相関を持つという意味で「同期」 、クライアント ライブラリには同期呼び出しを行う非同期の方法がまだある場合がありますが、効率的な/を実行する機能さえ提供される場合がありますawait)。

もう 1 つの質問は、Web アプリケーションがデータベースに対して直接 CRUD 操作を実行できるようにすることで、リモート処理をすべてやめた方が実際に良いかどうかということです。インターフェイスの背後に実装を隠すことで、アプリケーションを分離することができます。

一時的な分離が心配な場合は、戻り値の型がvoid;)とは異なる API を公開することにした時点で、一時的な分離が失われていると言えます。

それは理にかなっていますか?

于 2014-01-22T09:56:27.203 に答える