IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノンマーケティングジャパン株式会社の特許一覧 ▶ キヤノンITソリューションズ株式会社の特許一覧

特許7541227情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体
<>
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図1
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図2
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図3
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図4
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図5
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図6
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図7
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図8
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図9
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図10
  • 特許-情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-20
(45)【発行日】2024-08-28
(54)【発明の名称】情報処理装置、情報処理システム、制御方法、プログラム及び記録媒体
(51)【国際特許分類】
   G06F 8/34 20180101AFI20240821BHJP
【FI】
G06F8/34
【請求項の数】 10
(21)【出願番号】P 2020072673
(22)【出願日】2020-04-15
(65)【公開番号】P2021170199
(43)【公開日】2021-10-28
【審査請求日】2023-04-14
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】鈴木 智子
(72)【発明者】
【氏名】柴本 文洋
(72)【発明者】
【氏名】飯沼 賢治
【審査官】北川 純次
(56)【参考文献】
【文献】特開2017-182675(JP,A)
【文献】特開2004-157927(JP,A)
【文献】特開2007-042085(JP,A)
【文献】特開2016-029558(JP,A)
【文献】米国特許出願公開第2019/0012150(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/34
(57)【特許請求の範囲】
【請求項1】
情報処理装置を、
処理が定義された部品を対応付けることが可能なオブジェクトを編集画面上に配置する配置手段と、
前記配置手段により配置されたオブジェクトと前記処理が定義された部品を対応付ける対応付手段と、
前記配置手段により前記オブジェクトが配置された編集画面に対応するアプリケーション画面において、前記対応付手段により当該オブジェクトに対応付けられた部品定義された処理の実行が可能な前記アプリケーションの構築を制御する構築手段
として機能させるためのプログラムであって、
前記対応付手段は、
前記配置手段により配置されたオブジェクトと、前記処理が定義された部品であって、前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品とを対応付けること
を特徴とするプログラム。
【請求項2】
前記配置手段は、
前記処理が定義された部品であって、前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品を対応付けることが可能なオブジェクトを編集画面上に配置すること
を特徴とする請求項1に記載のプログラム。
【請求項3】
前記情報処理装置を、
前記配置手段により配置されたオブジェクトと、前記処理が定義された部品であって、前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品とを対応付けるための画面を表示する画面表示手段
として機能させるための請求項1又は2に記載のプログラム。
【請求項4】
前記情報処理装置を、
前記配置手段により配置されたオブジェクトと、前記処理が定義された部品であって、前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品とを対応付けるために当該部品の識別情報を受け付ける受付手段
として機能させるための請求項1乃至3のいずれか1項に記載のプログラム。
【請求項5】
前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品は、前記情報処理装置にテンプレートとして記憶されていない部品であること
を特徴とする請求項1乃至4のいずれか1項に記載のプログラム。
【請求項6】
前記構築手段を、
前記配置手段により前記オブジェクトが配置された編集画面に対応する前記アプリケーションの画面において、前記処理が定義された部品であって、前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品の表示可能な前記アプリケーションの構築を制御する手段
として機能させるための請求項1乃至のいずれか1項に記載のプログラム。
【請求項7】
処理が定義された部品を対応付けることが可能なオブジェクトを編集画面上に配置する配置手段と、
前記配置手段により配置されたオブジェクトと前記処理が定義された部品を対応付ける対応付手段と、
前記配置手段により前記オブジェクトが配置された編集画面に対応するアプリケーション画面において、前記対応付手段により当該オブジェクトに対応付けられた部品定義された処理の実行が可能な前記アプリケーションの構築を制御する構築手段
として機能させるためのプログラムであって、
前記処理が定義された部品とは、前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品であること
を特徴とするプログラムが読み込まれた情報処理装置。
【請求項8】
情報処理装置を制御するための制御方法であって、
処理が定義された部品を対応付けることが可能なオブジェクトを編集画面上に配置する配置ステップと、
前記配置ステップにより配置されたオブジェクトと前記処理が定義された部品を対応付ける対応付ステップと、
前記配置ステップにより前記オブジェクトが配置された編集画面に対応するアプリケーション画面において、前記対応付ステップにより当該オブジェクトに対応付けられた部品定義された処理の実行が可能な前記アプリケーションの構築を制御する構築ステップと
を含む制御方法であって、
前記処理が定義された部品とは、前記制御方法をコンピュータに実行させるプログラムを提供する者以外の者が作成した部品または前記制御方法をコンピュータに実行させるプログラムを提供する者以外の者が提供する部品であること
を特徴とする制御方法。
【請求項9】
処理が定義された部品を対応付けることが可能なオブジェクトを編集画面上に配置する配置手段と、
前記配置手段により配置されたオブジェクトと前記処理が定義された部品を対応付ける対応付手段と、
前記配置手段により前記オブジェクトが配置された編集画面に対応するアプリケーション画面において、前記対応付手段により当該オブジェクトに対応付けられた部品定義された処理の実行が可能な前記アプリケーションの構築を制御する構築手段
として機能させるためのプログラムであって、
前記処理が定義された部品とは、前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品であること
を特徴とするプログラムが読み込まれた情報処理システム。
【請求項10】
情報処理装置を、
処理が定義された部品を対応付けることが可能なオブジェクトを編集画面上に配置する配置手段と、
前記配置手段により配置されたオブジェクトと前記処理が定義された部品とを対応付ける対応付手段と、
前記配置手段により前記オブジェクトが配置された編集画面に対応するアプリケーションの画面において、前記対応付手段により当該オブジェクトに対応付けられた部品に定義された処理の実行が可能な前記アプリケーションの構築を制御する構築手段
として機能させるためのプログラムであって、
前記処理が定義された部品とは、前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品であること
を特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
情報処理装置、情報処理システム制御方法プログラム及び記録媒体に関する。
【背景技術】
【0002】
近年、アプリケーション開発プログラムを用いた開発の効率化が行われている。
【0003】
例えば、画面の設計に際し、ソースコードを手打ちして画面を作成するのではなく、入力フィールドやボタン等の部品(開発中のアプリケーションにおける画面に配置可能な項目)を画面上に配置し画面設計ができる技術が普及している。
【0004】
しかし、1つのアプリケーション開発プログラムが提供している部品や当該部品が持つ機能には限りがある。ときには当該アプリケーション開発プログラムが提供している部品以外の、第三者が作成・公開(提供)している部品、および、当該部品により実現される機能を開発中のアプリケーションに組み込みたいことがある。
【0005】
当該部品を組み込むための方法の1つとして、当該部品の見た目(表示)・機能を参考に、同等の見た目と機能を持つ部品を1から作成する方法が考えられるが、非常に手間であり、これはアプリケーション開発の工程全体における効率の低下に繋がる。そこで、既に公開されている当該部品の見た目(表示)にかかるコードや、機能のコードを流用することが望まれている。
【0006】
例えば特許文献1には、プログラム開発・編集用のエディタにおいて、エディタに未登録の特殊命令を含むプログラムを開発する際、既存の命令に識別子を付与したプログラムを作成しておき、当該プログラムを、当該識別子が付された命令を変換ルールに従って特殊命令に置き換えたプログラムに変換する技術が記載されている。また、プログラム中の要素が当該識別子に該当するとき、当該要素を変換ルールに登録された関数に変換することで、特殊命令の引数の数や内容を容易に変更、設定できることが記載されている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開平11-24905号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献1の技術によれば、既にある機能を簡単に呼び出して実現することができる。しかしながら、特許文献1の技術では、プログラムのコードに直接、特殊命令の識別子を付与しなければならない。
【0009】
例えば、部品のデータの出力処理を、異なるデータ処理に置き換える場合、当該データの出力処理にあたる部分をコードの中から探し出す必要がある。つまり、ユーザが、特殊命令を付与したい出力命令がどれか認識し、コードを追記・書き換えできる程度には、プログラム開発アプリケーションにより作成されたコードの読解力を要し、プログラミングそのものに精通していなければならない。
【0010】
本発明は、アプリケーション開発プログラムを提供する者以外の者が作成した部品またはアプリケーション開発プログラムを提供する者以外の者が提供する部品を用いて容易にアプリケーション開発が可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、処理が定義された部品を対応付けることが可能なオブジェクトを画面上に配置する配置手段と、前記配置手段により配置されたオブジェクトと前記処理が定義された部品を対応付ける対応付手段と、前記配置手段により前記オブジェクトが配置された画面に対応するアプリケーション画面において、前記対応付手段により当該オブジェクトに対応付けられた部品定義された処理の実行が可能なプログラムの生成を制御する生成手段として機能させるためのプログラムであって、前記対応付手段は、前記配置手段により配置されたオブジェクトと、前記処理が定義された部品であって、前記プログラムを提供する者以外の者が作成した部品または前記プログラムを提供する者以外の者が提供する部品とを対応付けることを特徴とする
【発明の効果】
【0012】
本発明によれば、既存の部品の表示や機能を用いて容易にアプリケーション開発が可能な仕組みを提供することができる。
【図面の簡単な説明】
【0013】
図1】本発明の実施形態における、情報処理システムの構成の一例を示す図である。
図2】本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
図3】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
図4】本発明の実施形態における、各種装置の機能構成の詳細を示す図である。
図5】本発明の実施形態における、カスタム部品の登録処理の流れを示すフローチャートである。
図6】本発明の実施形態における、アプリケーション生成処理の流れを示すフローチャートである。
図7】本発明の実施形態における、カスタム部品にかかるコード生成処理の流れを示すフローチャートである。
図8】本発明の実施形態における、表示画面の構成の一例を示す図である。
図9】本発明の実施形態における、データ構成の一例を示す図である。
図10】本発明の実施形態における、ソースコードの一例を示す図である。
図11】本発明の実施形態における、ソースコードの一例を示す図である
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【0015】
まず図1を参照して、本発明の実施形態における、情報処理システムの構成の一例について説明する。
【0016】
プログラム開発装置100、データベースサーバ200、アプリケーションサーバ300は、ネットワーク101を介して通信可能に接続されている。
【0017】
プログラム開発装置100には、プログラム開発アプリケーションがインストールされており、プログラム(アプリケーションプログラム)を開発、生成することができる。
【0018】
例えば、対象のアプリケーションの画面を編集できる。具体的には、当該画面上に部品(アプリケーションが表示するボタンやテキスト入力フィールド等)を配置したり、当該部品のサイズ、形状、位置を設定・変更したりすることが可能である。
【0019】
また、当該部品の名称や、部品に対する操作を受け付けた場合の動作、入出力するデータ(入出力値/入出力データとも言う)や入出力先の画面、テーブル等を設定・編集可能である。
【0020】
データベースサーバ200には、検索アプリケーションがインストールされており、データベースサーバ200が参照可能なデータベース内のデータを検索することができる。
【0021】
アプリケーションサーバ300は、プログラム開発装置100によって生成されたアプリケーションが稼働するサーバである。プログラム開発装置100は、生成したアプリケーションのコードを自機に記憶した後、ユーザ操作に従って、当該コードをアプリケーションサーバ300に記憶する。以上が図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や不図示のマウス等のポインティングデバイス等からの入力を制御する。
【0026】
206はビデオコントローラで、ディスプレイ210(例えばCRTディスプレイ)等の表示器への表示を制御する。なお、表示器はCRTディスプレイだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じてユーザが使用するものである。
【0027】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0028】
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したネットワーク101)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0029】
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0030】
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上が図2の説明である。
【0031】
次に図3を参照して、本発明の実施形態における、各種装置の機能構成について説明する。
【0032】
部品記憶部311は、プログラム開発装置100にインストールされているプログラム開発アプリケーションが、テンプレートとして記憶管理している部品(テンプレート部品)と、それ以外の部品(非テンプレート部品)を記憶する記憶部である。
【0033】
非テンプレート部品とは、例えばユーザが独自に作成した部品や、プログラム開発アプリケーションの提供元とは異なる企業、すなわち、プログラム開発アプリケーションの開発元企業から見た第三者が公開している部品等である。
【0034】
非テンプレート部品の特徴を説明する。テンプレート部品が、そのテンプレート部品を提供しているプログラム開発アプリケーションに最適化されているのに対して、非テンプレート部品は必ずしもそうではない。
【0035】
例えば、非テンプレート部品自体の、部品に入力された情報(例:テキスト)の登録先のデータ項目名や、当該部品に出力する(例:グラフ等の部品に表示するためにデータベースから当該部品に出力する)データのデータ項目名、これらのデータのデータ型や制限(最大表示桁数、全角・半角の制限)等は、プログラム開発装置100にインストールされているプログラム開発アプリケーションの扱う、あるいは、当該アプリケーションで開発するプログラム(プログラム開発アプリケーションにより生成されるアプリケーション)が扱うデータ項目名、データ型、許容する制限等とは必ずしも一致しない。
【0036】
非テンプレート部品を、テンプレート部品と同じように、確実に、当該プログラム開発アプリケーション、およびプログラム開発アプリケーションにより生成されるアプリケーションで利用するためには、当該非テンプレート部品を利用するアプリケーション用に最適化する必要があるのである。
【0037】
図3の説明に戻る。カスタムI/O項目記憶部312は、カスタムI/O項目の画像や、カスタムI/O項目に設定された非テンプレート部品、および非テンプレート部品からの/非テンプレート部品へのデータの入出力に際して利用するデータの変換ルールを記憶する機能部である。
【0038】
I/O項目(入出力項目)とは、データの入力または出力、あるいはその両方を実行可能な機能を備える部品である。例えば、テキストフィールドや、グラフオブジェクト等がこれにあたる。
【0039】
カスタムI/O項目(カスタム入出力項目)とは、非テンプレート部品と、その非テンプレート部品のデータの入出力をするための設定がされた入出力項目(部品)である。カスタムI/O項目に設定された部品のことをカスタム部品と呼ぶ。
【0040】
カスタムI/O項目配置処理部313は、開発対象のアプリケーションの画面上に、カスタムI/O項目を配置する機能部である。例えば、画面エディタの脇に表示されているカスタムI/O項目の画像を、画面上にドラッグ&ドロップすることで、ドロップされた位置にカスタムI/O項目の画像を配置する。
【0041】
指定受付画面表示部314は、カスタムI/O項目と、どの非テンプレート部品を対応付けるかの指定を受け付けるための画面を表示する。指定受付部315は、カスタムI/O項目と対応付ける、非テンプレート部品の指定を受け付ける機能部である。
【0042】
アプリケーション生成部316は、アプリケーションのコードを生成する機能部である。例えば、カスタムI/O項目のコードを含む、アプリケーション全体のソースコードを生成する。例えば、後述する図4のアプリケーション生成部410と、カスタム部品ソース生成部430の機能を備える。以上が図3の説明である。
【0043】
次に図4を参照して、本発明の実施形態における、詳細な各種装置の機能構成について
説明する。
【0044】
プログラム開発装置100はアプリケーションを開発する開発者がプログラム開発装置を操作することにより定義した(プログラム開発装置のプログラム開発アプリケーションにより生成された)定義ファイルを管理するリポジトリ定義部400と、それらをもとにアプリケーションのコードを生成するアプリケーション生成部410を備える。
【0045】
さらに、拡張ファイルを記憶管理する拡張ファイル管理部420を備える。
【0046】
さらに、カスタムI/O項目のソースコードを生成するカスタム部品ソース生成部430を備える。すなわち、カスタムI/O項目に設定されたカスタム部品に関連するソースを生成する生成部である。
【0047】
アプリケーションサーバ300は、各種コードの生成部によって生成されたコードにより構成されるアプリケーションを記憶する。
【0048】
以下、各機能部の詳細について説明する。リポジトリ定義部400は、アプリケーション定義401、入出力定義402、データモデル定義403、ビジネスプロセス定義404、データベース定義405を管理している。
【0049】
これらのファイルはプログラム開発アプリケーションを介して開発者によって入力され、作成され、プログラム開発装置100の外部メモリに記憶される。
【0050】
アプリケーション定義401とは、プログラム開発アプリケーションにおいて開発するアプリケーションごとに保持される定義であって、そのアプリケーションで使用する設定、データ等を定義した情報である。具体的には、アプリケーションを生成する際に使用する入出力定義や、アプリケーション定義そのものの識別コード、アプリケーション名を定義可能である。
【0051】
入出力定義402とは、プログラムへ引数として入力される項目を定義する入力定義情報と、プログラムから処理結果として出力する項目を定義する出力定義情報とを含む定義情報である。
【0052】
例えば、当該定義の種類(項目タイプ)や、当該定義自体の識別コード(項目コード)、名前、データを入出力するデータ項目の項目コード、当該データ項目を備えるデータモデルの識別コード(データモデルコード)、当該入出力定義によって定義される部品を表示画面に表示するか否かを示す設定(表示設定)、入出力するデータの桁数や少数点以下何桁までを入出力するかの設定(桁数、少数桁等)等が定義されている。定義の編集画面(定義の一覧を表示した画面)の一例を図9に示す。
【0053】
データモデル定義403とは、スキーマ情報として定義される定義である。各データモデル定義は、識別コードと名前を保持する。データモデル定義には複数のデータ項目が定義されている。具体的には、各種データ項目の項目コード、項目名、そのデータ項目で使用する桁数やデータタイプ(文字、数値、日付等のデータの型)、記憶するデータとしてnullを許可するか否かの許可設定等が定義されている。
【0054】
ビジネスプロセス定義404とは、アプリケーションで動作するビジネスロジックを定義した情報である。例えば、ビジネスロジックごと操作タイプ(「IN」はビジネスプロセスへの入力データの変数格納、「CALL」はデータモデルコードが保有する機能コードの内容を呼び出す、等)、データモデルコード、機能を示す機能コード等を含む。
【0055】
データベース定義405とは、プログラム開発アプリケーションにより生成されたプログラム(アプリケーション)がアクセスするサーバの設定を記憶した定義である。具体的には、アクセスするデータベースを保持しているサーバの識別コード、サーバ名、接続先URL、データベース名、データベースへの接続に必要となるユーザ名およびパスワード等が定義されている。リポジトリ定義部400は、これらの定義を管理する手段の一例である。
【0056】
拡張ファイル管理部420とは、プログラム開発アプリケーションの機能拡張をするための拡張ファイルを管理する機能部である。拡張ファイルとは、非テンプレート部品のファイルである。非テンプレート部品のファイルは、プログラム開発装置100が、ユーザからの操作等に従って、自機の外部メモリ211に記憶する。例えば、インターネット上において、商用利用可能なデータとして公開されている部品を、ユーザ操作に従ってダウンロードする等である。
【0057】
拡張ファイル管理部420の詳細を説明する。
【0058】
インクルードファイル管理部421は、JSPファイルに取り込む(呼び出す)するファイル(CSSファイル、JSファイル等)を管理する管理機能部である。
【0059】
インクルードするJSファイル422(JavaScript(登録商標)ファイル)は、インクルードする対象として指定されたスクリプトファイルである。JSファイルには、非テンプレート部品の動作(機能)に関するコードが記載されている。例えば、当該非テンプレート部品のテキストフィールドに対するマウスクリック操作がされるまでは、テキストフィールドの中に「入力してください」という文字列を表示しておき、テキスト入力フィールドに対するマウスクリック操作がされると、当該文字列を非表示にする、等の動作である。
【0060】
また、当該非テンプレートファイルがグラフの場合、例えば、非テンプレート部品がグラフの場合、当該グラフにマウスカーソルがホバーされた際に、グラフを強調表示したり、対象のグラフの数値を表示したりするための動作(機能)に関するコードが記載されている。
【0061】
インクルードするCSSファイル423(Cascading Style Sheetsファイル)は、インクルードする対象として指定されたスタイルシートである。例えば、非テンプレート部品がグラフである場合、そのグラフの表示領域自体や、そのグラフ自体に対してスタイルを指定したCSSファイルが記憶されているものとする。
【0062】
コード管理部424は、各種コードを管理する機能部である。
【0063】
部品描画コード425は、JSPファイルの中のカスタムI/O項目として設定された部品を描画する部分のコードである。例えば、マウスホバー等によりある要素がフォーカスされた場合に、どのようなイベントを実行するかが記述される。当該イベントの内容はJSファイルに記述されている。一例を図10の1002に示す。なお、当該説明は一例であり、グラフの部品において、当該説明とは異なる描画に関するコードが記載されることもある。
【0064】
データ処理部と描画部品の関連付けコード426は、非テンプレート部品の描画とプログラム開発アプリケーションが管理するデータとを関連付けるコードである。例えば、非テンプレと部品がグラフの場合、当該非テンプレート部品の入出力定義にどのような設定がされている(どのようなパラメータが指定されている)場合に、どのデータを取得して、グラフに描画するかを記述したコードである。本発明の実施形態において、当該関連付けコードはJSファイルである。一例を図11に示す。なお、当該説明は一例であり、グラフの部品において、当該説明とは異なる内容のコードが記載されることもある。
【0065】
アプリケーション生成部410は、リポジトリ定義解析部411によってリポジトリ定義部400の各種定義を解析し、アプリケーションコード生成部412を介し、ソースコードコンパイル部413にて、コンパイル済みコード443とHTML/JSP/Javascript(登録商標)444からなるアプリケーションコード442を生成する。例えばWebアプリケーション441(Webアプリケーションのコード)を生成する。
【0066】
アプリケーションコードは、当該コードによって構成されるアプリケーションがその機能を実行する際に利用するデータベース定義405に指定されたデータベース445にアクセスする。すなわち、アプリケーション生成部410は、アプリケーションに用いられるプログラムを生成するルールを記憶する手段の一例である。
【0067】
カスタム部品ソース生成部430は、カスタム部品を描画し、そのカスタム部品にかかる処理の内容を示すソースを生成する処理部である。
【0068】
インクルード部生成部431は、カスタムI/O項目が配置されている画面のJSPファイルの中に、当該カスタムI/O項目に設定された非テンプレート部品(カスタム部品)のCSS、JSファイルを取り込む処理を示すコードを記述する機能部である。インクルード部生成部で生成したJSPファイルの一例を、図10の1001に示す。
【0069】
ボディ部生成部432は、カスタムI/O項目が配置されている画面のJSPファイルの中に、当該カスタムI/O項目に関する描画コードやデータ処理コードを記述する機能部である。ここでは、描画部コードとデータ処理コードを記述した部分をボディ部という。一例を図10の1003に示す。
【0070】
データ処理部コード生成部433は、カスタムI/O項目の内部でデータを保持する部分であるデータ処理部を生成する機能部である。一例を図10の1003に示す。例えば1003は、図9に示すカスタムI/O項目(BAR_VERTICAL)の内部値を保持するための隠れ項目「disp」である。すなわち、カスタムI/O項目の内部値を保持するためのデータ処理部が、JSPに生成されていることを示している。
【0071】
例えば、テキスト入力フィールドの部品に入力されたテキストを、不図示のデータベース上のデータ項目Xに登録する場合について説明する。
【0072】
テキスト入力フィールドの部品に入力されたテキストを「disp」に書き込む旨が「データ処理部と描画部品の関連付けコード426」に記述されている場合、テキスト入力フィールドの部品に入力された部品は、一度「disp」に書き込まれる。その後、別途アプリケーションコード442に記述された「「disp」に書き込まれたデータをデータ項目Xに書き込む」というコードに従って、当該データがデータ項目Xに書き込まれることとなる。
【0073】
描画部コード生成部434は、カスタムI/O項目が配置されている画面のJSPファイルの中に、カスタムI/O項目に設定されたた部品(カスタム部品)を描画するコードである描画部を生成(記述)する機能部である。以上が図4の説明である。
【0074】
以下、図5図11を参照して、本発明の実施形態における処理の流れについて説明する。なお、各種フローチャートの処理は、各装置に搭載されたCPU201が、各装置が備える機能部の機能を用いて実行するものとする。
【0075】
まず、図5を参照して、本発明の実施形態におけるカスタム部品の登録処理の流れを説明する。
【0076】
ステップS501で、プログラム開発装置100は、ユーザ受け付けた操作に従って、プログラム開発アプリケーションを起動する。
【0077】
ステップS502で、プログラム開発装置100は、プログラム開発アプリケーションの提供する、アプリケーション画面の編集機能(画面エディタ機能)を起動して、画面編集画面(画面エディタ画面)を表示する。エディタ画面には、カスタムI/O項目や、テンプレート部品を示すオブジェクトを表示する。つまり、画面上に項目表示を行なう。
【0078】
ステップS503で、プログラム開発装置100のプログラム開発アプリケーションは、カスタムI/O項目を画面上に生成する。具体的には、図8の800に示すように、カスタムI/O項目のオブジェクト801を、編集中の画面上にドラッグ&ドロップすることで、ドロップされた画面上の場所にカスタムI/O項目を配置する。
【0079】
配置した時点では、まだ、当該カスタムI/O項目を、どの非テンプレート部品として表示し、動作させるかが未決定の状態であるため、配置先には、カスタムI/O項目を示すダミーオブジェクトを表示する(ダミー画像を内包したオブジェクト表示をする)。
【0080】
ダミーオブジェクトのサイズのデフォルト値は、プログラム開発装置100の外部メモリ211に記憶されている。当該サイズは、ダミーオブジェクトの端をドラッグする等の操作により変更する。プログラム開発アプリケーションは、当該サイズで当該カスタムI/O項目に対応付けられた部品(カスタム部品)を表示するプログラムを生成する。具体的には、当該画面のJSPファイルにおけるボディ部のdivタグのclass属性に、設定されているスタイルクラスに変更後のサイズを書き込む。例えば、図10の例の場合は、「field_BAR_VERTICAL」に書き込む。
【0081】
なお、テンプレート部品に対応する入出力項目(テンプレート項目)が配置された場合は、当該入出力項目に対応するテンプレート部品の画像を記憶装置から取得して、オブジェクトとして表示する。802に示すリストがその一例である。
【0082】
ステップS504で、プログラム開発装置100のプログラム開発アプリケーションは、配置したカスタムI/O項目と、非テンプレート部品を対応付ける設定を行なう。
【0083】
具体的には、ユーザ操作に従って、プログラム開発アプリケーションの提供する定義編集機能を起動し、定義一覧画面(図9の900に例示)を表示する。そして、ステップS503で配置されたカスタムI/O項目のプロパティに、ユーザが所望する非テンプレート部品の識別情報と、当該非テンプレート部品に関する処理のうちどの処理を実行するかの設定値の入力を受け付ける。
【0084】
具体例を図9に示す。図9の900においては、デフォルトの項目コードである「XXX」であり、当該非テンプレート部品の識別情報の登録先であるプロパティ=「compName」901と、パラメータの設定先であるプロパティ=「compParam」902が空欄の入出力項目が選択されている。ユーザは、当該選択した入出力項目の各項目を編集可能である。つまり、設定値の入力・設定が可能である。
【0085】
設定後の画面イメージを図9の910に示す。図9の910において、項目コード=「BAR_VERTICAL」には、「GRAPH」という非テンプレート部品の識別情報が設定されている。また、当該「GRAPH」の部品に設定する値(パラメータ)として「“type”:“PROCEED”」が設定されている。
【0086】
当該非テンプレート部品の識別情報の登録先であるプロパティ=「compName」と、パラメータの設定先であるプロパティ=「compParam」は、カスタムI/O項目にのみ表示する。実際には、カスタムI/O項目にこれらのプロパティ欄が対応付けて外部メモリに記憶されており、カスタムI/O項目が画面に配置された場合に、入出力項目の一覧に、これらのプロパティ欄が空のカスタムI/O項目を新規生成する。
【0087】
なお、本実施形態における非テンプレート部品とは、非テンプレート部品の識別情報と同一名称のフォルダに格納されている、CSSファイル、JSファイル、非テンプレート部品の描画コード、当該非テンプレート部品のから構成される情報である。非テンプレート部品の例を説明する。
【0088】
非テンプレート部品のCSSファイルには、当該非テンプレート部品の表示に関する設定(描画コード)が記述されている。例えば、グラフの種類、色、サイズ等である。
【0089】
また、非テンプレート部品のJSファイルには、当該非テンプレート部品の描画とデータ処理を関連付けるコード(図11)が記述されている。
【0090】
例えば、1101には、「「GRAPH」のCSSファイルによる描画(ここではグラフの描画)をする場合に、設定値を参照し、設定値が「“type”:“PROCEED”」である場合には、定義一覧(図9)の中の「年月」(MONTH_AN...)と「売上」(PROCEEDS)列からデータを取得し、グラフに出力する」という処理のコードが記述されている。また、1102には、「「GRAPH」のCSSファイルによる描画(ここではグラフの描画)をする場合に、設定値を参照し、設定値が「“type”:“EVENT”」である場合には、定義一覧(図9)の中の「年月」(MONTH_AN...)と「イベント回数」(EVENT)列からデータを取得し、グラフに出力する」という処理のコードが記述されている。以上が非テンプレート部品の説明である。
【0091】
図5の説明に戻る。ステップS505で、プログラム開発装置100のプログラム開発アプリケーションは、ステップS504で入力を受け付けた情報を、外部メモリに記憶する。つまり、「BAR_VERTICAL」というカスタムI/O項目のプロパティの各項目に、「GRPH」、「“type”:“PROCEED”」を記憶する。以上が図5の説明である。
【0092】
次に、図6を参照して、アプリケーション生成処理の流れを説明する。
【0093】
ステップS601で、プログラム開発装置100のプログラム開発アプリケーションは、不図示のアプリケーション生成実行画面において、これからコードを生成するアプリケーションの定義(アプリケーション定義)の指定を受け付ける。
【0094】
ステップS602で、プログラム開発装置100のプログラム開発アプリケーションは、当該アプリケーション定義に基づいたアプリケーションコードの生成指示を受け付ける。例えば、当該アプリケーション生成実行画面における「生成実行」ボタンの押下操作を受け付ける。
【0095】
ステップS603で、プログラム開発装置100のプログラム開発アプリケーションは、ステップS601で指定を受け付けたアプリケーション定義を、外部メモリ211から取得する。
【0096】
ステップS604で、当該アプリケーション定義によって特定されるデータモデル定義を、外部メモリ211から取得する。
【0097】
ステップS605で、当該アプリケーション定義によって特定される入出力定義を、外部メモリ211から取得する。
【0098】
ステップS606で、当該アプリケーション定義によって特定されるビジネスプロセス定義を、外部メモリ211から取得する。
【0099】
ステップS607で、当該アプリケーション定義によって特定されるデータベース定義を、外部メモリ211から取得する。
【0100】
ステップS608で、プログラム開発装置100のプログラム開発アプリケーションは、アプリケーション定義によって特定される拡張ファイルを、外部メモリ211から取得する。
【0101】
ステップS609で、プログラム開発装置100のプログラム開発アプリケーションは、アプリケーションコードを生成する。例えば、アプリケーションのJava(登録商標)ファイルや、各画面のJSPファイル、CSSファイル、JavaScriptファイル(図4の444等参照)を生成する。
【0102】
ステップS610で、プログラム開発装置100のプログラム開発アプリケーションは、カスタム部品ソースを生成する。ステップS610の詳細は、図7の説明で後述する。
【0103】
ここで図7を参照して、本発明の実施形態における、カスタム部品にかかるコード生成処理の流れについて説明する。
【0104】
ステップS701で、プログラム開発装置100のプログラム開発アプリケーションは、入出力定義の一覧を取得する。そして、当該入出力項目の数だけ、ステップS702~S708の処理を繰り返す。
【0105】
ステップS702で、プログラム開発装置100のプログラム開発アプリケーションは、未処理の入出力定義を1つ取得する。
【0106】
ステップS703で、プログラム開発装置100のプログラム開発アプリケーションは、取得した入出力定義の「compName」に、値が設定されているか判定する。つまり、当該入出力定義に、非テンプレート部品の識別情報が設定されているか判定する。
【0107】
ここでは、非テンプレート部品の識別情報が設定されていると判定された部品を、カスタムI/O項目として特定する。すなわち、ステップS703の判定処理は、当該入出力定義が、カスタムI/O項目の定義か判定する処理である。
【0108】
入出力定義の「compName」に値が設定されていないと判定された場合、未処理の入出力定義を取得するべく、処理をステップS702に戻す。未処理の入出力定義がない場合は、図7の処理を終了する。
【0109】
入出力定義の「compName」に値が設定されていると判定された場合、処理をステップS704に移行する。
【0110】
ステップS704で、プログラム開発装置100のプログラム開発アプリケーションは、取得した入出力定義の「compParam」に、値が設定されているか判定する。つまり、当該入出力定義にパラメータが設定されているか判定する。
【0111】
「compParam」に、値が設定されていないと判定された場合は、処理をステップS706に移行する。
【0112】
「compParam」に、値が設定されていると判定された場合は、処理をステップS705に移行し、設定されている値を取得して、処理をステップS706に移行する。
【0113】
ステップS706で、プログラム開発装置100のプログラム開発アプリケーションは、カスタム部品のインクルード部を生成する。
【0114】
具体的には、当該入出力定義が適用される入出力項目(カスタムI/O項目)を保持する画面のJSPファイルの中に、非テンプレート部品のCSSファイルとJSファイルをインクルードするためのコードを記述する。具体例を図10の1001に示す。
【0115】
ステップS707で、プログラム開発装置100のプログラム開発アプリケーションは、カスタム部品のデータ処理部のコードを生成する。データ処理部は、カスタム部品の内部でデータを保持する部分である。一例を図10の1003に示す。
【0116】
ステップS708で、プログラム開発装置100のプログラム開発アプリケーションは、カスタム部品の描画部のコードを生成する。描画部とは、カスタム部品を描画する部分である。描画部の一例を図10の1002に示す。
【0117】
プログラム開発装置100のプログラム開発アプリケーションは、未処理の入出力定義がある場合は、処理をステップS702に戻し、入出力定義を1つ取得して、ステップS703~S708の処理を実行する。未処理の入出力定義がなくなった場合に図7の処理を終了する。以上が図7の説明である。
【0118】
図6の説明に戻る。ステップS611で、プログラム開発装置100のプログラム開発アプリケーションは、ステップS609、S610で生成したコードをデプロイする。以上が図6の説明である。
【0119】
以上説明したように、本発明によれば、既存の部品の表示や機能を用いて容易に、また、容易にアプリケーション開発が可能な仕組みを提供することができる。
【0120】
当該部品の表示例を図8の810に示す。当該810に示す画面は、ステップS609、S610で生成され、ステップS610でデプロイされたアプリケーションが、800に示す画面を表示した場合の一例である。図8の811には、801に対応付けられた非テンプレート部品(図9の920において「BAR_VERTICAL」というカスタムI/O項目に対応付けられた「GRAPH」)の表示例を示す。また、812には、801とは別に配置されたカスタムI/O項目に対応付けられた非テンプレート部品(図9の920において「BAR_VERTICAL2」というカスタムI/O項目に対応付けられた「GRAPH」)の表示例を示している。
【0121】
これらの部品は、当該「GRAPH」という非テンプレート部品のCSSに準じたスタイルで表示され、「GRAPH」に対応するJSファイル(図10の1001でJSPファイルにインクルードされた情報)に従った機能を保持する。
【0122】
また、図10の描画コード1002およびデータ処理部1003、図11の関連付けコードに従って描画、データの入出力を実行可能である。
【0123】
なお、上述した実施形態の説明においては、カスタムI/O項目として設定された非テンプレートファイルのCSSファイル(部品の表示に関する情報の1つ)と、JSファイル(部品の機能に関する情報の1つ)の両方をインクルードする例を記載したが、どちらか一方をインクルードするよう発明を構成してもよい。
【0124】
また、上述した実施形態の説明においては、ユーザ操作に従って、プログラム開発アプリケーションの提供する定義編集機能を起動し、定義一覧画面900(図9に例示)を表示するものとしたが、自動で表示するようにしてもよい。例えば、プログラム開発アプリケーションが、S503でカスタムI/O項目が配置(生成)されたことを検知した場合に、表示画面に定義一覧画面900を表示するようにしてもよい。また、当該カスタムI/O項目に対応付ける部品を指定可能な状態の画面を表示するべく、表示した定義一覧画面900において、S503で生成したカスタムI/O項目に自動でフォーカスする(または当該カスタムI/O項目にフォーカスされた状態で定義一覧画面900を表示する)ようにしてもよい。
【0125】
当該定義一覧画面900を自動で表示することにより、ユーザが、定義一覧画面を表示するための操作をする手間を軽減することができる。
【0126】
また、当該カスタムI/O項目に対応付ける部品を指定可能な状態の画面を表示することにより、ユーザが、配置したカスタムI/O項目を一覧から探し出す手間を軽減することができる。
【0127】
また、上述した実施形態の説明においては、カスタムI/O項目として設定された非テンプレート部品からの入力値や当該非テンプレート部品への出力値を、例えばデータ処理部1003を介して行う旨を、描画とデータ処理の関連付けコード(図11)に記述しているものとした。つまり、部品に対する操作を受け付けた場合のデータ処理の内容(その全部または一部)と、値の入力先や出力元の項目の識別情報が当該関連付けコードに記述されているものとした。
【0128】
しかし、第三者が公開する非テンプレート部品においては、当該値の入力先や出力元の項目の識別情報が、前記プログラム開発アプリケーションが扱うデータの項目名、データ型と必ずしも一致しないことがある。
【0129】
これは、描画とデータ処理の関連付けコードに相当するような、部品に入力されたデータをどのデータ項目に入力するか、や、部品に対してどのデータ項目からデータを出力するか等のコードが記述されたファイルを、前記プログラム開発アプリケーションの利用者ではなく、非テンプレート部品の提供者等の第三者により作成・公開されている場合にしばしば起こりうる。
【0130】
また、関連付けコード(図11)の作成者が間違った項目名(例えば、データ処理部1003の隠れ項目と異なる項目名)を指定してしまった場合や、データモデル定義内のどこにも存在しない項目名を指定してしまった場合等に起こりうる。
【0131】
例えば、データ処理部である隠れ項目の項目名が「disp」であるが、当該関連付けコード(図11)により指定されている項目名(例えば、グラフのデータの出力元のデータ項目名)が、データモデルの中に存在せず、また、「disp」でもない場合である。
【0132】
この場合、当該部品のデータはどこからも出力できず、どこにも入力できなくなってしまう。つまり、動作しない部品となってしまう。
【0133】
この問題を回避し、動作する部品を効率的に登録するため、すなわち、動作する部品で構築されたアプリケーションプログラムを効率的に作成するために、自動で、当該項目を更新・生成するようにしてもよい。
【0134】
例えば、S610の後に、プログラム生成アプリケーションは、図7の処理で生成したデータ処理部の隠れ項目の項目名、桁数、少数桁、データ型を取得する。また、描画とデータ処理の関連付けコード(図11)を取得する。
【0135】
プログラム生成アプリケーションは、当該関連付けコードを解析し、当該コードの中の、1または複数の、データの入力先および出力元の項目名を特定する。そして、各データ項目名が、S604で取得したデータモデル定義またはデータ処理部の隠れ項目名のいずれかと一致するか判定する。つまり、データの入力先、および出力元が存在するか判定する。
【0136】
一致する項目名がない場合(つまり、データの入力先、または出力元が存在しない場合)は、関連付けコード内の当該項目名を、当該関連付けコードに対応する非テンプレート部品のデータ処理部1003の隠れ項目名に変更・更新する。一致する項目があった場合は、当該関連付けコード内の未処理の項目名を取得する。これを、関連付けコード内のデータの入力先、および出力元の項目名に対して繰り返す。その後、処理をS611に移行する。
【0137】
当該変更・更新の処理により、データの入力先・出力元を、前記プログラム開発アプリケーションの扱うデータ項目名とすることができる。
【0138】
すなわち、動作する部品で構築されたアプリケーションプログラムを容易に作成することができる。
【0139】
また、桁数、小数点桁、データ型等のデータ項目の設定が、部品とデータ入力先および出力元とで違う場合、当該違いが原因でデータの登録エラーが発生することが考えられる。
【0140】
よって、例えばS610の段階で、関連付けコードの中に記述されているデータの入力先のデータ項目名から、当該データ項目における桁数、少数桁、データ型を取得する。そして、関連付けコードの中に、部品に入力された値を、当該入力先のデータ項目の桁数、少数桁、データ型に変更する旨のコードを自動で生成し・挿入する。
【0141】
また、例えばS610の段階で、関連付けコードの中に記述されているデータの出力元のデータ項目名を取得する。また、非テンプレート部品のJSファイルに記述されている、当該部品に出力するデータの桁数、少数桁、データ型を取得する。そして、関連付けコードの中に、当該出力元のデータ項目から部品に出力する値を、当該部品の桁数、少数桁、データ型に変更する旨のコードを自動で生成し・挿入する。
【0142】
当該変換用のコードの生成・挿入によって、桁数、小数点桁、データ型等の設定が異なる部品、項目間でもデータの入出力が可能となる。また、当該データの入出力が可能なプログラムを効率的に作成することができる。
【0143】
すなわち、既存の部品の表示や機能を用いて効率的にアプリケーション開発が可能な仕組みを提供することができる。
【0144】
なお、上述した実施形態においては、関連付けコード内の項目名をデータ処理部1003の隠れ項目に更新する処理のコードを、当該関連付けコードの中に記述するものとしたが、例えば、どのような項目名をどのような項目名に変更・更新するかを、変更前の項目名と変更後の項目名を対応付けたルールとして外部メモリに記憶しておき、当該ルールに従って、関連付けコード内の、データモデル定義及び隠れ項目に一致しない項目名を変換・更新するようにしてもよい。
【0145】
また、テンプレート部品や非テンプレート部品は、ファイルとして記憶・管理するのではなく、例えば、プログラム生成アプリケーション自体のコードの中に、各部品のCSSや、JSファイル、描画コード等が記述されていることで記憶・管理されるようにしてもよい。
【0146】
なお、テンプレート部品は入出力項目とペアで記憶されているものとする。つまり、テンプレート部品とペアになっている入出力項目が画面上に配置された場合には、部品と当該入出力項目を対応付けるための指示部(CompName等)は不要である。プログラム生成アプリケーションは、当該配置に応じて、既にテンプレート部品とペアになっている(対応付けられている)入出力項目を、入出力項目定義に追加・生成することになる。
【0147】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0148】
具体的には、プログラム開発装置100とデータベースサーバ200、アプリケーションサーバ300が一体であり、上述した実施形態の各処理を実行するようにしてもよい。
【0149】
また、拡張ファイル管理部420を、データベースサーバ200が備えるよう構成してもよい。すなわち、カスタム部品としてインクルードする部品のファイル(CSSファイル、JSファイル)や、当該部品の描画コード、データ処理と描画の対応付けコードを、プログラム開発装置100とは別の記憶装置が記憶するようシステムを構成してもよい。この場合、指定されたカスタムI/O項目の設定値に指定された部品の情報は、プログラム開発装置100が、データベースサーバ200に要求して取得し、プログラム開発装置100自身のRAMに当該情報を記憶して、インクルードするパスを設定する。
【0150】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0151】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0152】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などもある。
【0153】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0154】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0155】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0156】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0157】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0158】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0159】
100 プログラム開発装置
200 データベースサーバ
300 アプリケーションサーバ

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11