(57)【要約】【課題】本発明は、第１の規格のコンピュータの画面に表示される文字データを第１の規格とは整合しない第２の規格で出力し、他のコンピュータのアプリケーションに引き渡すことを可能にする。【解決手段】情報処理装置は、第１の規格のコンピュータからの情報を表示し、第１の規格のコンピュータに情報を入力する端末に代替するためのインターフェースと、第１の規格のコンピュータへの指示を第２の規格で受け付け、前記インターフェースを介して前記第１の規格のコンピュータに入力する手段と、前記第１の規格のコンピュータの画面に表示される文字データを、前記インターフェースを介して取得し、前記取得した文字データを前記第２の規格で出力する手段と、を備える。【選択図】図４
2018205931.tif 000002
【特許請求の範囲】
【請求項１】
第１の規格のコンピュータからの情報を表示し、前記第１の規格のコンピュータに情報を入力する端末に代替するためのインターフェースと、
前記第１の規格のコンピュータへの指示を第２の規格で受け付け、前記インターフェースを介して前記第１の規格のコンピュータに入力する手段と、
前記第１の規格のコンピュータの画面に表示される文字データを、前記インターフェースを介して取得し、前記取得した文字データを前記第２の規格で出力する手段と、を備える情報処理装置。
【請求項２】
前記第１の規格のコンピュータの画面上の範囲の指定とともに文字データを取得する指示を受け付け、前記第１の規格のコンピュータの画面を特定する情報と前記画面上の範囲の指定と前記画面上の指定された範囲に表示された文字データを取得する指令とを含む定義情報を出力する手段を備える請求項１に記載の情報処理装置。
【請求項３】
前記インターフェースからの情報を表示する表示装置と、
前記定義情報から前記第１の規格のコンピュータの画面を特定する情報と前記画面上の範囲を指定する情報と前記文字データを取得する指令とを取得し、前記第１の規格のコンピュータの画面を特定する情報と前記表示装置に表示される画面の特徴とが一致する場合に、前記範囲を指定する情報にしたがって前記インターフェースから前記表示装置に表示される文字データを取得する処理を実行する制御手段をさらに備える請求項２に記載の情報処理装置。
【請求項４】
前記定義情報は、複数画面間の遷移を定義する情報と前記遷移の開始画面を指定する情報と前記遷移の終了画面を指定する情報とを有し、
前記制御手段は、前記開始画面から前記終了画面までの遷移が定義された画面について前記取得する処理を実行する請求項３に記載の情報処理装置。
【請求項５】
前記第１の規格のコンピュータはメインフレームであり、前記第２の規格はオープンシステムにおいて公開された規格である請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
第１の規格の形式で情報を入出力する第１の規格のコンピュータと前記第１の規格の形式以外の形式で情報を入出力する情報処理装置とを備える情報システムであり、前記情報処理装置は、
第１の規格のコンピュータからの情報を表示し、前記第１の規格のコンピュータに情報を入力する端末に代替するためのインターフェースと、
前記第１の規格のコンピュータへの指示を第２の規格で受け付け、前記インターフェースを介して前記第１の規格のコンピュータに入力する手段と、
前記第１の規格のコンピュータの画面に表示される文字データを、前記インターフェースを介して取得し、前記取得した文字データを前記第２の規格で出力する手段と、を備える情報システム。
【請求項７】
コンピュータに、
第１の規格のコンピュータからの情報を表示し、前記第１の規格のコンピュータに情報を入力する端末に代替するためのインターフェースを形成することと、
前記第１の規格のコンピュータへの指示を第２の規格で受け付け、前記インターフェースを介して前記第１の規格のコンピュータに入力することと、
前記第１の規格のコンピュータの画面に表示される文字データを、前記インターフェースを介して取得し、前記取得した文字データを前記第２の規格で出力することと、を実行
させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報システム、及びプログラムに関する。
【背景技術】
【０００２】
メインフレームは、メーカの独自ＯＳを搭載する大型コンピュータの総称である。メインフレームは、企業、公共機関、学校等の組織の基幹業務と呼ばれる業務を支援する目的で利用されてきた。このようなメインフレームに対して、今日では、オープンシステムと呼ばれる複数ベンダの製品を組合せた情報システムも利用されるようになっている。オープンシステムは、公開されている仕様に準拠したソフトウェアやハードウェアを利用するシステムであり、異なるベンダの製品を組合せて情報システムを構築することが可能である。
【０００３】
ところで、基幹業務と呼ばれる業務は、上記に例示した組織の定型業務であることが多い。定型業務を支援する情報システムは、処理手順あるいは操作手順がある程度定まっており、更新頻度も限定され、大幅な改変も少ないと考えられる。したがって、組織を支援する情報システムがオープンシステムで構築されるようになっても、過去にメインフレーム上に構築され、基幹業務を支援する情報システムが継続して使用される場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２１６０６７号公報
【特許文献２】特開平１０−３１２３４３号公報
【特許文献３】特開２００４−３５５４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のように、メインフレームは、メーカ独自仕様のコンピュータであるため、オープンシステムと連携した処理の実現は困難となっている。例えば、端末エミュレータ機能を搭載した情報処理装置は、メインフレームの画面をディスプレイに表示し、ユーザ操作を受け付け、メインフレームに指示を送ることは可能である。つまり、メインフレームの端末の画面をメインフレーム以外のコンピュータ上でそのまま再現することは可能である。
【０００６】
しかしながら、メインフレームの画面上のデータをオープンシステム上のアプリケーションプログラムが取り扱い可能な形式に変換しオープンシステム上のアプリケーションプログラムに引き渡す仕組みは提案されていない。また、メインフレームと同様のメーカ独自仕様のコンピュータの画面上のデータをオープンシステム上のアプリケーションプログラムが取扱可能な形式に変換しオープンシステム上のアプリケーションプログラムに引き渡す仕組みは提案されていない。さらに、メーカ独自仕様のコンピュータの画面上のデータを、他メーカの他の独自仕様のコンピュータのアプリケーションに引き渡す仕組みは提案されていない。
【０００７】
本発明の目的は、第１の規格のコンピュータの画面に表示される文字データを第１の規格とは整合しない第２の規格で出力し、他のコンピュータのアプリケーションに引き渡すことを可能にすることである。
【課題を解決するための手段】
【０００８】
開示の技術の一側面は、次の情報処理装置によって例示される。本情報処理装置は、第
１の規格のコンピュータからの情報を表示し、第１の規格のコンピュータに情報を入力する端末に代替するためのインターフェースと、第１の規格のコンピュータへの指示を第２の規格で受け付け、前記インターフェースを介して前記第１の規格のコンピュータに入力する手段と、前記第１の規格のコンピュータの画面に表示される文字データを、前記インターフェースを介して取得し、前記取得した文字データを前記第２の規格で出力する手段と、を備える。
【発明の効果】
【０００９】
本情報処理装置によれば、第１の規格のコンピュータの画面に表示される文字データを第１の規格とは整合しない第２の規格で出力し、他のコンピュータのアプリケーションに引き渡すことができる。
【図面の簡単な説明】
【００１０】
【図１】情報システムの構成を例示する図である。
【図２】サーバ装置、ユーザ装置、メインフレーム等として用いられる情報処理装置のハードウェア構成を例示する図である。
【図３】画面データのデータフォーマットを例示する図である。
【図４】データフローを例示する図である。
【図５】プロパティと呼ばれる属性を例示する図である。
【図６】シナリオのデータ構造を例示する図である。
【図７】値が設定される画面の一例である。
【図８】社員番号と、パスワードが入力されたときに表示される画面例である。
【図９】変数名で指定された変数の値が画面に設定される処理例である。
【図１０】画面上で先頭位置と末尾位置で指定される範囲に表示された文字が変数に格納される処理例である。
【図１１】シナリオを作成するエディタによる画面遷移記録処理を例示するフローチャートである。
【図１２】エディタによるシナリオへのアクション設定処理を例示する図である。
【図１３】シナリオ解析実行処理を例示するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、一実施形態に係る情報システムについて説明する。以下の実施形態の構成は例示であり、本情報システムは実施形態の構成には限定されない。
【００１２】
図１に、本情報システムの構成を例示する。本情報システムは、サーバ装置１とメインフレーム３を有する。なお、図１では、本情報システムを利用する利用者のユーザ装置２も記載されている。また、図１では、サーバ装置１およびユーザ装置２の処理に対応する機能ブロックも記載されている。
【００１３】
本情報システムでは、サーバ装置１がオープンシステムのApplication Programming Interface（ＡＰＩ）をアプリケーションプログラム（単に、アプリケーションという）に
提供する。また、サーバ装置１は、メインフレーム３の画面の情報をオープンシステムが処理可能な形式の情報に変換し、ＡＰＩからアプリケーションに提供する。ここで、オープンシステムが処理可能な形式の情報は、例えば、JavaScript Object Notation（ＪＳＯＮ）形式を例示できる。ただし、サーバ装置１がオープンシステムに提供するデータのデータ形式がＪＳＯＮ形式に限定される訳ではない。例えば、サーバ装置１はeXtensible Markup Language（ＸＭＬ）形式、Comma Separated Value（ｃｓｖ）形式でデータを提供
してもよい。したがって、サーバ装置１上のアプリケーションはオープンシステムによる処理やサービスとともにメインフレーム３による処理やサービスをオープンシステムからの処理やサービスとして利用者に提供できる。メインフレーム３は第１の規格のコンピュ
ータの一例である。サーバ装置１は情報処理装置の一例である。オープンシステムが処理可能な形式は、第２の規格の一例である。
【００１４】
例えば、ＡＰＩとして、REpresentational State Transfer（ＲＥＳＴ）と呼ばれる体
系のインターフェースを採用できる。ＲＥＳＴでは、要求元がパラメータを指定して特定のUniform Resource Locator（ＵＲＬ）にHypertext Transfer Protocol（ＨＴＴＰ）で
アクセスすると、ＸＭＬ形式あるいはＪＳＯＮ形式で記述されたメッセージが要求元に送られてくるという手順で処理が実行される。したがって、上記ＡＰＩが用意されると、サーバ装置１、あるいはユーザ装置２は、メインフレーム３上の既存のアプリケーションにＲＥＳＴによりアクセスできるようになる。このため、例えば、既存のＷｅｂシステムあるいは新しいＷｅｂシステムがメインフレームと連携して利用者にサービスあるいは機能を提供することが可能となる。ＲＥＳＴは第２の規格の一例である。
【００１５】
図２は、図１におけるサーバ装置１、ユーザ装置２、メインフレーム３等として用いられる情報処理装置１００のハードウェア構成を例示する図である。情報処理装置１００はＣＰＵ１０１と、主記憶装置１０２と、インターフェース（Ｉ／Ｆ）１０８を通じて接続される外部機器を有し、プログラムにより情報処理を実行する。外部機器としては、外部記憶装置１０３、通信インターフェース１０４、入力装置１０５、表示装置１０６および着脱可能記憶媒体駆動装置１０７が例示される。
【００１６】
ＣＰＵ１０１は、主記憶装置１０２に実行可能に展開されたコンピュータプログラムを実行し、サーバ装置１、ユーザ装置２、メインフレーム３等として、情報処理装置１００の機能を提供する。主記憶装置１０２は、ＣＰＵ１０１が実行するコンピュータプログラム、ＣＰＵ１０１が処理するデータ等を記憶する。主記憶装置１０２は、Dynamic Random
Access Memory（ＤＲＡＭ）、Static Random Access Memory（ＳＲＡＭ）、Read Only Memory（ＲＯＭ）等である。さらに、外部記憶装置１０３は、例えば、主記憶装置１０２
を補助する記憶領域として使用され、ＣＰＵ１０１が実行するコンピュータプログラム、ＣＰＵ１０１が処理するデータ等を記憶する。外部記憶装置１０３は、ハードディスクドライブ、Solid State Disk（ＳＳＤ）等である。
【００１７】
通信インターフェース１０４は、ネットワーク上の他の装置とデータを授受する。例えば、ＣＰＵ１０１は、通信インターフェース１０４を通じて、メインフレーム３から画面の情報を取得する。また、ＣＰＵ１０１は、通信インターフェース１０４を通じて、ユーザ装置２にオープンシステムのアプリケーションの機能を提供する。
【００１８】
入力装置１０５は、例えば、キーボード、ポインティングデバイス等である。本実施形態では、ポインティングデバイスとしてマウスが例示される。表示装置１０６は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。表示装置１０６と、入力装置１０５によって、情報処理装置１００のユーザインターフェースが形成される。着脱可能記憶媒体駆動装置１０７は、例えば、ブルーレイディスク、Digital Versatile Disk（ＤＶＤ）、Compact Disc（ＣＤ）、フラッシュメモリカード等にアクセスし、情報を入出力する装置である。
【００１９】
図１に戻って、サーバ装置１は端末エミュレータ１１と、シナリオ実行エンジン１２と、Ｗｅｂ  ＡＰＩ  １３と、Ｗｅｂサーバ１４と、アプリケーション１５と、エディタ１６を搭載している。サーバ装置１では、上述のように、ＣＰＵ１０１がコンピュータプログラムを実行することにより、端末エミュレータ１１と、シナリオ実行エンジン１２と、Ｗｅｂ  ＡＰＩ  １３と、Ｗｅｂサーバ１４と、アプリケーション１５と、エディタ１６としての処理を実行する。ただし、Ｗｅｂ  ＡＰＩ  １３と、Ｗｅｂサーバ１４とは、他のコンピュータ、例えば、Ｗｅｂサーバ用のコンピュータに搭載されてもよい。また、ア
プリケーション１５と連携して、または、アプリケーション１５に代えて、ユーザ装置２上のアプリケーション２１が用いられてもよい。つまり、アプリケーション２１によって、サーバ装置１のサービスまたは機能、あるいはサーバ装置１を介したメインフレーム３のサービスまたは機能がユーザ装置２に提供されてもよい。
【００２０】
端末エミュレータ１１は、メインフレーム３と情報を授受し、メインフレーム３の端末画面をサーバ装置１の表示装置１０６上に形成する。端末エミュレータ１１は、メインフレーム３の画面を表示装置１０６上に表示する。また、端末エミュレータ１１は、表示装置１０６上に表示されたカーソルで指定される画面上の位置での入力装置１０５からの入力をメインフレーム３に伝達する。例えば、端末エミュレータ１１は、文字入力、ファンクションキーの操作入力等を検知し、検知した入力をメインフレーム３に伝達する。したがって、サーバ装置１の利用者は、端末エミュレータ１１を介してメインフレーム３に対する情報や操作の入出力を実行できる。すなわち、サーバ装置１は、端末エミュレータ１１によるメインフレーム３との通信が可能である。
【００２１】
なお、端末エミュレータ１１が形成する画面をＷｅｂサーバ１４上に形成することで、ユーザ装置２のブラウザに端末エミュレータ１１が形成する画面を形成できる。したがって、ユーザ装置２は、ブラウザおよびＷｅｂサーバ１４を介して端末エミュレータ１１が形成する画面を利用者に提供できる。端末エミュレータ１１がサーバ装置１に提供するインターフェースは、第１の規格のコンピュータからの情報を表示し、第１の規格のコンピュータに情報を入力する端末に代替するためのインターフェースの一例である。また、図２で説明したように、サーバ装置１は、表示装置１０６を有している。サーバ装置１の表示装置１０６は、インターフェースとして例示される端末エミュレータ１１からの情報を表示する表示装置の一例ということができる。
【００２２】
シナリオ実行エンジン１２は、シナリオと呼ばれる一連の指定情報あるいは定義情報を解釈し、解釈結果にしたがって、端末エミュレータ１１を操作し、メインフレーム３に指示を送る。また、シナリオ実行エンジン１２は、シナリオの指定にしたがってメインフレーム３から端末エミュレータ１１への出力情報を取得する。取得される情報は、文字データである。取得される文字データは、端末エミュレータ１１の画面の指定範囲を示す情報によって限定可能である。シナリオには、メインフレーム３上の画面の遷移の指定、アクセス対象の画面の特徴情報、メインフレーム３に引き渡すパラメータである入力属性の変数、端末エミュレータ１１から情報を取得するときの画面上での範囲の指定等が含まれる。
【００２３】
Ｗｅｂ  ＡＰＩ  １３は、例えば、Ｗｅｂサーバ１４およびアプリケーション１５に対して、ＲＥＳＴによりアプリケーションにインターフェースを提供する。すなわち、Ｗｅｂ  ＡＰＩ  １３は、アプリケーション１５からパラメータを指定した特定のＵＲＬへのＨＴＴＰでのアクセスを受け付ける。そして、Ｗｅｂ  ＡＰＩ  １３は、指定されたパラメータと指定されたＵＲＬに対応するシナリオとをシナリオ実行エンジン１２に引き渡す。シナリオ実行エンジン１２は引き渡されたシナリオにしたがって、端末エミュレータ１１上の画面に対する処理を起動し、処理結果を受け取る。そして、Ｗｅｂ  ＡＰＩ  １３は、所定の形式、例えば、ＪＳＯＮ形式等で、処理結果をＷｅｂサーバ１４およびアプリケーション１５に引き渡す。
【００２４】
Ｗｅｂサーバ１４は、ユーザ装置２上のブラウザからＷｅｂ情報に対する指示を受け付け、受け付けた指示に対応する結果としてさらにＷｅｂ情報を提供する。Ｗｅｂサーバ１４は、Ｗｅｂ情報提供時に、アプリケーション１５と連携して、Ｗｅｂ情報を生成することもできる。
【００２５】
アプリケーション１５は、Ｗｅｂ  ＡＰＩ  １３を介してシナリオ実行エンジン１２にアクセスし、端末エミュレータ１１を介してメインフレーム３を操作する。また、アプリケーション１５は、端末エミュレータ１１の画面から文字データを取得し、Ｗｅｂサーバ１４を介して、ユーザ装置２にメインフレーム３からの文字データを利用した様々なサービスを提供する。
【００２６】
エディタ１６は、端末エミュレータ１１からのイベントの通知にしたがって、端末エミュレータ１１の画面の遷移を検知し、画面の情報を取得する。また、エディタ１６は、端末エミュレータ１１からの画面遷移の情報をシナリオに記録する。また、エディタ１６は、サーバ装置１の管理者等の操作にしたがって、端末エミュレータ１１で表示された画面を特定するための画面特徴情報を受け付け、シナリオ中に画面名とともに記述する。さらに、エディタ１６は、サーバ装置１の管理者等の操作にしたがって、シナリオ実行エンジン１２に実行させるアクションをシナリオ中に記述する。アクションは、例えば、入力属性が指定された変数の値を端末エミュレータ１１の画面に設定する変数入力のアクション、端末エミュレータ１１の画面から文字データを取得し、出力属性の変数に設定する変数出力のアクション等である。
【００２７】
ユーザ装置２のハードウェア構成も、情報処理装置１００によって例示できる。ユーザ装置２は、ＣＰＵ１０１等によりアプリケーション２１を実行し、Ｗｅｂサーバ１４からＷｅｂ情報を取得し、利用者に提供する。ユーザ装置２上のアプリケーション２１は、例えば、ブラウザであってもよいし、Ｗｅｂサーバ１４を介してダウンロードしたプログラムでブラウザと連携するものであってもよい。
【００２８】
メインフレーム３は、汎用大型コンピュータと呼ばれるものである。ただし、メインフレーム３のハードウェア構成も、情報処理装置１００によって例示できる。メインフレーム３は、メーカごとのOperating System（ＯＳ）によって管理され、例えば、メーカ独自のフォーマットで画面データを通信端末に提供する。なお、画面データは、端末エミュレータ１１に表示することもできる。また、メインフレーム３は、通信端末の画面、または端末エミュレータ１１に表示された画面への操作を受け付け、所定の処理を実行する。
【００２９】
図３は、メインフレーム３から端末エミュレータ１１に引き渡される画面データのデータフォーマットを例示する図である。図３には、端末エミュレータ１１の画面例１１Ｗとともに、画面データが例示されている。メインフレーム３から端末エミュレータ１１に引き渡される画面データは、画面の要素が連結されたデータストリームとなっている。ここで、画面の要素は、例えば、文字端末画面の第ｎ１行第ｍ１桁から第ｎ２行第ｍ２桁に至る部分の文字データの並びである。つまり、１つの画面は、データストリームに含まれる複数の要素によって構築されており、メインフレーム３から端末エミュレータ１１に伝達される。
【００３０】
図３の例では、データストリームの１つの要素は、座標と、属性と、Ｔｅｘｔの各部を有する。座標は、Ｔｅｘｔが表示される画面の先頭位置を示し、各要素に対応する画面の行番号と行内の桁位置を指定する。例えば、行番号は１からＮ行（画面の最大行）であり、メインフレーム３が出力する画面上の文字単位での行位置を示す。桁位置は、各行の桁番号つまり、１文字目からＭ文字（画面の最大文字数）までの位置を示す番号である。
【００３１】
属性は、各要素に対応して表示される１以上の文字を含む文字列の表示属性である。表示属性としては、例えば、色の指定、および、白黒反転（リバース）の有無を例示できる。Ｔｅｘｔは、各要素に対応して、上記座標を先頭位置として表示される１以上の文字を含む文字列である。図３の画面例１１Ｗでは、例えば、属性が所定の色（例えば緑）で、「１７：０５：１７  １３：５２：２２」という文字列が画面の第１行第６３桁を先頭に
表示されている。また、属性が白黒反転した所定の色（例えば水色）で、「処理メニュー」という文字列が第２行第３６桁を先頭に表示されている。また、画面の下端（第２４行第６４桁から始まる要素）には、属性が白黒反転された所定の色（例えば緑）で、「Ｆ１２：ログイン画面」という文字列が表示され、ファンクションキーの指定が明示されている。
【００３２】
図４は、サーバ装置１上のアプリケーション１５とＷｅｂ  ＡＰＩ  １３とシナリオ実行エンジン１２と端末エミュレータ１１との間のデータフローを例示する図である。アプリケーション１５は、入力属性の変数に設定されるパラメータとシナリオに対応するＵＲＬを指定してＷｅｂ  ＡＰＩ  １３を呼び出す（矢印Ａ１）。この呼び出し手順は、例えば、ＲＥＳＴに規定された手順である。したがって、Ｗｅｂ  ＡＰＩ  １３は、アプリケーション１５から入力属性の変数に設定されるパラメータとシナリオに対応するＵＲＬとを受け付ける。Ｗｅｂ  ＡＰＩ  １３がアプリケーション１５からの呼び出しを受け付ける手順は第１の規格のコンピュータへの指示を第２の規格で受け付けることの一例である。
【００３３】
すると、Ｗｅｂ  ＡＰＩ  １３は、指定されたパラメータが入力属性の変数に代入されるように設定し、指定されたＵＲＬに対応するシナリオを指定し、シナリオ実行エンジン１２を起動する。シナリオ実行エンジン１２は、指定されたパラメータをシナリオ中の入力属性の変数に設定し、シナリオを解釈し、シナリオにしたがって指示または情報を端末エミュレータ１１に入力する（矢印Ａ２）。したがって、アプリケーション１５は、Ｗｅｂ  ＡＰＩ  １３を呼び出すときのパラメータにより、シナリオ中の入力属性の変数に値を設定することが可能である。シナリオ実行エンジン１２は、入力属性の変数に設定された値を端末エミュレータ１１の画面に設定することにより、メインフレーム３に入力可能である。
【００３４】
例えば、シナリオ実行エンジン１２は、端末エミュレータ１１を介して、メインフレーム３の在庫管理アプリケーションにおいて、変数で指定された配送センターの品番に対応する製品の在庫量を端末エミュレータ１１の画面に表示させることができる。矢印Ａ２では、シナリオ実行エンジン１２が入力属性の変数をシナリオに設定し、シナリオを解釈し、シナリオにしたがって指示または情報を端末エミュレータ１１に入力する。矢印Ａ２のシナリオ実行エンジン１２の処理は、インターフェースを介して第１の規格のコンピュータに入力することの一例である。したがって、シナリオ実行エンジン１２は、インターフェースを介して第１の規格のコンピュータに入力する手段の一例として、矢印Ａ１でアプリケーション１５からの呼び出しを受け付け、矢印Ａ２で指示または情報を端末エミュレータ１１に入力するといえる。
【００３５】
また、シナリオ実行エンジン１２は、シナリオにしたがって端末エミュレータ１１によって表示された画面の所定の範囲にある表示内容に該当する文字データを取得する（矢印Ａ３）。シナリオ実行エンジン１２が矢印Ａ３において画面の所定の範囲にある表示内容に該当するデータ中の文字データを取得する処理は、第１の規格のコンピュータの画面に表示される文字データを、インターフェースを介して取得することの一例である。
【００３６】
そして、シナリオ実行エンジン１２は、端末エミュレータ１１の画面の表示内容に該当するデータ中の文字データをオープンシステムの形式に編集し、出力属性の変数に出力する。Ｗｅｂ  ＡＰＩ  １３は、出力属性の変数に設定された文字列を例えば、ＲＥＳＴに規定された手順でアプリケーション１５に引き渡す（矢印Ａ４）。シナリオ実行エンジン１２が端末エミュレータ１１の画面から取得した表示内容に該当するデータ中の文字データをオープンシステムの形式に編集し、出力属性の変数に出力する処理は、取得した文字データを第２の規格で出力することの一例である。また、Ｗｅｂ  ＡＰＩ  １３は、出力
属性の変数に設定された文字列をＲＥＳＴに規定された手順でアプリケーション１５に引き渡すことは、取得した文字データを第２の規格で出力することの一例でもある。シナリオ実行エンジン１２およびＷｅｂ  ＡＰＩ  １３の少なくとも一方、あるいはその組み合わせは、取得した文字データを前記第２の規格で出力する手段として、上記矢印Ａ４での処理を実行するといえる。
【００３７】
アプリケーション１５は、Ｗｅｂ  ＡＰＩ  １３から引き渡された文字列をオープンシステムで標準化された様式、あるいは公開された様式で加工し、Ｗｅｂサーバ１４を介して、ユーザ装置２（図１参照）に提供することができる。したがって、ユーザ装置２の利用者は、オープンシステムで提供されるツールあるいはアプリケーションを用いて、例えば、ブラウザ等を介して、メインフレーム３のサービスの提供を受けることができる。
【００３８】
図４の例では、アプリケーション１５が入力属性の変数に対応するパラメータとして、配送センターの番号および製品の機種を指定し、在庫情報を取得するシナリオに対応するＵＲＬにアクセスしている。すると、配送センターの番号および製品の機種を指定するパラメータがシナリオ実行エンジン１２に引き渡される。シナリオ実行エンジン１２は、入力属性の変数にパラメータを設定し、シナリオを解析し、シナリオにしたがって、端末エミュレータ１１から文字データを取得し、出力属性の変数にＪＳＯＮ形式で設定する。出力属性の変数の値は、Ｗｅｂ  ＡＰＩ  １３を通じてアプリケーション１５に返される。したがって、アプリケーション１５は、端末エミュレータ１１に出力されるメインフレーム３からの在庫情報をＪＳＯＮ形式等の標準化されたデータ形式、あるいは公開されたデータ形式で取得できるので、自在に加工し、ユーザ装置２に提供できる。
【００３９】
図５は、図４で、Ｗｅｂ  ＡＰＩ  １３とシナリオ実行エンジン１２との間で、授受される変数を特徴付けるプロパティと呼ばれる属性を例示する図である。変数には、属性として、変数名と、入力属性の有無と、出力属性の有無と、データ型と、初期値とが設定される。変数名は、変数の名称である。入力属性がTrue（有り）の場合、当該変数は、Ｗｅｂ  ＡＰＩ  １３を通じて外部からシナリオに対して値を入力可能な変数である。出力属性がTrue（有り）の場合、当該変数は、Ｗｅｂ  ＡＰＩ  １３を通じて、外部に対して値が公開される変数である。入力変数に対するデータ型には、String、List、Tableが指定
可能である。出力変数に対するデータ型には、List、Tableが指定可能である。Stringは
、変数の値が文字列であることを示し、Listは、変数が値の並びを保持することを示し、Tableは、変数が値の配列を保持することを示す。初期値は、入力変数に設定される初期
値である。なお、図５でＪＳＯＮキーの列には、ＪＳＯＮ形式のデータにおいて、オブジェクトと呼ばれるキーと値の対において指定されるキーが例示されている。
【００４０】
図６は、シナリオのデータ構造を例示する。また、図７から図１０は、図６のシナリオに例示された画面１（Ｗ１）から画面４（Ｗ４）の構成等を例示する図である。シナリオは、画面の指定と画面遷移の指定と画面に対するアクションの指定を含む１以上の要素を含む。シナリオの要素は、画面名と画面の特徴情報とによって画面を指定する。画面名は画面の名称である。画面の特徴情報は、画面の特徴点を指定する。画面の特徴情報で指定される特徴点は、シナリオ実行エンジン１２が端末エミュレータ１１に表示された画面がシナリオの要素に指定された画面と一致するか否かを判定に使用される。画面の特徴点は、例えば、画面中のカラムの数、各カラムの開始位置（行数ｎ、桁数ｍ）、カラムの幅、画面中の固定文字の文字数、固定文字列データ等の特徴点を含む。
【００４１】
また、シナリオの各要素（Ｅ１からＥ４）は、例えば、画面名と次画面とによって、現在の画面と遷移先の画面の関係を指定する。そして、シナリオは複数の要素の並びによって画面遷移を定義する。図６の例では、要素（Ｅ１）から要素（Ｅ４）が画面遷移順に連結されている。要素（Ｅ１）では、表示対象の画面として画面１が定義され、次画面とし
て画面２が定義されている。要素（Ｅ２）では、表示対象の画面として画面２が定義され、次画面として画面３が定義されている。要素（Ｅ３）では、表示対象の画面として画面３が定義され、次画面として画面４が定義されている。要素（Ｅ４）では、表示対象の画面として画面４が定義されている。
【００４２】
また、シナリオの各要素には、開始画面の指定と終了画面の指定が可能である。例えば、「画面名：画面１」、「次画面：画面２」および「開始画面：ＹＥＳ」の指定がある要素（Ｅ１）は、画面１が開始画面であることを定義する。また、「画面名：画面４」、「終了画面：ＹＥＳ」および「次画面：なし」の指定がある要素（Ｅ４）は、画面４が終了画面であることを定義する。シナリオの要素での開始画面：ＹＥＳの指定は、シナリオ実行エンジン１２に対して、当該要素で指定される画面名の画面からシナリオの解釈を開始するように指定する。また、シナリオの要素での終了画面：ＹＥＳの指定は、シナリオ実行エンジン１２に対して、当該要素で指定される画面名の画面でシナリオの解釈を終了するように指定する。
【００４３】
したがって、シナリオの要素に、開始画面：ＹＥＳ、終了画面：ＹＥＳを設定することで、同一の画面遷移順が定義されたシナリオで、シナリオ実行エンジン１２の開始画面と終了画面の制御が可能となっている。例えば、一連の複数画面、例えば、図７から図１０の画面Ｗ１、Ｗ２、Ｗ３、Ｗ４のうち、第１のシナリオで、画面Ｗ１のみ表示し、第２のシナリオでさらに画面Ｗ１からＷ２を表示し、第３のシナリオで画面Ｗ４を表示することが可能である。すなわち、アプリケーション１５は、開始画面と終了画面が異なる複数のシナリオの組み合わせによって、端末エミュレータ１１の画面を通じたメインフレーム３への指示が可能である。
【００４４】
また、要素（Ｅ３）のように、「アクション：変数入力」の指定があると、画面名で指定される画面に対して変数名で指定された変数の値が画面に設定されるように、シナリオ実行エンジン１２は端末エミュレータ１１に変数値を引き渡す。なお、画面名で指定される画面と端末エミュレータ１１上の画面との一致は、画面の特徴情報で指定される特徴点の一致によって決定される。変数入力の対象となる変数値は、アプリケーション１５からＷｅｂ  ＡＰＩ  １３を介して、シナリオ実行エンジン１２に引き渡される。したがって、アプリケーション１５は、メインフレーム３の画面に値を設定することが可能である。
【００４５】
さらに、要素（Ｅ４）には、「アクション：変数出力」の指定がある。この指定があると、当該要素において画面名で指定される画面（画面の特徴点が一致する画面）上で、先頭位置と末尾位置で指定される範囲に表示された文字データがオープンシステムによって処理可能な形式で変数に格納される。変数に格納された値（画面上の文字データ）は、Ｗｅｂ  ＡＰＩ  １３を介してアプリケーション１５に引き渡される。
【００４６】
図７は、値が設定される画面の一例である。図７の画面例では、社員番号の入力欄と、パスワードの入力欄とが設けられている。図８は、図７の画面で、社員番号と、パスワードが入力されたときに表示される画面例である。したがって、サーバ装置１の管理者は、例えば、図７の画面を表示するシナリオ、および図７の画面を表示して社員番号とパスワードを入力するシナリオを作成しておく。すると、サーバ装置１上のアプリケーション１５は、Ｗｅｂ  ＡＰＩからこれらのシナリオを組み合わせることで、Ｗｅｂサーバ１４を介して利用者に以下の処理を提供できる。
（１）利用者に社員番号とパスワードを入力する画面（図７）を表示する。
（２）ブラウザを介して利用者から社員番号とパスワードを取得する。
（３）（２）で取得した社員番号とパスワードが変数に設定してシナリオ実行エンジン１２を起動する。シナリオ実行エンジン１２は、指定された変数の値（社員番号とパスワード）を指定された画面上で、変数に対応する入力指定位置に入力する。端末エミュレータ
１１は、画面に設定された社員番号とパスワードをメインフレーム３に送信する。すると、メインフレーム３は、端末エミュレータ１１に、社員番号とパスワードに対応する画面（例えば、図８）を出力する。なお、以上の処理は、端末エミュレータ１１をユーザ装置２のブラウザ上で動作させる処理ということができる。
【００４７】
図９は、変数名で指定された変数の値が画面に設定される処理例である。図９は、例えば、図６の要素（Ｅ３）によって実行される処理例ということができる。図９では、アクション：変数入力、入力変数名：ＤＣＥＮＴＥＲ、入力変数名：ＡＣＯＤＥが指定されている。また、図９では、各変数のプロパティも例示されている。上述のように、変数のプロパティとは、変数の属性ということができる。例えば、入力変数ＤＣＥＮＴＥＲのプロパティでは、「変数名：ＤＣＥＮＴＥＲ、コメント：配送センターの値、入力属性：ＹＥＳ、データ型：ｓｔｒｉｎｇ、値：１、出力指定位置：第ｎ１行第ｍ１桁」が定義されている。したがって、入力変数ＤＣＥＮＴＥＲは、値が入力される変数であって、文字列（ｓｔｒｉｎｇ）のデータ型で、値１を画面上の第ｎ１行第ｍ１桁の開始位置から入力する変数であることが分かる。
【００４８】
同様に、入力変数ＡＣＯＤＥのプロパティでは、「変数名：ＡＣＯＤＥ、コメント：商品コードの値、入力属性：ＹＥＳ、データ型：ｓｔｒｉｎｇ、値：AAA、出力指定位置：
第ｎ２行、第ｍ２列」が定義されている。したがって、入力変数ＡＣＯＤＥは、値AAAを
画面上の第ｎ２行第ｍ２桁の開始位置から入力する変数であることが分かる。シナリオ実行エンジン１２は、アクション：変数入力を実行することで、図９のように、画面上に、配送センターの値と、商品コードの値を設定する。
【００４９】
図１０は、画面名で指定される画面上（画面の特徴点が一致する画面上）で、先頭位置と末尾位置で指定される範囲に表示された文字が変数に格納される処理例である。図１０は、例えば、図６の要素（Ｅ４）によって実行される処理例ということができる。図１０では、アクション：変数出力、出力変数名：在庫、先頭位置：第ｎ１行第ｍ１桁、末尾位置：第ｎ１行第ｍ１桁が指定されている。このアクションは、画面上の先頭位置と末尾位置で指定される範囲から文字データを取得し、所定の形式に変換し、変数「在庫」に出力することをシナリオ実行エンジン１２に指示する。
【００５０】
図１０では、変数「在庫」のプロパティも例示されている。変数「在庫」は、値を外部に出力する変数であって、テーブル型のデータ型である。したがって、シナリオ実行エンジン１２は、図１０のアクションの指定に対して、例えば、図１０に例示される画面Ｗ４上で、アクションで指定された先頭位置から末尾位置の範囲で文字データを取得する。そして、シナリオ実行エンジン１２は、取得した文字データをスペースまたは罫線等の区切り記号にしたがって分割し、テーブル型の変数「在庫」に出力する。したがって、サーバ装置１上のアプリケーション１５は、メインフレーム３の画面上の文字データをスペースまたは罫線等の区切り記号にしたがって分割したものをＪＳＯＮ形式等の配列で取得できる。
【００５１】
図１１は、シナリオを作成するエディタ１６による画面遷移記録処理を例示するフローチャートである。エディタ１６は、サーバ装置１内の主記憶装置１０２に格納されたコンピュータプログラムとして例示できる。エディタ１６は、サーバ装置１の端末エミュレータ１１と連動し、情報を共有して動作する。以下、サーバ装置１（ＣＰＵ１０１等）がエディタ１６を実行する処理を単にエディタ１６が実行する処理として説明する。サーバ装置１でエディタ１６が起動されると、エディタ１６は、端末エミュレータ１１からデータを受信するのを待つ状態となる。端末エミュレータ１１は、メインフレーム３からの画面データの受信あるいは回線接続を遮断する指示（以下、回線接続遮断指示）を受けると、イベントとともにエディタに転送する。
【００５２】
したがって、エディタ１６は端末エミュレータ１１からのイベントを受けて、端末エミュレータ１１で受信されたデータ（画面データまたは回線接続遮断指示）を取得する。そして、エディタ１６は、データが回線切断指示であるか否かを判定する（Ｓ１）。端末エミュレータ１１からのデータが回線接続遮断指示である場合、エディタ１６は画面遷移を記録する処理を終了する。
【００５３】
一方、端末エミュレータ１１からのデータが回線接続遮断指示でない場合、エディタ１６は画面判定処理を実行する（Ｓ２）。画面判定処理は、端末エミュレータ１１から取得した画面データがすでに記録済の画面と一致するかを判定する処理である。エディタ１６は、端末エミュレータ１１から、画面の特徴情報のうち、カラムの数、各カラムの開始位置（行数ｎ、桁数ｍ）、カラムの幅等の情報を取得する。ここで、カラムとは、画面上で、文字入力可能な欄（フィールド）をいう。過去に、シナリオ作成のため端末エミュレータ１１から画面の特徴情報が入力された画面については、取得済みの画面の特徴情報が記録されている。なお、利用者は、エディタ１６によって、画面の特徴情報を追加することができる。追加可能な画面の特徴情報は、例えば、画面上のラベル（固定文字の文字数、固定文字列データ）等である。Ｓ２の判定では、エディタは、今回の端末エミュレータ１１から取得した画面の特徴情報が記録済みの画面の特徴情報と一致するか否かを判定する。端末エミュレータ１１から取得した画面データがすでに記録済の画面と一致する場合（Ｓ３でＹＥＳ）、エディタは画面（および回線接続遮断指示）受信待ちの状態に戻る。
【００５４】
端末エミュレータ１１から取得した画面データが記録済の画面と一致しない場合（Ｓ３でＮＯ）、エディタ１６は端末エミュレータ１１から取得した画面データの画面名をシナリオに記録する（Ｓ４）。本実施形態では、エディタ１６は、画面名を端末エミュレータ１１から取得する。ただし、利用者が画面名を指定するか、または、メニューで選択できるようにしてもよい。さらに、エディタ１６はＳ４で記録した画面データの画面に遷移する元の画面との遷移関係を記録する（Ｓ５）。具体的には、シナリオ中の元の画面（イベント発生前に処理した画面）の遷移先として、Ｓ４で記録した画面データの画面を設定する。その後、エディタ１６は画面（および回線接続遮断指示）受信待ちの状態に戻る。
【００５５】
図１２は、エディタ１６によるシナリオへのアクション設定処理を例示する図である。図１２の処理は、図１１の端末エミュレータ１１からのイベントを待つ処理と並行して実行される。ただし、図１２の処理が、図１１のＳ４（画面を記録する処理）において実行されるようにしてもよい。この処理では、エディタ１６は、アクション設定待ちの状態にある。サーバ装置１において入力装置１０５等を介して、アクション設定のイベントが発生すると、エディタ１６は、イベントが端末エミュレータ１１への入力設定か否かを判定する（Ｓ１１）。
【００５６】
イベントが端末エミュレータ１１への入力設定である場合、エディタ１６は、端末エミュレータ１１への変数入力のアクションをシナリオに設定する（Ｓ１２）。変数入力のアクションは、図９に例示したように、シナリオ中で、入力属性の変数の値を、変数のプロパティに指定された画面上の出力指定位置に入力させるシナリオ実行エンジン１２に対する指令である。なお、変数入力のアクションとしては、入力属性の変数の値（外部入力変数ともいう）を画面上に入力するものの他、固定テキストを画面上に入力するものも例示できる。その後、エディタ１６はアクション設定待ちの状態に戻る。
【００５７】
イベントが端末エミュレータ１１への入力設定でない場合、エディタ１６は、イベントが画面の文字データ取り込み設定か否かを判定する（Ｓ１３）。イベントが画面の文字データ取り込み設定である場合、エディタ１６は、画面の文字データの出力属性の変数（外部出力変数ともいう）への出力のアクションをシナリオに設定する（Ｓ１４）。画面の文
字データの出力属性の変数への出力のアクションは、図１０のように、シナリオ中で、アクションで指定される画面上の先頭位置から末尾位置までの文字データを変数に出力させるシナリオ実行エンジン１２に対する指令である。その後、エディタ１６はアクション設定待ちの状態に戻る。Ｓ１３でＹＥＳの場合の処理は、第１の規格のコンピュータの画面上の範囲の指定とともに文字データを取得する指示を受け付けることの一例である。Ｓ１４の処理は、第１の規格のコンピュータの画面を特定する情報と画面上の範囲の指定と画面上の指定された範囲に表示された文字データを取得する指令とを含む定義情報を出力することの一例である。エディタ１６は定義情報を出力する手段の一例としてＳ１４の処理を実行する。また、シナリオは定義情報の一例である。
【００５８】
イベントが画面の文字データ取り込み設定でない場合、エディタ１６は、その他の処理を実行し（Ｓ１５）、アクション設定待ちの状態に戻る。その他の処理としては、エディタ１６のユーザインターフェース（図２の入力装置１０５、表示装置１０６等）を通じた様々な要求に対する処理がある。その他の処理は、例えば、変数のプロパティを定義する処理、シナリオの要素に対して、画面の特徴情報である画面の上のラベル（固定文字の文字数、固定文字列データ）を追加設定する処理、シナリオを保存する処理、作成済みのシナリオを読み出す処理等である。
【００５９】
図１３は、シナリオ実行エンジン１２によるシナリオ解析実行処理を例示するフローチャートである。シナリオ実行エンジン１２は、Ｗｅｂサーバ１４およびＷｅｂ  ＡＰＩ  １３を介して、シナリオに対応するＵＲＬと、シナリオに対する外部変数の値とを指定されてシナリオの解析実行処理を開始する。シナリオ実行エンジン１２は、シナリオ中の要素のうち、開始画面：ＹＥＳの指定がある要素を検索する。そして、開始画面：ＹＥＳの指定がある要素中に記載されている画面の一致条件を読み出す。ここで、画面の一致条件とは、画面と画面とを比較するための画面の特徴点が一致するか否かをいう。上述のように、シナリオ中には画面の特徴情報が指定されている。画面の一致条件は、端末エミュレータ１１に表示された画面の特徴点が、シナリオの要素毎に設定された画面の特徴情報で定義された特徴点と一致するか否かの条件をいう。上述のように，画面の特徴点は、例えば、画面中のカラムの数、各カラムの開始位置（行数ｎ、桁数ｍ）、カラムの幅等の属性、画面中の固定文字の文字数、固定文字列データ等をいう。カラムは、１以上の文字を含む文字列で規定される画面の部分ということができる。
【００６０】
そして、シナリオ実行エンジン１２は、現在の端末エミュレータ１１で表示されている画面の特徴点が開始画面の特徴情報で指定される特徴点と一致するか否かを判定する（Ｓ２１）。Ｓ２１で両画面の特徴点が一致する場合、シナリオ実行エンジン１２は、開始画面に遷移する（Ｓ２２）。開始画面に遷移するとは、シナリオ実行エンジン１２は、端末エミュレータ１１で表示されている画面を開始画面として認識し、開始画面：ＹＥＳで指定されたシナリオの要素の処理を開始することをいう。シナリオ実行エンジン１２が開始画面：ＹＥＳの指定がある要素中に記載されている画面の一致条件を読み出すことは定義情報から第１の規格のコンピュータの画面を特定する情報を取得することの一例である。また、シナリオ実行エンジン１２がＳ２１の判定を行うことは、第１の規格のコンピュータの画面を特定する情報と表示装置に表示される画面の特徴とが一致するか否かを判定することの一例である。そして、Ｓ２１でＹＥＳの場合は、第１の規格のコンピュータの画面を特定する情報と表示装置に表示される画面の特徴とが一致する場合の一例である。
【００６１】
そして、シナリオ実行エンジン１２は、処理対象のシナリオの要素で、アクションの指定があるか否かを判定する（Ｓ２３）。アクションの指定がある場合、シナリオ実行エンジン１２は、アクションを実行する。アクションは、例えば、図９で説明した変数入力のアクションである。変数入力のアクションが処理対象のシナリオの要素で指定されている場合、シナリオ実行エンジン１２は、アクションで指定された入力変数の値を現在の端末
エミュレータ１１の画面上の変数のプロパティに指定されて入力指定位置に入力する。また、入力変数の値は、Ｗｅｂ  ＡＰＩ  １３を介して指定されるパラメータで取得した値である。
【００６２】
アクションは、また、例えば、図１０で説明した変数出力のアクションである。変数出力のアクションが処理対象のシナリオの要素で指定されている場合、シナリオ実行エンジン１２は、画面の文字データを出力変数に代入する。すなわち、シナリオ実行エンジン１２は、現在端末エミュレータ１１に表示されている画面上の文字データのうち、アクションで指定された先頭位置から末尾位置までの範囲の文字データを取得し、出力変数のデータ型に変換し、出力変数に代入する。出力変数のデータ型が例えばtable型の場合、文字
データはＪＳＯＮ形式等に変換され、出力変数の配列要素に代入される。この出力変数の値は、Ｗｅｂ  ＡＰＩ  １３を介して、サーバ装置１上のアプリケーション１５に引き渡される。
【００６３】
Ｓ２４の処理で、変数出力のアクションが実行されることは、範囲を指定する情報にしたがって前記インターフェースから前記表示装置に表示される文字データを取得する処理を実行することの一例である。したがって、シナリオ実行エンジン１２は、範囲を指定する情報にしたがってインターフェースから表示装置に表示される文字データを取得する処理を実行する制御手段の一例としてＳ２４の処理を実行する。また、シナリオ実行エンジン１２はＳ２４でアクションを実行するために、シナリオ中の当該アクションが設定された要素の内容を読み出す。したがって、Ｓ２３、Ｓ２４の処理は、画面上の範囲を指定する情報と文字データを取得する指令とを取得することの一例ということができる。
【００６４】
次に、シナリオ実行エンジン１２は、現在の処理対象のシナリオの要素に、終了画面：ＹＥＳの指定があるか否かを判定する（Ｓ２５）。現在の処理対象のシナリオの要素に、終了画面：ＹＥＳの指定がある場合、シナリオ実行エンジン１２は、処理を終了する。一方、現在の処理対象のシナリオの要素に、終了画面：ＹＥＳの指定がない場合、シナリオ実行エンジン１２は、端末エミュレータ１１の画面更新待ちとなる（Ｓ２６）。そして、シナリオ実行エンジン１２は、画面更新待ちでタイムアウトが発生したか否かを判定する（Ｓ２７）。タイムアウトが発生すると、シナリオ実行エンジン１２は、処理を終了する。Ｓ２１の判定とＳ２５の判定によって、シナリオ実行エンジン１２は、開始画面から終了画面までの遷移が定義された画面について取得する処理を実行するといえる。
【００６５】
一方、タイムアウト発生前に画面が更新されると、シナリオ実行エンジン１２は、現在処理対象のシナリオの要素中で次画面に指定された画面に対応する要素に遷移する。そして、Ｓ２６、Ｓ２７において更新された画面の特徴点が次画面の特徴点と一致するか否かを判定する（Ｓ２８）。Ｓ２８で両画面の特徴点が一致しない場合、シナリオ実行エンジン１２は、処理をＳ２６に戻す。一方、Ｓ２８で両画面の特徴点が一致する場合、シナリオ実行エンジン１２は、次画面に対応するシナリオの要素に遷移し、Ｓ２２以下の処理を実行する。
【００６６】
以上述べたように、本情報システムでは、シナリオ実行エンジン１２は、アプリケーション１５からＷｅｂ  ＡＰＩ  １３を介してシナリオとパラメータを指定され、シナリオにしたがって端末エミュレータ１１に対する処理を実行する。例えば、シナリオ実行エンジン１２は、端末エミュレータ１１の画面に値を設定し、メインフレーム３を操作することができる。そして、シナリオ実行エンジン１２は、端末エミュレータ１１に表示されたメインフレーム３の画面上の先頭位置と末尾位置で指定された範囲の文字データを取得し、Ｗｅｂ  ＡＰＩ  １３を介して、オープンシステムで標準的に規定された形式、あるいは公開された形式でアプリケーション１５に引き渡すことができる。したがって、本情報システムでは、サーバ装置１において、メインフレーム３を操作し、メインフレーム３か
ら画面上の文字データを取得し、取得した文字データを利用した様々なアプリケーション１５を利用者に提供できる。利用者は、ユーザ装置２を操作することで、Ｗｅｂサーバ１４を介して、メインフレーム３の操作を伴う様々なアプリケーションによるサービスを受けることができる。この場合に、メインフレーム３上のアプリケーション自体は従来のまま使用され、シナリオ実行エンジン１２とＷｅｂ  ＡＰＩ  １３によってオープンシステムのアプリケーション１５が構築できる。したがって、利用者は、ユーザ装置２を用いて、オープンシステムで標準的に規定されるインターフェース、あるいは公開されたインターフェースにより、既存のメインフレーム３のサービスあるいは機能に基づく新たなアプリケーションを利用できるようになる。
【００６７】
また、シナリオには、画面の一致不一致を判定するための画面の特徴情報が設定されるとともに、画面内の先頭位置と末尾位置から文字データを取得するアクションを設定することが可能である。したがって、シナリオ実行エンジン１２は、シナリオで指定された画面の特徴情報に一致する画面を特定し、特定した画面内で、指定された先頭位置と末尾位置から文字データを取得することができる。したがって、アプリケーション１５は、所望のメインフレーム３の画面に対応し、所望の先頭位置と末尾位置から文字データを取得するシナリオを指定することで、シナリオ実行エンジン１２を介して文字データを取得できる。
【００６８】
また、シナリオは複数の要素を含み、シナリオの要素には、上述のように開始画面と終了画面の指定が可能である。このため、サーバ装置１において、開始画面と終了画面の指定が異なる複数のシナリオを準備しておくこことで、サーバ装置１の管理者は、エディタ１６を用いて、一のシナリオから、開始画面と終了画面の指定が異なる複数のシナリオを生成できる。アプリケーション１５は、開始画面と終了画面の指定が異なる複数のシナリオを組み合わせた処理を利用者に提供できる。例えば、アプリケーション１５は、第１のシナリオで初期画面を表示した上で、初期画面に対する入力パラメータを受け付け、第２のシナリオで初期画面に対して受け付けた入力パラメータを設定することが可能となる。以上のように、シナリオは、複数画面間の遷移を定義する情報と遷移の開始画面を指定する情報と遷移の終了画面を指定する情報とを有する定義情報ということができる。
【００６９】
なお、上記実施形態では、メインフレーム３から画面上の文字データを取得し、取得した文字データをオープンシステムのアプリケーション１５に提供する構成および処理を例示した。しかし、本実施形態において、メインフレーム３から画面上の文字データが変換され、提供される提供先のターゲットがＲＥＳＴ等のオープンシステムに限定される訳ではない。すなわち、ＲＥＳＴに代えて、メーカ独自の仕様でサーバ装置１のアプリケーション１５からシナリオ実行エンジン１２にアクセスするインターフェースが提供されれば、当該アクセスインターフェースにしたがって、ＡＰＩを作成すればよい。あるいはＲＥＳＴに代えて、メーカ独自の仕様でユーザ装置２のアプリケーション２１からシナリオ実行エンジン１２にアクセスするインターフェースが提供されれば、当該アクセスインターフェースにしたがって、ＡＰＩを作成すればよい。
【００７０】
したがって、シナリオ実行エンジン１２は、当該ＡＰＩから提供される指示にしたがって、上記実施形態１と同様、パラメータを取得し、メインフレーム３の画面に設定すればよい。また、シナリオ実行エンジン１２は、シナリオに規定された画面の一致条件と一致する画面において、上記実施形態と同様の処理を実行すればよい。例えば、シナリオ実行エンジン１２は、指定された範囲から文字データを取得し、当該ＡＰＩを介して、当該アプリケーション１５（あるいはアプリケーション２１）が処理可能な形式で文字データを引き渡せばよい。このようなメーカ独自仕様のアプリケーションとしては、仕様が未公開のＯＳ環境で動作するアプリケーションを例示できる。例えば、特定のＯＳベンダがＯＳの仕様およびＡＰＩの仕様を一般に公開することなく、特定の独自仕様コンピュータのメ
ーカにＡＰＩの仕様を提供することが想定される。このような場合、当該独自仕様コンピュータのメーカが、本実施形態と同様のシナリオ実行エンジン１２を作成する場合が該当する。以上のように、本実施形態の情報システムは、仕様、形式等が標準化され、あるいは、公開されたオープンシステム以外の特定のＯＳ環境等においても適用可能である。
《コンピュータが読み取り可能な記録媒体》
【００７１】
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００７２】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ
等に固定された記録媒体としても利用可能である。
【符号の説明】
【００７３】
１    サーバ装置
２    ユーザ装置
３    メインフレーム
１１    端末エミュレータ
１２    シナリオ実行エンジン
１３    端末エミュレータ
１４    Ｗｅｂサーバ
１５、２１    アプリケーション
１０１    ＣＰＵ
１０２    主記憶装置
１０３    外部記憶装置
【図１】
2018205931.tif 000003
【図２】
2018205931.tif 000004
【図３】
2018205931.tif 000005
【図４】
2018205931.tif 000006
【図５】
2018205931.tif 000007
【図６】
2018205931.tif 000008
【図７】
2018205931.tif 000009
【図８】
2018205931.tif 000010
【図９】
2018205931.tif 000011
【図１０】
2018205931.tif 000012
【図１１】
2018205931.tif 000013
【図１２】
2018205931.tif 000014
【図１３】
2018205931.tif 000015