エンタープライズ:ニュース 2003/08/08 01:52:00 更新


ASP .NetベースのWebパーツ開発はもはや特異なものではない

ASP .NetベースのWebパーツの開発は難しい? そういった懸念を払拭するセッションが「Microsoft Tech・Ed & EDC 2003 YOKOHAMA」で開かれていた。

 「Webパーツの構築は何も大げさに考える必要はない」。「Microsoft Tech・Ed & EDC 2003 YOKOHAMA」で、マイクロソフト ゼネラルビジネス統括本部テクノロジースペシャリストの梶田伊澄氏はこう語り、これまでとは違う新しいアーキテクトを持つSharePointテクノロジーで何を知らなければ、また、何を知っていればよいのかを示してくれた。

 そもそも、SharePointとは、組織内やインターネットを経由した情報共有を促進するために開発されたマイクロソフトのテクノロジーを指しており、具体的な製品として、これまでは、SharePoint Portal Server(SPS) 2001とSharePoint Team Services(STS)が用意されていた。しかし、Windows Server 2003の登場により、STSはWindows Server 2003の無料アドオン「Windows SharePoint Services(WSS)」となり、製品としては「SharePoint Portal Server 2003」が用意されることになる。

「SharePoint Portal Server 2001は、アーキテクト的にはExchangeなどに近く、その開発もASPベースで行っていたが、これがASP .Netベースとなる。また、WSSはこの秋に提供予定で、SPS 2003はこれに依存する形となっている。またデータベースストレージにはSQL Serverを使用する」(梶田氏)

 枠としての「ページ」に配置する個々のコンテンツ、つまり利用者にとってのUIはWebパーツと呼ばれ、Visual Studio Netで作成する。実際にはASP .Net Webコントロールとして作成するため、Webコントロールを作成するスキルを持ち、WSS Object Modelを理解していればWebパーツはそれほど苦もなく作成できてしまう。作成のうち、特に重要なのが、作成したWebパーツを一意なものとして公開するための厳密名の設定であるという。

 実際の開発フローとしては、

  • プロジェクトの準備
  • アセンブリ情報の収集
  • ソースコードの編集
  • アセンブリのビルド
  • 公開の準備
  • Webパーツの利用

といった流れとなる。

 プロジェクトの準備では、参照の追加と、キーペアの作成がその肝となる。このうち、キーペアの作成は、コマンドラインユーティリティとしてSN(Strong Name).exeが用意されている。

 作成したキーペアは、アプリケーションのコードとリソースを含んだ、EXEまたはDLLの論理的な単位であるアセンブリと関連付ける。この作業は、プロジェクトを作成した段階で作成されるAssemblyinfo.csを編集することで行う。このファイルに先ほど作成したキーペアファイルのパスを記述しておくことで、RSAデジタル署名およびアセンブリ識別が成された厳密名付きアセンブリとなる。これにより、改ざんや成りすましを防止でき、そのアセンブリはグローバルでの完全な一貫性が確保された共有アセンブリとして利用可能になる。また、Assemblyinfo.csにはアセンブリのバージョン情報も設定することで、いわゆる「DLL HELL」を解消できる。

 Webパーツのソースコードを作成する際に注意すべき作業としては、Webパーツを開発するために必要なネームスペースディレクティブを3つほど追加することがまず挙げられる。そのほかの部分では、GUIDの作成とWebパーツ用の継承するクラスを指定しておくことくらいで、通常のアプリケーションの開発とさほど変わらない。冒頭の言葉は、そうした状況を的確に表している。実際のデモでは、「Hello World」という文字列を表示するWebパーツを作成したが、上記のような指定を行って完成したソースコードは、15行程度のものだった。

 こうしてできたアセンブリを使用するには、公開への準備が必要となる。GAC(Global Assembly Cache)およびWeb.configへの登録、そしてDWPファイルの作成である。

 GACはマシン全体でグローバルに参照可能なアセンブリの配置場所で、ここにアセンブリを登録することで、グローバル配置となる。登録の方法としては、GACUTil.exeをコマンドラインで使用するか、または作成したアセンブリをドラッグ&ドロップすることで登録できる。実際のフォルダは特殊な構成になっており、ここに単純にファイルをコピーすることはできない。同一名称のファイルでもバージョンが違えば存在する。

 IISの設定ファイルであるWeb.configには使いたいアセンブリが安全なものであることを示すだけでよい。これはそのアセンブリに関するSafeControlのエントリを記述するだけでよい。

 DWPファイルには、WebパーツをWebパーツページにインポートするための情報がXMLで定義されており、タイトルや説明などのプロバティ情報や、アセンブリの情報を記述すればよい。

 これらの作業が終われば、Webパーツページの編集モードでインポートすることで利用可能となる。

 このほか、実際の利用価値が高いと思われるWebパーツ間の連携やデータベースとの連携もデモを交えて紹介された。Webパーツ間の連携は、プロバイダ/コンシューマがセットになった相互接続インタフェース、ほかのWebパーツとの接続をサポートするためのクラス、メンバが用意されている。

 また、これら一連の開発作業のうち、ソースコード、Assemblyinfo.cs、DWPファイルの作成に関しては、その作業を支援するテンプレートとして、「VS.Net WebPart テンプレート」が提供されている。しかし、「テンプレートがあるからといって、対応できない部分は存在することを認識してほしい。全体像を理解したうえで使用するのが望ましい」(梶田氏)と注意を促していた。

関連記事
▼コラボレーション基盤として強力さ増す、SharePoint Portal Server 2003の実力
▼Office SystemとSharePointテクノロジーの緊密な関係
▼Microsoft Tech・Ed & EDC 2003 YOKOHAMAレポート
▼Windows.NETチャンネル

関連リンク
▼マイクロソフト

[西尾泰三,ITmedia]