1

最終的にPOJOをxmlにマーシャリングするspring-wsWebサービスを作成したいと思います。また、WebサービスのクライアントがxmlをアンマーシャリングしてPOJOに戻すことを希望します。プロジェクトをどのように構成する必要がありますか?

現在の私の考えは次のとおりです。

  1. ドメインおよびビジネスレイヤープロジェクト-メインフレームにクエリを実行し、POJOを作成する機能があります。このプロジェクトは、以下のプロジェクトのいずれにも依存していませんが、メインフレームライブラリに依存しています。
  2. Webサービスプロジェクト-リクエストを受信し、プロジェクト1のビジネスロジックを呼び出し、プロジェクト1からマーシャリングされたドメインオブジェクトを返すWebサービスを実装します。
  3. クライアントプロジェクト-Webサービスを呼び出し、いくつかのxmlを受信し、プロジェクト1からドメインオブジェクトにxmlをアンマーシャリングします。

この設計で私が抱えている問題は、プロジェクト3がドメインモデルのプロジェクト1に依存しているが、その結果、メインフレームライブラリに依存していることです。これは、最初にコードを緩く結合することであったWebサービスを作成する私の主な理由と矛盾します。反対に、ドメインモデルをビジネスロジックから個別のプロジェクトに分割することですが、これは少し極端に思えます。

4

2 に答える 2

0

いいえ、まだサーバー用に1つ、クライアント用に2つのプロジェクトがあります。3の必要はありません。

プロジェクト1には、通常のSpringの容疑者、つまり永続性、サービス、およびモデルオブジェクトが含まれている必要があります。POJOサービスインターフェイスをWebサービスとして公開するという選択は、多くの選択肢の1つにすぎません。プロジェクト1のws層部分を作成します。

プロジェクト2がクライアントです。WSDL情報を取得するだけで済みます。おそらく、マーシャリングクラスとアンマーシャリングクラスは、サードパーティのJARとして共有できます。

または、サーバーとクライアントで別々にパッケージ化された1つのプロジェクトである可能性があります。テストにはクライアントが必要なので、これが最も理にかなっているかもしれません。それをテストパッケージの一部と考えてください。

これらすべてのプロジェクトは必要ありません。異なるパッケージと展開だけです。

于 2010-10-14T10:16:18.017 に答える
0

私も自分のプロジェクトを分離することを好みます。ドメインモデルのPOJOをビジネスレイヤーから別のプロジェクトに分離して、クライアントで共有できるようにすることはできますか?

于 2010-10-14T12:31:51.617 に答える