0

3 つのサイトを持つ分散システムがあります。各サイトには、ロジックとデータの両方をカプセル化する独自のサービスがあります。すべてのサービスは、永続化システムおよび SOAP サービスとして mysql データベースを使用しています。ただし、サービスのカプセル化を維持するとデータベースに直接アクセスできないため、データベース レポートで問題が発生します。Web サービスが提供するカプセル化を破ることなく、効率を維持しながら Web サービスからレポートを取得する方法。

4

1 に答える 1

0

サービスとクライアントが認識する共通のデータ構造を共有します。

私は非常に単純なシリアル化可能なデータ構造を実装し、これらのエンティティを交換して、クライアントとサーバーの間で認識できるようにします。そしてもちろん、すべてのサービスが同じデータ構造を出力します。

DAO/DAL エンティティを含む永続化レイヤーが既にある場合 (そうでない場合は作成します)、データのクエリと、元のデータからこれらの新しい共通データ構造への変換の実行を担当する必要があります。ヘルパー クラスはそれを自動的に行います。

このデータ構造である可能性があると思うのは、行と列のセット(オブジェクトインスタンスの配列)に基づくエンティティと、クライアントとサーバーの両方で認識される列識別子の配列であるため、モデルクライアントが要求している列を認識します。

このようにして、クライアントがレポートの 3 つの列を要求し、別のクライアントが同じレポートの他の多くを要求する可能性があります。

さらに、もちろん、データには HTML を含めず、生データだけを含めます。クライアントは、そのデータをどのように表示するかについて責任を負います。

上記は少し抽象的ですが、とにかくお役に立てば幸いです。

于 2013-06-23T11:13:39.770 に答える