【WP for ITPro】Windows Phone から社内のファイルサーバーにアクセスしたい~その1

Windows Phone には Office Hub というソフトウェアが実装されており、SharePoint(オンプレミスおよび Office 365)と SkyDrive に接続してデータを取りだしたり保存することができます。以下の図は Office Hub と周辺サービスとのデータ交換の様子を図にしたものです。

image

Windows Phone が社外ネットワーク上にある場合には、Forefront Unified Access Gateway を使用して社内の SharePoint Server にアクセスすることができます。残念ながら、現時点では UAG 以外のゲートウェイがサポートされていません。

image

ひとまず、標準では上記以外のデータストアにアクセスすることができません。

でも、「ファイルサーバーにアクセスしたいのよっ! 」と考えるのが人情ってものです。

Windows Phone から Windows のファイルサーバーに接続するためのパスは、以下の通りいくつか考えらえます。

image

いずれにしても、それぞれのプロトコルにアクセスするためのアプリケーションを開発しなければなりません。開発を避けるには Marketplace からアプリケーションを購入する必要があるわけですが、Windows Phone の日本語版マーケットプレースを見てみると、FTPクライアントは見当たりますが、smb に直接アクセスしたり、WebDavにアクセスするためのアプリケーションは見当たりません。

アプリケーションを購入するにせよ、自作するにせよ、スマートフォンの利用シーンは社外であることが多いはずですから、インターネットから接続できるパスを用意する必要があります。

そこで、例として以下のような仕組みを考えてみましょう。

image

環境を簡単に解説すると以下の通りです。

■ オンプレミス

  • WEBDAV で公開されたファイルサーバー + Active Directory
  • Windows Azure とは Azure Connect(プレビュー版)で VPN 接続されています。

■クラウド(Windows Azure)

  • Windows Azure Connet で接続されたインスタンス上に、WebDavにアクセスするための WCFサービスがホストされている
  • インスタンスは Active Directory ドメインに参加している

■ Windows Phone

  • Windows Azure 上のWCF サービスにアクセスするためのアプリケーション

開発したのはサンプルは、Azure 上にホストする WCF サービスと、Windows Phone 用のブラウジングアプリです。

どうです?なんとなくつながる気がしませんか?MVP の normalian 氏からは、「海外のデータセンター経由かぁ」と難色を示されてしまいましたが...。エヘヘ。

実際に上記の図を実装したアプリケーションを作ってみました。

以下の画面に表示されているのは WCFサービスに渡すためのパラメタです。WEBDAVサーバーという設定値がありますが、このサーバーに直接接続するわけではなく、この値をユーザーIDとパスワードとともに、Azure 上にホストした WCF サービスに渡します。ユーザー ID とパスワードはオンプレミスにある Active Directory に登録されているものです。

image

上記の値を受け取った WCF サービスは、Windows Azure Connect で接続されたオンプレミスの WebDav サーバーに接続し、フォルダ一覧を取得してきます。まだアクセス権等の実装を何もしていないので、以下の画面では全フォルダを持ってきています。

image

いちおう、ファイルとフォルダは別々のアイコンで表示できるようにしてみました。

image

ファイルを選択してダウンロードボタンをタップすると、ファイルをダウンロードすることができます。

image

以下は、PPT をダウンロードして開いたところです。

image

ファイルのアップロード等は実装していませんが、そこそこ便利に使えるかなと思います。

ソースを整理次第、ここでご紹介します。

Windows Phone 単体では限界もありますが、Azure と組み合わせると利用の幅が広がりますね~。

<つづく>