(58)【調査した分野】(Int.Cl.,DB名)
Webサービスの入出力の項目と、当該Webサービスを利用するアプリケーションが参照するデータモデルの項目と、を対応付けるマッピングファイルを記憶する記憶手段を備える情報処理装置であって、
前記データモデルの指定を受け付ける指定受付手段と、
前記指定受付手段により指定を受け付けたデータモデルの項目と前記入出力の項目とを対応付けるための指示を受け付けたことに応じて、当該データモデルの項目と当該入出力の項目とを対応付けたマッピングファイルを生成するマッピングファイル生成手段と、
を備えることを特徴とする情報処理装置。
前記指定受付手段により指定を受け付けたデータモデルの項目と前記入出力の項目とを対応付けるための指示とは、前記データモデルを、前記記憶手段に記憶されているマッピングファイルが表示された表示領域に移動する移動指示であることを特徴とする請求項1又は2に記載の情報処理装置。
前記マッピングファイル生成手段により、前記マッピングファイルの生成による対応付けがされた項目又は当該項目を備えるオペレーションを、前記表示領域または前記オペレーションの一覧において識別表示する識別表示手段と、
を備えることを特徴とする請求項4に記載の情報処理装置。
前記マッピングファイル生成手段により、前記データモデルのどの項目とどの前記入出力の項目とを対応付けるかを、それぞれの項目の識別情報を用いて決定する決定手段と、
を備え、
前記マッピングファイル生成手段は、前記決定手段により対応付けることが決定された項目同士を対応付けたマッピングファイルを生成することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
Webサービスの入出力の項目と、当該Webサービスを利用するアプリケーションが参照するデータモデルの項目と、を対応付けるマッピングファイルを記憶する記憶手段を備える情報処理装置の制御方法であって、
前記データモデルの指定を受け付ける指定受付工程と、
前記指定受付工程により指定を受け付けたデータモデルの項目と前記入出力の項目とを対応付けるための指示を受け付けたことに応じて、当該データモデルの項目と当該入出力の項目とを対応付けたマッピングファイルを生成するマッピングファイル生成工程と、
含むことを特徴とする情報処理装置の制御方法。
Webサービスの入出力の項目と、当該Webサービスを利用するアプリケーションが参照するデータモデルの項目と、を対応付けるマッピングファイルを記憶する記憶手段を備える情報処理装置で実行が可能なプログラムであって、
前記情報処理装置を、
前記データモデルの指定を受け付ける指定受付手段と、
前記指定受付手段により指定を受け付けたデータモデルの項目と前記入出力の項目とを対応付けるための指示を受け付けたことに応じて、当該データモデルの項目と当該入出力の項目とを対応付けたマッピングファイルを生成するマッピングファイル生成手段として機能させることを特徴とする情報処理装置のプログラム。
Webサービスの入出力の項目と、当該Webサービスを利用するアプリケーションが参照するデータモデルの項目とを対応付けるマッピングファイルを記憶するサーバ装置と、情報処理装置と、を含む情報処理システムであって、
前記データモデルの指定を受け付ける指定受付手段と、
前記指定受付手段により指定を受け付けたデータモデルの項目と前記入出力の項目とを対応付けるための指示を受け付けたことに応じて、当該データモデルの項目と当該入出力の項目とを対応付けたマッピングファイルを生成するマッピングファイル生成手段と、
を備えることを特徴とする情報処理システム。
Webサービスの入出力の項目と、当該Webサービスを利用するアプリケーションが参照するデータモデルの項目とを対応付けるマッピングファイルを記憶するサーバ装置と、情報処理装置と、を含む情報処理システムの制御方法であって、
前記データモデルの指定を受け付ける指定受付工程と、
前記指定受付工程により指定を受け付けたデータモデルの項目と前記入出力の項目とを対応付けるための指示を受け付けたことに応じて、当該データモデルの項目と当該入出力の項目とを対応付けたマッピングファイルを生成するマッピングファイル生成工程と、
を含むことを特徴とする情報処理システムの制御方法。
Webサービスの入出力の項目と、当該Webサービスを利用するアプリケーションが参照するデータモデルの項目とを対応付けるマッピングファイルを記憶するサーバ装置と、情報処理装置と、を含む情報処理システムを制御するプログラムであって、
前記データモデルの指定を受け付ける指定受付手段と、
前記指定受付手段により指定を受け付けたデータモデルの項目と前記入出力の項目とを対応付けるための指示を受け付けたことに応じて、当該データモデルの項目と当該入出力の項目とを対応付けたマッピングファイルを生成するマッピングファイル生成手段と
して機能させることを特徴とする情報処理システムのプログラム。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態の一例について説明する。
【0012】
<第1の実施形態>
まず、
図1〜
図11を参照して、本発明の第1の実施形態について説明する。
【0013】
本発明では、Webサービスにかかる項目のマッピングを容易に行うことのできる仕組みを提供する。
【0014】
例えば、ドラッグ&ドロップのような直感的なデータの移動操作により、マッピングファイルの更新を行うことのできる仕組みを提供する。
【0015】
まず
図1を参照して、本発明の実施形態における、情報処理システムの構成の一例について説明する。
【0016】
本発明の情報処理システムは、
図1に示すように、プログラム開発PC100、PC101、アプリケーションサーバ200、Webサービス提供サーバ300等の各種装置が、WAN150(ワイドエリアネットワーク)等のネットワークを介して通信可能に接続され構成されている。
【0017】
プログラム開発PC100は、ユーザ操作により、プログラム開発PC上のプログラム開発アプリケーション(
図4でいうアプリケーション生成部410)を自機上で動作させ、後述するフローチャートの各処理を実行する。
【0018】
Webサービス提供サーバ300は、Webサービスの公開・提供と、当該Webサービスを外部装置・外部のアプリケーション(例:アプリケーションサーバ200上で動作するアプリケーション/Webサービスにとってのクライアントアプリケーション)利用させるためのWSDL(WEBサービス記述言語ファイル)を公開している。
【0019】
プログラム開発PC100は、Webサービス提供サーバにより提供されているWebサービスのWSDLを、WAN150を介してダウンロードして取得し、特開2011−059751号公報に記載の方法でマッピングファイルとプロキシクラス(Webサービス呼び出しプログラム)を生成する。また、ユーザ操作に応じて、自機に記憶されているデータモデル(データモデル定義ともいう)を用いた当該マッピングファイルの更新を行う。そして、マッピング後のマッピングファイルとWebサービス呼び出しプログラムをアプリケーションサーバに送信することで、アプリケーションサーバ上で動作するアプリケーション(Webアプリケーション)によるWebサービスの利用を可能にする(デプロイする)。
【0020】
本実施形態におけるマッピングファイルとは、Webアプリケーション側(クライアントアプリケーション側)のデータモデルとWebサービスの入出力データ項目の対応付けをする対応付けファイルである。Webアプリケーション自身が管理する、そのWebアプリケーション専用に作成されたようなデータベースで利用されるデータモデルは、データベースのスキーマと完全に一致する。しかし、Webサービスを利用する仕組みにおいては、Webアプリケーションの用いるデータモデルはWebサービスの入出力データ項目と必ずしも一致しない。これは例えば当該WebアプリケーションとWebサービスを設計・管理する会社が違ったり、設計思想・データの管理ルールが異なったりする等の理由による。データモデルとWebサービスの入出力データ項目の対応付けを行うのがマッピングファイルの役割であり、データモデル項目をWebサービスの入力データ又は出力データ(WSDLによって公開されている入出力データ項目)に対応付けることをマッピングと呼ぶ。
【0021】
アプリケーションサーバ200は、例えばPC101等の外部装置からの操作指示に応じて処理・機能を実行するWebアプリケーションを備える。また、例えば引数のデータモデルをマッピングファイルを参照してWebサービス呼び出しプログラムに入力値(入力パラメータ)として決定し入力する。Webサービス呼び出しプログラムは、当該入力値をSOAPメッセージに変換してWebサービス提供サーバ300のWebサービスプログラムに送信し、応答とした得られた戻り値のデータモデルを、マッピングファイルにマッピングされたWebアプリケーションの扱うデータモデルに適用させて、Webアプリケーションに出力する。つまり、Webサービスの仕様(WSDLの仕様)が変更になった場合でも、Webアプリケーションプログラムを変更することなく、マッピングファイルを変更するだけでWebサービスの仕様変更に対応し、Webサービスを利用できるように構成されている。以上が
図1の説明である。
【0022】
次に
図2を参照して、本発明の実施形態における、各種装置のハードウェア構成の一例について説明する。
【0023】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【0024】
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0025】
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、ディスプレイ210(例えばCRTディスプレイ)等の表示器への表示を制御する。なお、表示器はCRTディスプレイだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じてユーザが使用するものである。
【0026】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0027】
208は通信I/Fコントローラで、ネットワーク(例えば、
図1に示すWAN150やLAN151)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0028】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0029】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上が
図2の説明である。
【0030】
次に
図3を参照して、本発明の実施形態におけるプログラム開発PCの機能構成の一例について説明する。301〜306の各機能は、プログラム開発PC100にインストールされているプログラム開発アプリケーションが備える機能である。プログラム開発PC100のCPU201は、当該プログラム開発アプリケーションの各機能を用いて、後述するフローチャートの処理を実行する。
【0031】
マッピングファイル表示処理部301は、
図10に示すようなマッピングファイル表示画面において、例えばユーザ操作に応じて、マッピングファイル表示部1009にマッピングファイルの情報を表示する処理部である。データモデル表示部302は、
図10の1008に示すように、外部メモリから読み込んだデータモデル定義(
図10でいう1001)を表示画面に表示する処理部である。移動操作受付部303は、マッピングファイル表示処理部301により表示されたマッピングファイルの編集部(
図10の1002)に対する、ドラッグ&ドロップ操作等によるデータの移動操作を受け付ける。
【0032】
データモデル判定部304は、移動操作がされた(ドラッグ&ドロップ操作がされた)データがデータモデル定義か判定する。マッピング対象項目決定部305は、移動操作がされたデータがデータモデル定義であった場合に、移動先の編集部1002に表示されているマッピングファイルの入出力データ項目(入力データ項目(INPUT)又は出力データ項目(OUTPUT))の項目名(識別情報の文字列)と、移動操作がされたデータモデル定義内の所定のデータ項目名との一致判定を行い、項目名が一致する項目同士を対応付ける、つまり、マッピングすることを決定する処理部である。マッピングファイル生成部306は、マッピング対象項目決定部305による決定に従って、対応付けると決定された項目同士をマッピングしたマッピングファイルを外部メモリ上に生成する。例えば、外部メモリに記憶されている、当該移動操作がされた先(編集部1002)に表示されているマッピングファイルの情報をメモリ上に読み出して、当該マッピングファイル内において、マッピング対象項目決定部305により決定された項目同士のマッピングを行い、上書き・更新することで、当該移動操作によるマッピング後のマッピングファイルを生成する。以上が
図3の説明である。
【0033】
次に
図4を参照して、本発明の実施形態における、各種装置の機能構成及びデータの所在について説明する。
【0034】
図4は、本発明の実施形態における情報処理システムの、各種装置の構成図である。なお、
図3の説明で前述した301〜306の説明は省略する。
【0035】
プログラム開発PC100は、リポジトリ定義部400、アプリケーション生成部410、Webアプリケーション基盤コード生成部420、Webサービス呼び出しモジュール生成部430、マッピングファイル編集部440、ソースコードコンパイル部450を保持している。
【0036】
リポジトリ定義部400は、アプリケーション定義401、入出力定義402、データモデル定義403、ビジネスプロセス定義404、拡張定義406、マッピングファイル407を備える。これらのファイルは、プログラム開発アプリケーションを介して開発者によって入力され、作成されて、プログラム開発PC100の外部メモリ上に記憶される。
【0037】
すなわち、リポジトリ定義部400は、プログラムを実行するための引数として入力される項目を定義するWebアプリケーション用入力定義情報と、プログラムを実行した処理結果として出力する項目を定義するWebアプリケーション用出力定義情報とを、Webアプリケーション用入出力定義情報として管理する手段の一例である。ここでいうWebアプリケーションとは、アプリケーションサーバ200が保持するWebアプリケーション(
図4では461)を指すものとする。
【0038】
次に、Webアプリケーション基盤コード生成部420について説明する。リポジトリ定義解析部421は、リポジトリ定義部400からアプリケーション定義401、入出力定義402、データモデル定義403、ビジネスプロセス定義404、拡張定義406、マッピングファイル407等を読み込み解析する。Webアプリケーションコード生成部422は、外部メモリ211に記憶されているコード生成ルールと、リポジトリ定義解析部421によって解析された内容とを用いて、ソースコードコンパイル部450を介し、Webアプリケーションモジュール(Webアプリケーションプログラム)を生成する。すなわち、Webアプリケーションコード生成部422は、Webアプリケーションに用いられるプログラムを生成するルールを記憶する手段の一例である。
【0039】
Webサービス呼び出しモジュール生成部430のWSDL解析部431は、Webサービス提供サーバ300からWSDLファイルをダウンロードしてメモリに記憶し、解析を行い、マッピングテンプレートファイル生成部432が、当該解析結果に基づいてマッピングファイルテンプレート(まだ、マッピングが完了していない、
図8の800に示すようなマッピングファイル)を生成する。また、Webサービス呼び出しプログラム生成部433は、例えば特開2011−059751号公報にて公開されている手法を用いて、Webサービス呼び出しプログラム(Webサービス呼び出しモジュール)を生成し、メモリ上に記憶する。
【0040】
マッピングファイル編集部440のマッピングファイルGUI(Graphic User Interface)表示部441は、
図10等に示すマッピングファイル表示画面1000を表示する処理部であり、マッピングファイル表示処理部301と、データモデル表示部302を備える。301〜306の説明は、
図3の説明で上述したため割愛する。データモデル定義受信部442は、マッピングファイル表示部1009(具体的には、
図10の編集部1002)へのデータモデル定義のドラッグ&ドロップ操作に応じて、リポジトリ定義部400からデータモデル定義を取得してメモリに保持する。マッピング対象項目決定部305や、マッピングファイル生成部306は、メモリ上に保持されている当該データモデル定義を用いて、マッピングファイル上のWSDLから取得した入出力データ項目とデータモデルの項目名の一致判定、更新を行う。
【0041】
アプリケーションサーバ200のWebアプリケーション461は、ソースコードコンパイル部450によりコンパイルされたWebサービス呼び出しプログラムを受信して、保持し、Webサービス呼び出しプログラムを実行するWebサービス呼び出しプログラム実行部を備える。また、Webアプリケーション461は、ソースコードコンパイル部450によりコンパイルされた、Webアプリケーションコード生成部422により生成されたWebアプリケーションのプログラムを保持しており、その機能を実行可能である。以上が
図4の説明である。
【0042】
次に
図5を参照して、本発明の実施形態における、WSDLの解析によるマッピングファイル及びWebサービス呼び出しプログラムの生成処理の流れについて説明する。
図5は、例えば特開2011−059751号公報にて既に公開されている公知の技術の処理概要を説明する図である。
【0043】
図5の各処理は、プログラム開発PC100のCPU201が、
図4に示すWebサービス呼び出しモジュール生成部の各機能(プログラム開発アプリケーションの一部の機能)を用いて実行する。
【0044】
まず、ステップS500において、プログラム開発PC100のWSDL解析部431は、ネットワーク(
図1でいうWAN150)を経由して、Webサービス提供サーバ300に記憶され公開されているWSDLファイル700を取得して、メモリ上に展開する。
【0045】
WSDLファイルの一例を
図7の700に示す。WSDLファイル(WSDLともいう)は、Webサービス提供サーバ300が提供しているWebサービスを、例えばアプリケーションサーバ200で動作するアプリケーションでも利用可能にするために公開されているファイルであり、WebサービスのWeb APIがどんなメソッドを公開しているか、アクセスすべきURIはどこか、渡すべきパラメータは何か、戻り値は何か、利用すべき名前空間は何か、等の情報が記述されたXMLファイルである。WSDLファイルは、プログラム開発PC100からのダウンロード要求に従ってWebサービス提供サーバ300がプログラム開発PC100に送信することで、プログラム開発PC100上にダウンロードされ記憶される。
【0046】
次にステップS501で、WSDL解析部431は、読み込んだWSDLファイル700の内容を解析する。具体的にはWSDLファイルに記載されている(公開されている)要素([service]、[port]、[binding]、[portType]、[message]、[types]等)を、当該要素ごとに分類する。
【0047】
具体的には、
図7に示すWSDLファイル700の場合、
図7でいう702をオペレーション名と解釈して決定し、703をWebサービスの呼び出しに必要なINパラメータ(入力データ項目を含むパラメータ)として解釈して決定する。また、701をWebサービスが呼びだされた際のOUTパラメータ(戻り値として出力される出力データ項目を含むパラメータ)として解釈して決定する。これらの解釈は、WSDLファイル700の中に別途記載されている、例えば、
・<wsdl:operation name=“SLOC_JAVA_WSIO_getData”>に示されるオペレーション名
・<wsdl:input message=“axis2:SLOC_JAVA_WSIO_getDataRequest”・・・>に示される入力メッセージ
・<wsdl:output message=“axis2:SLOC_JAVA_WSIO_getDataResponse”・・・>に示される出力メッセージ
の文字列と、<types>内のエレメント名の文字列の一致判定によって行われる。(「JAVA」は登録商標)
【0048】
ステップS502で、マッピングファイル生成部はステップS501で解析した情報を元にマッピングテンプレートファイルを作成する。
【0049】
マッピングファイルは、例えばアプリケーションサーバ200で動作するWebアプリケーションにWebサービス提供サーバ300の提供するWebサービスを利用させるために用いる、当該WebサービスのWSDL内の入出力データ項目と、Webアプリケーションの取り扱うデータモデルのデータ項目とを対応付ける(マッピングする)ファイルであるが、本実施形態において、ステップS502の時点において生成されるのは、
図8の800に示すようなマッピングが完了していないマッピングファイル(マッピングテンプレートファイル)であるものとする。具体的には、マッピングされるデータモデルの識別情報を示すDMCODE(
図8の805)、データモデル定義のデータ項目名を示すDITEM(
図8の806)が入力されていないファイルである。
【0050】
図8に示すように、例えばname702(オペレーション名)はマッピングファイル800のname802(オペレーション名)に展開され、INパラメータ703はINパラメータ803(input)に、OUTパラメータ701はOUTパラメータ801(output)にそれぞれ挿入されている。804は、WSDLファイル700に記述されていた出力データ項目の項目名を示し、
図7のname704の値が挿入されている。
【0051】
ステップS503で、Webサービス呼び出しプログラム生成部433は、Webサービスを呼び出した場合に必要となるINパラメータ703やOUTパラメータ701の値を、マッピングファイル800(
図8)の定義に従い、プログラム開発PC100の外部メモリに記憶されているデータモデル定義(例:アプリケーションサーバ200で実行するWebアプリケーションの機能や画面等により参照されるデータ項目の定義)とを紐付けて解釈し、WebサービスとWebアプリケーションの間で、WebサービスとWebアプリケーションそれぞれが解釈可能なように翻訳し、伝達・中継するWebサービス呼び出しプログラムを生成する。
【0052】
Webサービス呼び出しプログラムは、例えば、Webアプリケーションから受信した引数のデータ項目と対応付けられたマッピングファイル上の入力データ項目を特定し、Webサービスに対して当該引数を、当該入力データ項目の値として引き渡す。また、例えば、Webサービスから受信した戻り値のデータ項目(出力データ項目)のデータを、マッピングファイルにおいて当該出力データ項目に対応付けられているデータモデル定義上のデータ項目の値として、Webアプリケーションプログラムに対して出力・中継するプログラムである。以上が
図5の説明である。
【0053】
次に
図6を参照して、本発明の実施形態における、マッピングファイルの編集処理の流れについて説明する。
【0054】
図6の各処理は、プログラム開発PC100のCPU201が、
図4に示すマッピングファイル編集部440の各機能(プログラム開発アプリケーションの一部の機能)を用いて実行する。
【0055】
ステップS601で、GUI表示部441はマッピングファイル(
図8の800に図示)を開く命令・指示を受け付け、
図10のようなGUI(マッピングファイル表示画面1000を表示画面に表示する。このとき、マッピングファイル表示処理部301が、指示されたマッピングファイルの情報をメモリ上に読み込んで、
図10のマッピングファイル表示部1009に表示する(表示制御手段に該当)。
【0056】
また、データモデル表示部302は、例えばプログラム開発PC100の外部メモリに記憶されているデータモデル定義の定義ファイルを読み込んで、データ一覧表示部1008に選択可能に表示する。なお、データ一覧表示部1008は、データモデル定義に限らず、プログラム開発アプリケーションが管理する所定のフォルダ内のデータを、ユーザ操作により選択したり、コピー&ペーストやドラッグ&ドロップして他の表示領域へデータを移動させたりすることが可能なように一覧表示する表示部である。
【0057】
マッピングファイルの情報のうち、name802(オペレーション名)はオペレーション名表示部1003に選択可能に一覧表示する。オペレーションとは操作の単位であり、オペレーション名表示部は操作一覧表示部である。階層構造表示部1007には、オペレーション名表示部1003で選択されているオペレーションのタグ(マッピングファイル内のタグ)の中の要素名を、マッピングファイル内の記述に従って、選択可能に階層構造形式で表示する(一覧表示制御手段に該当)。
【0058】
また、入力タブ1005の押下操作を受け付けることで、マッピングファイル内の<input・・・>の中の要素のうち、階層構造表示部1007において選択されている要素名の要素(INパラメータ803の入力データ項目)を特定し、編集部1002に表示する。また、出力タブ1004の押下操作を受け付けることで、マッピングファイル内の<output・・・>タグの中の要素の内、階層構造表示部1007において選択されている要素名の要素(OUTパラメータ801の出力データ項目)を特定し、編集部1002に表示する。なお、
図10の編集部1002においては、階層構造表示部1007において要素名=「g」が選択されているため、マッピングファイル800における807のname=「g」のoutputの要素に絞り込んで各種出力データ項目を表示している。
【0059】
ステップS602で、移動操作受付部303は、データ一覧表示部1008に表示されているデータモデル定義1001を、編集部1002へドラッグ&ドロップする操作を受け付ける。また、データモデル定義受信部442は、当該ドラッグ&ドロップの操作を受け付けることで、ドロップされたデータモデル定義をリポジトリ定義部400から受信して取得する。当該ドラッグ&ドロップの操作は、1002にドロップされたデータモデル定義の所定のデータ項目と、マッピングファイル内のWSDLの入力又は出力の所定のデータ項目とを対応付けるマッピング処理の実行を指示する操作である。なお、ここでは1001のデータモデル定義は、
図9の901に示す項目・データを備える定義であり、実際にはXMLファイルとしてプログラム開発PC100の外部メモリ上に記憶されているファイルであるものとする。データモデル定義は、プログラム開発PC100の表示画面に表示される900のような画面で表示・編集可能である。
【0060】
ステップS603で、データモデル判定部304は、編集部1002にドロップされたのがデータモデル定義か判定する。つまり移動操作されたファイルがデータモデル定義のファイルか判定する。具体的には、ドロップされたことで取得したデータモデル定義1001のファイル(XMLファイル)をメモリ上に展開し、当該展開したデータモデル定義のファイル内部構造(タグの階層、要素名等)を読み取って、自機の外部メモリに予め記憶されているデータモデル定義の内部構造を示す情報と当該読み取ったファイルの内部構造(タグの階層、要素名等)が一致する場合に、ドロップされたファイルがデータモデル定義であると判定する。ドロップされたファイルがデータモデル定義ファイルでない場合は、
図6の処理を終了する。
【0061】
ドロップされたファイルがデータモデル定義ファイルである場合には、それ以降、ステップS604〜S605の処理を、ドロップ操作されたデータモデル定義1001(901)の項目数分だけ実行する。つまり、901に示す全ての項目コード902に対してステップS604〜S605の処理を実行する。
【0062】
ステップS604で、マッピング対象項目決定部305は、データモデル定義901の項目コード902の値を1つ取得し、取得した値がマッピングの条件を満たすか判定する。マッピング条件とは、当該データモデル定義901の項目コード902と、マッピングファイル上のいずれの入出力データ項目を対応付けるかを判定し、決定するための判定条件・決定条件である。例えば、データモデル定義901の項目コード902からvalueの値を取得した場合、マッピングファイル800のname804にvalueの値があるか判定する。つまり、マッピングファイル800のname804に、データモデル定義901の項目コード902と一致する値があるか判定する。一致する値がある場合に、その値がマッピングの条件を満たすと判定し、当該一致する項目同士をマッピングする(対応付ける)ことを決定する。条件に合致するデータ項目がない場合は、当該データ項目についてはマッピングは行わないものとする。
【0063】
ステップS604のデータ項目名の一致判定では、文字列の完全一致の判定であるが、大文字・小文字の違いは無視するものとする。また、アンダーバーのような区切り文字は無視する。よって、例えばITEM_01とITEM01は値が一致すると判定し、マッピング対象であると判定・決定する。
【0064】
マッピング対象であると判定され、マッピング対象のデータ項目が決定された場合は、処理をステップS605に移行する。ステップS605では、マッピングファイル生成部306が、当該決定に従ってマッピングファイルの更新処理を行い、マッピングを行った項目のマッピングの結果を
図10の1011のように表示する。例えば、ステップS604でマッピング対象であると判定された値が「value」の場合、
図8に示すマッピングファイル800のDMCODE805に、ドロップ操作されたデータモデル定義1001(=
図9の901)のDMCODEの値に従って、「g」の値を挿入し、また、DMITEM806に、ドロップ操作されたデータモデル定義901のDMITEMの値に従って、「value」の値を挿入して更新(記憶)する処理を行う。つまり、データモデル定義のデータ項目と、WebサービスのWSDLに公開されているデータ項目とのマッピングを行う。
【0065】
ここでは、編集部1002に表示中の項目についてマッピングを行う。つまり、マッピングファイル表示部1009に表示されているマッピングファイル上の、オペレーション名表示部1003で選択されていない他のオペレーションや、選択中のオペレーションのうち、階層構造表示部1007で選択されていない他の要素内のデータ項目については、そもそもドロップされたデータモデル定義のデータ項目名(DMITEM)と、マッピングファイル上のWSDLのデータ項目名(name804)の一致判定は行わず、マッピングしない。よって、
図10によれば、マッピングファイル800の中の、1007で選択されている「g」の出力データ項目(name804)に対応するDMCODE805、DMITEM806が更新される。
【0066】
マッピング後のマッピングファイルの一例を
図8の810に示す。また、マッピング結果の表示の一例を
図10のマッピング後のマッピングファイル表示画面1010における1011に示す。マッピング後のマッピングファイルは、マッピングファイル生成部306により、プログラム開発PC100の外部メモリにおけるリポジトリ定義部400に記憶される。
【0067】
これにより、WSDLファイルとデータモデル定義が対応付けられる(つまり、WSDLの示すWebサービスの入出力データ項目とクライアントアプリケーション側のデータモデル定義のデータ項目とが対応付けられる)。よって、例えば、Webサービスからの戻り値の中におけるOUTパラメータとして記述された出力データ項目内のデータを、マッピングファイルにおいて当該OUTパラメータの出力データ項目に対応付けられているデータモデルのデータ項目の値として、Webサービス呼び出しプログラムからWebアプリケーションプログラムに出力することが可能になり、例えばWebアプリケーションの提供するWebアプリケーション画面において当該データ項目(データモデル定義により定義されているデータの項目)の値を表示する表示部に、Webサービスからの戻り値の中におけるOUTパラメータのうち当該データ項目に対応する出力データ項目(例えばname804)の値を表示することができるようになる。
【0068】
図11にでは、例えばWebアプリケーション画面1100(アプリケーションサーバ200が生成してPC101に画面情報を送信し、PC101に表示されている画面)において検索ボタンが押下されることで、DMITEM=Valueの値をWebサービス提供装置300の有するデータベースから取得する要求をWebサービスに送信し、Webサービスから1110に示すような戻り値を受信して、Webアプリケーション画面1100を1120の状態に更して表示する様子を示している。
図11では当該要求の中に検索キーの文字列は含めないことで、イテレーション、言語、種別、ステップ数に該当するデータベース内の値を全て要求している。
【0069】
実際には、Webサービス呼び出しプログラムが、Webアプリケーションからの要求に含まれるデータモデルのデータ項目名を、マッピングファイルを参照して特定し、当該データ項目名に対応付けられたWebサービス用の入力データ項目名(name804)を特定して、name804の値の検索要求をWebサービスに送信する。例えばValueの値の要求を、valueの値の要求に置き換えて送信する。Webサービスは当該要求を受け付け、データベース内のname804の値(例えば、valueの値)を取得して、戻り値1110として返信する。戻り値を受信したWebサービス呼び出しプログラムは、戻り値の示す出力データ項目名を取得し、マッピングファイルを参照して対応するデータモデル定義のデータ項目を特定して、戻り値の値を、当該特定したデータ項目の値としてWebアプリケーションに出力する。例えば、戻り値の中のvalueの値をValueの値として置き換えて、Webアプリケーションに出力する。Webアプリケーションは、Webサービス呼び出しプログラムから受信したValueの値を、Webアプリケーション内においてValueの値を挿入して表示するボックスとして定義されている1101に挿入して、画面を1100から1120の状態に更新し、表示している。
【0070】
マッピング対象のデータ項目が場合は、マッピングファイルの更新は行わず、ドロップ操作されたデータモデル定義1001の項目数分ステップS604〜S605の処理を実行済みの場合には
図6の処理を終了する。まだ、ドロップ操作されたデータモデル定義901(
図10の1001)の項目数分ステップS604〜S605の処理を実行していない場合には、処理をステップS603に戻し、当該データモデル定義901の未処理のデータ項目を取得してステップS604、S605の処理を実行する。
【0071】
なお、マッピングファイル表示処理部301は、
図8の810に示すように、マッピング後のDMCODE、DMITEMの値(ドロップされたデータモデル定義のマッピング対象項目名)を、それぞれマッピングしたnameの行に挿入して更新結果として表示する。
【0072】
また、マッピングファイル表示処理部301は、マッピングがされ、編集された行には、
図10の1010に示すように、マッピングがされた項目を識別するための識別オブジェクト1012を当該項目の隣に対応付けて表示する。これは必ずしもオブジェクトである必要はなく、例えばマッピングがされた項目を識別する文字であってもよい。
【0073】
また、マッピングファイル表示処理部301は、マッピングがされた項目を含むオペレーションを識別するための識別1013を、当該オペレーションに対応付けて表示する。これは必ずしもオブジェクトである必要はなく、例えばマッピングがされた項目を含むオペレーションを識別する文字であってもよい。以上が
図6の説明である。
【0074】
以上説明したように、本発明の第1の実施形態によれば、Webサービスにかかる項目のマッピングを容易に行うことができる。
【0075】
例えば、
図6の処理により、ドラッグ&ドロップのような直感的な操作で、マッピングファイルの更新・マッピングの実行をすることができる。
【0077】
図12、
図13を参照して、本発明の第2の実施形態について説明する。第1の実施形態と共通する処理、データ、画面の説明は省略する。
【0078】
第2の実施形態では、マッピングの条件の設定を容易にし、Webサービスにかかる項目のマッピングを容易に行うことのできる仕組みを提供することを目的とする。
【0079】
例えば、マッピングの条件をわざわざ不図示の設定画面をユーザの手動操作により開いて、編集させる手間を軽減することで、マッピングの条件の設定を容易にし、且つマッピング作業の自由度を確保することができる。
【0080】
図12の処理は、
図6のステップS603で、ドロップされたデータがデータモデル定義であると判定された場合に、プログラム開発PC100のCPU201によって実行される。
【0081】
ステップS1201で、データモデル判定部304は、プログラム開発PC100の外部メモリに設定変更可能に記憶されている不図示の設定情報を参照し、データモデルのマッピング条件選択画面(
図13の1301に図示)の表示設定がONに設定されているか判定する。OFFになっている場合は
図12の処理を終了し、処理を
図6のステップS604へ移行して、未処理の項目全てに対してステップS604〜S605の処理を適用する。
【0082】
データモデルのマッピング条件選択画面(
図13の1301に図示)の表示設定がONに設定されている場合は、処理をステップS1202に移行する。ステップS1202では、データモデル判定部304は、
図13のマッピング条件選択画面1301を表示画面に表示する(選択画面表示制御手段に該当)。
【0083】
マッピング条件選択画面1301は、複数のマッピング条件(
図6のステップS604で用いる一致判定の条件)を、外部メモリから読み出して選択可能に表示する画面であり、ステップS604の一致判定に用いる条件をユーザに選択させるための画面である。
【0084】
ステップS1203で、データモデル判定部304は、マッピング条件の選択及び決定(「OK」ボタンの押下)の操作を受け付けると、「OK」ボタンが欧化された時点で選択されていた条件を、ステップS604で一致判定に用いるマッピング条件として決定し、ステップS604で採用する条件としてメモリ上に記憶する。その後、処理をステップS604に移行する。ステップS604では、マッピング対象項目決定部305が、ステップS1203で決定されてメモリ上に記憶されたマッピング条件(一致していると判定する条件)を用いて、ステップS604の実行に際して取得したデータモデル定義901の項目コード902と一致するname804の値があるかを判定する。
図13の1301によれば、あいまい一致の条件(例えば一致判定の対象文字列が部分一致しているだけでも、それらの文字列が一致していると判定する条件)に基づいて、ステップS604の一致判定を行う。
【0085】
以上説明したように、本発明の第2の実施形態によれば、マッピングの条件の設定を容易にし、Webサービスにかかる項目のマッピングを容易に行うことのできる仕組みを提供することができる。
【0086】
例えば、データモデル定義のドラッグアンドドロップに応じて、マッピング条件の選択が画面を表示するようにすることで、マッピングの条件をわざわざ不図示の設定画面をユーザの手動操作により開いて編集させる手間を軽減し、マッピングの条件の設定を容易にし、且つマッピング作業の自由度を確保することができる。
【0088】
次に、
図14〜
図18を参照して、本発明の第3の実施形態について説明する。第1の実施形態及び第2の実施形態と共通する処理、データ、画面の説明は省略する。
【0089】
第3の実施形態では、辞書データを用いて対応する項目特定し、マッピングする候補として表示画面に表示してユーザに選択させることで、Webサービスにかかる項目のマッピングを容易にする仕組みを提供することを目的とする。
【0090】
候補を提示してユーザに選択させることで、ユーザの意図しないマッピングが自動で行われる可能性を減じ、且つ、完全一致しない項目同士のマッピングを容易に行わせることができるようになり、ユーザの手間を軽減することができる。
【0091】
まず
図14について説明する。
図14は、辞書データの登録処理の流れを示す。
【0092】
ステップS1401の時点では、
図10の1010のような画面が表示されているものとする。ステップS1401で、プログラム開発PC100のCPU201は、データモデルコード又はデータモデル項目の新規入力、入力変更の操作を受け付け、メモリ上に入力された値を保持し、1002の対象セルに入力された値を表示する。
【0093】
ステップS1402では、入力された値をマッピングファイルに保存し、マッピングファイルを更新する操作を受け付けたか判定する。例えば、1010上の不図示の「保存」ボタンの押下によるマッピングファイルの保存操作や、入力タブ1005、出力タブ1004の押下によるタブの切り替え操作を受け付けた場合に、入力された値をマッピングファイルに保存してマッピングファイルを更新する操作を受け付けたと判定する。
【0094】
保存・更新の操作を受け付けた場合は、ステップS1403で、入力・編集されている全てのセルの値が、入力・編集されたセルに対応する(同じ行の)プロパティ名(name804)と同じか判定する。同じであれば、わざわざ辞書を作成する必要がないので処理を終了する。
【0095】
値が異なるセルがある場合には、当該セル内の値を取得して、対応するname804の値と対応付けて辞書データに登録する(ステップS1405)。辞書データが未生成の場合には、プログラム開発PC100の外部メモリ上に辞書データを生成してから登録する(ステップS1404)。辞書データの一例を
図15に示す(辞書データ記憶手段に該当)。
【0096】
図15の辞書データは、
図10の1010でいう、プロパティ名=typeに対応するデータモデル項目コードのセルに、categoryと入力してマッピングファイルを更新した場合に生成される辞書データの一例である。以上が
図14の説明である。
【0097】
次に
図16を参照して、辞書データを用いたマッピングファイル編集処理の流れについて説明する。
【0098】
図16の処理は、
図6のステップS603で、ドロップされたデータがデータモデル定義であると判定された場合に、プログラム開発PC100のCPU201によって実行される。
【0099】
ステップS1601で、マッピングファイル生成部306は、
図15の辞書データを取得し、ステップS1602〜S1606の処理を、ドロップされた先のプロパティ名の数だけ実行する。
【0100】
ステップS1602で、マッピングファイル生成部306は、ドロップされた編集部1002に表示されているname804(プロパティ名)の値を1つ取得し、当該値と一致するデータモデルのDMITEM又は辞書のプロパティ名があるか判定する。一致する値がある場合には当該一致する値をメモリ上に記憶して、処理をステップS1603に移行する。
【0101】
ステップS1603で、マッピングファイル生成部306は、ステップS1602で取得した編集部1002に表示中のプロパティ名が、ドロップされたデータモデルのDMITEMと辞書データのプロパティ名の両方に一致しているか判定する。一致しているのが一方であり、1つの組み合わせのみの場合は処理をステップS1604に移行し、一致した値同士をマッピングする(ステップS605の処理と同じ)。一方、ドロップされたデータモデルのDMITEMと辞書データのプロパティ名の両方に一致している場合、処理をステップS1605に移行する。
【0102】
ステップS1605では、マッピングファイル生成部306は、一致した値のうち、ドロップされたデータモデルのDMITEMを、1002のプロパティ名と対応付けるマッピング処理を行う。そして、ステップS1606で、当該プロパティ名と一致した辞書データのプロパティ名に対応するデータモデル項目コードを特定して取得し、当該プロパティ名と対応付けてメモリ上に保持する。1002の全てのプロパティ名に対してステップS1602〜S1606の処理を適用した後、処理をステップS1607に移行する。
【0103】
ステップS1607で、マッピングファイル生成部306は、
図17の1701に示すように、ステップS1603で複数一致したプロパティ名に対応するデータモデル項目コードの表示セルを識別表示する。
【0104】
ステップS1608で、当該セルのクリック操作(指定)を受け付けると、ステップS1609で
図17に示すような選択画面1711を表示する。選択画面1711は、辞書データによって、1002に表示中のプロパティ名と対応すると特定された(辞書データ上で1002に表示中のプロパティ名と対応付けて記憶されていると特定された)データモデル項目コード(DMITEM)を選択候補として表示し(候補表示制御手段に該当)、選択を受け付けることで選択画面1711に対応するセル(
図17でいう1701)に選択された値を挿入可能な画面である。
【0105】
ステップS1610で、マッピングファイル生成部306は、選択画面1711において、辞書データによって特定されたデータモデル項目コード(
図17でいう「category」)の選択操作を受け付けたか判定して、「category」の選択操作を受け付けた場合には、プロパティ名=typeと、DMITEM=categoryとをマッピングファイル上で対応付けて更新する(ステップS1611)。「category」の選択操作を受け付けなかった場合には処理を終了する。
【0106】
以上説明したように、本発明の第3の実施形態によれば、辞書データを用いて対応する項目特定し、マッピングする候補として表示画面に表示してユーザに選択させることで、Webサービスにかかる項目のマッピングを容易にする仕組みを提供することができる。
【0107】
例えば、候補を提示してユーザに選択させることで、ユーザの意図しないマッピングが自動で行われる可能性を減じ、且つ、完全一致しない項目同士のマッピングを容易に行わせることができるようになり、ユーザの手間を軽減することができる。
【0108】
なお、上述した第3の実施形態の説明においては、ステップS1605でまず、ドロップされたデータモデルのDMITEMの値を辞書のデータモデル項目コードの値に優先してマッピングするようにしたが、例えば、どちらの値もマッピングせずに、一致した1002のプロパティ名と対応付けてメモリ上に記憶しておき、ステップS1607で
図18の1800における選択画面1801のような画面を表示して、一致した値のいずれかをユーザに選択させてマッピングするようにしてもよい。こうすることで、複数の値と一致したプロパティ名のマッピングについては、確実にユーザに指示を仰ぎ、適切なマッピングを容易に行うことができるようになる。
【0110】
従来、同一テーブルに対するCRUDを全て呼び出す必要がある場合等においては、同じデータモデルへのマッピングを複数回行う必要があった。例えば同じデータモデルを用いるオペレーションが2つ以上ある場合(データ一覧画面の表示のためのデータ検索オペレーションと、一覧から選択されたデータの詳細画面表示のためのデータ検索オペレーション等)は、扱うデータモデルが同じであるにも関わらず、マッピングファイル内のそれぞれのオペレーションタグ下において、それぞれテキスト編集を行ってマッピングを行う必要があり作業負荷が高かった。
【0111】
第1の実施形態においてデータモデル定義のドラッグ&ドロップ操作によりマッピングが可能となったことから、マッピングファイルのテキストを手入力で編集する作業の手間や、同じ情報を複数回入力・編集しなければならない(同じ作業を繰り返さなければならない)ことによる精神的な負荷・疲労は減じることができるが、ドラッグ&ドロップの操作は複数回行う必要がある。
【0112】
第4の実施形態では、複数のマッピングファイル内の項目に対して、Webサービスにかかる項目のマッピングを容易に行うことのできる仕組みを提供することを目的とする。
【0113】
第1〜第3の実施形態と共通する処理、データ、画面の説明は省略する。
【0114】
マッピングファイル生成部306は、ステップS605の処理を全て完了した後、データモデルがドロップされた編集部1002のプロパティ名(name804)の一覧と同一のプロパティ名の一覧を有するオペレーションを特定して、当該特定されたオペレーションの各プロパティ名(name804)に、S605で対応付けられたDMITEMと同じDMITEMの値をそれぞれ対応付けてマッピングファイルを更新する。
【0115】
つまり、1回のデータモデルのドラッグ&ドロップ操作により、複数のオペレーションにかかるマッピングを行うことができる。
【0116】
以上説明したように、本発明の第4の実施形態によれば、複数のマッピングファイル内の項目に対して、Webサービスにかかる項目のマッピングを容易に行うことのできる仕組みを提供することができる。
【0117】
以上説明したように、Webサービスにかかる項目のマッピングを容易に行うことのできる仕組みを提供することができる。
【0118】
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0119】
例えば上述した実施形態においては、プログラム開発PC100がデータモデル定義やのプログラム開発アプリケーションを記憶し、
図5及び
図6の処理を実行して、各種画面を表示するものとしたが、例えば別途、不図示のプログラム開発サーバをプログラム開発PC100と通信可能なようにネットワーク上に設置し、上述した
図5及び
図6の処理を当該プログラム開発サーバのCPU201に実行させ、プログラム開発PC100は、プログラム開発サーバが生成し、当該プログラム開発サーバから受信した各種画面(HTML)をウェブブラウザ経由で表示、ユーザに閲覧・操作するように構成してもよい。この場合、例えばドラッグ&ドロップの操作はプログラム開発PC100が受け付けて、当該ドロップ&ドロップ操作がされたデータの識別情報と、ドロップされた画面上の領域(例えば1002の識別情報)をプログラム開発サーバに送信し、プログラム開発サーバがどのデータがどの領域にドロップされたかを検知して、ドロップされたデータモデル定義か否かの判定、マッピングファイルの更新処理を行う。
【0120】
また、上述した実施形態においては、アプリケーションサーバ200で動作するアプリケーションは、WAN150を介してPC101に機能を提供するWebアプリケーションとしたが、これに限定するものではなく、例えば携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用したアプリケーションでなくてもよい。
【0121】
また、アプリケーションサーバ200とプログラム開発PC100は別個の筐体として説明したが、1つの筐体であってもよい。例えば、
図4に示すアプリケーションサーバ200の構成をプログラム開発PC100が備え、上述した実施形態においてアプリケーションサーバ200のWebアプリケーション、Webサービス呼び出しプログラムが実行するとして説明した処理の全てをプログラム開発PC100のCPU201が実行するようにしてもよい。
【0122】
また、データモデル定義や、マッピング後のマッピングファイルを、プログラム開発PC100の外部メモリではなく、プログラム開発PC100とネットワークを介して通信可能に接続された、不図示のデータベースサーバの外部メモリに記憶させるようにしてもよい。つまり、リポジトリ定義部400を別筐体において機能させるようにしてもよい。
【0123】
なお、上述した第1〜第4の各種実施形態の発明(発明を実現するための
図12、
図14、
図16の処理等)は、他の実施形態の発明(発明を実現するための
図12、
図14、
図16の処理等)と、それぞれ自由に組み合わせ可能であるものとする。
【0124】
また、上述した実施形態においては、ドラッグ&ドロップの操作(データの移動操作)に応じて、既存のマッピングファイルを更新するものとしたが、例えば、マッピングがされたマッピングファイルを新たに生成して外部メモリに記憶するようにしてもよい。例えば、データモデルのドロップがされた場合に、ドロップされた表示部に表示されているマッピングファイルを所定の記憶領域にコピーして、当該コピーされたマッピングファイルに対してマッピング・更新をかけることで実現可能である。
【0125】
また、上述した実施形態においては、データの移動操作=ドラッグ&ドロップの操作としたが、例えば、データをコピーし、編集部1002にマウスカーソルを合わせた状態でマウスの右クリック及びペースト等の操作を受け付けることにより、(テキストを直接編集するのではなく)ユーザにより指定されたデータの編集部1002への移動操作を受け付けたと判定してもよい。
【0126】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0127】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0128】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0129】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0130】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0131】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0132】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0133】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0134】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。