最終的にPOJOをxmlにマーシャリングするspring-wsWebサービスを作成したいと思います。また、WebサービスのクライアントがxmlをアンマーシャリングしてPOJOに戻すことを希望します。プロジェクトをどのように構成する必要がありますか?
現在の私の考えは次のとおりです。
- ドメインおよびビジネスレイヤープロジェクト-メインフレームにクエリを実行し、POJOを作成する機能があります。このプロジェクトは、以下のプロジェクトのいずれにも依存していませんが、メインフレームライブラリに依存しています。
- Webサービスプロジェクト-リクエストを受信し、プロジェクト1のビジネスロジックを呼び出し、プロジェクト1からマーシャリングされたドメインオブジェクトを返すWebサービスを実装します。
- クライアントプロジェクト-Webサービスを呼び出し、いくつかのxmlを受信し、プロジェクト1からドメインオブジェクトにxmlをアンマーシャリングします。
この設計で私が抱えている問題は、プロジェクト3がドメインモデルのプロジェクト1に依存しているが、その結果、メインフレームライブラリに依存していることです。これは、最初にコードを緩く結合することであったWebサービスを作成する私の主な理由と矛盾します。反対に、ドメインモデルをビジネスロジックから個別のプロジェクトに分割することですが、これは少し極端に思えます。