2009-03-19 8 views
0

1日に数回(Windowsサービス経由で)実行されるプロセスがあり、管理者レベルのユーザー(Webアプリケーションを介して)がいつでも呼び出すことができます。このプロセスは、パートナーからWebサービスを通じてデータセットを取得し、このデータを独自のフォーマットでローカルコピーとマージします。十分に簡単です。サードパーティのWebサービスをアプリケーションデザインに組み込む

私の質問は、これがアプリケーション設計にどのように適合するかです。われわれは、ドメインオブジェクトを扱うためにリポジトリとやりとりするかなり単純なアプリケーションサービス層を持っています。ドメインは永続性を知らない。

どのようにこのプロセスをこのアーキテクチャに適合させる必要がありますか? Do We、

  1. ほとんどのロジックをアプリケーションサービスに入れますか?サードパーティのサービスを起動し、リポジトリからローカルオブジェクトを取得し、更新/追加/ etcを行い、リポジトリに保存し直してください。基本的には、第三者サービスを別のリポジトリとして扱うだけです。
  2. アプリケーションサービスにローカルデータを取得させる(現在のデータボリュームは心配しないでください)、サードパーティサービスを呼び出すドメインレベルのサービスに渡し、必要に応じてデータをマージしてから、新しいデータセットをappサービスをリポジトリにコミットするには?
  3. その他のオプション...

答えて

0

私はリモートサービスゲートウェイ「パターン」を試してみるだろう。
以下はAjaxの観点からの概念であり、プロセスではありません。しかし、2006年にDobbs Architecture and Designの世界で発表されたコンセプトを最初に見たとき、その事例はあなたのケースに似ていました。

http://blog.ontheheap.com/2008/06/06/ajax-and-the-service-gateway-pattern/

リンクの例では、基本を提供します。その場合、翻訳を行う必要はありません。ただし、ゲートウェイを別の部分に分割して、変換レイヤーまたはデータマージレイヤーを含めることができます。

私はこのアプローチで成功しました。

関連する問題