2

私はウェブサイトのアーキテクチャを設計しています。以下のように、作品を 3 ~ 5 層に配置したいと考えています。

画像#1

画像#2

主なアーキテクチャは上図のとおりです。まず、これが良いものかどうかを知りたいです。しかし、主な問題は、サービス層とデータプロバイダー層の層を接続する方法です。

クライアント側のリクエストの関連付け方法は、ネットワークを介して AJAX の方法で行われます。しかし、サービスのサーバー側はどうでしょうか。もっと説明しましょう:

私のサービスの 1 つは、メインの Web サイトです。ユーザーがページをリクエストし、ページを受け取ります。ページが受信された後、他のデータは AJAX として提供されます。ユーザー (クライアント側) からデータ プロバイダー レイヤーに直接要求します。しかし、サーバーで作業しているときに、ページをクライアントに提供する前に、サービス自体に関するデータが必要な場合はどうでしょうか。私の意見をお伝えできればと思います。

今、私は2つの方法について考えています:

1) すべてのサービスにデータ プロバイダー レイヤーの参照を追加し、そのクラスを使用して直接使用します。

2)サーバーもクライアントになります。つまり、サービスがデータを必要とする場合、イントラネット経由でデータ プロバイダー レイヤーにリクエストを送信します。次に、ローカル ネットワーク内の別のデバイスにすべてのサービスを移植できます。しかし問題は、ローカル ネットワークが直接参照の優れた代替手段となるのに十分であるということです。

4

1 に答える 1

1

一般的に言えば、クライアント側がサーバー上のデータ アクセス レイヤーを呼び出すことはお勧めできません。サーバーで Restful サービス API を提供し、クライアント側でそれらのサービスのみを呼び出したいと思います。

2 つの異なるアプローチに関しては、要件によって異なります。最初の方法は間違いなく高速ですが、スケールアウトの柔軟性が必要な場合は、2 番目の方法が推奨される場合があります。また、サービスとデータ層の間で転送されるデータのサイズにも依存します。それらが大きい場合は、このデータを各呼び出しでシリアル化および逆シリアル化する必要があるという事実を考慮する必要があります。

于 2016-05-13T01:42:28.190 に答える