BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ビジネスアプリのためのWindows Storeの主要な技術

ビジネスアプリのためのWindows Storeの主要な技術

原文(投稿日:2012/11/02)へのリンク

 

ビジネスアプリケーションにとってストレージとセキュリティは他の種類のアプリケーションよりも重要だ。Windows 8 Storeには多くの制約があるが、この2つのニーズを満たすために多くの選択肢を用意している。

ローカルストレージ

ローカルストレージには3つの選択肢がある。

Application Data APIが利用できる。これは、ローカルストレージとローミングストレージを提供する。ローカルストレージにはサイズの制限がない。ローミングストレージはApplicationData.RoamingStorageQuotaによって制限される。

Extensible Storage EngineはC++向けにIASMストレージ技術を提供する。このストレージ技術は構造化されたデータでも構造化されていないデータでも利用できる。誰かがWinRT向けのラッパーを開発すれば、他の言語でもExtensible Storage Engineを利用できる。

JavaScriptのユーザはIndexedDBも利用できる。Windows Storeアプリケーションの場合、サイズの上限は250MBだ。ブラウザが利用する大きさと比べれば大きいが、利用するデータ量が多いアプリケーションにとってはかなり少ない。

SQLiteや他のサードパーティのデータベースも利用できる。大きな技術的制約はデータベースをインプロセスで動作させられないということだけだ。Windows 8向けのSQLiteはVisual Studio GallaryからNuGetを使って入手できる。

リモートストレージ

TCP、HTTP、WCF、ODataを含む多くの選択肢が提供される。名前付きパイプとオープンTCPポート以外であれば、デスクトップアプリケーションで利用できる方法がWindows 8アプリケーションでも利用できる。

Windows 8はポータブルなデバイスでも動作するようになっているので、セカンダリのオフラインストレージを用意しておいた方がいい。ローカルとリモートのストレージを手動で同期することもできるが、MicrosoftはSQLiteをローカルストレージにしてSync Framework Toolkitのようなライブラリを使うことを推奨している。Sync FrameworkはApache 2.0ライセンスでオープンソースで公開されている。

セキュリティ

統合Windows認証 – アプリケーションは普通のディスクトップアプリケーションと同じようにKerberosチケットを渡すことができる。デバイスがドメインに属していない場合、WindowsはActive Directoryのユーザ名とパスワードを入力させる。このような挙動を実現するにはCredential Pickerを利用する。

アプリ証明書 – 各アプリケーションは独自の証明書ストアを持つ。アプリケーションは証明書をデバイスのルート証明書ストアに置くこともできる。

多要素認証 – スマートカードがサポートされている。Active Directoryの認証情報と同様、OSはカードと対応するPINをユーザに求める。

Microsoft Accounts – Microsoft AccountsはWindows Liveをベースにしている。ここでもWindowsがダイアログを表示し、アプリケーションが生のパスワードにアクセスすることを防ぐ。

暗号化 – ハッシュ、対称アルゴリズム、非対称アルゴリズムが利用できる。

さらなる詳細はRobert Green氏のKey technologies for Windows Store business appsというプレゼンで確認できる。

テスト

現時点ではUIは手動でテストするしかない。Microsoft Test ManagerはUIの操作を記録することで手動のテストを多少簡単にしてくれる。

将来はコードでUIをテストする方法が提供される予定だが、いつになるのかわからない。

リモートテストには無料のの開発者ライセンスが必要。Windows App Storeライセンスとは別だ。現時点ではWindows App Storeはアメリカで年額49ドルだ。

配置

多くのビジネスアプリケーションは単純にWindows App Storeに出品することはできない。MicrosoftはWindows 8マシンのドメインの一部でアプリケーションを“サイドロード”することを許可している。アプリケーションがサイドロードされたマシンは開発者ライセンスを持つか、“信頼されたアプリケーションのインストールを許可する”グループポリシーが有効になっているActive Directoryのドメインに属している必要がある。

Windows App Storeで販売したアプリケーションはMicrosoftによって署名されている。サイドロードしたアプリケーションは開発者によって署名されている必要がある。この署名に使う証明書は内部で生成するか、証明書発行機関から購入できる。どちらの場合も配置するマシンは証明書の公開鍵を証明書ストアに追加する必要がある。

PowerShellのadd-appxpackageコマンドを使えば、特定のユーザにアプリケーションを登録できる。マシン全体のアプリケーションとして登録する場合は、DISMコマンドかPowerShellのAdd-AppxProvisionedPackageコマンドレットを使う。このコマンドレットはアプリケーションに“Windows Image”を追加し、すべてのユーザがアプリケーションを利用できるようにする。

配置に関する詳細はMSDNで確認できる。

System CenterのユーザはSelf Service PortalでもWindows 8 Appsを提供できる。TechNetではWindows 8 Jump Start Module 5: Windows Appsという動画でこれらの情報を提供している。

 

この記事に星をつける

おすすめ度
スタイル

BT