Visual Studio 2005による スマート クライアント入門 開発者カテゴリ Visual Studio 2005による スマート クライアント入門 ◆NOTES◆ PowerPoint のノート部分には、講師がセミナーを進める上での留意点を記載しています。 また、ノート部分の「◆90分ダイジェスト vs 半日コース」という欄には、今回の 90分ダイジェストコースと、このコースの元になった半日コースとの、おおよその差分が記述してあります。 この差分記述は、90分コースでのだいたいの深さの目安として掲載したものであって、実際の講習では、厳密にこの記載に基づいて、講習範囲を限定する必要はないでしょう。もし、90分コースを開いた際に、時間が余った場合は、この差分の部分を追加説明するなど、補足説明の指針にすればよいと思います。
アジェンダ スマート クライアント オーバービュー スマート クライアントの基本構成 スマート クライアントのデプロイメント
スマート クライアントとは スマート クライアントとは、次のように定義される次世代クライアント ソフトウェアを具現化したものである : スマート クライアントとは、次のように定義される次世代クライアント ソフトウェアを具現化したものである : エンド ユーザー デバイス (フル機能を持つ PC、PDA、電話機) を最大限に活用する Web サービスを使用する オンラインとオフラインの両方で優れたユーザー エクスペリエンスをサポートする Web ベースのアプリケーションに関連する配置を簡略化する
スマート クライアント アプリケーションの概要 業種別アプリケーション クライアント Web 層 インターネット / イントラネット ホスト システム XML Web サービス スマート クライアント Windows フォーム、 .NET Compact Framework、 Office 2003
スマート クライアント アプリケーションの概要 ファット クライアント スマート クライアント フットプリントが大きい シン クライアント 充実したユーザー エクスペリエンス 配置が難しい フットプリントが 小さい 開発者の生産性 ネットワーク依存 配置が簡単 "DLL 地獄" 応答性 容易な変更管理 貧弱なユーザー エクスペリエンス 開発が複雑
アジェンダ スマート クライアント オーバービュー スマート クライアントの基本構成 スマート クライアントのデプロイメント
スマート クライアントの基本構成 クライアント サーバー 豊富な機能を持つユーザー インターフェイス Web サービス アクセス プロキシ クラス オフライン機能 データセットによるデータ キャッシュ ローカル ディスクへのデータ退避 オンライン、オフラインの識別 サーバー XML Web サービス ADO.NET によるデータベース操作 データセットを提供
スマート クライアントの基本構成例 Web サービスへのアクセス 非接続型のデータキャッシュ サーバー アプリケーションを ダウンロード スマート クライアント アプリケーション Web サービス プロキシ クラス 連結 データセット
Visual Studio における UI 構築の基礎-1 Windows フォーム デザイナによるビジュアルな画面構築 ツールボックスからコントロールをドラッグ アンド ドロップ 画面に見合うソースコードが自動生成される
Visual Studio における UI 構築の基礎-2 イベント駆動型のプログラミング ユーザーの特定操作 (イベント) に呼応して、特定のプロシージャ (イベント ハンドラ) が実行される 各コントロールにはイベントが定義されている Button コントロール ---- Click など Visual Studio は、イベント ハンドラの雛形を自動生成できる (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、Visual Studio 2005 ( .NET Framework 2.0 )から導入された新しいユーザー インターフェイスをいつくか紹介しています(ToolStrip関連のコントロール、レイアウトを自動的に整えるコントロールなど)。
Visual Studio Tools for Office の紹介 Visual Studio 上で Office アプリケーションを開発可能にするアドイン ツール ドキュメント指向のソリューションに分離コード (code-behind) モデルを提供 Word、 Excel 用のロジェクト テンプレート 以前は Visual Basic for Applications (VBA) が唯一の選択肢 VBA の完全な置き換えではない
Visual Studio Tools for Office の紹介 UI 関連コントロールを 簡単にドラッグ・アンド・ ドロップできる Office 関連メニューのマージ Word や Excel をそのまま 画面デザイナとして使用 プロパティ ウィンドウ をサポート
Web サービス (参考) Web サービスとは Web 上に公開されたアプリケーション ロジック クライアントとサーバーの間は、XML データとしてやり取りする <soap:Envelope xmlns:soap="..."> <soap:Body> <Add xmlns="http://www.abc.org/"> <a>10</a> <b>20</b> </Add> </soap:Body> </soap:Envelope> SOAPメッセージの解析は ASP.NETランタイムが担当 <WebMethod> _ Public Function Add(ByVal a As Integer, _ ByVal b As Integer) As Integer Return a + b End Function (Instructor's notes) Web サービス、および Web サービス クライアントは、別の回で行う場合もあるので、必要に応じて簡単に触れます。 <soap:Envelope xmlns:soap="..."> <soap:Body> <AddResponse xmlns="http://www.abc.org/"> <AddResult>30</AddResult> </AddResponse> </soap:Body> </soap:Envelope> SOAPメッセージの出力は ASP.NETランタイムが担当 ※Web サービスは、第6回に取り上げます。
Web サービスへのアクセス-1 Web 参照の追加 WSDL (Web サービス記述言語) を取得して、 Web サービスにアクセスするためのプロキシ クラスを生成 http://localhost/WebSrv/Service.asmx?wsdl
Web サービスへのアクセス-2 プロキシ クラス Web サービスとのやり取りで必要な一連の手続き (HTTP、SOAP) をカプセル化 SoapHttpClientProtocol 派生クラス クライアント アプリケーションは、インスタンスを作り、メソッドを呼び出すだけ Public Class Service Inherits System.Web.Services.Protocols.SoapHttpClientProtocol End Class ~ Dim srv As New Service() Dim ds As DsAdv ds = srv.GetData()
アジェンダ スマート クライアント オーバービュー スマート クライアントの基本構成 スマート クライアントのデプロイメント
.NET における配置の特徴 配置の特徴 (復習) 配置方法 (復習) プログラム ファイルには、実行に必要な情報がメタデータとして含まれているので、システム レジストリに登録する必要がない コピーするだけでインストールが済む 高度なバージョン管理ができる (後述) 「アセンブリ」と呼ばれる単位で管理される 配置方法 (復習) XCopy による配置 (XCopy デプロイメント) Windows インストーラを利用した配置 ノータッチ デプロイメント ClickOnce
ノータッチ デプロイメント (参考) ノータッチ デプロイメントとは 特徴 Web ベースのダウンロードによる配置、自動更新 主な方法 リンクなどから、URL を指定してダウンロードする クラス ライブラリのダウンロード機能を使用する 特徴 ユーザーを介さずに自動的にダウンロード、更新される 特定箇所にキャッシュされ、制限されたセキュリティ環境で実行される プログラムをダウンロード
ClickOnce による配置 ClickOnce による配置とは 新機能 ノータッチ デプロイメントの改良版 クライアント側は、クリックなどの簡単な操作によって、中央のサーバーからアプリケーションのダウンロードが可能 .NET Framework 2.0 に基づく スマート クライアントにとって重要なテクノロジー 新機能 オンラインのほかオフラインでの使用も可能 オフライン可能な場合、スタートメニューへの登録が可能 様々なアップグレードのオプション ユーザー主導型のアップグレード、強制的なアップグレード プログラミングによるきめ細かい制御 セキュリティの構成の自動化 マニフェストを利用した中央から制御が可能
Visual Studio 2005 の利用 発行ウィザード 配置先のロケーションを指定 配置の種類 Web サイト、FTP サーバー、共有ディレクトリ、ファイルパス 配置の種類 オンラインとオフラインの両方で可能、または、オンラインのみ ClickOnce アプリケーションのマニフェストに署名が必要 予め既存のキーを指定、または、自動的に新規作成 (Instructor's notes) ◆90分ダイジェスト vs 半日コース ここでは、簡単なフォーム アプリケーション プロジェクトを作成した後、発行ウィザードで発行を行い、クライアントからサーバーにアクセスし、ClickOnce を使ったダウンロードの様子を見せます。 半日コースでは、ClickOnce の詳細設定画面の紹介や、ClickOnce におけるコード アクセス セキュリティの扱いについて取り上げています。