Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

実践WPF業務アプリケーションのアーキテクチャ【概要編】 ~ マイクロソフト公式サンプルデータベースAdventureWorksを題材に

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/04/10 14:00

目次

配置ビュー

システム全体の配置モデル

 本システムの最上位の3レイヤー、WPFアプリケーション・WCFサービス・データベースサービスを配置モデルで表現したものが以下になります。

システム全体配置モデル
システム全体配置モデル

 システムの規模によっては、アプリケーションサーバーとデータベースサーバーは物理的に同一の筐体で提供することも可能です。ここでは物理サーバーについては言及しませんが、論理的に二つの役割をもったノードが必要になるものとしています。

 また実際の構成では、データベースサーバーはフェイルオーバークラスター構成を、アプリケーションサーバーは負荷分散構成をとることになるでしょう。しかし、今回はソフトウェアアーキテクチャを対象としているため、詳細は割愛します。

詳細な配置モデル

 各ノードに実際に導入されるOS・ミドルウェア・ランタイムそしてソフトウェアコンポーネントを図示したのが、次のモデルになります。

詳細配置モデル
詳細配置モデル

 さて、よく見ると次の二つのコンポーネントだけ、利用者端末とアプリケーションサーバー上どちらにも配置されていることが見て取れると思います。

  • SystemManager
  • SystemManager.Services

 SystemManager.ServicesはWCFで提供されるRPCのインターフェースが、SystemManagerにはそのサービスのシグニチャに登場するクラスが定義されています。この二つで、クライアント側とサーバー側の通信のルールが決定されていることになります。

WPFアプリケーションの配布について

 WPFアプリケーションの配布はClick Onceを利用して行うこととします。

 Windowsアプリケーションはユーザビリティが高く、その反面、配布や更新が困難だとよく言われます。しかしClick Onceを利用することでその課題はクリアすることができます。その際、アプリケーションを署名する証明書をクライアントへ配布する必要がありますが、Active Directoryで管理された企業内であれば、グループポリシーを利用して一括配布することが可能です。

中締め

 ここまで、Microsoft社の公開しているSQL Serverのサンプルデータベース「AdventureWorks」を参考に、WPFで業務アプリケーションを構築するためのアーキテクチャについて解説してきました。次回はコードを交えながら、ユースケースビューで取り上げた代表的なユースケースと、アーキテクチャ上重要な要素について、具体的な実装方法を紹介します。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 中村 充志(ナカムラ アツシ)

     Microsoft MVP for Visual Studio and Development Technologies  東京在住のSI企業 金融事業部所属。  エンタープライズ領域での業務システム開発におけるアプリケーション アーキテクト・プログラマおよび中間管理職。  業務ではWPFお...

バックナンバー

連載:現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5