特集

スマート・クライアントの傾向と対策

日本ユニシス 猪股健太郎
2004/05/15
Page1 Page2 Page3 Page4

■実装コストの削減

 ところで、前節「導入・運用コストの削減」で紹介した技術は、.NET Frameworkでしか実現できないわけではありません。Visual Basic 6.0とWin32 APIであっても、Javaであっても、あるいはそのほかのプラットフォームであっても、紹介したような考え方を実装することで導入・運用コストを削減させることができるでしょう。また、「オフラインとオンラインの連携」シナリオでは、サーバとの通信方式にXML Webサービスを推奨しました。当然、XML Webサービスは標準規格ですから、通信方式の観点からいってもスマート・クライアントの実装プラットフォームは自由に選択できるということになります。

 であれば、スマート・クライアントを実装する場合は、できる限り実装コストのかからない技術を選択するのが得です。そう考えれば、スマート・クライアントの実装コストを抑えることができるプラットフォームとして、.NET FrameworkとMicrosoft Officeの2つが有力な候補になります。

●.NET Framework

 いろいろ書きましたが、.NET Frameworkにはやはり多くの利点があります。

  • 開発環境の統一
     道具が増えれば増えただけ混乱が発生します。.NET Frameworkであれば、サーバもクライアントも同一の開発・実行環境でアプリケーションを開発できますので、複雑さを抑えることで開発生産性を向上させることができるでしょう。

  • クライアントOSとの密な関係
     Windowsプラットフォームに密に依存することは欠点にもなりますが、その代わりにWindowsの豊富な機能を十分に利用できます。その結果、複雑なユーザー・インターフェイスを実現するためにトリッキーなコードを書かなくても済みます。

  • モバイル・デバイスのサポート
     Pocket PCベースのPDAのために.NET Compact Frameworkが提供されています。.NET Compact Frameworkは.NET Frameworkのサブセットですが、XML WebサービスやADO.NETといった機能を利用することができるので、.NET Frameworkと同様のプログラミング・モデルでアプリケーションを開発できます。

 なお、.NET Compact FrameworkはPDA上で動作するデータベースであるSQL Server CEもサポートしていますので、アクセスするデータベースは、オンラインではWindows上で動作しているSQL Server 2000、オフラインではPDA上で動作しているSQL Server CE、といったような使い分けが可能になっています。これを利用して「擬似接続」シナリオを実現することもできます。

●Microsoft Office

 Officeをスマート・クライアントのプラットフォームとすることで、スマート・クライアントのユーザー・インターフェイスをゼロから開発していく必要がなくなりますから、開発コストを抑えることができるでしょう。業務データの美しい表示にExcelやWordを使ったり、XMLドキュメントの入力ツールとしてInfoPathを使ったりという例が挙げられます。利用者の視点からは、WordやExcelといった使い慣れたインターフェイスで業務アプリケーションを実行できるというメリットもあります。

 Officeをスマート・クライアントのプラットフォームにする場合、いくつかのパターンが考えられます。Office XP Web Services ToolkitとVisual Studio Tools for Microsoft Office Systemについては、前節「導入・運用コストの削減」の「インストールしない」のところで紹介しました。そのほかの手段としては、Office XP向けにマネージ・コードでCOMアドインを作る手段や、Outlook 2003からマネージ・コードを呼び出すためのGotDotNet Niobeプロジェクトなどを挙げることができます。

最後に

 本稿では、企業システムにおけるスマート・クライアントについて、どのような状況で必要とされ、どのように実現するかについてまとめてみました。読者の皆さまがスマート・クライアントを検討する際の視点をほんの少しでも追加できていれば幸いです。

 と、こうやって締めようとすると、「ちょっと待て。『Webアプリケーションの機能に不満がある』でいろいろ書いた機能については、なぜ『どうやって作るか』で取り上げなかったのか」とおっしゃる方もいらっしゃるかもしれません。鋭いご指摘です。まず、最後まで拙稿を読んでいただいたことに感謝いたします。そのうえで、申し訳ありませんがそれについては本稿の対象外とさせてください。そういった機能の実装方法を解説しようとすると、私の筆力では長くなってしまううえに難解になってしまうのです。おわび代わりに、参考情報を紹介させてください。

 MSDN Japanに「スマート・クライアント デベロッパー・センター」というサイトがあります。ここにはマイクロソフト公式の技術情報が集約されています。スマート・クライアントについて興味を持っていて、本稿を(我慢して)最後まで読んでいただいた方はとっくにご存じかもしれませんね。

 そのサイトで、「スマート・クライアント ソリューション・サンプル」というサンプル・アプリケーションが公開されています。このサンプルは、文具卸問屋向けの、商品の受注から発送手配、在庫管理などの一連の処理を実現するための業務アプリケーションで、.NET Framework、.NET Compact Framework、Visual Studio Tools for Officeをすべて活用して作られています。このサンプルには、今回述べたような「オフラインでの利用」や「ローカルの資源を利用するためのセキュリティ設定」などが含まれています。さらに、クライアント環境の選定方法やアプリケーションの設計・実装方法など、さまざまなノウハウが詰まった非常によいサンプルです。スマート・クライアントに限らず、すべての.NET Framework開発者にお勧めします。……とお茶を濁したところで、本稿は終わりとさせていただきます。End of Article

 

 INDEX
  [特集]スマート・クライアントの傾向と対策
     1.スマート・クライアントの位置付け
     2.スマート・クライアントに何を求めるか
     3.どうやって作るか − 導入・運用コストの削減ために
   4.どうやって作るか − 実装コストの削減のために
 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH