【実施例】
【0047】
図1は、本開示の多様な様態が実装されることのできるメインフレーム、データ変換サーバおよびユーザ端末の一例を説明するために示した図面である。
【0048】
本開示の複数の実施例によると、データ変換システムは、データ変換サーバ(100)、メインフレーム(200)およびユーザ端末(300)のうち少なくとも1つを含むことができる。ただし、ここに述べられた構成要素はデータ変換システムを実装するに当たり、必須のものではなく、データ変換システムは、以上に列挙された構成要素より多くの、又は、少ない構成要素を持つことができる。
【0049】
本開示の複数の実施例によるデータ変換サーバ(100)、メインフレーム(200)およびユーザ端末(300)は、ネットワークを通じて本開示の複数の実施例によるデータ変換システムのためのデータを相互送受信することができる。
【0050】
本開示の実施例におけるネットワークは、公衆電話交換網(PSTN:Public Switiched Telephone Network)、xDSL(xDigital Subscriber Line)、RADSL(Rate Adaptive DSL)、MDSL(Multi Rate DSL)、VDSL(Very High Speed DSL)、UADSL(Universal Asymmetric DSL)、HDSL(High Bit Rate DSL)および近距離通信網(LAN)等のような多様な有線通信システムを使うことができる。
【0051】
また、ここに示すネットワークは、CDMA(Code Division Multi Access)、TDMA(Time Division Multi Access)、FDMA(Frequency Division Multi Access)、OFDMA(Orthogonal Frequency Division Multi Access)、SC−FDMA(Single Carrier−FDMA)および他のシステムのような多様な無線通信システムを使うことができる。
【0052】
本開示の実施例におけるネットワークは、有線および無線等のようなその通信の様態を問わずに構成されることができ、短距離通信網(PAN:Personal Area Network)、近距離通信網(WAN:Wide Area Network)等の多様な通信網で構成されることができる。また、前述のネットワークは、公知のワールドワイドウェブ(WWW:World Wide Web)になり得るとともに、赤外線(IrDA:Infrared Data Assoication)又はブルートゥース(Bluetooth)(登録商標)のように短距離通信に利用される無線転送技術を利用することもできる。
本明細書において説明されている技術は以上で触れたネットワークだけでなく、他のネットワークにおいても使用されることができる。
【0053】
本開示の内容において、データ変換サーバ(100)はメインフレーム(200)のデータを変換するサーバであり、プロセッサ(110)および通信部(120)を含むことができる。ここで、プロセッサ(110)は第1コンバーター(111)および第2コンバーター(112)を含むことができる。ただし、ここに述べられたことはデータ変換サーバ(100)を実装するに当たり必須ではないため、データ変換サーバ(100)は以上に列挙された構成要素より多くの、又は、少ない構成要素を持つことができる。ここで、それぞれの構成要素は別個のチップ、モジュールや装置によって構成されることができ、1つの装置の中に含まれることもできる。
【0054】
通信部(120)は、データ変換サーバ(100)と通信システムとの間、データ変換サーバ(100)とメインフレーム(200)との間、データ変換サーバ(100)とユーザ端末(300)との間、又はデータ変換サーバ(100)とウェブブラウザ(プログラム)との間の通信ができるようにする1つ以上のモジュールを含むことができる。また、前述の通信部(120)は、データ変換サーバ(100)を1つ以上のネットワークにつなぐ1つ以上のモジュールを含むことができる。このような通信部(120)は、移動通信モジュール、無線インターネットモジュール、近距離通信モジュールのうち少なくとも1つを含むことができる。
【0055】
本開示の複数の実施例によると、通信部(120)はメインフレーム(200)から第1データセットを受信することができる。ここで、第1データセットは1次元形式のデータになり得る。例えば、予め設定されたバイト(Byte)の値に対応し、データの属性値が前述のデータ上に配置されることができる。
【0056】
一方、データ変換サーバ(100)のプロセッサ(110)は第1データセットをウェブページを生成するためのJSON(JAVAScript Object Notation)タイプの第1データに変換することができる。具体的に、プロセッサ(110)の第1コンバーター(111)は第1データセットのデータタイプをJSONタイプに変換することができる。つまり、プロセッサ(110)は1次元形式のデータセットを構造体形式のJSONデータに変換することができる。
【0057】
そして、プロセッサ(110)は第1データに基づき、ウェブページを生成することができる。具体的に、第1プロセッサ(110)の第2コンバーター(112)は第1データを分析し、第1データと第1ウィジェットをマッピングすることができる。また、第2コンバーター(112)は第1データとマッピングされた第1ウィジェットを含むウェブページを生成することができる。
【0058】
また、プロセッサ(110)はウェブページをウェブブラウザに送信するよう通信部(120)を制御することができる。ここで、ウェブページはウェブブラウザを通じて出力されることができる。また、ウェブページはユーザーインタラクション(User Interaction)を許容することができる。
【0059】
一方、ユーザ端末(300)は前述のユーザ端末(300)に設置されたウェブブラウザプログラムを通じてデータ変換サーバ(100)が生成したウェブページをダウンロードすることができる。また、ユーザ端末(300)は前述のウェブページを出力することができる。
【0060】
つまり、データ変換サーバ(100)のプロセッサ(110)は多様な画面表現ツールを利用することで、ユーザにやさしく、現代的なウェブページをユーザに提供することができる。
【0061】
一方、ユーザはユーザ端末(300)を通じて第1データとマッピングされた第1ウィジェットを含むウェブページを認識することができる。したがって、ユーザはユーザ端末(300)を通じてメインフレーム(200)のデータに関する情報が含まれたウェブページを確認するとき、メインフレーム(200)のデータタイプ(例えば、EBCDICタイプ)を認知する必要がない。
【0062】
前述のデータ変換サーバ(100)のプロセッサ(110)がメインフレーム(200)から受信した第1データセットを変換してウェブページを生成し、ウェブページをウェブブラウザに送信する方法に関する具体的な説明は以下の
図2乃至
図6を参照して後述する。
【0063】
本開示の複数の実施例によると、データ変換サーバ(100)はメモリ(未図示)をさらに含むことができる。ここで、メモリはデータ変換サーバ(100)の多様な機能をサポートするデータを保存する。メモリはデータ変換サーバ(100)で駆動する多数の応用プログラム(application program又はアプリケーション(application))、データ変換サーバ(100)の動作のためのデータ、命令を保存することができる。
【0064】
これらの応用プログラムのうち、少なくとも一部は、有無線通信によって外部サーバからダウンロードされることができる。また、このような応用プログラムのうち少なくとも一部は、データ変換サーバ(100)の基本的な機能(例えば、データ変換、メインフレームや公衆網を通じた他のネットワークとのアクセス、装置の共有)のために出庫当初からデータ変換サーバ(100)上に存在することができる。
【0065】
一方、応用プログラムは、メモリに保存され、データ変換サーバ(100)上に設置され、プロセッサ(110)によって前述のデータ変換サーバ(100)の動作(又は機能)を遂行するように駆動されることができる。
【0066】
プロセッサ(110)はデータ変換サーバ(100)の制御に関する動作の他にも、通常データ変換サーバ(100)の全般的な動作を制御する。プロセッサ(110)は前述の構成要素を通じて入力又は出力される信号、データ、情報等を処理したりメモリに保存された応用プログラムを駆動することで、ユーザに適切な情報又は機能を提供又は処理することができる。
【0067】
また、プロセッサ(110)はメモリに保存された応用プログラムを駆動するために、データ変換サーバ(100)の構成要素のうち少なくとも一部を制御することができる。ひいては、プロセッサ(110)は前述の応用プログラムの駆動のために、データ変換サーバ(100)に含まれた構成要素のうち少なくとも2つ以上を組み合わせて動作させることができる。
【0068】
前述の各構成要素のうち少なくとも一部は、以下に説明される多様な実施例によるデータ変換サーバ(100)の動作、制御、又は制御方法を実装するために互いに協力して動作することができる。また、前述のデータ変換サーバ(100)の動作、制御、又は制御方法は、前述のメモリに保存された少なくとも1つの応用プログラムの駆動によってデータ変換サーバ(100)上で実装されることができる。
【0069】
ソフトウェア的な実装によると、本開示内容において説明される手続きおよび機能のような実施例は別途のソフトウェアモジュールとして実装されることができる。前述のソフトウェアモジュールはそれぞれ本明細書において説明される1つ以上の機能および作動を遂行することができる。適切なプログラム言語で書かれたソフトウェアアプリケーションとしてソフトウェアコードが実装されることができる。前述のソフトウェアコードはメモリに保存され、プロセッサ(110)によって実行されることができる。
【0070】
本開示の内容において、メインフレーム(200)はIBM社のような大企業で造った大型コンピューターを指す産業界の用語であり、大手企業や金融機関のような会社の企業活動に必要なコンピューティング業務で主に使われ、分散コンピューティング方式を取るよりは、中央集中式に構成されている。メインフレーム(200)のプログラムはコボル等のプログラミング言語で作成されることができる。
【0071】
本開示の複数の実施例によると、メインフレーム(200)はメインフレームデータベース、エージェントを含むことができる。ただし、ここに述べられた構成要素はメインフレーム(200)を実装するに当たり必須ではないため、メインフレーム(200)は以上に列挙された構成要素より多くの、又は、少ない構成要素を持つことができる。
【0072】
メインフレームデータベースはメインフレーム(200)に保存された1つ以上のデータセットの通称となる用語であり、メインフレーム(200)に保存されたローデータ全てを含むことができる。メインフレームデータベースはメインフレーム(200)のプログラミング言語の仕組みに則り、メインフレーム(200)のコードの仕組みに基づいて構成されることができる。例えば、メインフレームデータベースはEBCDIC(Extended Binary Coded Decimal Interchange Code)コードの仕組みを持つことができる。メインフレーム(200)のデータセットは、レコード編成を持つファイルになり得る。データセットは、DSORG(data set organization)、RECFM(record format)等の媒介変数によって決められる多様な論理レコードやブロック構造で編成されることができる。データセットは一般的な関係データベースのテーブルに対応することができる。
【0073】
メインフレーム(200)のエージェントはデータ変換サーバ(100)と通信を遂行し、メインフレームデータベースと通信して、メインフレームデータベースがデータ変換サーバ(100)と通信するようにすることができる。メインフレーム(200)とデータ変換サーバ(100)はネットワークを通じたソケット通信を行うことができる。メインフレーム(200)とデータ変換サーバはTCP又はUDP方式でソケット通信を行うことができる。エージェントはデータ変換サーバ(100)とメインフレーム(200)のソケット通信のアクセスポイントになり得る。エージェントはデータ変換サーバ(100)のプログラミング言語の仕組みを解析することができ、メインフレーム(200)のプログラミング言語の仕組みを解析することができるため、データ変換サーバ(100)とメインフレーム(200)との間の通信をサポートすることができる。エージェントはデータ変換サーバ(100)との通信のためのモジュールになり得る。エージェントはデータ変換サーバ(100)とソケット通信を行うことができる。メインフレーム(200)とデータ変換サーバ(100)は別個のコンピューティングディバイスとして存在することができ、ネットワーク通信を利用して通信することができる。エージェントはデータ変換サーバ(100)から要請した情報を解読しこれに対する処理および応答を実行できるモジュールになり得る。
【0074】
本開示の複数の実施例によると、エージェントはデータ変換サーバ(100)からレコード要請を受信することができる。データ変換サーバ(100)はメインフレーム(200)のアドレスおよびポート情報を利用してメインフレーム(200)にアクセスすることができる。エージェントはデータ変換サーバ(100)がメインフレーム(200)にアクセスした場合、正常にアクセスしたというメッセージをデータ変換サーバ(100)に送信することができる。ここで、レコード要請はメインフレーム(200)に保存されたデータセットの名前およびレコードキーを含むことができる。
【0075】
本開示のレコード要請は、メインフレーム(200)に保存された特定のレコードを要請するための情報を含むことができる。エージェントはデータセットの名前およびレコードキー(又はレコード番号)に基づき、データセットの名前によって識別されたデータセットからレコードキーによって識別されたレコードをメインフレームデータベースに要請することができる。データセットの名前はデータセットを識別するための情報を含むことができる。レコードキー又はレコード番号はデータセットに含まれたレコードのうち、どのレコードを要請しているのか識別するための情報を含むことができる。レコード要請は、データ変換サーバ(100)言語で作成されたものになり得る。この場合、エージェントはレコード要請をメインフレーム(200)言語で変換してメインフレームデータベースに伝達することができる。
エージェントはメインフレームデータベースからデータ変換サーバ(100)から要請したレコードデータを受信してこれをデータ変換サーバ(100)に伝達することができる。レコードデータは、メインフレーム(200)のデータセットの一部として、データセットのレコードキーに対応する特定の行のレコードであり、メインフレームシステムのレコード構造を持つことができる。ただし、これに限られるものではなく、データ変換サーバ(100)はメインフレーム(200)のデータセット全体を要請することもあり得る。
【0076】
本開示の複数の実施例によると、データ変換サーバ(100)はメインフレーム(200)のデータセットを要請して受信し、これをウェブページに含まれたウィジェットタイプに変形し、リアルタイムでユーザに提供することができる。さらに、データ変換サーバ(100)はユーザが当該データセットに修正を行う場合、修正された事項がメインフレーム(200)に保存されたローデータに反映されるように修正事項をメインフレーム(200)に伝達することができる。
【0077】
本開示の内容において、ユーザ端末(300)は外部コンピューティング装置に含まれることができる。ここで、ユーザ端末(300)は移動可否により移動端末(mobile/portableterminal)および固定端末(stationary terminal)に分けられることができる。また移動端末はユーザが直接持ち運べるかどうかによって携帯(形)端末(handheld terminal)および車載用端末(vehicle mounted terminal)に分けられる。
【0078】
例えば、ユーザ端末(300)は携帯電話、スマートフォン(smart phone)、デスクトップコンピューター(desktop computer)、個人用のコンピューター(personal computer)ノートブックコンピューター(laptop computer)、デジタル放送用端末、デジタルTV、デジタルサイネージ、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultra book)、ウェアラブルディバイス(wearable device、例えば、ウォッチ型端末(smart watch)、グラス型端末(smart glass)、HMD(head mounted display))等を含むことができる。
【0079】
本開示の複数の実施例によると、ユーザ端末(300)はプロセッサおよびメモリを含むことができる。ただし、ここに述べられた構成要素はユーザ端末(300)を実装するに当たり必須ではないため、ユーザ端末(300)は以上に列挙された構成要素より多くの、又は、少ない構成要素を持つことができる。ここで、それぞれの構成要素は別個のチップ、モジュールや装置によって構成されることができ、1つの装置の中に含まれることもできる。
【0080】
ユーザ端末(300)のメモリはユーザ端末(300)の多様な機能をサポートするデータを保存する。具体的に、ユーザ端末(300)のメモリは前述のユーザ端末(300)から駆動する多数の応用プログラム(application program又はアプリケーション(application))、ユーザ端末(300)の動作のためのデータ、命令を保存することができる。
【0081】
このような応用プログラムのうち少なくとも一部は、有無線通信を通じて外部サーバからダウンロードされることができる。また、このような応用プログラムのうち少なくとも一部は、ユーザ端末(300)の基本的な機能(例えば、データ変換、メインフレームや公衆網を通じた他のネットワークとのアクセス、装置の共有)のために出庫当初からユーザ端末(300)上に存在することができる。
【0082】
一方、応用プログラムは、ユーザ端末(300)のメモリに保存され、ユーザ端末(300)上に設置され、ユーザ端末(300)のプロセッサによって前述のユーザ端末(300)の動作(又は機能)を遂行するように駆動されることができる。
【0083】
ユーザ端末(300)のプロセッサはユーザ端末(300)の制御に関する動作の他にも、通常ユーザ端末(300)の全般的な動作を制御する。ユーザ端末(300)のプロセッサは上述した構成要素を通じて入力又は出力される信号、データ、情報等を処理したりユーザ端末(300)のメモリに保存された応用プログラムを駆動することで、ユーザに適切な情報又は機能を提供又は処理することができる。
【0084】
本開示の複数の実施例によると、ユーザ端末(300)は前述のユーザ端末(300)上に設置されたウェブブラウザプログラム(応用プログラム)を通じて、データ変換サーバ(100)が生成したウェブページをダウンロードすることができる。また、ユーザ端末(300)はウェブページを出力することができる。つまり、ユーザはユーザ端末(300)を通じて第1データとマッピングされた第1ウィジェットを含むウェブページを認識することができる。
【0085】
さらに、ユーザ端末(300)はユーザ入力部を含むことができる。この場合、ユーザ端末(300)はユーザ入力部を通じてユーザ入力を受信することができる。また、ユーザ端末(300)は前述のユーザ入力をデータ変換サーバ(100)に送信することができる。
【0086】
この場合、データ変換サーバ(100)はユーザ入力に対応し、メインフレーム(200)のデータセットを修正したり、ウェブページを修正することができる。つまり、ユーザはメインフレーム(200)を変更することなくデータ変換サーバ(100)のサポートによってウェブページを生成することができる。具体的に、ユーザはデータ変換サーバ(100)が提供する多様なウィジェットを通じてウェブページを容易に変更および/又は生成することができる。
【0087】
図2は、本開示の複数の実施例に基づき、データ変換サーバがメインフレームから受信したデータセットを変換してウェブブラウザに送信する方法の一例を説明するためのフローチャートである。
【0088】
本開示の複数の実施例によると、データ変換サーバ(100)のプロセッサ(110)は通信部(120)を通じてメインフレーム(200)から第1データセットを受信することができる(S100)。ここで、第1データセットは1次元形式のデータになり得る。例えば、予め設定されたバイト(Byte)の値に対応し、データの属性値が前述のデータ上に配置されることができる。
【0089】
データ変換サーバ(100)のプロセッサ(110)は第1データセットをウェブページを生成するためのJSONタイプの第1データに変換することができる(S200)。具体的に、プロセッサ(110)の第1コンバーター(111)は第1データセットのデータタイプをJSONタイプに変換することができる。つまり、プロセッサ(110)は1次元形式のデータセットを構造体形式のJSONデータに変換することができる。
【0090】
前述のプロセッサ(110)の第1コンバーター(111)が第1データセットをJSONタイプのデータに変換する方法に関する説明は、以下に
図3を参照して詳述する。
【0091】
データ変換サーバ(100)のプロセッサ(110)は第1データに基づき、ウェブページを生成することができる(S300)。具体的に、プロセッサ(110)の第2コンバーター(112)は、第1データの構造を分析することができる。また、第2コンバーター(112)はウェブページから出力できるウィジェット(Widget)のうち第1データを出力する第1ウィジェットを決めることができる。また、第2コンバーター(112)は第1ウィジェットと第1データをマッピングしてウェブページを生成することができる。
【0092】
前述のプロセッサ(110)の第2コンバーター(112)がウェブページを生成する方法に関する説明は以下の
図4をして詳しく後述する。
【0093】
一方、データ変換サーバ(100)のプロセッサ(110)はウェブページをウェブブラウザに送信するよう通信部(120)を制御することができる。
【0094】
図3は、本開示の複数の実施例に基づき、データ変換サーバがメインフレームから受信したデータセットをJSONタイプのデータに変換する方法の一例を説明するためのフローチャートである。
【0095】
本開示の複数の実施例によると、データ変換サーバ(100)のプロセッサ(110)に含まれた第1コンバーター(111)はEBCDIC(Extended Binary Coded Decimal Interchange Code)タイプで作成された第1データセットをUTF−16(16−bit Unicode Transformation Format)タイプに変換することができる(S210)。
【0096】
また、プロセッサ(110)の第1コンバーター(111)はUTF−16タイプに変換された第1データセットをJAVAオブジェクトとしてデータ変換サーバ(100)のメモリに保存することができる(S220)。また、プロセッサ(110)の第1コンバーター(111)はJAVAオブジェクトをJSONタイプのデータに変換することができる(S230)。
【0097】
つまり、データ変換サーバ(100)のプロセッサ(110)は第1コンバーター(111)を通じて第1データセットをJSONタイプの第1データに変換することができる。この場合、データ変換サーバ(100)のプロセッサ(110)はJSONタイプの第1データに基づき、ウェブページを生成することができる。
【0098】
図4は、本開示の複数の実施例に基づき、データ変換サーバがウィジェットとデータをマッピングする方法の一例を説明するためのフローチャートである。
【0099】
本開示の複数の実施例によると、データ変換サーバ(100)のプロセッサ(110)に含まれた第2コンバーター(112)は第1データの構造を分析することができる。また、プロセッサ(110)の第2コンバーター(112)は第1データの構造を分析し、ウェブページから出力できるウィジェットのうち、第1データを出力する第1ウィジェットを決めることができる(S310)。
【0100】
具体的に、第2コンバーター(112)は第1データの構造を分析し、テーブルタイプウィジェット、テキスト領域タイプウィジェットおよびボタンタイプウィジェットのうち、前述の第1データを表現できるタイプの第1ウィジェットを決めることができる。
【0101】
ただし、前述の例示に限られるのではなく、データ変換サーバ(100)のプロセッサ(110)はユーザ入力を受信して、第1ウィジェットを決めることもできる。
【0102】
本開示の複数の実施例によると、プロセッサ(110)の第2コンバーター(112)は第1ウィジェットと第1データをマッピングすることができる(S320)。
【0103】
具体的に、第2コンバーター(112)は第1ウィジェットの属性値を認識することができる。また、第2コンバーター(112)は第1データのうち第1ウィジェットの属性値に対応するキーバリューストア(Key−Value Store)を認識することができる。また、第2コンバーター(112)は第1ウィジェットに認識された前述のキーバリューストアを適用することができる。
【0104】
例えば、第2コンバーター(112)は第1ウィジェットの第1領域の座標値に対応するキーとなる値を認識することで第1ウィジェットの属性値に対応するキーバリューストアを認識することができる。そして、第2コンバーター(112)は第1ウィジェットの属性値に対応されるキーバリューストアのバリュー(値)を前述の第1ウィジェットの第1領域に表示されるようにウェブページを生成することができる。
【0105】
本開示の他の複数の実施例によると、プロセッサ(110)の第2コンバーター(112)は、第1データを出力する第1ウィジェットを決める場合、第1データに含まれた属性のうち少なくとも1つに基づき前述の第1ウィジェットを定義することができる。ここで、第1データに含まれた属性は、座標属性、アンダーライン(underline)属性、カラー(color)属性、ブリンク(blink)属性のうち少なくとも1つになり得る。
【0106】
一例として、プロセッサ(110)の第2コンバーター(112)は、第1データに含まれた属性のうち少なくとも1つに基づきテーブルタイプウィジェットを定義する場合、座標属性によって第1セルに対応する第1バリュー値を認識して、第1セルに第1バリュー値を挿入するようにテーブルタイプウィジェットを定義することができる。そして、第2コンバーター(112)は前述の第1セルを基準にして、隣接する複数のセルそれぞれに対応するバリュー値をそれぞれ挿入するように前述のテーブルタイプウィジェットを定義することができる。
【0107】
他の一例として、プロセッサ(110)の第2コンバーター(112)は前述の第1セルに第1バリュー値を挿入し、前述の第1セルに対応するアンダーライン属性が含まれている場合、前述の第1セルが含まれた行および/又は列にアンダーラインが表示されるようにテーブルタイプウィジェットを定義することができる。ここで、アンダーライン属性は行に対するアンダーラインを示す属性又は列に対するアンダーラインを示す属性のうち少なくとも1つになり得る。
【0108】
また他の一例として、プロセッサ(110)の第2コンバーター(112)は前述の第1セルに第1バリュー値を挿入した後、前述の第1セルに対応するブリンク属性が含まれている場合、前述の第1セルに挿入された第1バリュー値が点滅するようにテーブルタイプウィジェットを定義することができる。
【0109】
また他の一例として、プロセッサ(110)の第2コンバーター(112)は前述の第1セルに第1バリュー値を挿入した後、前述の第1セルに対応するカラー属性が含まれている場合、前述の第1セルに挿入された第1バリュー値がカラーで表示されるようにテーブルタイプウィジェットを定義することができる。
【0110】
一方、第2コンバーター(112)は第1データに含まれた属性のうち少なくとも1つに基づき定義されたウィジェットを含むウェブページを生成することができる。
【0111】
図5は、本開示の複数の実施例に基づき、データ変換サーバがウェブページをウェブブラウザに送信する方法の一例を説明するためのフローチャートである。
【0112】
本開示の複数の実施例によると、データ変換サーバ(100)のプロセッサ(110)は第1データに基づき生成したウェブページに基づき、HTMLコードを生成することができる(S410)。
【0113】
具体的に、データ変換サーバ(100)のプロセッサ(110)はユーザ端末(300)からウェブブラウザを通じてウェブページが出力されるように、ウェブページのソースコードをHTMLコードに変換することができる。
【0114】
ここで、HTMLはウェブブラウザ上に情報を表示するためのマークアップシンボル又はファイル(ここで、第1データのキーバリューストアが適用されたウィジェットを含むウェブページ)の中に入れられたコード類の集合体を意味する。
【0115】
また、データ変換サーバ(100)のプロセッサ(110)はHTMLコードをウェブブラウザに送信するよう通信部(120)を制御することができる(S420)。ここで、ウェブブラウザは、HTMLブラウザになり得る。
【0116】
この場合、ユーザ端末(300)は前述のユーザ端末(300)上に設置されたウェブブラウザプログラムを通じてHTMLを受信して、ウェブページを出力することができる。
【0117】
図6は、本開示の複数の実施例に基づき、データ変換サーバが生成したウェブページの一例を説明するための図面である。
【0118】
本開示の複数の実施例によると、ウェブページはウィジェットを含むことができる。具体的に、ウェブページはキー−バリュースコアを含むウィジェットを含むことができる。
具体的に、データ変換サーバ(100)のプロセッサ(110)はキー−バリュースコアによって、ウェブページに含まれたウィジェット上にメインフレーム(200)のデータを適用させることができる。
【0119】
例えば、プロセッサ(110)はウェブページに含まれたウィジェットの属性値を認識することができる。また、プロセッサ(110)はメインフレーム(200)のデータのうちウェブページに含まれたウィジェットの属性値に対応するキーバリューストア(Key−Value Store)を認識することができる。そして、プロセッサ(110)はウェブページに含まれたウィジェットに認識された前述のキーバリューストアを適用することができる。
【0120】
詳しい例を挙げると、プロセッサ(110)はウェブページに含まれたウィジェットの特定の領域の座標値に対応するキーとなる値を認識することでウェブページに含まれたウィジェットの属性値に対応するキーバリューストアを認識することができる。そして、プロセッサ(110)はウェブページに含まれたウィジェットの属性値に対応するキーバリューストアのバリュー値を前述のウェブページに含まれたウィジェットの特定の領域に表示されるようにウェブページを生成することができる。
【0121】
つまり、データ変換サーバ(100)のプロセッサ(110)は多様な画面表現ツールを利用することで、ユーザにやさしく、現代的なウェブページをユーザに提供することができる。
【0122】
したがって、ユーザはユーザ端末(300)を通じてメインフレーム(200)のデータに関する情報が含まれたウェブページを確認するとき、メインフレーム(200)のデータタイプ(例えば、EBCDICタイプ)を認知する必要がない。
【0123】
図6に示すように、データ変換サーバ(100)のプロセッサ(110)はテーブルタイプウィジェット(11)を含むウェブページ(10)を生成することができる。ここで、テーブルタイプウィジェット(11)はキー(12)およびバリュー(13)を含むことができる。ただし、
図6に示す前述のウェブページ(10)の形態は理解を容易にするための複数の実施例に過ぎず、これに限られるものではない。
【0124】
図7は、本開示の複数の実施例に基づき、データ変換サーバがユーザ端末から受信したユーザ入力を変換してメインフレームに送信する方法の一例を説明するためのフローチャートである。
【0125】
本開示の複数の実施例によると、データ変換サーバ(100)の通信部(120)はユーザ端末(300)から第1データに関する第1ユーザ入力を受信することができる(S500)。
【0126】
具体的に、ユーザ端末(300)は第1データに関するウェブページを出力することができる。また、ユーザ端末(300)は出力されたウェブページで第1ユーザ入力を受信することができる。このとき、ユーザ端末(300)は第1ユーザ入力をデータ変換サーバ(100)に送信することができる。
【0127】
この場合、データ変換サーバ(100)のプロセッサ(110)は第1ユーザ入力をJSONタイプの第2データに変換することができる(S600)。また、データ変換サーバ(100)のプロセッサ(110)は第2データを第2データセットに変換することができる(S700)。
【0128】
ここで、第2データセットはメインフレームから以前受信した第1データセットと相違するデータセットになり得る。具体的に、第2データセットは第1データセットのキー−バリューが一部変更されたデータセットになり得る。
一方、データ変換サーバ(100)のプロセッサ(110)は第2データセットをメインフレーム(200)へ送信するよう通信部(120)を制御することができる(S800)。
【0129】
つまり、データ変換サーバ(100)のプロセッサ(110)は、メインフレーム(200)の第1データセットをユーザが修正した場合、第1データセットが修正された第2データセットをメインフレーム(200)へ送信し、メインフレーム(200)に保存されたデータセットを修正することができる。
【0130】
本開示の他の複数の実施例によると、データ変換サーバ(100)の通信部(120)はユーザ端末からウェブページのカスタマイズに関する第2ユーザ入力を受信することができる。また、データ変換サーバ(100)のプロセッサ(110)は第2ユーザ入力に基づき、ウェブページを変更することができる。
【0131】
例えば、通信部(120)はユーザ端末(300)からウェブページの一領域に画像を追加する第2ユーザ入力を受信することができる。この場合、プロセッサ(110)は前述のウェブページの一領域に前述の画像を追加して、ウェブブラウザに送信することができる。
【0132】
したがって、ユーザはメインフレーム(200)を変更することなくデータ変換サーバ(100)のサポートによってウェブページを生成することができる。具体的に、ユーザはデータ変換サーバ(100)が提供する多様なウィジェットを通じてウェブページを容易に生成し、変更することもできる。
【0133】
図8は、本開示内容の実施例が実装されることのできる例示的なコンピューティング環境に関する簡略で一般的な概略図を示すものである。
【0134】
本開示は、ここまで一般的に1つ以上のコンピューター上で実行されることのできる、コンピューターで実行可能な命令に関して述べてきたが、当業者であれば本開示がその他のプログラムモジュールとの結合および/又はハードウェアとソフトウェアの組み合わせとして実装されることができることをよく理解するだろう。
【0135】
一般的に、本明細書におけるモジュールは特定のタスクを実行したり特定の抽象的なデータタイプを実装するルーティン、プロシーザー、プログラム、コンポーネント、データ構造、その他等を含む。また、当業者であれば本開示の方法が単一−プロセッサ又はマルチプロセッサコンピューターシステム、ミニコンピューター、メインフレームコンピューターはもちろん、パーソナルコンピューター、ハンドヘルドコンピューティング装置、マイクロプロセッサ−がベースとなる、又は、プログラム可能な家電製品、その他等(これらはそれぞれ1つ以上の関連する装置とつながって動作することができる)を含む他のコンピューターシステム構成によって実施されることができることをよく理解できるだろう。
本開示の説明された実施例はまた複数のタスクが通信ネットワークを通じてつながっている遠隔処理装置によって実行される分散コンピューティング環境で実施されることができる。分散コンピューティング環境で、プログラムモジュールはローカルと遠隔メモリ保存装置の両方に位置することができる。
【0136】
コンピューターは通常多様なコンピューター可読媒体を含む。コンピューターによってアクセス可能な媒体はどれでもコンピューター可読媒体になり得るが、このようなコンピューター可読媒体は揮発性および非揮発性媒体、一時的(transitory)および非一時的(non−transitory)媒体、移動式および非移動式媒体を含む。制限ではない例として、コンピューター可読媒体はコンピューター可読保存媒体およびコンピューター可読伝送媒体を含むことができる。
【0137】
コンピューター可読保存媒体はコンピューター可読命令、データ構造、プログラムモジュール又はその他データのような情報を保存する任意の方法又は技術によって実装される揮発性および非揮発性媒体、一時的および非一時的媒体、移動式および非移動式媒体を含む。コンピューター可読保存媒体はRAM、ROM、EEPROM、フラッシュメモリ又はその他メモリ技術、CD−ROM、DVD(digital video disk)又はその他光ディスク保存装置、磁気カーセット、磁気テープ、磁気ディスク保存装置又はその他磁気保存装置、又はコンピューターによってアクセスされることができ、必要な情報を保存するために使われることのできる任意のその他媒体を含むが、これに限られない。
コンピューター可読伝送媒体は通常搬送波(carrier wave)又はその他伝送メカニズム(transport mechanism)のような非変調データ信号(modulated data signal)にコンピューター可読命令、データ構造、プログラムモジュール又はその他データ等を実装した全ての情報伝達媒体を含む。非変調データ信号という用語は信号の中に情報をエンコードするようにその信号の特性のうち、1つ以上を設定又は変更させた信号を意味する。制限ではない例として、コンピューター可読伝送媒体は有線ネットワーク又は直接配線接続(direct−wired connection)のような有線媒体、そして音響、RF、赤外線、その他無線媒体のような無線媒体を含む。上述の媒体のうち任意のもの組み合わせもまたコンピューター可読伝送媒体の範囲の中に含まれるものとする。
【0138】
コンピューター(1102)を含む本開示の色々な側面を実現する例示的な環境(1100)が現れており、コンピューター(1102)は処理装置(1104)、システムメモリ(1106)およびシステムバス(1108)を含む。システムバス(1108)はシステムメモリ(1106)(これに限られない)をはじめとするシステムコンポーネントを処理装置(1104)につなげる。処理装置(1104)は多様な商用プロセッサのうち、任意のプロセッサになり得る。デュエルプロセッサおよびその他マルチプロセッサアーキテクチャーもまた処理装置(1104)で利用されることができる。
【0139】
システムバス(1108)はメモリバス、周辺装置バス、および多様な商用バスアーキテクチャーのうち任意のものを使うローカルバスにさらに相互接続できる複数のタイプのバス構造のうち、任意のものになり得る。システムメモリ(1106)は読み取り専用のメモリ(ROM)(1110)およびランダムアクセスメモリ(RAM)(1112)を含む。基本的な入力/出力システム(BIOS)はROM、EPROM、EEPROM等の非揮発性メモリ(1110)に保存され、このBIOSは始動中のようなときにコンピューター(1102)内部の複数の構成要素の間での情報伝送をサポートする基本的なルーティンを含む。RAM(1112)はまたデータをキャッシングするための静的なRAM等の高速RAMを含むことができる。
【0140】
コンピューター(1102)はまた内蔵型ハードディスクドライブ(HDD)(1114)(例えば、EIDE、SATA)―内蔵型ハードドライブ(1114)はまた適切なシャシ(図示は省略する)の中で外付けとして構成されることができる―、磁気フロッピーディスクドライブ(FDD)(1116)(例えば、移動式ディス家と(1118)から読み取ったりそれに記録をするためのものである)、および光ディスクドライブ(1120)(例えば、CD−ROMディスク(1122)を読み取ったりDVD等のその他高容量の光媒体から読み取ったりそれに記録をするためのものである)を含む。ハードディスクドライブ(1114)、磁気ディスクドライブ(1116)および光ディスクドライブ(1120)はそれぞれハードディスクドライブインターフェース(1124)、磁気ディスクドライブインターフェース(1126)および光ドライブインターフェース(1128)によってシステムバス(1108)につながることができる。外付け型のドライブの実装のためのインターフェース(1124)は例えば、USB(Universal Serial Bus)およびIEEE1394インターフェース技術のうち、少なくとも1つ又はその両方を含む。
【0141】
これらのドライブおよびそれにかかわるコンピューター可読媒体はデータ、データ構造、コンピューターで実行可能な命令、その他等の非揮発性保存を提供する。コンピューター(1102)の場合、ドライブおよび媒体は任意のデータを適切なデジタル形式で保存することに対応する。前述でのコンピューター可読保存媒体に関する説明がHDD、移動式磁気ディスク、およびCD又はDVD等の移動式光媒体について触れているが、当業者であればジップドライブ(zip drive)、磁気カーセット、フラッシュメモリカード、カートリッジ、その他等のコンピューターによって読み取り可能な他のタイプの保存媒体もまた、例示的な運営環境で使われることができ、また任意のこのような媒体が本開示の方法を実行するためのコンピューターで実行可能な命令を含むことができることをよく理解できるだろう。
【0142】
運営体制(1130)、1つ以上のアプリケーションプログラム(1132)、その他プログラムモジュール(1134)およびプログラムデータ(1136)をはじめとする多数のプログラムモジュールがドライブおよびRAM(1112)に保存されることができる。運営体制、アプリケーション、モジュールおよび/又はデータの全部又はその一部分が、またRAM(1112)にキャッシングされることがえきる。本開示が色々な商業的に利用できる運営体制又は複数の運営体制の組み合わせにより実装されることができることをよく理解できるだろう。
【0143】
ユーザは1つ以上の有線/無線入力装置、例えば、キーボード(1138)およびマウス(1140)等のポインティング装置を通じてコンピューター(1102)に命令および情報を入力することができる。その他入力装置(図示は省略する)にはマイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等がありうる。これらのおよびその他入力装置がしばしばシステムバス(1108)につながっている入力装置インターフェース(1142)を通じて処理装置(1104)につながるが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他等のその他インターフェースによってつながることができる。
モニター(1144)又は他のタイプのディスプレイ装置もまたビデオアダプター(1146)等のインターフェースを通じてシステムバス(1108)につながる。モニター(1144)に加えて、コンピューターは一般的にスピーカー、プリンター、その他等のその他周辺出力装置(図示は省略する)を含む。
【0144】
コンピューター(1102)は有線および/又は無線通信を通じた遠隔コンピューター(1148)等の1つ以上の遠隔コンピューターへの論理的接続を利用してネットワーク化された環境で動作することができる。遠隔コンピューター(1148)はウォークステーション、サーバコンピューター、ルーター、パーソナルコンピューター、携帯用コンピューター、マイクロプロセッサ−がベースとなるゲーム機、ピア装置又はその他通常のネットワークノードになり得るが、一般的にコンピューター(1102)にういて記述された構成要素のうち多数又はその全部を含むが、説明を簡略にするために、メモリ保存装置(1150)だけ図示されている。図示されている論理的接続は近距離通信網(LAN)(1152)および/又はより大きいネットワーク、例えば、遠距離通信網(WAN)(1154)への有線/無線接続を含む。このようなLANおよびWANネットワーキング環境はオフィスおよび会社では一般的なものであり、イントラネット等の全社的コンピューターネットワーク(enterprise−wide computer network)を容易にして、これらの全ては全世界のコンピューターネットワーク、例えば、インターネットにつながることができる。
【0145】
LANネットワーキング環境で使われるとき、コンピューター(1102)は有線および/又は無線通信ネットワークインターフェース又はアダプタ(1156)を通じてローカルネットワーク(1152)に接続される。アダプタ(1156)はLAN(1152)への有線又は無線通信を容易にすることができ、このLAN(1152)はまた無線アダプタ(1156)と通信するためにそれに設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピューター(1102)はモデム(1158)を含むことができたり、WAN(1154)上の通信サーバに接続されたり、又はインターネットを通じる等、WAN(1154)を通じて通信を設定するその他の手段を持つ。内蔵型又は外付け型および有線又は無線装置になり得るモデム(1158)は直列ポートインターフェース(1142)を通じてシステムバス(1108)に接続される。ネットワーク化された環境で、コンピューター(1102)について説明されたプログラムモジュール又はその一部分が遠隔メモリ/保存装置(1150)に保存されることができる。図示されたネットワーク接続が例示的なものであり、コンピューター等の間に通信リンクを設定するその他の手段が使われることができるということをよく理解できるだろう。
【0146】
コンピューター(1102)は無線通信で配置され動作する任意の無線装置又はエンティティ、例えば、プリンター、スキャナー、デスクトップおよび/又は携帯用コンピューター、PDA(portable data assistant)、通信衛星、無線検出可能タグにかかわる任意の装備又は場所、および電話と通信をする動作をする。これは、少なくともWi−Fiおよびブルートゥース無線技術を含む。したがって、通信は従来のネットワークでのように予め定義された構造だったり単純に少なくとも2つの装置の間にアドホック通信(adhoc communication)になり得る。
【0147】
Wi−Fi(Wireless Fidelity)は有線がなくてもインターネット等での接続を可能にする。Wi−Fiはこのような装置、例えば、コンピューターが室内や室外で、つまり基地局の通話圏内のどこからでもデータを伝送および受信できるようにする、セル方式の電話のような無線技術である。Wi−Fiネットワークは安全で信頼性があり、高速の無線接続を提供するためにIEEE802.11(a、b、g、その他)という無線技術を利用する。複数のコンピューター同志を接続させたり、コンピューターをインターネットにおよび有線ネットワーク(IEEE802.3又はイーサネット(登録商標)を使う)に接続させるためにWi−Fiが使われることができる。Wi−Fiネットワークは非認可2.4および5GHz無線帯域で、例えば、11Mbps(802.11a)又は54Mbps(802.11b)のデータレートで動作したり、両帯域(デュエル帯域)を含む製品で動作することができる。
【0148】
本開示の技術分野において通常の知識を持つ者はここに開示された実施例に基づいて説明された多様な例示的な論理ブロック、モジュール、プロセッサ、手段、回路およびアルゴリズム段階が電子ハードウェア、(利便性を図るために、ここでは「ソフトウェア」と称される)多様な形態のプログラム又は設計コード又はこれら全部の結合によって実装されることができることを理解できるだろう。ハードウェアおよびソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路および段階が、これらの機能に関する内容とともに一般的に説明された。このような機能がハードウェア又はソフトウェアとして実装されるかどうかは特定のアプリケーションおよび全体システムにおける設計上の制約によって左右される。本開示の技術分野において通常の知識を持つ者は、特定の各アプリケーションについて、多様な方式で説明された機能を実装することができるが、このような実装の決定が本開示の範囲を逸脱するものと解釈されてはならない。
【0149】
ここに示された多様な実施例は方法、装置、又は標準プログラミングおよび/又はエンジニアリング技術を使用した製造物(article)として実装されることができる。用語「製造物」は任意のコンピューター−可読装置からアクセス可能なコンピュータープログラム又は媒体(media)を含む。例えば、コンピューター−可読保存媒体は磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ、等)、光学ディスク(例えば、CD、DVD、等)、スマートカード、およびフラッシュメモリ装置(例えば、EEPROM、カード、スティック、キードライブ、等)を含むが、これらに限られるものではない。用語「機械−可読媒体」は命令および/又はデータを保存、保有、および/又は伝達できる無線チャンネルおよび多様な他の媒体を含むが、これらに限られるものではない。
【0150】
示されたプロセスにおける段階の特定の順番又は階層構造は例示的なアプローチの一例であることを理解する。設計上の優先順位に基づき、本開示の範囲内でプロセスにおける段階の特定の順番又は階層構造が再配列されることがあり得ることを理解しなければならない。添付方法請求項はサンプルの順番で多様な段階のエレメントを提供するが、示された特定の順番又は階層構造に限られることを意味するわけではない。
【0151】
示された実施例に関する説明は任意の本開示の技術分野において通常の知識を持つ者が本開示を利用したり又は実施できるように提供される。このような実施例に関する多様な変形は、本開示の技術分野において通常の知識を持つ者には明らかなものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることができる。したがって本開示は、ここに示された実施例により限定されるものではなく、ここに示された原理および新規の特徴と一貫する最広義の範囲で解釈されるべきである。