ブラウザとローカルの橋渡し

 
Web Tips.
Booskanium's
Booskanium's Web Tips.

イントラネットのウェブアプリでは、相変わらずローカルとの橋渡しを行う要件要求が止みません。
ブラウザはサンドボックスだから出来ませんと云っちゃえばそれで終わりですが、それでは困る業務が多い。
なお、ここにメモすることはすべてWindows環境での話、且つイントラネット内での利用を前提としています。

スキーム設定でローカルのプログラムをキック

ローカル側(Windows側)に橋渡しを行うプログラムを導入。
橋渡しを行うプログラムは外部サイトから橋渡し出来ないようガードする。
橋渡しを行うプログラムはログイン機能を有して利用者認証を確実に行う。

そのプログラムの詳細は非公開。
ヒントは「WebブラウザからWindowsアプリケーションを開く」を参照してください。

ローカルプリンターに伝票等を印刷

印刷プログラム(node.js)をローカルに導入します。
ブラウザから印刷プログラムにhttpで印刷リウクエスト。
印刷プログラムはサーバーに印刷データを要求して印刷を行う。
利用者からすると印刷することは難しくは無いUIが提供できます。

ローカルURLが流出すると、外部サイトに仕込まれる可能性があります。
そこで認証の仕組みが必須です。
落書き人は実装した認証方法はHTTPS前提で
・イントラウェブページからサーバーにトークン要求
・サーバーはトークン要求クライアントが適切であるかを確認
  └→複合的な条件で確認
・適切であればトークンをクライアントに戻す。
・クライアントは印刷プログラムにそのトークンを渡す。
・印刷プログラムにそのトークンをサーバーに渡す。
・サーバーはトークンに紐付けられた印刷データを印刷プログラムに渡す。
なおトークンの有効期限は1秒だが、ほぼ問題なく動作している。

そのプログラムの詳細は非公開。

ローカルプリンターに伝票 その2

印刷フォーマットがHTMLで良ければ、Amazonの様にプリンター選択が自動的に行われるUIが良いかもしれません。

詳しくはAmazonをリバースエンジニアリング。

ちゅんラヂ…えぼりゅーしょん(ちゅんエボリューション)

ちゅんラヂがブラウザの制限を超えるための仕組みです。
UI操作はブラウザでも、アプリケーションの実態はローカルアプリというハイブリッド構成です。

現在、のんびり試作中です。ちゅんラヂで実現できなかった、国内の全サイマルラジオを全部受信できる様にすることです。
公開は超試作版ですのでペンディング中です。現状は落書き人のみの密かな楽しです。