13/05/01 23:03
システムアーキテクトの重要性

前回、WindowXPがあと一年でサポートが切れる件について、ちょっと他人事のように記事を書きましたが、今回はあるサービスの利用者、当事者目線で書いてみたいと思います。

これまで長い間使ってきた、WindowsXP上で動いている業務アプリケーションを、XPのサポートが切れるのを機会につくりかえるとき、どのような基盤の上に構築するのか、非常に悩むところです。Webアプリの場合、IEの表示やJavaScript、ActiveXの互換性の心配もありますが、それ以上に今後のWindowsプラットフォームでのアプリケーションのあり方がどのように変わっていくのか、見極めることが必要になります。(Windowsストアアプリという新しいアプリの形態が主流になるのか、従来の.NET、ネイティブアプリケーションと共存していくのかなど)

そういったMicrosoftの戦略から自由になるため、Javaを選択するという方法もありますが、WinRTが主流になっていくと、いつまでもWindowsでJavaが走るという保証もありません。これはAdobeAirでも同じことでしょう。
OSレベルではまだですが、ブラウザのレベルでは、すでにこのような現象は起きています。iPhoneのSafariではFlashがサポートされませんでした、今後のPCブラウザでも、プラグインがあまり積極的にサポートされる気配がありません。FlashもSilverlightもJavaAppletも今後使えなくなる可能性は高いと思われます。そうなるとこれら向けに作られたアプリケーションは、作り変えを余儀なくされます。

セキュリティを考えた場合、アプリケーションのサンドボックス化の流れは、やむをえないところも理解できます。AppleのiPhoneアプリでのセキュリティは、ある一定の成功を収めています。Windowsはこれまで互換性をとても重視してきたことが支持されてきました。互換性を重視するなら従来環境とWinRTを共存、セキュリティを重視するならWinRTがメインとなりますが、私の勝手な予想では、何よりセキュリティを重視してくるのではと思っています。では今後のPCアプリケーションを考えるとき、PCのあり方も含めて、どのような予想をすればいいのでしょうか。作ったシステムがすぐ使えなくなる事態は、避けたいところです。(現在はHTML5+JavaScriptの選択が有力ですが・・・)

これのヒントは、過去のプラットホーム、フレームワークの変遷を振り返ることだと思います。またこれまで実際に開発の現場で培われた勘みたいなのが役にたつと思います。
業務用アプリケーションの多くは、Windowsで動作していますが、WinRTへの変化はXPのサポートが切れる以上に大きなインパクトがあると思っています。

ソフトウェアエンジニアとして長いキャリアを持ったシステムアーキテクトの役割がこれから注目される気がします。