iPad業務活用(2):VPNリモートデスクトップでは無く、オンプレミスとWebSocketで接続した理由

19 12月

前回では、結論を先に書いてしまいましたが、今回は順を追って、我々のプロジェクトがたどった紆余曲折についてレポートさせていただきます。

一部は走り出してからやっと見えてきたものも含めてですが、最終的に決まったプロジェクトの目的を以下に整理します。

<目的>
1)オンプレミスのシステムに変更を加えずに(稼働中システムも止めずに)、タブレット端末の導入をスムーズに行いたい。
現在はSQLserver、IIS、サイボウズ、FAXサーバー、メールサーバー、ファイルサーバー(Active Directory)等で構成されている。
2)お客様先でiPadを使用するため、起動が早く、場所によっては電波状況が良く無いので、オフラインでも使える必要がある。
3)センシティブな情報を含むので、セキュリティのレベルが高くなくてはならない。
4)タブレット端末の導入により、ノートPCも紙の資料も持ち歩かなくて済むようにする。
5)お客様先で、あるいは移動中に引継業務を行う、訪問時の持参資料を減らす事で、会社に戻ってからの業務を半減させる。
6)Officeドキュメントが最悪、閲覧だけでもできる必要がある。
7)会社ドメインのメールの送受信がiPadでできる必要がある。
8)開発予算も開発期間も極端に少ない。

ポストPCとして本格的に会社全体でiPadの導入を検討される企業は、我々と同様の目的をお持ちの企業も多いと思います。
システム関係の方はお気づきだと思いますが、上記の目的には、システム的には相反する要件がいくつかあります。

例えば、
『現状のWebシステムをリプレースしないのであれば、iPadでもブラウザベースのシステムにするほうが開発工数が少なくて済む。一方で、応答速度、オフライン操作を考えるとアプリ開発という選択肢になる。』
(当時はローカルストレージという事から、HTML5の検討もしましたが、(これが後に、思わぬ副産物であるWebSocketにたどり着くのですが)やはり、まだ規格が不安定という事でプロダクツに搭載できる段階では無いとの判断になりました。)
『セキュリティを重視するのであれば、iPadローカルにデータは保持したくない。一方で、オフラインでのデータ閲覧が必須となるとローカルにデータを保持しなければならない』
『メールはiPadで送受信したいが、アーカイブは会社で管理したい』

などなどです。

一言で強引にまとめるとすれば『どこにでもあるセキュリティと利便性のせめぎ合いで、両立なんて無理だよ』と済ませるわけにもいきませんので、一つ一つ地道に解決していくことにしました。

整理すると
1)外からオンプレミスにセキュアに接続できなければならない。
2)Androidはセキュリティ面で(当時は)選択できない。と判断。
3)地方出張もあるため、Wifiモデルでは無く3Gモデルにする。
4)遅い3Gなんだけど、画面の応答速度は早くする必要がある。(1秒程度で画面が更新される必要がある)、この時点でブラウザベースは断念。
5)シンクライアントのようにサーバーだけにデータがあるのでは無く、iPadローカルにデータを一時的にキャッシュする必要がある。
6)あくまで電波状況が悪い時のためのキャッシュであり、ローカルのデータは使用後すみやかに削除する。
7)各iPadの使用状況、アプリのインストール状況のリモートで把握し、リモートロックやリモートワイプ、アップデートもリモートでできる必要がある。

これらの要件から、最終的に次の構成にたどり着きました。(図は前回掲載したものです)
今でも(少なくとも現時点では)全てを満たすには、この一択(しかも奇跡的に見つかった一択)だったのではと思っています。

実現方法として
1)端末はiPadとし、Softbank3Gでも最大の画面応答速度を確保するため、通信は画面レンダリングデータを含めず最低限のデータのみとする。そのためネイティブアプリを開発し、通信はバイナリが扱えるWebSocketとする。
2)オンプレミス(SQLServer等)との接続にはDMZ内に専用サーバ(WebSocketサーバー)を設置し、iPadとはTCP接続する(TCPレベルでコントロールする)
3)認証はワンタイムパスワードと乱数表を組み合わせ、コードは携帯電話にメールする。
4)WebSocketサーバーはiPadからの暗号をストアドに変換、(Ajaxっぽく少しでも早く見せるため)非同期で結果を返す。
5)iPad内のSQLiteにデータを保持するが、しかるべきタイミングで削除する。

Webシステムに慣れた開発者であれば、今更アプリを開発して配布するなんて、昔に戻ったみたいで抵抗がある人も多いと思いますが、MDMを使えば、バージョンアップはユーザが自分でやってくれますので、結局は同じかなとおもいました。

それどころか、昨今の各ブラウザの超短期的なバージョンアップに対応するという余計な工数が発生しないし、通信にかかる余分なオーバーヘッドも無いので、今後は「通信するアプリ」(クラサバに戻ったみたいですが)の需要は高まるのではと、やってみて思いました。

次回は、その他の『会社全体での業務にiPadを本格的に使う』ことのメリットや気をつけておきたい事などを、レポートさせていただきたいと思っています(変更になるかもしれません)

よろしくお願いします。
エフアンドエムネット株式会社 三池みのり(@mmiike3)

会社HP:www.fandmnet.com

コメントを残す