クライアントとしてのWinRT
WinRTは、Azureで提供されているより複雑なAPIのクライアントとして考えるべきであり、WinRTのアプリはクラウド中のモデルとコントローラーに対するビューであるという文脈から見る必要がある。WinRTがOSの機能を、言語プロジェクションによってJavaScriptおよび.NET的なC#およびC++アプリケーションに投影するように設計されているのは、これが理由だ。
本質的に、WinRTは事業部門が持つシステムから一般消費者向けクラウドサービスにまで及ぶ、サービス指向アーキテクチャ(SOA)に対する非同期クライアントとして設計されている。
WinRTはRESTfulなクラウドサービスを結びつけ、エンドポイントサービスを提供しやすいようになっている。WinRTは、巨大な1つのローカルアプリケーション(例えば「Photoshop」)を作るのには向かない。そのようには設計されていないし、その種のアプリケーションは新しい形のコンピューティングには属していない。ただし、今でもメインフレームやN階層システムが使われているように、その種のアプリケーションは、当分の間完全になくなってしまうこともないだろう。
WinRTでPhotoshopを作ったとすれば、クラウドサービスに対する「窓」になり、画像はPCから離れたところに置かれ、操作されるものになるだろう。操作を選択すればその結果は表示されるが、実際の画像処理はクラウド規模のシステム上で行われることになる。
この将来像において重要なのは、WindowsがSOAのエンドポイントであるということだ。ただしこれは、シンクライアントや、アプリケーションのように装ったウェブUIの世界が来るという意味ではない。われわれが今住んでいる世界は、デスクトップやモバイルデバイスがギガビット級のネットワークで繋がっている理想の世界からはほど遠い。アプリケーションはクラウドから切り離された状態でも動作しなくてはならず、接続されている時にデータを同期し、実行に長時間かかる非同期トランザクションを扱える必要がある。
この要件は、アプリケーションはスマートでなくてはならず、オフラインでも動作可能な必要があることを意味している。Windows 8のUIは、ユーザーが必要に応じてアプリケーションを出入りし、タスク間を素早く切り替えられるように設計されている。
クラウドとクラウドサービス
この将来像の基本となるのは、クラウドとクラウドサービスだ。従って、Build 2012や最近のSharePoint Conferenceで「Azure」が前面に押し出されていたのも不思議ではない。MicrosoftがAzureを、デベロッパー戦略の中心だと考えていることは明らかだ。
Buildでは、簡単なクラウドサービスの構築からWindows 8のWindowsストアアプリケーションの開発まで、MicrosoftのクラウドサービスをサードパーティクラウドAPIやMicrosoft自身のストレージサービスとつなぐためのバックボーンとして使う方法が紹介された。
同様に、SharePoint Conferenceでも、ビジネスロジックがクラウドサーバ上で実行され、OfficeアプリケーションのフロントエンドがHTML5で作られている新しいOfficeアプリケーションモデルを紹介するセッションに人が集まっていた。11月第2週の、シリコンバレーの新興企業に対するSteve Ballmer氏のメッセージも同じ、Azureをバックエンドとして、APIを使ってデバイス上のアプリをつなぐというものだった。
これはポストPCと言うべきものだろうか?そうかも知れない。PCプラスと言うべきだろうか?そうかも知れない。3画面プラスクラウド?これも他の言い方同様、なかなかいい表現だ。