以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、第1の装置2および第2の装置3とネットワークを介して接続されている。
情報処理装置1は、CPU(Central Processing Unit)などのプロセッサとRAM(Random Access Memory)などのメモリとを備えてもよく、メモリに記憶されたプログラムをプロセッサが実行するコンピュータであってもよい。また、情報処理装置1は、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの電子回路を備えてもよく、当該電子回路により情報処理装置1の機能が実現されてもよい。第1の装置2および第2の装置3は、情報処理装置1と同様に、プロセッサとメモリとを備えた(あるいは、FPGAやASICなどを備えた)コンピュータや電子装置などでもよい。
第1の装置2は、画面情報を配信する。画面情報は、画面に表示する部品(以下、画面部品という)を示すタグを含む。画面情報は、例えばHTMLファイルである。
第2の装置3は、画面情報に基づく画面を、第2の装置3に内蔵された表示装置や第2の装置3に外付けされた表示装置などに表示させる。例えば、第2の装置3はWebブラウザを備えている。WebブラウザはHTMLファイルに基づく画面を生成して表示装置に表示させる。
情報処理装置1は、記憶部1aおよび演算部1bを有する。
記憶部1aは、演算部1bにより用いられる各種のデータを記憶する。例えば、記憶部1aは、第1の装置2から取得された第1の画面情報を記憶する。第1の画面情報は、オリジナルの画面情報である。例えば、所定のブラウザを用いて、第1の画面情報に基づいて第1の画面(図示を省略)を生成できる。
演算部1bは、第1の画面情報と画面情報を変更するための第1のルールとに基づいて生成された、タグを含む第2の画面情報4に対するタグごとの設定変更の入力を許容する。第1のルールは、複数の画面情報で共通に用いられるルールである。第1のルールは記憶部1aに予め格納されてもよい。演算部1bが第1のルールを用いて、第1の画面情報から第2の画面情報4を生成してもよい。例えば、演算部1bは第1のルールに基づいて画面部品を示す所定のタグを第1の画面情報に追加する。また、例えば、演算部1bは第1のルールに基づいて第1の画面情報に含まれるタグに設定された属性を変更する。
例えば、第1の画面情報にタグA,B,Cが含まれるとする。例えば、第1のルールに基づいて、タグZが追加される。タグZは、外部の定義ファイル(例えば、スタイルシートなど)を読み込んで、第1の画面に含まれる画面部品の形状や配置などの調整を行うものである。このようにして、第1の画面情報に基づいて第2の画面情報4が生成される。この処理は、第1の画面情報に対し、第1のルールによるデフォルトの変換が行われることで、第2の画面情報4が生成される処理ということもできる。
第2の画面5は、第2の画面情報4に基づいて所定のブラウザにより生成される画面の例である。第2の画面5は、画面部品5a,5b,5cを含む。画面部品5aは、第2の画面情報4におけるタグAに相当する。画面部品5bは、第2の画面情報4におけるタグBに相当する。画面部品5cは、第2の画面情報4におけるタグCに相当する。
なお、演算部1bは、例えば、タグごとの設定変更の入力を支援するためのGUIを情報処理装置1に接続された表示装置に表示させてもよい。例えば、第1の画面情報(オリジナルの画面情報)に基づく画面と第2の画面5とを並べて表示させ、各画面部品の選択入力や各画面部品の属性(サイズ、色、フォント、配置など)の設定変更を支援してもよい。演算部1bは、第2の画面5に対し、設定変更の内容を反映してプレビュー可能としてもよい。当該設定変更を行うユーザによる効率的な操作を支援するためである。
演算部1bは、第2の画面情報4に対するタグごとの設定変更を受け付けると第1の画面情報を示す情報とタグごとの設定変更の内容とを含む第2のルールを生成して記憶部1aに格納する。第1の画面情報を示す情報とは、第1の画面情報を一意に識別するための識別情報である。例えば、HTMLファイル内に記述されたタイトルや所定の識別子を、当該識別情報として用いることが考えられる。
例えば、演算部1bは、第2の画面情報4に含まれるタグBについて、削除する設定変更を受け付けると、第1の画面情報を示す情報と当該設定変更の内容とを含む第2のルールを生成して記憶部1aに格納する。また、演算部1bは、第2の画面情報4に含まれるタグCについて、設定C1を追加する設定変更を受け付けると、第1の画面情報を示す情報と当該設定変更の内容とを含む第2のルールを生成して記憶部1aに格納する。
演算部1bは、第1の装置2から取得された第1の画面情報を第2の装置3に提供する際に、記憶部1aを参照して、当該第1の画面情報を示す情報を含む第2のルールを検索する。例えば、演算部1bは、第2の装置3から第1の画面情報に対する所定のリクエストを受信したときに、第1の装置2に代理でアクセスして第1の画面情報を第1の装置2から取得する。
そして、当該第1の画面情報から第1の画面情報を示す情報を取得し、当該情報を含む第2のルールを検索する。上述の例でいえば、第1の画面情報を示す情報とタグBに対する設定変更の内容(削除)とを含む第2のルールが存在する。また、第1の画面情報を示す情報とタグCに対する設定変更の内容(属性の追加)とを含む第2のルールが存在する。よって、演算部1bはこれら第2のルールを検索して抽出する。
演算部1bは、第1の装置2から取得した第1の画面情報と第1のルールと検索された第2のルールとに基づいて、第3の画面情報6を生成する。上述の例でいえば、第2のルールとして、第2の画面情報4に含まれるタグBを削除するものが存在する。よって、演算部1bは、第2の画面情報4においてタグBを削除する。また、第2のルールとして、第2の画面情報4に含まれるタグCに設定C1を追加するものが存在する。よって、演算部1bは、第2の画面情報4においてタグCに設定C1を追加する。ただし、第2のルールが存在するタグについては、第1のルールを適用しないように制御してもよい。変換の処理を効率化できるからである。このようにして、演算部1bは、第3の画面情報6を生成する。なお、上述の例では、タグAに関する第2のルールはない。
なお、演算部1bは、第1の画面情報に対して、まず第2のルールを適用してから(各タグの属性を第2のルールにより追加・変更してから)、第2のルールの適用対象外のタグに対して第1のルールを適用するようにしてもよい。このような手順によっても第3の画面情報6を生成できる。
第3の画面7は、第3の画面情報6に基づいて所定のブラウザにより生成される画面の例である。第3の画面7は、画面部品7a,7bを含む。画面部品7aは、第3の画面情報6におけるタグAに相当する。画面部品7bは、第3の画面情報6におけるタグCに相当する。なお、タグBは削除されているため、第3の画面7には画面部品5bに相当する画面部品は存在しない。
例えば、画面部品5a,7aは、タグAについての設定変更はないため、同じ表示である。また、画面部品7bは、タグCに対する設定変更(設定C1の追加)により、画面部品5cよりも縦横のサイズが拡大されている。
情報処理装置1によれば、演算部1bにより、第1の画面情報と第1のルールとに基づいて生成された、タグを含む第2の画面情報4に対するタグごとの設定変更の入力が受け付けられる。すると、演算部1bにより、第1の画面情報を示す情報とタグごとの設定変更の内容とを含む第2のルールが生成されて記憶部1aに格納される。演算部1bにより、第1の装置2から取得された第1の画面情報が第2の装置3に提供される際に、記憶部1aが参照されて、当該第1の画面情報を示す情報を含む第2のルールが検索される。演算部1bにより、当該第1の画面情報と第1のルールと検索された第2のルールとに基づいて第3の画面情報6が生成される。演算部1bにより、当該第1の画面情報に代えて、第3の画面情報6が第2の装置3に提供される。
これにより、画面情報の調整を容易に柔軟化することができる。具体的には、第1の装置2から取得される複数の画面情報(複数の第1の画面情報)に対して共通に適用される第1のルールに加えて、画面情報ごとの第2のルールを作成するので、第1のルールを変更せずに画面情報ごとに画面部品などの調整を行える。このため、例えば、ある業務用の画面に対して好適なルール設定を、他の業務用の画面への影響を抑えて、柔軟に行えるようになる。
このとき、第2のルールの適用対象の画面部品に対しては、第1のルールの適用を行わないように制御してもよい。これにより、ルール適用の処理を効率化できる。例えば、2重にルールを適用すると、最初に適用したルールが次に適用したルールで更新されることになり、最初のルール適用の処理が無駄になり非効率的だからである。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、クライアント30,40、変換サーバ100、Webサーバ200および管理端末装置300を含む。クライアント30,40および変換サーバ100は、ネットワーク10および中継装置20を介して接続されている。変換サーバ100、Webサーバ200および管理端末装置300は、ネットワーク10を介して接続されている。
ネットワーク10は、LAN(Local Area Network)でもよい。ネットワーク10は、インターネットやWAN(Wide Area Network)などの広域ネットワークでもよい。
中継装置20は、クライアント30,40とネットワーク10との間の無線または有線の通信を中継するルータである。中継装置20は、ネットワーク10に含まれる移動通信網とクライアント30,40とを接続する無線基地局でもよい。
クライアント30,40は、ユーザにより利用される電子装置である。クライアント30は、例えば、無線または有線の通信インタフェースを備える携帯型の電子装置である。クライアント40は、無線または有線の通信インタフェースを備えるタブレット型の電子装置である。クライアント30,40は、携帯電話機として機能するものでもよい。また、クライアント30,40は、クライアントコンピュータでもよい。クライアント30,40は、ディスプレイを内蔵してもよい。クライアント30,40には外付けのディスプレイが接続されてもよい。
クライアント30,40は、Webブラウザを備えている。Webブラウザは、Webサーバ200が提供するHTMLファイルに応じたGUIを、内蔵の(または外付けの)ディスプレイに表示させてユーザに提示する。ユーザは、表示されたGUIを操作することで、所定の業務に係るデータを入力したり、Webサーバ200の配下に存在するAP(APplication)サーバ(図示を省略)などに業務処理を実行させたりすることができる。
変換サーバ100は、クライアント30,40とWebサーバ200との間に設けられるサーバコンピュータである。変換サーバ100は、クライアント30,40からHTTPリクエストを受信する。変換サーバ100は、Webサーバ200に代理でアクセスし、当該HTTPリクエストに応じたHTMLファイルをWebサーバ200から取得する。変換サーバ100は、HTMLファイルに対して所定の変換を施してクライアント30,40に応答する。例えば、変換サーバ100は、クライアント30,40の機種に応じた異なるルールを用いて当該変換を行う。なお、変換サーバ100は、Webサーバ200が配信するコンテンツをキャッシュして、Webサーバ200に対するリバースプロキシ(Reverse proxy)サーバとしての機能を有してもよい。
Webサーバ200は、Webサーバ機能を有するサーバコンピュータである。Webサーバ200は、所定の業務に係るGUIを示すHTMLファイルを配信する。Webサーバ200は、例えば、業務に応じた処理を実行するAPサーバに接続されてもよい。Webサーバ200は、当該GUIを用いて入力されたデータに応じた処理を、APサーバに実行させてもよい。例えば、APサーバの配下に、業務用のデータを格納するためのDB(DataBase)サーバ(図示を省略)を設け、APサーバの処理結果をDBサーバに登録させることもできる。Webサーバ200が配信するHTMLファイルは、予め用意された(静的な)HTMLファイルでもよいし、Servletなどが動的に生成したHTMLファイルでもよい。
管理端末装置300は、情報処理システムの管理者が操作するクライアントコンピュータである。例えば、管理者は、管理端末装置300を操作して、新たな変換ルールを変換サーバ100に登録することができる。
図3は、変換サーバのハードウェア例を示す図である。変換サーバ100は、CPU101、RAM102、HDD(Hard Disk Drive)103、画像信号処理部104、入力信号処理部105、ディスクドライブ106および通信部107を有する。各ユニットが変換サーバ100のバスに接続されている。クライアント30,40、Webサーバ200および管理端末装置300も変換サーバ100と同様のハードウェアを用いて実装できる。
CPU101は、変換サーバ100の情報処理を制御するプロセッサである。CPU101は、HDD103に記憶されているプログラムやデータの少なくとも一部を読み出し、RAM102に展開してプログラムを実行する。なお、変換サーバ100は、複数のプロセッサを設けて、プログラムを分散して実行してもよい。
RAM102は、CPU101が実行するプログラムや処理に用いるデータを一時的に記憶する揮発性メモリである。なお、変換サーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えていてもよい。
HDD103は、OS(Operating System)プログラムやアプリケーションプログラムなどのプログラムおよびデータを記憶する不揮発性の記憶装置である。HDD103は、CPU101の命令に従って、内蔵の磁気ディスクに対してデータの読み書きを行う。なお、変換サーバ100は、HDD以外の種類の不揮発性の記憶装置(例えば、SSD(Solid State Drive)など)を備えてもよく、複数の記憶装置を備えていてもよい。
画像信号処理部104は、CPU101の命令に従って、変換サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、例えば、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイを用いることができる。
入力信号処理部105は、変換サーバ100に接続された入力デバイス12から入力信号を取得し、CPU101に出力する。入力デバイス12としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ106は、記録媒体13に記録されたプログラムやデータを読み取る駆動装置である。記録媒体13としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R/RW/RAMなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。半導体メモリには、USB(Universal Serial Bus)メモリなどのフラッシュメモリがある。ディスクドライブ106は、例えば、CPU101の命令に従って、記録媒体13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信部107は、ネットワーク10を介してクライアント30,40、Webサーバ200および管理端末装置300と通信を行う通信インタフェースである。通信部107は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
以下の説明では、クライアント30が変換サーバ100を介してWebサーバ200にアクセスする場合を例示するが、クライアント40を用いる場合も同様である。
図4は、変換サーバのソフトウェア例を示す図である。図4に示すユニットの一部または全部は、変換サーバ100が実行するプログラムのモジュールであってもよい。また、図4に示すユニットの一部または全部は、FPGAやASICなどの電子回路であってもよい。変換サーバ100は、記憶部110、アクセス制御部120およびルール生成部130を有する。
記憶部110は、アクセス制御部120がWebサーバ200から取得したHTMLファイルを記憶する。また、記憶部110は、当該HTMLファイルに基づいてルール生成部130が生成した変換ルールを記憶する。記憶部110は、当該変換ルールを、HTMLファイルを示す情報に対応付けて記憶する。
アクセス制御部120は、クライアント30からHTTPリクエストを受信すると、当該HTTPリクエストに基づいて、Webサーバ200にアクセスし、HTTPリクエストに応じたHTMLファイルをWebサーバ200から取得する。アクセス制御部120は、Webサーバ200から取得したHTMLファイルに対して、クライアント30に応じた変換を適用して、変換後のHTMLファイルをクライアント30に送信する。クライアント30のWebブラウザは、変換後のHTMLファイルに基づくGUIを生成してユーザに提示する。
ルール生成部130は、記憶部110に記憶されたHTMLファイルごとの変換ルールを生成して、記憶部110に格納する。ルール生成部130は、管理端末装置300に対して、変換ルールの入力を支援するためのGUIを提供する。情報処理システムの管理者は、管理端末装置300を操作して、HTMLファイルごとの変換ルールを入力できる。
図5は、クライアントが送信するHTTPリクエストの例を示す図である。図5(A)ではURL(Uniform Resource Locator)51が例示されている。URL51は、クライアント30のWebブラウザ上でアクセス先として指定されるURLの例である。ホスト名として、“aaa.bbb.co.jp”が指定されている。当該ホスト名は、変換サーバ100のFQDN(Fully Qualified Domain Name)である。パス名として、“http://xxx.yyy.co.jp/index.html”が指定されている。当該パス名のうち、“http://”の文字列に続く“xxx.yyy.co.jp”は、Webサーバ200のFQDNである。
図5(B)ではHTTPリクエスト52が例示されている。HTTPリクエスト52は、URL51が入力された場合にWebブラウザが発行するHTTPリクエストである。以下、HTTPリクエスト52に便宜的に付した行番号を用いて内容を説明する。
行番号“1”の記述“GET /xxx.yyy.co.jp/index.html HTTP/1.1”は、URL51のパス名を指定するものである。ただし、当該パス名はWebサーバ200のFQDN“xxx.yyy.co.jp”を含む。例えば、アクセス制御部120は、パス名に含まれる2つ目の“http://”を検出することで、当該アクセスが代理アクセスを行うべきHTTPリクエストであることを判別できる。
行番号“2”の記述“Host:aaa.bbb.co.jp”は、クライアント30がアクセスしようとする変換サーバ100のFQDNを指定するものである。
行番号“3”の記述“USER−AGENT:mobile”は、クライアント30の機種を識別するための識別情報(クライアント種別)を指定するものである。ここでは、クライアント30として携帯型の電子装置を想定しているため、それを示す“mobile”という情報が設定されている。タブレット型の電子装置であるクライアント40であれば、例えば“tablet”などのように機種を識別できる情報が設定される。なお、画面の大きさや利用しているブラウザ、OSおよびユーザなどを“USER−AGENT”に設定する情報により識別することもできる。
図6は、記憶部に記憶されるデータ例を示す図である。記憶部110が記憶するデータには、元HTMLテーブル111、デフォルト変換ルール情報112、個別変換ルール情報113および共有キャッシュ114が含まれる。
元HTMLテーブル111は、アクセス制御部120がWebサーバ200から取得したオリジナルのHTMLファイルを格納するためのテーブルである。
デフォルト変換ルール情報112は、複数のHTMLファイルに対して共通に適用するルールを定義したデータである。当該ルールをデフォルト変換ルールと呼ぶことがある。また、デフォルト変換ルールに基づくHTMLファイルの変換をデフォルト変換と呼ぶことがある。デフォルト変換ルール情報112は、アクセス制御部120におけるHTML変換用のモジュールに組み込まれていてもよい。例えば、デフォルト変換ルール情報112は、適用するスタイルシートやJAVASCRIPT(登録商標)のファイルを指定する情報である。デフォルト変換ルール情報112は、クライアント種別ごとに登録することができる。
個別変換ルール情報113は、オリジナルのHTMLファイルごとの変換ルールを登録したものである。個別変換ルール情報113は、クライアント種別ごとに登録することができる。個別変換ルール情報113には、画面変換ルールテーブル113aおよび部品変換ルールテーブル113bが含まれる。
画面変換ルールテーブル113aは、1つのHTMLファイルに対応する画面単位での変換ルールを定義したものである。
部品変換ルールテーブル113bは、1つのHTMLファイルに含まれる1つの画面部品単位での変換ルールを定義したものである。
共有キャッシュ114は、Webサーバ200が配信する画像などのコンテンツや、スタイルシートやJAVASCRIPTなどのファイルの集合である。各ファイルは、例えば、WebサーバのURLごとに管理される。変換サーバ100は、クライアント30からWebサーバ200に対するリクエストを受信したとき、Webサーバ200の代わりに共有キャッシュ114からデータを取得して、代理で応答することで、応答時間の短縮化を図れる。
図7は、元HTMLテーブルの例を示す図である。元HTMLテーブル111は、コンテンツID(IDentifier)およびHTMLファイルの項目を含む。
コンテンツIDの項目には、HTMLファイルを識別するための識別情報が登録される。HTMLファイルの項目には、HTMLファイルのデータ本体が登録される。なお、図7では、当該データ本体をHTMLファイルのファイル名(括弧記号で括ったもの)で示している。
例えば、元HTMLテーブル111には、コンテンツIDが“コンテンツX1”、HTMLファイルが“(search.html)”という情報が登録されている。
図8は、画面変換ルールテーブルの例を示す図である。画面変換ルールテーブル113aは、端末種別、コンテンツID、デフォルト変換対象、テーマ、画面スキップおよびスキップ時リクエストの項目を含む。
端末種別の項目には、クライアント装置の種別を示す情報が登録される。コンテンツIDの項目には、HTMLファイルを識別するための識別情報が登録される。デフォルト変換対象の項目には、デフォルト変換を行うか否かを示すフラグが登録される。フラグが“true”であればデフォルト変換の対象である。フラグが“false”であればデフォルト変換の対象でない。テーマの項目には、予め定められた色調などのテーマを指定するための情報が登録される。画面スキップの項目には、当該HTMLファイルに対応する画面をスキップするか否かを示すフラグが登録される。フラグが“true”であればスキップする。フラグが“false”であればスキップしない。スキップ時リクエストの項目には、画面スキップをする場合に、次の画面へアクセスするためのリクエストが登録される。画面スキップをしない場合には、設定なしとなる。
例えば、画面変換ルールテーブル113aには、端末種別が“mobile”、コンテンツIDが“コンテンツX1”、デフォルト変換対象が“true”、テーマが“テーマ1”、画面スキップが“false”、スキップ時リクエストが“−”という情報が登録されている。
これは、端末種別“mobile”のクライアント装置に“コンテンツX1”で示されるHTMLファイルを提供するとき、デフォルト変換を行うこと、“テーマ1”で指定されるテーマを適用すること、画面スキップを行わないことを示している。なお、“テーマ1”などの文字列に対応するテーマの具体的な内容(スタイルシートなど)は、変換サーバ100に予め与えられる。
また、例えば、画面変換ルールテーブル113aには、端末種別が“tablet”、コンテンツIDが“コンテンツX1”、デフォルト変換対象が“false”、テーマが設定なし“−”(ハイフン)、画面スキップが“true”、スキップ時リクエストが“POST menu_id=0002”という情報が登録されている。
これは、端末種別“tablet”のクライアント装置に“コンテンツX1”で示されるHTMLファイルを提供するとき、デフォルト変換を行わないこと、適用するテーマがないこと、画面スキップを行うこと、次にWebサーバ200に送信するリクエストを“menu_id=0002”を含むPOSTリクエストとすることを示している。
なお、画面スキップを行う場合、当該HTMLファイルのクライアント装置への提供は行わない。このため、画面スキップが“true”である場合には、デフォルト変換対象やテーマの設定は無効となる。
図9は、部品変換ルールテーブルの例を示す図である。部品変換ルールテーブル113bは、端末種別、コンテンツID、タグID、タグ種別、ルールタイプ、属性、属性値、変更前文字列、変更後文字列および変換フラグの項目を含む。
端末種別の項目には、クライアント装置の種別を示す情報が登録される。コンテンツIDの項目には、HTMLファイルを識別するための識別情報が登録される。タグIDの項目には、HTMLファイルに含まれるタグのタグIDが登録される。タグIDは、変換対象の画面部品を識別するための情報として用いることができる。タグ種別の項目には、当該タグで示される画面部品がどのようなフォームであるかを示す情報が登録される。
ルールタイプの項目には、当該レコードで示される変換ルールのタイプを示す情報が登録される。ルールタイプは、例えば、“0”、“4”、“6”などの数値で表される。例えば、ルールタイプ“0”はタブの削除である。ルールタイプ“4”は属性の変更である。ルールタイプ“6”はフォームに登録された文字列の置換である。それ以外にも、フォームの配置変更や変換なし(何もしない)ことを示すルールタイプなどが含まれる。
属性の項目には、ルールタイプが“4”である場合に、変更対象とする属性を示す情報が登録される。属性値の項目には、ルールタイプが“4”である場合に、変更対象とする属性に設定する属性値が登録される。
変更前文字列の項目には、ルールタイプが“6”である場合に、変更前の文字列が登録される。変更後文字列の項目には、ルールタイプが“6”である場合に、変更後の文字列が登録される。変換フラグの項目には、部品単位の個別変換を行うか否かを示すフラグが設定される。フラグ“true”の場合、部品単位の個別変換を行う。フラグ“false”の場合、部品単位の個別変換を行わない。
例えば、部品変換ルールテーブル113bには、端末種別が“mobile”、コンテンツIDが“コンテンツX1”、タグIDが“in1”、タグ種別が“input”、ルールタイプが“4”、属性が“style”、属性値が“font−size:25px;color:blue;”、変更前文字列が“−”、変更後文字列が“−”、変換フラグが“true”という情報が登録される。
これは、端末種別が“mobile”のクライアント装置に“コンテンツX1”で示されるHTMLファイルを提供するとき、タグID“in1”で示されるタグに適用する部品単位の個別変換ルールを示す。タグ種別“input”は、当該タグが入力用のフォームであることを示す。ルールタイプ“4”、属性“style”および属性値“font−size:25px;color:blue;”は、当該タグに含まれる属性“style”に当該属性値を設定することを示す。なお、ルールタイプ“4”では、変更前文字列および変更後文字列は設定なし“−”となる。また、変換フラグ“true”であり、当該レコードに基づく個別変換が有効になっており、当該画面部品について個別変換を行う設定である。
また、例えば、部品変換ルールテーブル113bには、タグID“in1”のレコードについて、属性“clear”、属性値“true”も設定されている。これは、上記のstyle属性に加えてclear属性についても設定を行うことを示す。このように、1つのタグに対し、複数の属性を指定して、各属性につき属性値の設定内容を定義することもできる。
また、例えば、部品変換ルールテーブル113bには、タグID“in2”のレコードについて、ルールタイプ“0”が設定されている。これは、当該タグID“in2”で示されるタグを削除することを示す。
また、例えば、部品変換ルールテーブル113bには、タグID“bt1”のレコードについて、変換フラグ“false”が登録されている。これは、当該レコードに基づく個別変換が無効になっており、当該画面部品については個別変換を行わない設定である。
また、例えば、部品変換ルールテーブル113bには、タグIDが“se1”のレコードについて、タグ種別が“selection”、ルールタイプが“6”、変更前文字列が“長い文字列の選択項目”、変更後文字列が“項目”という情報が登録されている。タグ種別“selection”は、当該タグが項目値の選択用のフォームであることを示す。ルールタイプ“6”、変更前文字列“長い文字列の選択項目”および変更後文字列“項目”は、当該タグに含まれる選択項目値“長い文字列の選択項目”を“項目”に置換することを示す。
図10は、オリジナルのHTMLファイルの例を示す図である。図10(A)はHTMLファイル60を例示している。HTMLファイル60は、Webサーバ200が配信するオリジナルのHTMLファイルである。以下、HTMLファイル60に便宜的に付した行番号を用いてその内容を説明する。
行番号“1”〜“16”は、htmlタグで囲われた部分であり、HTML文書の定義内容を示している。
行番号“2”〜“4”は、headタグで囲われた部分であり、HTML文書のヘッダの定義内容を示している。行番号“3”には、タイトル(titleタグで囲われた部分)“コンテンツX1”が記述されている。HTMLファイル60の識別情報として当該タイトルを利用できる。例えば、divタグによって指定される情報などを識別情報として利用してもよい。
行番号“5”〜“15”は、bodyタグで囲われた部分であり、HTML文書の本文の定義内容を示している。行番号“6”〜“8”は、inputタグを用いてテキストを入力するためのテキストボックスを定義している(type=“text”)。例えば、行番号“6”でいえば、初期値(value)として“設定値1”が、タグID(id)として“in1”が設定されている。また、行番号“9”は、inputタグを用いて押下操作の入力を受け付けるためのボタンを定義している(type=“button”)。
更に、行番号“10”〜“14”は、selectタグを用いて、プルダウンによる項目値を選択入力するための選択フォームを定義している(type=“select”)。タグID(id)として“se1”が、選択させる項目値(value)として、“1”が設定されている。また、項目値の表示として、“長い文字列の選択項目1”などが定義されている。
図10(B)はHTMLファイル60に対応する画面70を例示している。画面70は、テキストボックス71,72,73、ボタン74および選択フォーム75を含む。各画面部品とHTMLファイル60との対応関係は次の通りである。テキストボックス71は、行番号“6”に対応する画面部品である。テキストボックス72は、行番号“7”に対応する画面部品である。テキストボックス73は、行番号“8”に対応する画面部品である。ボタン74は、行番号“9”に対応する画面部品である。選択フォーム75は、行番号“10”〜“14”に対応する画面部品である。
図11は、デフォルト変換後のHTMLファイルの例を示す図である。図11(A)はHTMLファイル61を例示している。HTMLファイル61は、HTMLファイル60に対するデフォルト変換(第1段階の変換)後のHTMLファイルである。以下、HTMLファイルに便宜的に付した行番号を用いてその内容を説明する。
行番号“1”〜“19”は、htmlタグで囲われた部分であり、HTML文書の定義内容を示している。
行番号“2”〜“7”は、headタグで囲われた部分であり、HTML文書のヘッダの定義内容を示している。行番号“3”は、Webブラウザに与えるメタ情報を定義している。行番号“4”は、HTMLファイル61のタイトル“コンテンツX1”を定義している。タイトルはHTMLファイル60と同一である。行番号“5”、“6”は、適用するデフォルト変換ルールを指定している。ここで指定されている“bsc.css”や“bsc.js”はデフォルト変換ルール情報112の一例である。
行番号“8”〜“18”は、HTMLファイル60の行番号“5”〜“15”と同一である。
図11(B)はHTMLファイル61に対応する画面80を例示している。画面80は、テキストボックス81,82,83、ボタン84および選択フォーム85を含む。各画面部品とHTMLファイル61との対応関係は次の通りである。テキストボックス81は、行番号“9”に対応する画面部品である。テキストボックス82は、行番号“10”に対応する画面部品である。テキストボックス83は、行番号“11”に対応する画面部品である。ボタン84は、行番号“12”に対応する画面部品である。選択フォーム85は、行番号“13”〜“17”に対応する画面部品である。
ここで、画面70,80を比較すると、画面80の各画面部品は、画面70の各画面部品に比べて、横幅が縮小され、縦幅が拡大されている。また、画面80の各画面部品は、画面70の各画面部品に比べて、丸みを帯びた形状となっている。更に、ボタン84や選択フォーム85は、ボタン74および選択フォーム75のデザインから変更されている。
これらの変更は、上述のデフォルト変換ルールによる変更内容を反映したものである。
図12は、個別変換後のHTMLファイルの例を示す図である。図12(A)はHTMLファイル62を例示している。HTMLファイル62は、HTMLファイル61に対する個別変換(第2段階の変換)後のHTMLファイルである。以下、HTMLファイルに便宜的に付した行番号を用いてその内容を説明する。
行番号“1”〜“18”は、htmlタグで囲われた部分であり、HTML文書の定義内容を示している。
行番号“2”〜“7”は、HTMLファイル61の行番号“2”〜“7”と同一である。
行番号“8”〜“17”は、bodyタグで囲われた部分であり、HTML文書の本文の定義内容を示している。行番号“9”〜“11”は、inputタグを用いてテキストを入力するためのテキストボックスを定義している(type=“text”)。例えば、行番号“9”でいえば、初期値(value)として“設定値1”が、タグID(id)として“in1”が設定されている。また、スタイル属性(style)として“font−size:25px;color:blue;”が設定されている。更に、クリア属性として“true”が設定されている。
行番号“12”〜“16”は、selectタグを用いて、プルダウンによる項目値を選択入力するための選択フォームを定義している。HTMLファイル60の行番号“10”〜“14”と比較すると、項目値の表示が“項目1”などのように短縮されている。
図12(B)はHTMLファイル62に対応する画面90を例示している。画面90は、テキストボックス91、ボタン92および選択フォーム93を含む。各画面部品とHTMLファイル62との対応関係は次の通りである。テキストボックス91は、行番号“9”に対応する画面部品である。ボタン92は、行番号“11”に対応する画面部品である。選択フォーム93は、行番号“12”〜“16”に対応する画面部品である。
ここで、テキストボックス81,91を比較すると、テキストボックス91は、テキストボックス81に比べて縦幅が更に広がり、表示するフォントサイズが大きくなっている。また、テキストボックス91には、表示されている入力値を削除するためのクリアアイコン91aが追加されている。例えば、ユーザは、ポインタなどでクリアアイコン91aを選択することで、テキストボックス91に表示されている入力を削除できる。
また、ボタン84,92を比較すると、ボタン92には、チェックアイコン92aが追加されている。当該チェックアイコン92aにより、ユーザの注意を引きつけ、当該ボタン92により入力値を確定できることを印象付けることができる。
更に、選択フォーム85,93を比較すると、選択フォーム93には、短い文字列が選択項目として表示されている。このようにすれば、小さな画面でも一画面内に選択項目を収めることができ、長い選択項目を表示させる場合に比べて見易さを向上し得る。
なお、画面90には、テキストボックス82,83に相当する画面部品が含まれていない。これは、テキストボックス82に対応するタグがHTMLファイル62では削除されているためである。また、HTMLファイル62の行番号“10”において、テキストボックス83に相当する画面部品を非表示に設定しているからである。
図13は、個別変換ルール登録画面の例を示す図である。個別変換ルール登録画面400は、管理端末装置300が内蔵するディスプレイ(または、管理端末装置300と接続されたディスプレイ)に表示される。
例えば、ルール生成部130は、記憶部110に記憶された元HTMLテーブル111に基づいて、変換ルールを設定可能なコンテンツ(元HTMLファイル)のリストを管理端末装置300に提供する。例えば、リストをHTMLファイル形式で提供すれば、管理端末装置300が備えるWebブラウザを用いて当該リストを管理端末装置300が内蔵する(または外付けの)ディスプレイなどに表示させることができる。管理端末装置300は、管理者による当該リストに対する何れかのコンテンツの選択を受け付けると、選択内容をルール生成部130に送信する。
すると、ルール生成部130は、選択されたコンテンツについて個別変換ルール登録画面400を生成するためのHTMLファイルを管理端末装置300に提供する。管理端末装置300が備えるWebブラウザは、当該HTMLファイルに基づいて、管理端末装置300が内蔵するディスプレイなどに個別変換ルール登録画面400を表示させることができる。
個別変換ルール登録画面400は、画面変換ボタン401、部品変換ボタン402、削除ボタン403、復元ボタン404、対象外ボタン405、対象化ボタン406、対象リストボタン407、プレビューボタン408、適用ボタン409、リセットボタン410、閉じるボタン411、オリジナル画面表示領域420および個別変換後画面表示領域430を含む。管理者は、管理端末装置300に接続された入力デバイスを用いてポインタPを操作して、各ボタンを押下したり、領域内の特定の項目を選択したりできる。管理端末装置300は、個別変換ルール登録画面400に対する操作内容をルール生成部130に送信する。
画面変換ボタン401は、画面単位変換ルール設定画面を表示させるためのボタンである。画面単位変換ルール設定画面とは、オリジナル画面表示領域420に表示中のHTMLファイルに対する画面単位変換ルールの設定を支援する画面である。例えば、ルール生成部130は、画面変換ボタン401の押下入力を受け付けると、オリジナル画面表示領域420に表示されたコンテンツに対する画面単位変換ルール設定画面を生成するためのHTMLファイルを管理端末装置300に提供する。
部品変換ボタン402は、部品単位変換ルール設定画面を表示させるためのボタンである。部品単位変換ルール設定画面とは、オリジナル画面表示領域420で選択された画面部品に対する部品単位変換ルールの設定を支援する画面である。例えば、オリジナル画面表示領域420で設定対象の画面部品が選択された後に、部品変換ボタン402を押下操作されると、当該選択された画面部品に対する部品単位変換ルール設定画面を表示させることができる。例えば、ルール生成部130は、部品変換ボタン402の押下入力を受け付けると、部品単位変換ルール設定画面を生成するためのHTMLファイルを管理端末装置300に提供する。
削除ボタン403は、オリジナル画面表示領域420で選択された画面部品を削除するルールを登録するためのボタンである。ルール生成部130は、削除ボタン403の押下入力を受け付けると、部品変換ルールテーブル113bの当該画面部品に対応するタグIDについてルールタイプ“0”(削除)を仮登録する。
ここで、仮登録とは、部品変換ルールテーブル113bを直接書き換えずに、記憶部110の所定の記憶領域に対して、部品変換ルールテーブル113bの該当レコードに対する変更内容のみを記録しておくことを意味する(以下、同様)。
復元ボタン404は、オリジナル画面表示領域420で選択された画面部品を削除するルールを取り消す(復元する)ためのボタンである。ルール生成部130は、復元ボタン404の押下入力を受け付けると、部品変換ルールテーブル113bの当該タグIDについて、変換を行わないことを示すルールタイプ(例えば“1”など)を仮登録する。
対象外ボタン405は、オリジナル画面表示領域420で選択された画面部品に対して、部品単位変換ルールを適用しないように設定するためのボタンである。ルール生成部130は、対象外ボタン405の押下入力を受け付けると、部品変換ルールテーブル113bの当該画面部品に対応するタグIDについて変換フラグ“false”を仮登録する。
対象化ボタン406は、オリジナル画面表示領域420で選択された画面部品が部品単位変換ルールの適用対象外に設定されている場合に、当該設定を解除して、部品単位変換ルールの適用対象とするためのボタンである。ルール生成部130は、対象化ボタン406の押下入力を受け付けると、部品変換ルールテーブル113bの当該画面部品に対応するタグIDについて変換フラグ“true”を仮登録する。
対象リストボタン407は、オリジナル画面表示領域420に表示されている各画面部品のうち、部品単位変換ルールの適用対象となっているもののリストを表示するためのボタンである。
プレビューボタン408は、仮登録されている個別変換ルールも含めて、現在有効となっている変換ルールを元HTMLファイルに適用した場合の画面を、個別変換後画面表示領域430に表示させるためのボタンである。プレビューボタン408の押下操作を受け付けた場合のルール生成部130の処理の詳細は後述する。
適用ボタン409は、仮登録されている設定変更の内容を部品変換ルールテーブル113bに反映させるためのボタンである。ルール生成部130は、適用ボタン409の押下入力を受け付けると、仮登録されている設定変更の内容を部品変換ルールテーブル113bに反映させる。これにより、部品変換ルールテーブル113bが更新される。また、仮登録されている個別変換ルールのうち、部品変換ルールテーブル113bに反映済であるものは記憶部110の仮登録用の記憶領域から消去される。
リセットボタン410は、仮登録されている個別変換ルールのデータを消去するためのボタンである。ルール生成部130は、リセットボタン410の押下入力を受け付けると、仮登録されている個別変換ルールのデータを消去する。
閉じるボタン411は、個別変換ルール登録画面400を閉じて、個別変換ルールの作成を終了するためのボタンである。
オリジナル画面表示領域420は、元HTMLファイルに応じた画面を表示するための領域である。個別変換ルール登録画面400では、「個人情報検索」の画面が表示されている。
オリジナル画面表示領域420は、テキストボックス421,422,425、選択フォーム423、チェックボックス424、検索ボタン426およびクリアボタン427を含む。
テキストボックス421は、検索キーとする名前を入力するためのフォームである。テキストボックス422は、検索キーとする従業員番号を入力するためのフォームである。選択フォーム423は、検索キーとする所属を選択入力するためのフォームである。チェックボックス424は、選択フォーム423で選択された所属の下位組織を検索対象に含めるか否かを設定するためのフォームである。テキストボックス425は、検索キーとする連絡先を入力するためのフォームである。
検索ボタン426は、オリジナル画面表示領域420の各フォームに入力された検索キーを用いて検索を実行させるためのボタン(ボタンもフォームに含まれる)である。クリアボタン427は、オリジナル画面表示領域420の各フォームに入力された内容を全て消去するためのボタンである。
ただし、これらのフォームが機能するのは、クライアント30上のWebブラウザで当該オリジナルの画面を操作するときであって、個別変換ルール登録画面400上では、各フォームを選択できるのみである。具体的には、ポインタPにより、何れかのフォームを選択すると、選択されたフォームがカーソルC1で囲われる。個別変換ルール登録画面400では、テキストボックス425が選択された場合が例示されている。例えば、テキストボックス425が選択された状態で、削除ボタン403を押下操作すると、テキストボックス425を削除するような個別変換ルールを作成できる。
個別変換後画面表示領域430は、元HTMLファイルに対して現在有効な変換ルールを適用した場合の個別変換後画面を表示するための領域である。個別変換ルール登録画面400では、「個人情報検索」の画面が表示されている。これは、オリジナル画面表示領域420に表示されている「個人情報検索」の画面に対応するものである。
個別変換後画面表示領域430は、テキストボックス431,432、選択フォーム433および検索ボタン434を含む。
テキストボックス431は、検索キーとする名前を入力するためのフォームである。テキストボックス422は、検索キーとする従業員番号を入力するためのフォームである。選択フォーム433は、検索キーとする所属を選択入力するためのフォームである。検索ボタン434は、個別変換後画面表示領域430の各フォームに入力された検索キーを用いて検索を実行させるためのボタンである。
オリジナル画面表示領域420と同様に、これらのフォームが機能するのは、クライアント30上のWebブラウザで当該個別変換後の画面を操作するときであって、個別変換ルール登録画面400上では各フォームを閲覧できるのみである。ただし、テキストの入力やプルダウンで選択可能な項目などの確認を行うことは可能である。
ここで、個別変換後画面表示領域430では、テキストボックス425およびクリアボタン427に対応するフォームが存在しない。これらのフォームは個別変換ルールにより削除されたからである。また、個別変換後画面表示領域430では、チェックボックス424に対応するフォームが存在しない。個別変換ルールにより、チェックボックス424はオンに固定されたからである。その旨を示すメッセージM(“※下位組織は検索されません”)を個別変換後の画面に表示させてもよい。
なお、変換対象の画面部品の選択をオリジナル画面表示領域420で行うものとしたが、個別変換後画面表示領域430に表示された画面部品を選択することで、変換対象の画面部品を選択可能としてもよい。
図14は、画面変換ルール設定画面の例を示す図である。画面変換ルール設定画面500は、画面変換ボタン401が押下された際に新たに表示されるウィンドウである。画面変換ルール設定画面500は、チェックボックス501,503、選択フォーム502、テキストボックス504、決定ボタン505および戻すボタン506を有する。
チェックボックス501は、デフォルト変換の対象とするか否かを設定するためのフォームである。チェックマークが入力されている場合は、デフォルト変換の対象とすることを示す。チェックマークが入力されていない場合は、デフォルト変換の対象としないことを示す。ルール生成部130は、チェックボックス501にチェックマークが入力された状態で決定ボタン505が押下入力されると、画面変換ルールテーブル113aのデフォルト変換対象の項目について“true”を仮登録する。一方、チェックボックス501にチェックマークが入力されていない状態で決定ボタン505が押下入力されると、当該項目について“false”を仮登録する。
選択フォーム502は、テーマを選択するためのフォームである。ルール生成部130は、何れかのテーマが選択された状態で決定ボタン505が押下入力されると、画面変換ルールテーブル113aのテーマの項目について選択されたテーマに仮登録する。
チェックボックス503は、画面スキップの対象とするか否かを設定するためのフォームである。チェックマークが入力されている場合は、画面スキップの対象とすることを示す。チェックマークが入力されていない場合は、画面スキップの対象としないことを示す。ルール生成部130は、チェックボックス503にチェックマークが入力された状態で決定ボタン505が押下入力されると、画面変換ルールテーブル113aの画面スキップの項目について“true”を仮登録する。一方、チェックボックス503にチェックマークが入力されていない状態で決定ボタン505が押下入力されると、当該項目について“false”を仮登録する。
テキストボックス504は、画面スキップの対象である場合に、Webサーバ200に送信するリクエストの内容を入力するためのフォームである。ルール生成部130は、決定ボタン505の押下入力を受け付けると、画面変換ルールテーブル113aのスキップ時リクエストの項目について、テキストボックス504に設定された内容を仮登録する。当該項目には、前述のPOSTリクエストの内容や、次にアクセスするURLなどを設定することができる。どのような値を設定するかは、業務システムなどに応じて決定する。
決定ボタン505は、画面変換ルール設定画面500の各フォームに入力された内容を仮登録するためのボタンである。
戻すボタン506は、画面変換ルール設定画面500の各フォームに入力された内容を、画面変換ボタン401が前回押下された状態の直後の状態に戻すためのボタンである。
図15は、部品変換ルール設定画面の例を示す図である。部品変換ルール設定画面600は、チェックボックス601,602,608,609,610、テキストボックス603,604,605,607、選択フォーム606、決定ボタン611および戻すボタン612を有する。
チェックボックス601は、選択中の画面部品について、部品単位の個別変換の対象とするか否かを設定するためのフォームである。チェックマークが入力されている場合は、デフォルト変換の対象とすることを示す。チェックマークが入力されていない場合は、デフォルト変換の対象としないことを示す。例えば、ルール生成部130は、チェックボックス601にチェックマークが入力された状態で決定ボタン611が押下入力されると、部品変換ルールテーブル113bの変換フラグの項目について“true”を仮登録する。一方、チェックボックス601にチェックマークが入力されていない状態で決定ボタン611が押下入力されると、当該項目について“false”を仮登録する。
チェックボックス602は、選択中の画面部品について、非表示とするか否かを設定するためのボタンである。チェックマークが入力されている場合は、非表示とすることを示す。チェックマークが入力されていない場合は、非表示としないことを示す。例えば、ルール生成部130は、チェックボックス602にチェックマークが入力された状態で決定ボタン611が押下入力されると、部品変換ルールテーブル113bのルールタイプに“4”を、属性に“style”を、属性値に“display:none”を仮登録する。フォームを非表示とするために他の属性/属性値を用いてもよい。一方、チェックボックス602にチェックマークが入力されていない状態で決定ボタン611が押下入力されると、当該属性値の設定をクリアする旨を仮登録する。
テキストボックス603は、選択中の画面部品内に表示するフォントのフォントサイズを入力するためのフォームである。例えば、ルール生成部130はテキストボックス603に数値が入力された状態で決定ボタン611が押下入力されると、部品変換ルールテーブル113bのルールタイプに“4”を、属性に“style”を、属性値に“font−size:(入力された数値)px”を仮登録する。一方、テキストボックス603に数値が入力されていない状態で決定ボタン611が押下入力されると、当該属性値の設定をクリアする旨を仮登録する。この場合は、デフォルトのフォントサイズとなる。
以下、各フォームの設定内容に対するルール生成部130の処理は、チェックボックス601,602およびテキストボックス603などと同様である(各設定内容に応じてHTMLにおける所定の設定を行う)。このため、以下のフォームについては、具体的な属性値などの説明を省略する。
テキストボックス604は、選択中の画面部品の横幅を設定するためのフォームである。テキストボックス605は、選択中の画面部品の高さを設定するためのフォームである。選択フォーム606は、選択中の画面部品の色を設定するためのフォームである。テキストボックス607は、選択中の画面部品に最初から入力しておく値を設定するためのフォームである。
チェックボックス608は、テキストボックス607に設定された初期値を固定(変更不可)にするか否かを設定するためのフォームである。チェックボックス608にチェックマークが入力されている場合は、固定(変更不可)にすることを示す。一方、チェックマークが入力されていない場合は、固定にしない(変更可能)ことを示す。
チェックボックス609は、選択中の画面部品にチェックマーク(チェックアイコン92aに相当)を表示させるか否かを設定するためのフォームである。チェックボックス609にチェックマークが入力されている場合は、画面部品内にチェックマークを表示させることを示す。一方、チェックマークが入力されていない場合は、画面部品内にチェックマークを表示させないことを示す。
チェックボックス610は、選択中の画面部品について、クリア機能を利用可能とするか否かを設定するためのフォームである。クリア機能とは、前述のクリアアイコン91aを用いて、当該画面部品内の文字列の一括削除を行えるようにする機能である。チェックボックス610にチェックマークが入力されている場合は、クリア機能を利用することを示す。チェックボックス610にチェックマークが入力されていない場合は、クリア機能を利用しないことを示す。
決定ボタン611は、部品変換ルール設定画面600の各フォームに入力された内容を仮登録するためのボタンである。
戻すボタン612は、部品変換ルール設定画面600の各フォームに入力された内容を、部品変換ボタン402が前回押下された状態の直後の状態に戻すためのボタンである。
なお、部品変換ルール設定画面600では、予め設定可能な属性に対して設定値を入力するためのフォームを用意するものとしたが、任意の属性および当該任意の属性に対する設定値の入力や当該任意の属性の削除の入力を許容してもよい。例えば、任意の属性を選択または新規入力するためのフォームと、当該任意の属性に対する設定値を入力するためのフォームとを設けてもよい。また、設定済の任意の属性を削除するためのフォームを設けてもよい。このようにすれば、任意の属性の追加や削除を事後的に行えることとなり、部品変換ルールの設定をより柔軟に行えるようになる。
次に、以上の構成の変換サーバ100の処理手順を説明する。まず、変換サーバ100がクライアント30からHTTPリクエストを受信した場合の処理手順を説明する。
図16は、クライアントとの間の処理の例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
(ステップS11)アクセス制御部120は、クライアント30からHTTPリクエストを受信する。なお、ステップS11で受信するHTTPリクエストには、図5(A)および図5(B)で説明したように、直接のアクセス先として変換サーバ100が指定され、最終的なアクセス先としてWebサーバ200が指定されているものとする。
(ステップS12)アクセス制御部120は、HTTPリクエストに含まれる“USER−AGENT”の設定を参照して、クライアント30のクライアント種別をチェックする。
(ステップS13)アクセス制御部120は、Webサーバ200へアクセスするようにHTTPリクエストの宛先を置換する。HTTPリクエスト52を受信した場合の例でいえば、行番号“1”の内容を“GET /index.html HTTP/1.1”に置換し、行番号2の内容を“HOST:xxx.yyy.co.jp”に置換する。
(ステップS14)アクセス制御部120は、置換後のHTTPリクエストに対して、設定すべき送信パラメータがある場合には、送信パラメータを設定する。置換後のHTTPリクエストに設定すべき送信パラメータは、例えば、宛先のWebサーバごとに変換サーバ100に予め与えられる。
(ステップS15)アクセス制御部120は、当該HTTPリクエストに対して、共有キャッシュ114に格納されたファイルから応答可能であるか否かを判定する。共有キャッシュ114から応答可能である場合、処理をステップS16に進める。共有キャッシュ114から応答不可である場合、処理をステップS18に進める。例えば、共有キャッシュ114に格納されたファイルから応答可能であるか否かは、HTTPリクエストで指定されるファイルの形式を参照することで行える。具体的には、指定されるファイルの形式がキャッシュ対象のファイル形式(.jpg、.css、.jspなど)であれば、共有キャッシュ114から応答可能であると判定する。これらのファイル形式に該当しない場合には、共有キャッシュ114から応答不可であると判定する。
(ステップS16)アクセス制御部120は、HTTPリクエストで指定されたデータが共有キャッシュ114内にあるか否かを判定する。当該データが共有キャッシュ114内にある場合、処理をステップS17に進める。当該データが共有キャッシュ114内にない場合、処理をステップS18に進める。
(ステップS17)アクセス制御部120は、HTTPリクエストで指定されたデータを共有キャッシュ114から取得してクライアント30に応答する。そして、処理を終了する。
(ステップS18)アクセス制御部120は、Webサーバ200へ代理でアクセスし、Webサーバ200へのアクセス結果に基づいて、クライアント30からのHTTPリクエストに対して応答する。
このようにして、変換サーバ100は、クライアント30から受信したHTTPリクエストに対してキャッシュ応答可能な場合には、Webサーバ200へアクセスせずに当該HTTPリクエストに対してキャッシュ応答することで、応答性能を向上する。一方、キャッシュ応答しない場合には、Webサーバ200へ代理アクセスする。次に、ステップS18の処理を具体的に説明する。
図17は、Webサーバへアクセスする場合の例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(ステップS21)アクセス制御部120は、Webサーバ200に送信するためのHTTPリクエストのヘッダを設定し、当該HTTPリクエストを生成する。
(ステップS22)アクセス制御部120は、生成したHTTPリクエストをWebサーバ200に送信する。
(ステップS23)アクセス制御部120は、ステップS22で送信したHTTPリクエストに対するレスポンスをWebサーバ200から受信する。
(ステップS24)アクセス制御部120は、受信したレスポンスに含まれるデータにキャッシュ対象のファイル形式のものが含まれる場合には、当該データをHTTPリクエストのURLに対応付けて、共有キャッシュ114に格納する。なお、キャッシュ対象のファイル形式のものが含まれない場合には、当該ステップS24をスキップして、ステップS25に進める。
(ステップS25)アクセス制御部120は、受信したレスポンスが未取得のHTMLファイルであるか否かを判定する。未取得のHTMLファイルである場合、処理をステップS26に進める。取得済みのHTMLファイルである場合、処理をステップS27に進める。アクセス制御部120は、Webサーバ200から取得したHTMLファイルのtitleタグの設定内容などから当該HTMLファイルのコンテンツIDを取得することで、未取得であるか否かを判定できる。当該コンテンツIDが元HTMLテーブル111に登録済であれば、当該HTMLファイルを取得済である。当該コンテンツIDが元HTMLテーブル111に未登録であれば、当該HTMLファイルを未取得である。
(ステップS26)アクセス制御部120は、Webサーバ200から取得したHTMLファイルを、コンテンツIDに対応付けて、元HTMLテーブル111に登録する。
(ステップS27)アクセス制御部120は、デフォルト変換ルール情報112および個別変換ルール情報113に基づいて、HTML変換を行う。詳細は後述する。
(ステップS28)アクセス制御部120は、Webサーバ200から受信したレスポンスに含まれるアドレスを置換することで、クライアント30からのHTTPリクエストに対するレスポンスを生成する。当該レスポンスに含まれるHTMLファイルは、ステップS27におけるHTML変換処理後のHTMLファイルである。
(ステップS29)アクセス制御部120は、アドレス置換後のレスポンスをクライアント30に送信する。
このようにして、変換サーバ100は、Webサーバ200に代理でアクセスし、Webサーバ200からの応答に基づいて、クライアント30に応答する。次に、ステップS27の処理を具体的に説明する。
図18は、HTML変換の例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
(ステップS31)アクセス制御部120は、個別変換ルール情報113に基づいて、HTTPリクエストに含まれていたクライアント種別およびWebサーバ200から取得したHTMLファイルに対応する個別変換ルールがあるか否かを判定する。個別変換ルールがある場合、処理をステップS32に進める。個別変換ルールがない場合、処理をステップS36に進める。アクセス制御部120は、画面変換ルールテーブル113aおよび部品変換ルールテーブル113bの端末種別およびコンテンツIDの項目を参照して、当該HTMLファイルに対応する個別変換ルールの有無を判定できる。具体的には、当該クライアント種別および当該HTMLファイルから取得したコンテンツIDを含むレコードが、画面変換ルールテーブル113aおよび部品変換ルールテーブル113bの少なくとも何れかに登録されている場合、個別変換ルールがあると判定する。当該レコードが両方のテーブルに登録されていない場合、個別変換ルールがないと判定する。
(ステップS32)アクセス制御部120は、当該HTMLファイルのコンテンツIDに対応する個別変換ルールを個別変換ルール情報113から取得する。例えば、クライアント種別が“mobile”かつコンテンツIDが“コンテンツX1”であれば、画面変換ルールテーブル113aから、これらを含む画面変換ルールを取得する。同様に、部品変換ルールテーブル113bからも、これらを含む複数の部品変換ルールを取得する。
(ステップS33)アクセス制御部120は、取得した個別変換ルールに基づいて、Webサーバ200から取得したHTMLファイルに対し、個別変換を行う。変換の具体的な内容は、図12で説明した通りである。
(ステップS34)アクセス制御部120は、画面変換ルールテーブル113aを参照して、当該HTMLファイルがデフォルト変換対象であるか否かを判定する。デフォルト変換対象である場合、処理をステップS35に進める。デフォルト変換対象でない場合、処理を終了する。アクセス制御部120は、画面変換ルールテーブル113aのデフォルト変換対象の項目が“true”であれば、デフォルト変換対象であると判定する。一方、当該項目が“false”であれば、デフォルト変換対象でないと判定する。
(ステップS35)アクセス制御部120は、デフォルト変換ルール情報112を参照して、個別変換後のHTMLファイルに対し、デフォルト変換を行う。ここで、画面部品につき個別に変換するようなデフォルト変換ルールが存在する場合、個別変換ルールの適用対象外の画面部品に対してのみ、デフォルト変換ルールを適用する。個別変換ルールでの変換内容が上書きされてしまうのを避けるためである。例えば、テキストボックス71に対して、個別変換ルールおよびデフォルト変換ルールの両方が存在する場合、個別変換ルールを優先して適用する。そして、処理を終了する。
(ステップS36)アクセス制御部120は、Webサーバ200が提供するWebシステムについて、デフォルト変換を行うか否かを判定する。当該Webシステムについて、デフォルト変換を行う場合、処理をステップS37に進める。当該Webシステムについて、デフォルト変換を行わない場合、処理を終了する。なお、Webサーバ200が提供するWebシステムについて、デフォルト変換を行うか否かを示す情報は、変換サーバ100に予め与えられる。
(ステップS37)アクセス制御部120は、デフォルト変換ルール情報112を参照して、Webサーバ200から取得したHTMLファイルに対してデフォルト変換を行う。
このようにして、変換サーバ100は、HTMLファイルに対して、個別変換ルールおよびデフォルト変換ルールを適用する。なお、ステップS34,S35を実行した後に、ステップS32,S33を実行してもよい。また、ステップS34では、Webサーバ200から取得したHTMLファイルに対応する画面単位の変換ルールが画面変換ルールテーブル113aに登録されていないことも考えられる。その場合、アクセス制御部120は、当該HTMLファイルをデフォルト変換の対象であると判定するように制御してもよい。
次に、個別変換ルールの作成手順を説明する。以下に示す処理手順は、管理端末装置300からのアクセスに応じて、随時実行される。
図19は、個別変換ルール作成の例を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
(ステップS41)ルール生成部130は、管理端末装置300から個別変換ルールの設定対象画面の選択を受け付ける。例えば、管理端末装置300は、ルール生成部130が提供するHTMLファイル(コンテンツID)のリストをシステムの管理者に提示する。管理者は、管理端末装置300を操作して、何れかのコンテンツIDを選択し、選択内容をルール生成部130に送信させることができる。なお、ルール生成部130は、設定対象画面の選択とともに、クライアント種別(端末種別)の選択も受け付ける。
(ステップS42)ルール生成部130は、個別変換ルール登録画面400を管理端末装置300に提供する。このとき、ルール生成部130は、コンテンツIDに対応するHTMLファイルを元HTMLテーブル111から取得し、当該HTMLファイルを管理端末装置300に送信する。管理端末装置300は、当該HTMLファイルに基づいて、個別変換ルール登録画面400のオリジナル画面表示領域420に、オリジナル画面を表示させることができる。
(ステップS43)ルール生成部130は、管理端末装置300から受信したリクエスト内容を判定する。個別変換ルールの指定を受け付けた場合、処理をステップS44に進める。プレビューの指定を受け付けた場合、処理をステップS45に進める。個別変換ルールの確定を受け付けた場合、処理をステップS47に進める。終了の指示を受け付けた場合、処理を終了する。ここで、個別変換ルールの指定を受け付けた場合とは、削除ボタン403、復元ボタン404、対象外ボタン405、対象化ボタン406および決定ボタン505,611などが押下入力された場合である。プレビューの指定を受け付けた場合とは、プレビューボタン408が押下入力された場合である。個別変換ルールの確定を受け付けた場合とは、適用ボタン409が押下入力された場合である。終了の指示を受け付けた場合とは、閉じるボタン411が押下入力された場合である。
(ステップS44)ルール生成部130は、指定された個別変換ルールを仮登録する。変換対象の画面部品の選択方法などは、図13〜図15で説明した通りである。
(ステップS45)ルール生成部130は、デフォルト変換ルール情報112、個別変換ルール情報113および仮登録された個別変換ルールに基づいて、選択されたHTMLファイルに対する変換を行う。その処理手順は、図18で説明した手順と同様である。ただし、仮登録された個別変換ルールがある場合は、個別変換ルールとして、仮登録された個別変換ルールを優先して適用する。すなわち、該当の画面部品に対しては、画面変換ルールテーブル113aや部品変換ルールテーブル113bに登録された個別変換ルールを適用しない。プレビューは、仮登録された個別変換ルールによって、表示方法がどのように変化するかを確認するための機能だからである。
(ステップS46)ルール生成部130は、変換後のHTMLファイルを管理端末装置300に送信する。管理端末装置300は、変換後のHTMLファイルに基づいて、個別変換ルール登録画面400の個別変換後画面表示領域430に、変換後の画面を表示させることができる。
(ステップS47)ルール生成部130は、仮登録された個別変換ルールの内容を、画面変換ルールテーブル113aおよび部品変換ルールテーブル113bに反映させる。このとき、選択された端末種別、コンテンツID、タグID、タグ種別およびルールタイプなどを含むレコードが、各テーブルに既に存在している場合には、ルール生成部130は当該レコードの設定を変更すればよい。一方、既存のレコードが存在しない場合には、ルール生成部130は、新たにレコードを追加すればよい。
このようにして、ルール生成部130は、オリジナル画面と個別変換ルールを適用した後の画面とを、管理端末装置300に提供する。
なお、ステップS43では、リセットボタン410の押下入力を受け付ける場合もある。その場合には、ルール生成部130は、仮登録された個別変換ルールを破棄する。また、ステップS42のタイミングで、個別変換ルールを適用後のHTMLファイルを送信してもよい。
このようにして、変換サーバ100は、複数のHTMLファイルに対して共通のルールを登録したデフォルト変換ルール情報112に対して、画面部品(HTMLファイルに含まれるタグ)ごとの個別変換ルール情報113の登録を許容する。これにより、画面情報の調整を容易に柔軟化することができる。すなわち、デフォルト変換ルール情報112を変更せずにクライアント種別およびHTMLファイルごとに画面部品などの調整を行える。このため、例えば、ある業務用の画面に対して好適なルール設定を、他の業務用の画面への影響を抑えて、柔軟に行えるようになる。
このとき、個別変換ルールの適用対象の画面部品に対しては、デフォルト変換ルールの適用を行わないように制御する。これにより、ルール適用の処理を効率化できる。例えば、2重にルールを適用すると、最初に適用したルールが次に適用したルールで更新されることになり、最初のルール適用の処理が無駄になり非効率的だからである。ただし、デフォルト変換ルールを適用した後に個別変換ルールを適用する場合に、個別変換ルールの適用対象の画面部品に対してデフォルト変換ルールを適用することを妨げるものではない。
また、従来では、ルールを適用した後のイメージを業務システムに組み込んで、実際の動作や使い勝手を確認する必要があった。これに対し、変換サーバ100では、変換前のHTMLファイルを蓄積しておくことにより、当該HTMLファイルにより個別ルール登録画面400を生成できるので、業務システムを動作させなくても、変換後の画面を確認することが可能となる。
また、変換ルールを記述するには管理者に専門的な知識が必要となるが、画面から視覚的に変換前/後を確認可能であるため、専門的な知識がなくても、容易に変換ルールの登録が可能である。
また、例えば、過去に取得したHTMLファイルを今回のリクエストに対して利用したり、過去に取得したHTMLファイルから個別変換後のHTMLファイルを予め作成しておいたりすることも考えられる。しかし、この場合、Servletなどによって動的に作成されるWebページに対する対応が容易でない。動的に作成されるWebページはリクエストの内容によって変化し得るからである。そこで、変換サーバ100は、クライアント種別およびコンテンツIDごとに個別変換ルールを登録しておき、Webサーバ200からリクエストがあるたびにHTMLファイルを取得して、個別変換を施す。このため、Servletなどによって動的に作成されるWebページについても容易に対応可能である。
なお、クライアント種別としては、端末機器の種別の他、クライアントが備えるディスプレイのサイズ、Webブラウザ、OSおよびユーザIDなどの少なくとも何れかを含んでもよい。その場合、デフォルト変換ルール情報112および個別変換ルール情報113をクライアントのWebブラウザやユーザIDごとに更に細かく登録しておくこともできる。そうすれば、クライアント種別に応じて、画面ごとの調整をより細かく行うことができる。
また、変換サーバ100は、個別変換ルール登録画面400にオリジナル画面と個別変換後の画面とを同時に表示させて確認可能とする。これにより、管理端末装置300を操作する管理者は、両者を対比しながら、個別変換ルールの作成作業を効率的に行うことができる。特に、GUIにより各画面部品を選択可能とし、チェックボックス、選択フォームおよびテキストボックスへの入力のみで個別変換ルールを登録可能である。このため、管理者による個別変換ルールの作成作業を省力化することができる。
なお、上述の機能は、コンピュータに所定のプログラムを実行させることで実現することもできる。当該プログラムは、コンピュータ読み取り可能な可搬型の記録媒体13に記録しておくことができる。当該プログラムを流通させるには、例えば、そのプログラムが記録された記録媒体13を配布する。または、そのプログラムをサーバコンピュータに格納しておき、ネットワーク経由でコンピュータに転送してもよい。コンピュータは、例えば、記録媒体13に記録されたプログラムまたはネットワークから取得したプログラムを、自装置の不揮発性の記憶媒体に格納する。そして、当該不揮発性の記憶媒体からプログラムを読み取り実行する。例えば、本発明のプログラムは、コンピュータが備えるCPUなどの演算部によって実行される。ただし、コンピュータは、取得したプログラムを、不揮発性の記憶媒体に格納せずに逐次、RAMに展開して実行することも可能である。
上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。