2011-06-28 12 views
1

私は幾分奇妙な要件を持っており、可能性を探る必要があります。 - 私たちは、一台のマシン上で実行しているアプリケーションサーバーを持っているExcelアドインのWCF

サーバー側(当社の管理と範囲外の任意の変更を行うために)
         :ここでは要件があります。
          - アプリケーションサーバは(更なる処理のためにデータベースに                  を格納するために)一定の間隔でWebサービスからデータを読み出すことになっています。

クライアント側:
          - ユーザーは、Excelワークブックに取り組みます。これらのデータをApplication Serverと同期させるには、Excel AddinがWebサービスインタフェースを提供できる必要があります。 Application Serverは定期的にこのクライアント側のWebサービスをポーリングし、更新されたデータを取得します。

私はそれが間違ったデザインであると思われており、アプリケーションサーバーはデータを読み取るためのWebサービスをホストする必要があります。しかし、これは状況が必要とするものです。

私の質問:
1)Excel AddinがWebサービスをホストできる可能性はありますか?
2).NetベースのAddinはWCFを使用してWebサービスをホストできますか?
3)もしそうなら、WCFはASP.Net Webサービスとまったく同じWebサービスインターフェイスを提供できますか? (私はBasicHTTPBinding、WSHTTPBindingなどについて読んだが、決定を下すのに十分な情報を見つけることができなかった)。

4)あなたが考えることができる他の選択肢は何ですか?

おかげで、
Vamyip

+0

私はなぜあなたが試してみませんか?ただし、ポートをリスンする場合は、管理者としてExcelを実行する必要があります。 –

+0

WCFを使用してIISを使用せずにWebサービスをホストし、asmx Webサービスと同じようにサービス利用者に見える.NetベースのAddinを試していますか? – vamyip

+0

はい、自分でホストし、基本的なhttpバインディングを使用できます。 –

答えて

1

何アーキテクチャ...

私はこれを実装すると、Excelのプログラミングおよび潜在的な問題についてはほとんど何も知らないが、それはする必要がありますので、これはあなたの質問への完全な答えではありません理論的にExcel用の.NETプラグインでサービスをホストすることができます。私は、WCFのために必要とされるものを指します:

  • はいあなたはBasicHttpBindingとサービスを必要としますが、あなたが期待されるインターフェイスのWSDL +のXSDを持っていない場合、クライアントの既存の互換性のあるサービスを作成するために複雑な作業になります。
  • プラグインでサービスを自己ホストする必要があります(Excelで特別な許可が必要な場合は質問してください)
  • HTTPベースのエンドポイントをホストするには、クライアントマシン(Windows、Windows 7)にhttp.sys (ビジネス/エンタープライズ/究極のバージョンでのみ利用可能なIISコアが必要です)。 Windows XPで何が必要なのかよく分かりません。
  • ポートをリッスンできるようにシステムを構成する必要があります(netsh - vista、windows 7/httpcfg - xp、ファイアウォール)
  • サーバーアプリケーションは、アプリケーションがインストールされるすべてのクライアントマシンを知る必要があります。地獄は、アーキテクチャが露出することにより正しく行われていないのはなぜ

  • を実行します(あなたのクライアントはラップトップであり、彼らはそれが動作することはありません、あなたのネットワークの外に接続できるかどうかなど)サーバーには、クライアント・マシンを「見る」必要がありますアプリケーションサーバー上の単一のサービスとクライアントからのデータをこれらのサービスにプッシュするこのアプリケーションの設計者は、完全な無能力のためにすぐに解雇されるべきです。

  • 関連する問題