タグアーカイブ: websocket

iPad業務活用(4):タブレット端末をシンクライアント端末に採用する前に考慮すべき事

4 1月

【iPadの利点をそこなうシンクライアント】
iPadの利点はなんと言っても起動時間が早いこと。ノートPCと違って、これは外出先では威力を発揮します。
しかもバッテリーの持ちがいい。当然、ポストPCとして、在庫管理や顧客管理、施設管理など様々なシステムの端末として使いたくなるのが自然の流れだと思います。
一方でシンクライアントの普及がすすむ中、『iPadのようなタブレット端末をシンクライアントの端末として使えないか』という検討をされている企業も多いのでは無いかと思います。
我が社でも同様の背景の中、本プロジェクトがはじまり、結果として、アプリ開発という全く違う形になりました。
その試行錯誤を振り返り、改めてレポートさせていただきます。

1)通信環境
社内LANでシステムを構築している時と違って、iPadのようなタブレット端末の場合はWifiか3GかLTE(Xi)で通信環境を構築する事になりますので、通信速度が有線LANと比べて、どの程度遅くなるのか、実際に様々な機器で調査しました。構内のみで使用するシステムであれば、Wifiが使えますが、今回は社外の、しかも地方での使用を考慮しなければいけなかったため、Wifiルータや3GタイプのiPadをあちこちに持っていって実測しました。結果として、現状ではまだ3Gを前提としなければならない場合が多い事がわかりました。『3Gでも業務に支障無く動くこと』が一つ目の課題となりました。

2)リモートデスクトップ
『リモートデスクトップであれば、通信の速度はあまり気にならないのではないか』という仮説のもと、さまざまな製品を試しました。けれども、これには大きな落とし穴がありました。確かにデモ程度の利用であれば、なんとか動くように思えます。しかし、実際に使ってみると、すぐにその不便さに気がつきます。iPadからリモートデスクトップでWindowsにアクセスしても、もともとマウスを前提としているUIのため、タブレットでの操作に適していないのです。しかたなくソフトマウスを使う事になるのですが、確かに使える事は使えますが、そこまで苦労するなら、そもそも何の為にタブレットにしたのか、タブレット端末の操作性を殺してまでリモートデスクトップを使う意味が見いだせなくなってしまいました。

3)VPNでWebシステムに接続
そこで、次に、VPNでWebシステムに接続する事を考えました。これだと元々IE用に作っていた社内システムをSafariに対応するだけでいいので、比較的簡単にシステムを構築できそうだったからです。マルチウインドウにならない部分だけ書き換えてやればいいわけです。ところが、今度はリモートデスクトップと違って、通信データが格段に大きくなり、iPadのブラウザ側でレンダリングしないといけないため、ページを切り替えるまでに時間がかかりすぎてしまいました。また、電車内での使用など、通信状況も常に安定している状況では無いため、そもそもWebシステムの端末として3Gに頼るのはリスクが大きい事がわかりました。

3)iPadアプリ
結局、最後にiPadアプリを検討する事になりました。操作性は格段によくなりますので、タブレット端末を導入した意味が感じられます。常に通信しなくてもiPad内にデータを貯めておき、通信状態がいい時にサーバーと同期を取ればいいので、本来のタブレットの良さが引き出せます。ただ、これだとどうしてもセキュリティが気になります。せっかくシンクライアントで端末側にデータを置かないようにしたのにアプリだと端末にデータを置く事になってしまいセキュリティが弱まってしまいます。しかも、社内だけでなく、社外のどこに持っていくかわからない端末ですから、リスクが余計大きくなります。もちろんMDMを導入してリモートでワイプやロックができる状態にしていますが、やはり不安は完全には払拭できません。

4)結論
結局、iPadアプリでのデータは一時的に暗号化して保存しておき、サーバー同期後に速やかに削除する事にしました。通信速度についてはhttpを使わずにWebSocketを使う事で、非同期通信とし画面更新を早める対策をしました。この事でWebサーバーを立てなくていいので外部からの攻撃に対しても、ある程度の堅牢性を保てる結果となりました。

単なる電子カタログや電子マニュアルでは無く、今後、本格的に企業が自社システムと連携したiPadの活用を検討する時に、同様の試行錯誤をされる企業も多いと思います。少しでも参考にしていただければ幸いです。

三池(@mmiike3)

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

フォロー

Get every new post delivered to your Inbox.

現在169人フォロワーがいます。