本稿は「Network Clipping」(1997年8月号、マイクロウェーブ刊)に掲載されたものです。HTML化にあたって補足した部分は、「HTML版での補足」と注記してあります。なお、所属、役職などは執筆当時のもの。
HTML化 2000年3月14日
徹底特集 Java採用へのアプローチ 企業情報システムは真に変わるのか
|
企業情報システムにイントラネットが浸透するに伴い、メインフレームアクセスにおいても、インターネット技術を用いた新しい方法が登場してきている。Web3270と総称されるソリューションは、その1つである。
ここでは、このWeb3270ソリューションの原理的な部分を概括し、今後の方向を検討する。本稿作成にあたっては、当社の技術センターで各製品とメモレックス製Gatewayとの接続検証を行ったが、各製品の機能的な優劣の評価は本稿の課題とはしていない。
最初に、Web3270とは何かということを整理しておきたい。このタームを使うことで、「Web」で「3270」を扱うこと、という共通の理解は成立する。それを踏まえて、構成要素を見ていきたい。
必要となる構成要素は、3つの部分に分かれる(図1)。第1に、クライアントにあるWebブラウザである。第2は、Web3270サーバの部分。ここには、Web Server(httpd)も含まれる。そして、第3が、SNA Gatewayの部分となる。この第3の部分は、第2の部分の仕様に依存することになるが、TN3270 GatewayまたはマイクロソフトのSNA Serverが前提とされることが多い。以下の説明では、TN3270 Gatewayを中心に解説を行う。
以上が、概略の構成になるが、実際の実現方法をめぐっては、大きく2つの方式に区分されることになる。次にそれを整理しておきたい。図1 Web3270の構成
Web3270サーバは、その上位のSNA Gateway(TN3270Gateway)に対してはクライアント(TN3270エミュレータ)であり、下位ブラウザに対するサーバの機能(httpd)を果たしているが、3270画面をどこで処理するかによって、Java/X3270とHTML3270という原理的区分が成立する(図2)。
JavaもしくはActiveXによって記述されたエミュレータをJava/X3270と呼ぶことにする。画面は、このエミュレータ上、すなわち、クライアントPC上で処理されている。従来のエミュレータソフトが、サーバからダウンロードされるような形態である。
これに対して、HTML3270とは、Web3270サーバ上で3270画面をHTML化し、そのHTML化されたものをWebブラウザから見にいくことになる。
どちらも、「Webブラウザがある環境」での「3270端末機能の提供」であるが、まったく異なったものであると考えてアプローチした方がよい。つまり、Java/X3270とHTML3270は比較の対象ではなく、異なったソリューションの形態であるということである。図2 Web3270の種類
Java/X3270は、JavaもしくはActiveXで記述された3270エミュレータである。そのため、画面の様子も、従来のエミュレータとほとんど同じものである。図3を参照しながら、その機能を整理してみよう。
まず、クライアントから接続要求があり、Web3270サーバの起動画面(ホームページ)が表示される。この時点で、Web3270サーバからクライアントにJavaエミュレータまたはActiveXエミュレータがダウンロードされる。ユーザは、そこでセッションを選択する。
Javaエミュレータの場合は、Javaアプレットを配布したサーバ経由で上位SNA Gatewayに接続されるので、図3のAのように弓なりのパスとなる。ActiveXエミュレータの場合は、直接上位Gatewayに接続可能なので、Bのようにセッションを張ることになる。以後は、通常のTN3270Gateway-TN3270エミュレータの関係となる。
起動時にエミュレータがダウンロードされるので、ここで時間がかかり、重たいと感じさせる部分となる。しかし、最初のダウンロードが終ってしまえば、製品よっては、十分なレスポンスを実現するものもある。
通常のエミュレータと同じ機能のものをダウンロードすることになれば、ダウンロードモジュールは、相当な大きさになる。そのため実際には、サーバモジュールとクライアントモジュールへの機能分担が行われることになる。
原理的には、エミュレータの機能のすべてをクライアントにダウンロードする形態を一方の極として、他方の極には、画面処理だけをクライアントに残し、あとはすべてサーバサイドに残す、という形態を考えることができる。そのため、クライアントサイドでの設定変更の可能性などの使い勝手と起動時の重さは、トレードオフの関係になっている(注1)。図3 Java/ActiveXエミュレータの構成
色、罫線などの画面の属性については、多少の制約があるものもあるが、一通りエミュレータとしての機能を提供されていると考えてよい。逆にいえば、ここまでは、検討する際の最低線ということでもある。3270キーについても、ソフトキー+マウスでのクリックによって対応する形態を標準としながら、直接のキー操作が可能な製品もある。これは、Javaでのコーディング力の差が現れる部分である。しかし、JDKなどの環境的な制約ではないので、今後いくらでも改善されていくものと思われる。
エミュレータとして使用していくにあたって、画面表示以外にも気になる機能がある。例えばLU固定の機能。Java/X3270として検討したものは、すべての製品がサポートしていた。
問題は、ファイル転送やプリンタ制御などのローカルデバイスに対するアクセスが発生する部分である。Javaは基本的にこのようなローカルデバイスアクセスを認めていないので、Javaで実現する限りできないということになる。JDK1.1で、このあたりの制約は解除されるらしいが、セキュリティ上の問題、また、対応ブラウザの限定など、新たな問題が生じるのも明らかで、現実には、製品の提供側の思い切りと、ユーザ側での要求のすり合わせが必要になる。
なお、この制約を見越して最初からActiveXの製品を投入しているベンダもあるが、動作が重い場合もあるようである。
次に、HTML3270の方を見ていきたい(図4)。こちらの場合でも、接続要求は、クライアント上のブラウザからWeb3270サーバへの接続から始まる。Java/Xエミュレータとの違いは、ダウンロードされるアップレットが必要ないということである(注2)。その分、起動は速い。
図4 HTML3270の構成
画面は、Web3270サーバ内でHTMLに変換される。ブラウザは、このHTML画面を見に行く。HTMLが画面の記述言語になるために、3270の画面属性のうちHTMLで表現できない内容は表示できない。このため、従来のエミュレータの画面と異なったものにならざるを得ない。
しかし、この制約にこだわるHTML画面変換型の製品が持つ可能性を過小評価することになる。このHTML3270という製品は、「エミュレータではない」。確かにWeb3270サーバ上でエミュレータ機能が動いているわけだが、ブラウザの上でエミュレータの機能を忠実に実現していくことが、このタイプの製品が目指しているところではないためだ(もちろん、エミュレータ的に使えなくもないが)。
HTML3270は、3270画面をHTML化することによって3270の世界をイントラネット環境に統合していくためのツールとして位置付ける方がぴったりくる。それだけに、従来のエミュレータの発想で評価すれば、その不十分性しか見えない。従来のエミュレータが、ダム端末を「エミュレート」し、機能的にはダム端末と等価なものであるのに対し、HTML3270は、ホスト側のアプリケーションには一切手を加えることなく、Webベースのインタフェースへと3270を接合するのである。
確かに、従来のWindowsエミュレータでもAPIをVisual BasicなどでGUI化することは行われてきた。しかし、そのGUI化とは、個別の、専用のGUIに過ぎなかった。これに対して、Webがイントラネットの中で占めている位置はGUIの汎用プラットフォームであり、オブジェクトが統合されるプラットフォームなのである。
そのために、3270-HTML変換の部分に介在するツールの強力さが製品の優劣を決めていくことになる(注3)。
この市場が日本でどのように立ち上がっていくのかはまだ未知数であるが、メインフレーム上のアプリケーションには手を加えることなくWebベースの環境に引き込み、GUIとして統合していくためのツールとしては、将来が期待できる。ただし、従来のエミュレータの単純な延長上に考えるわけにはいかないために、ユーザとともに、新しい展開を作り上げていくような姿勢が不可欠となるだろう。
Web3270への第1の期待は、高価なエミュレータのリプレース、サーバ管理によるバージョンアップなどの容易性の実現などである。
だが、価格問題では期待は裏切られる。確かに、各社既存エミュレータよりは安めの価格設定になっているとはいうものの、決して既存エミュレータの10分の1などになるわけではない。
また、確かにサーバ管理になるのであるから、管理の一元化は実現する。この形態のエミュレータの大規模展開において、どの規模のサーバが必要となるのかは、今後実装が進まないことには未知の部分も残っている。
また、クライアントには「Webブラウザがあればよい」という環境条件も、現状では絵に描いた餅である。ここにも悩ましき問題がたくさんある。
Javaソリューションが理念とするところは、マシンやOSに依存しない動作環境の成立、ということであり、Javaチップ、NCなどがこの路線で構成されているし、実現に向けての動きは確かに速い。しかしながら、現在、企業内に展開されているWebブラウザは、Netscape NavigatorまたはInternet Explorerである。そして、これらのブラウザは、インターネット上のホームページを見る環境では、そこそこ動作しているとはいえ、JavaやJavaスクリプトでの互換性となると、問題が多いことは周知の事実である。
その上で、日本語処理にまつわる問題が加わっている。97年春に一連の製品が発表されたが、そこで、使用されたJDKは、1.0.Xが大半であって、そこでは日本語対応がなされていない。そのために、各社、日本語処理の部分を独自に構築するという苦労したのが、それだけ特定のブラウザへの依存が発生しているのである。2月にリリースされたJDK1.1では日本語対応がされていることになっているが、このバージョンのJDKを使用した製品が登場するのは秋になる模様である。
以上、Java/X3270とHTML3270の現状を概観した。これを踏まえて今後の展開を整理しておきたい。
Java/X3270は、限りなく既存のエミュレータに近づいていくだろう。つまり、利用環境としては、Webブラウザがあればよい、ということが実現し、加えて、現在は制限されているホスト印刷のローカルプリンタへの出力、ファイル転送などが実現されてくる。
HTML3270は、CORBA対応が標準となり、他のオブジェクトと合わせて、汎用のオブジェクトツールのもとで統合されていくようになる。すなわち、プラットフォームとしてWebブラウザがあり、その中にホスト系、クライアント/サーバ系など、異なるアプリケーションがオブジェクトとして統合、連動するような環境の実現である。
図5は、当社のチャネル接続Gatewayとの接続確認(図6)をした製品(確認中を含む)をまとめたものである。製品の提供とテクニカルなすり合わせにご協力いただいた各ベンダのご担当の方には、この場を借りて感謝いたします。今後とも、ユーザ、ベンダ各社との連携を強め、メインフレームとイントラネットを結ぶ新しいソリューションを創り出していきたいと思います。図6 接続確認の検証環境
(メモレックツ・テレックス ネットワークシステム営業企画部 部長)