独断と偏見で選んだ今年の注目技術!

それでは、筆者の主観に基づくカンファレンス・レポートに入る。

Tech・Edでは毎年、まだリリースされていない、もしくはリリースされたばかりの新技術に関するセッションが豊富に用意される。今年も、クラウドやサービス指向等の次世代アーキテクチャ、リッチクライアント、データアクセス・Web開発の最新状況など、先進的な技術が多数取り上げられた。そんな中、筆者が注目した今年のセッションはWindows EmbeddedとRobotics Studioである。

Windows Embeddedは、家電や小型のデバイス、デジタルカメラ、携帯電話などを対象とした組み込みOSだ。

Windows Embedded

昨年のTech・EdでもWindows Mobileのセッションがあったが、今年はそれ以上にWindows MobileとWindows Embeddedに関するセッションが目立っていた。

モバイルと組み込みのためにTrack-6という専用トラックを確保していたうえ、2日目の「Microsoft Management Summit 2008 Japan」のキーノートの裏で行われた唯一のセッションもWindows Embedded CEだった。このように大きく取り上げたれた背景に、何があったのだろうか。各社からスマートフォンが販売されるようになったことで、注目され始めたという事情もあるだろうが、それにしては携帯電話よりも組み込みが優遇されていた印象を受けた。

ロボットアプリ開発環境「Robotics Studio」

ロボットを対象としたアプリケーション開発環境である「Robotics Studio」もまた、Tech・Ed内では異色のセッションだろう。

会場では、実際にロボットを動かすデモンストレーションが行われた

Robotics Studioは、グラフィカルな画面上でデータフローベースのプログラミングが可能な開発環境「Microsoft Visual Programming Language」を使ってロボットをプログラムするというもの。仮想環境上でロボットの動作を確認することもできる。

ちなみに、同セッションは、Windows Embeddedに関連したセッションとして位置づけられていた。つまり、ロボットのOSにWindows Embeddedを使い、その上で動作するアプリケーションを、Robotics Studioを使ってビジュアルに開発するというわけだ。

Microsoft Visual Programming Languageによるロボット開発の様子

業務アプリ開発者への影響

これらの技術は、一見、業務アプリケーション開発者にとっては無関係のように思えるが、実はDynamic ITの一部なのである。ソフトウェアの利用者の目的は、当然のことながら、ソフトウェアを使うことではない。データの検索や閲覧、編集といった明確な目的がある。だが、それらの要求は、いつもオフィスの机の前で発生するというものではない。利用者は移動することがあるし、周囲の環境が変化することもある。ソフトウェアへの要求が発生するたびに机に戻っていては、本来のビジネスに集中できない。

データやソフトウェアは、クラウドの中に置けばよい。それはWebかもしれないし、社内のサーバーかもしれないし、その組み合わせかもしれない。理屈だけで言えば、クラウドの向こう側にあるデータやソフトウェアには、いつでもどこからでもアクセスできる。すなわちDynamicである。

ところが、机の上にあるPCだけがDynamicではない。ノートPCやウルトラモバイルは軽量になったが、移動中に利用している人は少ない。電車の中を見渡せば、携帯電話を使っている人はすぐに見つけられるものの、ノートPCを広げている人はたまに見かける程度である。シンプルなサービスの要求や提供を目的とした場合、PCは機能が豊富すぎるのだ。

そこで、より小さく、シンプル、小機能で、目的の役割だけを果たすデバイスが必要になってくる。それは、腕時計やネックレス、ベルトのように身に付けるものかもしれないし、家電や家具に取り付けられるものかもしれない。そういったデバイスが普及すれば、そこからサービスにアクセスしてデータを取得したり、または自らが周囲のデバイスとの連携してサービスを提供したりすることができるようになるわけだ。

そして、こうしたデバイスにWindows Embeddedを導入することで、Windowsアプリケーション開発や.NET Frameworkアプリケーション開発の経験を、そのまま小型デバイスのアプリケーション開発に応用することが可能になる。さらに、Windows Embeddedで動作する小型のデバイスとサービスを繋げるアプリケーションを開発するうえで有効なのがRobotics Studioなのである。

Robotics Studioという名前がつけられているが、開発手法はサービスを表すブロックを組み合わせてアプリケーションから対象のサービスを呼び出すというものであり開発対象はロボットである必要も、物理的なデバイスである必要もない。サービスであれば何でも接続でき、C言語を知らなくてもデバイスが提供するサービスを簡単につなぎ合わせることが可能なのだ。

近い将来、サービスにアクセスするデバイスは、PCだけとは限らなくなるだろう。その時に備えて、今からモバイルや組み込みに挑戦してみてはいかがだろうか。