インタビュアー 松崎 剛
1 | 2
今回は、(株) セカンドファクトリーの三枝様、蔵元様、新谷様、杉下様に、現在の RIA (Rich Interactive Application) における取り組みについてお話を伺いました。

この分野ではご存じの方も多いかもしれませんが、(株) セカンドファクトリーではマイクロソフトテクノロジー以外も含め、これまでさまざまな RIA の制作に取り組まれてきました。現在は、WPF (Windows Presentation Foundation) や Silverlight を中心に、エンターテイメント分野に限らず、業務アプリケーションなどビジネス的な活用も重視した取り組みを実施されていると言います。
「RIA」というと、業務アプリケーションであっても動きや表現力のみが大切だと思ってしまいがちですが、アプリケーションであるということを意識すると、「操作性を向上させ、作業効率を改善させることが重要だ」という、当たり前のことに気がつきます。セカンドファクトリーでは、こうした点を意識して開発を実施していると言います。
セカンドファクトリーでは、これまで、コンポーネント (コントロール) や製品の開発よりはむしろ受託型の開発が主体であったと言います。こうした分野でこそ、毎回新たにスクラッチから構築をおこなうのではなく、部品による共通化など、さまざまな技術の再利用が有効な手段となるでしょう。セカンドファクトリーにおいても Jellyfish Deep Zoom という Silverlight の拡張機能を CodePlex (※) を通して公開しています。しかし、「顧客の現実のビジネスニーズを実現する上では、部品の組み合わせ "のみ" に頼って開発をおこなうというのは、事実上むずかしい」と三枝さんは言います。

単純にコンポーネントといった観点以外に、「技術的なノウハウそのものの蓄積」とその再利用が重要であると言います。例えば、複数のファイルを同時にダウンロードさせる機能は、ひとたびブラウザ上で実現しようとすると難しい世界へと入ってくるでしょう。DRM (デジタル著作権管理) 対応、日本語特有の課題など、それぞれは数あるノウハウの 1 つ 1 つに過ぎないのかもしれませんが、これらは地道な活動を通して積み重ねられ、最終的にチームスキルとして形成していくのかもしれません。
技術的な難易度や実現可否といったことは、プロジェクト全体にも大きな影響を及ぼす要素であると新谷さんは言います。例えば、こうした点を無視すると、進めてみたら実現不可能であったという結果に陥ってしまうでしょう。UX (User Experience) と言えども、現実の開発では「見た目」だけの世界に閉じた開発ではなく、他のシステム的な要素をまとめあげていくことが重要になってきます。特に Silverlight では、ブラウザという制約上の理由から WPF 以上に重要な要素になってくるでしょう。
最近では、業務アプリケーションの 1 つとして SharePoint におけるユーザー体験の提供という点にも取り組まれているそうです。SharePoint と Silverlight の組み合わせと聞くと、その必要性を感じない方も居られるかもしれませんが、(SharePoint が) 毎日仕事で使う使用頻度の高いアプリケーションであると考えると、Silverlight を採用し業務効率を改善する必要性がおわかり頂けるでしょう。業務改善という大きな目標のためには、「ブラウザ (HTML) の表現力のみで解決できることには限界がある」と新谷さんは言います。
蔵元さん、杉下さんによれば、この領域の Silverlight 開発でも、やはりノウハウ (手法) という点でその確立に苦労をされたそうです。当時は、Silverlight 2.0 はベータ版であり、SharePoint 上の Silverlight 開発ということになるとさらに情報 (実績) は少なかったでしょう。実際の開発では、データアクセスなど「見た目」以外の開発も付き物です。Silverlight Blueprint for SharePoint と呼ばれるサンプル / 技術情報が CodePlex で公開されていますが、Silverlight の Beta 版のバージョンアップ (例 : Beta 1 から Beta 2 へ) にサンプルが追いつかない場合には、自力での手法の確立も必要になったと言います。 (例えば、Silverlight 2 Beta2 では LINQ to JSON によるデータアクセス方法なども追加されました。また、Visual Studio 2008 の SP1 では、Entity Framework による外部データ接続なども選択肢に入ってくるでしょう。)
まずは動くことが前提ですが、ただ動くというだけではなく、利用シナリオなどもあわせて、その時点で利用可能な最適な手法を見つけ出す必要があります。
※注 オープンソースプロジェクトをホスティングするためのマイクロソフトが運営する Web サイトです。新しくプロジェクトを始めたり、既存のプロジェクトに参加したり、コミュニティによって作成されたソフトウェアをダウンロードしたり、フィードバックが可能です。
http://www.codeplex.com/
ここに掲載されている記事は、マイクロソフト認定パートナープログラムやトレーナー向け認定制度をはじめとするプログラムや資格とは関係がありません。