AutoWeb

67. スマート・コネクション

AutoWebのスマート・コネクションとはブラウザと
IBM iのHTTPサーバー Alaska(アラスカ)とのあいだの
仮想化通信技術のことです。
スマート・コネクションは次の問題点を解決します。

・Xボタン問題、戻るボタン問題の解決

・セッション問題の解決

・複数セッション対応

…一般のブラウザとの通信は何が問題になるのでしょうか?

・Xボタン問題、戻るボタン問題

一般的にWebではブラウザへHTMLを出力してしばらくすると
通信は切断されてしまいます。
通信が切断たれている状態でXボタンや戻るボタンを押しても
ブラウザからサーバー(IBM i)に情報を伝えることはできません。
ですので Xボタンを押してブラウザを終了しても
サーバーのJOBは終了を検知できずに浮いたままで
残ってしまいます。
これがXボタン問題です。

・セッション管理問題

HTTPサーバーは通信が途絶えた後でエンド・ユーザーが
次にSUBMITボタンを押して投入してもHTTPサーバー内の同じJOBには
戻りません。
つまりJOB=00001 で出力したHTMLが別のJOB=45679 に戻ってしまうため
5250セッションを継続することができなくなります。
元々WebアプリにはIBM iのような5250セッションの考え方がないので
JOBの継続は想定されていないのです。
したがってWebではセッションを継続することができません。
これがセッション管理問題です。

・複数セッション

    現在、ほとんどのブラウザがTABブラウザの型式であることは
ご存知のとおりです。
しかしTABブラウザではサーバーとのあいだの通信のSokcet識別子は
1個だけです。
これは複数の人間どうしが電話するのに電話回線が一本しかないのと
同じことです。
従ってIBM ACSや海外輸入製品のWebフェーシング(aXesなど)では
複数のセッションで業務を行うことはできません。

既存のIBM ACSやaXessではいかに多くの問題を抱えているか
  おわかりでしょう。

…ではスマート・コネクションとはどのような仕組みで
  この問題を解決しているのか解説します。

スマート・コネクションとは

・ブラウザではHTTPサーバーのどの子スレッド(JOB)によって
出力されたのかを示すJOB番号がHTMLの中に非表示で出力されて
埋め込まれます。

・次にHTMLを出力すると同時にTCP/IP通信は切断されます。
通信が切断されますのでTABブラウザでSocket識別子がひとつしかなくても
問題にはなりません。
通信しないのですからSockcetは必要ないのです。

・次にXボタンが押されたり戻るボタンが押されたりあるいは
エンド・ユーザーによってsubmitが行われると初めて通信が
再開します。

・HTTPサーバーの仕様ではどの子スレッド(JOB)に戻るのかは不定なのですが
AlaskaではHTMLに埋め込んだJOB番号によって必ず元の子スレッド(JOB)に
   転送される仕組み
が備わっています。
これがスマート・コネクションです。

   つまり

通信は切断されていても必ず元の実行ジョブに戻るという処理が
HTTPサーバー Alaska の中で保証されているのです。

他の製品ではこのような仕組みがないのでXボタン問題や戻るボタン問題や
セッション管理ができていないのです。
これは技術力の差です。
海外製品は10年以上前に開発されたままで全く進歩していませんが
日本で開発されたAutoWebは日本のIBMユーザーの声を受けて
日に日に進歩しています。
将来はAutoWebが席巻することを希望しますが
まだまだ不便なままで海外製品で苦労されているお客さまが多いのも
事実です。
AutoWebは今や日本企業を通じて中国や東南アジアでも幅広く使われています。
日本製品が海外にまで進出しているのはAutoWebだけです。