JP5414633B2 - アプリケーション実行装置及びアプリケーション実行方法 - Google Patents

アプリケーション実行装置及びアプリケーション実行方法 Download PDF

Info

Publication number
JP5414633B2
JP5414633B2 JP2010153172A JP2010153172A JP5414633B2 JP 5414633 B2 JP5414633 B2 JP 5414633B2 JP 2010153172 A JP2010153172 A JP 2010153172A JP 2010153172 A JP2010153172 A JP 2010153172A JP 5414633 B2 JP5414633 B2 JP 5414633B2
Authority
JP
Japan
Prior art keywords
server
logic flow
program
client
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010153172A
Other languages
English (en)
Other versions
JP2012014633A (ja
Inventor
和彦 倉持
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010153172A priority Critical patent/JP5414633B2/ja
Publication of JP2012014633A publication Critical patent/JP2012014633A/ja
Application granted granted Critical
Publication of JP5414633B2 publication Critical patent/JP5414633B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

この発明は、複数のプログラムを有するアプリケーション(アプリケーションプログラム)の構築技術、及びアプリケーションの実行技術に関する。
複数のプログラムで構成されるアプリケーションは、非常に複雑であり、アプリケーションの構築には多くの時間と費用が必要となる。
ここで、新規に構築されるアプリケーションの中には、既存のアプリケーションが持つ機能と同じ機能や似た機能を有するものが多い。したがって、新規のアプリケーションを構築する際、既存のアプリケーションの情報を有効に利用できれば、構築にかかる時間と費用を抑えることができる。
特許文献1には、各業務処理を実行する個々のプログラム部品である業務処理部品及び制御対象部品のインタフェースを規定し規格化することについての記載がある。特許文献1では、これにより、業務処理部品及び制御対象部品の汎用性を高め、再利用性を高めている。
特開2002−342081号公報
特許文献1のように、個々のプログラム部品のインタフェースを規格化して、再利用性を高めたとしても、再利用されるのはプログラム部品単位である。つまり、新たなアプリケーションを構築する場合、画面レイアウトと、その画面操作に対応する処理の流れとは新たに作成する必要があり、作業を省略できるのは、画面操作に対応する処理で呼び出される個々のプログラムの作成作業だけである。
この発明は、既存のアプリケーションの情報を有効に利用可能とし、アプリケーション構築の生産性を向上させることを目的とする。
この発明に係るアプリケーション構築装置は、
表示装置に所定の表示情報を表示する表示部品と、前記表示部品が表示する表示情報が操作された場合に動作する一連のプログラムの実行順序が規定されたロジックフローとの組を1つのソフトウェア部品として、複数のソフトウェア部品を記憶装置に記憶するソフトウェア部品記憶部と、
前記ソフトウェア部品記憶部が記憶した複数のソフトウェア部品に含まれる複数の表示部品から任意の1つ以上の表示部品を選択させ、アプリケーションプログラムの画面レイアウトを定義した画面レイアウト定義情報を生成する画面レイアウト生成部と、
前記画面レイアウト生成部が画面レイアウト定義情報を生成する際に選択された表示部品と組をなすロジックフローを編集させて、前記アプリケーションプログラムの動作を規定した新しいロジックフローを生成するロジックフロー編集部と、
前記画面レイアウト生成部が生成した画面レイアウト定義情報と、前記ロジックフロー編集部が生成した新しいロジックフローとをアプリケーションプログラムを定義したアプリケーション定義として出力するアプリケーション出力部と
を備えることを特徴とする。
この発明に係るアプリケーション構築装置では、表示部品とその表示部品に紐づいた一連のプログラムの実行順序を規定したロジックフローとを1つのソフトウェア部品とし、ソフトウェア部品を使ってアプリケーションを構築する。そのため、表示部品を並べて画面レイアウトを規定するのに伴って、各表示部品に紐づく処理の大枠が規定される。その結果、アプリケーション構築の生産性が向上する。
また、ソフトウェア部品を既存のアプリケーションから抽出して生成することも可能であり、既存のアプリケーションの情報を有効利用することもできる。
実施の形態1に係るアプリケーション構築装置100の構成図。 ソフトウェア部品30の構成図。 各プログラムの定義例を示す図。 実施の形態1に係るアプリケーション実行システム400の構成図。 アプリケーション実行システム400の動作を示すフローチャート。 図5における処理(S106)の詳細な動作を示すフローチャート。 ロジックフロー20が実行される様子を説明する図。 アプリケーション実行システム400がクライアント200と複数台のサーバ300とで構成されており、サーバ側ロジック部品50毎に実行されるサーバ300が異なる場合における図5の(S106)の詳細な動作を示すフローチャート。 アプリケーション構築装置100、クライアント200、サーバ300のハードウェア構成の一例を示す図。
以下、図に基づき、発明の実施の形態を説明する。
以下の説明において、処理装置は後述するCPU911等である。記憶装置は後述するROM913、RAM914、磁気ディスク920等である。入力装置はキーボード902、マウス903等である。出力装置は後述するLCD901、通信ボード915、ROM913、RAM914、磁気ディスク920等である。つまり、処理装置、記憶装置、入力装置、出力装置はハードウェアである。
実施の形態1.
図1は、実施の形態1に係るアプリケーション構築装置100の構成図である。
アプリケーション構築装置100は、ソフトウェア部品30に基づき、アプリケーション70を構築する(構築を支援する)装置である。なお、ここでは、アプリケーション70はWebアプリケーションであるとして説明する。
図1に示すように、アプリケーション構築装置100は、ソフトウェア部品記憶部110、プログラム記憶部120、画面レイアウト生成部130、ロジックフロー編集部140、プログラム編集部150、アプリケーション出力部160を備える。
ソフトウェア部品記憶部110は、複数のソフトウェア部品30を記憶した記憶装置である。ソフトウェア部品30には、所定の情報を表示装置に表示するプログラムであるGUI部品10(表示部品)と、GUI部品10が表示する表示情報が操作された場合に動作する一連のプログラムの実行順序を規定した処理フロー情報であるロジックフロー20とが含まれる。
例えば、GUI部品10は、既存のWebアプリケーションの表示画面に表示された情報の一部を切り出すことにより生成される。また、ロジックフロー20は、切り出された表示情報が操作された場合に動作する一連のプログラムを、前記既存のWebアプリケーションから切り出して、その一連のプログラムの実行順序を抽出することにより生成される。
つまり、GUI部品10は、切り出した表示情報を示すHTML(HyperText Markup Language)等である。また、ロジックフロー20は、そのHTMLに関連して記述されたJavascript(登録商標)等のクライアントサイドスクリプトや、Java(登録商標)等のサーバサイドスクリプトの実行順序を規定した処理フローである。
プログラム記憶部120は、ロジックフロー20で実行順序が規定されたプログラムを記憶した記憶装置である。
ロジックフロー20で実行順序が規定されたプログラムには、クライアント側で実行されるプログラム(クライアントサイドスクリプト)とサーバ側で実行されるプログラム(サーバサイドスクリプト)とが含まれる。そこで、プログラム記憶部120は、クライアント側で実行されるプログラムを所定の単位(例えば、関数毎)に部品化したクライアント側ロジック部品40と、サーバ側で実行されるプログラムを所定の単位に部品化したサーバ側ロジック部品50とをそれぞれを記憶している。
なお、クライアント側ロジック部品40には、所定のイベント(GUI部品10が表示する表示情報に対する所定の操作等)を待つイベント待ち部品が含まれる。
図2は、ソフトウェア部品30の構成図である。
図2に示すように、ソフトウェア部品30には、GUI部品10と、GUI部品10に紐付けられたロジックフロー20とが含まれる。ロジックフロー20は、GUI部品10に所定の操作がされた場合に実行される一連のプログラムの実行順序を規定している。ここでは、矢印によりプログラムの実行順序を示している。
図2では、ロジックフロー20は、初めにクライアント側ロジック部品1が実行され、続いてクライアント側ロジック部品2,3,4と、イベント待ち部品1、サーバ側ロジック部品1,2、クライアント側ロジック部品5とが並列に順に実行されることを表す。
図3は、各プログラムの定義例を示す図である。図3において、(a)はクライアント側ロジック部品40の例であり、(b)はサーバ側ロジック部品50の例であり(c)はイベント待ち部品の例である。
図3に示すように、各部品の定義には、部品ID、部品名、部品種別、部品URL、実行コマンド、パラメータ等の項目が規定されている。ここで、部品種別は、そのプログラムがクライアント側ロジック部品40であるか、サーバ側ロジック部品50であるか、イベント待ち部品であるかを示す。また、部品URLは、そのプログラムがどこに在るかを示す。
画面レイアウト生成部130は、ソフトウェア部品記憶部110が記憶した複数のソフトウェア部品30に含まれるGUI部品10を表示装置に表示して、そこから任意の1つ以上のGUI部品10を開発者に入力装置を介して選択させ、任意のレイアウトに並べさせる。そして、画面レイアウト生成部130は、アプリケーション70の画面レイアウトを定義したGUIレイアウト定義60(画面レイアウト定義情報)を処理装置により生成する。なお、画面レイアウト生成部130は、GUIレイアウト定義60を、GUIレイアウト定義60を生成する際に選択されたGUI部品10とともに出力する。
ロジックフロー編集部140は、画面レイアウト生成部130がGUIレイアウト定義60を生成する際に、開発者によって選択された表示部品と同じソフトウェア部品30として記憶されたロジックフロー20を、必要に応じて開発者に入力装置を介して編集させる。そして、ロジックフロー編集部140は、アプリケーション70の動作を規定した新しいロジックフロー20を処理装置により生成し、出力する。
例えば、ロジックフロー編集部140は、編集対象のロジックフロー20に、ソフトウェア部品30に含まれる他のロジックフロー20を直列あるいは並列に接続させたり、プログラムの実行順序を変更したり、プログラム間のパラメータ渡しのために新しいプログラムの呼び出しを追加したりする。
プログラム編集部150は、ロジックフロー20によって実行順序が規定されたクライアント側ロジック部品40及びサーバ側ロジック部品50を、必要に応じて開発者に入力装置を介して編集させる。そして、プログラム編集部150は、アプリケーション70を構成するクライアント側ロジック部品40とサーバ側ロジック部品50とを生成する。
例えば、プログラム編集部150は、ロジックフロー20に新たなプログラムの呼び出しが追加された場合に、そのプログラムを新規作成させたり、処理内容の変更が必要なプログラムを修正させたりする。
アプリケーション出力部160は、画面レイアウト生成部130が生成したGUIレイアウト定義60と、ロジックフロー編集部140が生成した新しいロジックフロー20とをアプリケーション定義80として、GUIレイアウト定義60で用いられるGUI部品10と、ロジックフロー20で呼び出されるクライアント側ロジック部品40及びサーバ側ロジック部品50とともに、アプリケーション70として出力装置へ出力する。
つまり、アプリケーション構築装置100では、GUI部品10とロジックフロー20とを1つのソフトウェア部品30として、複数のソフトウェア部品30を予めソフトウェア部品記憶部110に記憶しておく。また、併せて、対応するクライアント側ロジック部品40及びサーバ側ロジック部品50をプログラム記憶部120に記憶しておく。
そして、画面レイアウト生成部130がGUI部品10を選択させ並べさせて、GUIレイアウト定義60を生成する。選択されたGUI部品10にはロジックフロー20が紐づいているため、GUIレイアウト定義60を生成しただけで、アプリケーション70の動作を規定したロジックフロー20の大枠が完成する。
また、必要に応じて、ロジックフロー編集部140、プログラム編集部150が、ロジックフロー20、クライアント側ロジック部品40、サーバ側ロジック部品50を編集させる。
これにより、アプリケーション構築装置100は、アプリケーション70を構築する。
アプリケーション構築装置100によれば、GUI部品10を並べただけで、GUIレイアウト定義60だけでなく、アプリケーション70の動作を規定したロジックフロー20の大枠が完成する。したがって、アプリケーション70を構築する効率がよい。
また、ソフトウェア部品30は、既存のWebアプリケーションから容易に抽出することができる。したがって、構築するアプリケーション70に既存のアプリケーションと同じ機能、あるいは似た機能が含まれる場合、既存のアプリケーションのプログラムを容易に利用することが可能であり、アプリケーション70を構築する効率がよい。
また、ロジックフロー20は単にプログラムの実行順序が規定されたものであるから、プログラムのインタフェースに修正があったとしても、ロジックフロー20を修正する必要はない。
次に、アプリケーション構築装置100で構築されたアプリケーション70を実行するアプリケーション実行システム400について説明する。
図4は、実施の形態1に係るアプリケーション実行システム400の構成図である。図5は、アプリケーション実行システム400の動作を示すフローチャートである。図6は、図5における処理(S106)の詳細な動作を示すフローチャートである。
図4に示すように、アプリケーション実行システム400は、クライアント200(アプリケーション実行装置)、サーバ300を備える。
クライアント200は、アプリケーション70(Webアプリケーション)を操作する計算機であり、クライアント200ではWebブラウザが動作する。クライアント200は、Webブラウザにおいて動作する機能として、取得部210(ロジックフロー取得部)、GUIレイアウト制御部220、クライアント側フローエンジン230、データ保持部240を備える。また、クライアント側フローエンジン230は、判定部231、実行部232、サーバ側ロジックフロー生成部233、サーバ呼出部234を備える。
サーバ300は、アプリケーション定義記憶部310、部品リポジトリ320、サーバ側フローエンジン330(実行部)、データ保持部340を備える。
図4に示す各機能の動作について、図5、図6に基づき説明する。
まず、図5に示す処理の前提として、アプリケーション構築装置100のアプリケーション出力部160が出力したアプリケーション70のうち、アプリケーション定義80がアプリケーション定義記憶部310に格納され、その他のGUI部品10、クライアント側ロジック部品40、サーバ側ロジック部品50が部品リポジトリ320に格納される。
図5に示す処理について説明する。
取得部210は、サーバ300のアプリケーション定義記憶部310からアプリケーション定義80をネットワークを介して取得する(S101)。上述したように、アプリケーション定義80には、GUIレイアウト定義60とロジックフロー20とが含まれる。次に、GUIレイアウト制御部220は、(S101)で取得したGUIレイアウト定義60を読込み(S102)、GUIレイアウト定義60に定義されたGUI部品10をサーバ300の部品リポジトリ320からネットワークを介して取得する(S103)。そして、GUIレイアウト制御部220は、取得したGUI部品10を処理装置により実行して、GUIレイアウト定義60に従ったレイアウトで表示情報を表示装置に表示する(S104)。
続いて、表示装置に表示した表示情報が操作されると、クライアント側フローエンジン230は、操作に応じたロジックフロー20を読み込む(S105)。操作に応じたロジックフロー20とは、操作された表示情報を表示するGUI部品10に紐づいたロジックフロー20ということである。そして、クライアント側フローエンジン230は、読み込んだロジックフロー20を処理装置により実行する(S106)。
図6に基づき、(S106)の詳細な動作について説明する。
まず、判定部231は、次の(実行されていない)ロジック部品が存在するか否かを処理装置により判定する(S201)。次のロジック部品が存在すると判定した場合(S201でYES)、判定部231は、次のロジック部品を読込み(S202)、そのロジック部品の部品種別(図3参照)を取得する(S203)。そして、判定部231は、取得した部品種別がクライアント側ロジック部品40か否かを処理装置により判定する(S204)。
(S204)でサーバ側ロジック部品50であると判定した場合(S204でNO)、判定部231は、未実行のサーバ側ロジックフロー91があるか否かを処理装置により判定する(S205)。
未実行のサーバ側ロジックフロー91がない場合(S205でNO)、新たにサーバ側ロジックフロー91を含むサーバ側ロジック呼出部品90を生成し(S206)、サーバ側ロジックフロー生成部233は、生成したサーバ側ロジックフロー91に(S202)で読込んだサーバ側ロジック部品50の呼び出しを追加する。
一方、未実行のサーバ側ロジックフロー91がある場合(S205でYES)、サーバ側ロジックフロー生成部233は、未実行のサーバ側ロジックフロー91に(S202)で読込んだサーバ側ロジック部品50の呼び出しを追加する。
そして、処理を(S201)へ戻す。
(S204)でクライアント側ロジック部品40であると判定した場合(S204でYES)、判定部231は、未実行のサーバ側ロジックフロー91があるか否かを処理装置により判定する(S208)。
未実行のサーバ側ロジックフロー91がある場合(S208でYES)、サーバ呼出部234は、未実行のサーバ側ロジックフロー91を含むサーバ側ロジック呼出部品90を処理装置により実行する。なお、サーバ側ロジック呼出部品90が実行されると、サーバ側ロジックフロー91がサーバ300へ送信される。サーバ側フローエンジン330は、送信されたサーバ側ロジックフロー91に含まれるサーバ側ロジック部品50を順次部品リポジトリ320から取得して、処理装置により実行する。そして、サーバ側フローエンジン330がサーバ側ロジックフロー91に含まれるサーバ側ロジック部品50を実行し終えると、実行部232は、(S202)で読込んだクライアント側ロジック部品40を処理装置により実行する(S210)。
一方、未実行のサーバ側ロジックフロー91がない場合(S208でNO)、(S209)は実行されず、実行部232は、(S202)で読込んだクライアント側ロジック部品40を処理装置により実行する(S210)。
そして、処理を(S201)へ戻す。
また、(S201)で次のロジック部品が存在しないと判定した場合(S201でNO)、判定部231は、未実行のサーバ側ロジックフロー91があるか否かを処理装置により判定する(S211)。そして、未実行のサーバ側ロジックフロー91がある場合(S211でYES)、(S209)と同様に、サーバ呼出部234は、未実行のサーバ側ロジックフロー91を含むサーバ側ロジック呼出部品90を処理装置により実行して(S212)、処理を終了する。一方、未実行のサーバ側ロジックフロー91がない場合(S211でNO)、(S212)は実行されず、処理を終了する。
以上のように、クライアント200は、ロジックフロー20に規定された順にロジック部品を読込む。そして、読込んだロジック部品がサーバ側ロジック部品50の場合、次にクライアント側ロジック部品40が読込まれるまでの一連のサーバ側ロジック部品50の呼び出しを1つのサーバ側ロジックフロー91として作成する。一方、読込んだロジック部品がクライアント側ロジック部品40の場合、未実行のサーバ側ロジックフロー91があれば、そのサーバ側ロジックフロー91を実行した上で、なければすぐにクライアント側ロジック部品40を実行する。
図7は、ロジックフロー20が実行される様子を説明する図である。なお、図7は、図2に示すロジックフロー20を実行する場合の例である。
上述したように、図2に示すロジックフロー20は、初めにクライアント側ロジック部品1が実行され、続いてクライアント側ロジック部品2,3,4と、イベント待ち部品1、サーバ側ロジック部品1,2、クライアント側ロジック部品5とが並列に順に実行されることを表す。
この場合、連続して実行されるサーバ側ロジック部品1,2の呼び出しが1つのサーバ側ロジックフロー1として生成される。また、ロジックフロー20は、サーバ側ロジック部品1,2が、1つのサーバ側ロジック呼出部品1に置き換えられる。そして、クライアント200は、サーバ側ロジック部品1,2がサーバ側ロジック呼出部品1に置き換えられた後のロジックフロー20に従い、処理を順次実行する。
なお、図6の(S210)でクライアント側ロジック部品40が実行された場合の出力値等は、データ保持部240に蓄積される。そして、その後に実行されるクライアント側ロジック部品40で、データ保持部240に蓄積された値は利用される。また、(S209)や(S212)でサーバ300へサーバ側ロジックフロー91が送信される際、併せてデータ保持部240に蓄積された値がサーバ300に送信され、データ保持部340に蓄積され、サーバ側ロジック部品50によって利用される。
同様に、サーバ側ロジック部品50の出力値等はデータ保持部340に蓄積され、サーバ側ロジックフロー91に含まれるサーバ側ロジック部品50を実行し終えると、データ保持部340に蓄積された値が返り値としてクライアント200へ送信され、データ保持部240に蓄積される。
以上のように、連続して実行されるサーバ側ロジック部品50の呼び出しを1つのサーバ側ロジックフロー91にするため、クライアント200とサーバ300との間の通信回数を減らすことができ、効率的に処理を実行することができる。
上記説明では、アプリケーション実行システム400は、クライアント200と1台のサーバ300とで構成されるものとして説明した。しかし、アプリケーション実行システム400は、クライアント200と複数台のサーバ300とで構成されており、サーバ側ロジック部品50毎に実行されるサーバ300が異なるとしてもよい。
図8は、この場合における図5の(S106)の詳細な動作を示すフローチャートである。なお、図6の(S201)から(S204)と、(S208)から(S212)との処理は図6に示す通りであるため、図8では図6における(S205)から(S207)の処理に対応する部分のみを示す。
図6の(S204)でサーバ側ロジック部品50であると判定した場合(S204でNO)、判定部231は、(S202)で読込んだサーバ側ロジック部品50の部品URL(図3参照)を取得する(S301)。そして、判定部231は、取得した部品URLのホスト名から、そのサーバ側ロジック部品50がどのサーバ300で実行されるかを処理装置により特定する。
そして、判定部231は、特定したサーバ300と異なるサーバ300で実行される、未実行のサーバ側ロジックフロー91があるか否かを処理装置により判定する(S303)。異なるサーバ300で実行される、未実行のサーバ側ロジックフロー91がある場合(S303でYES)、サーバ呼出部234は、未実行のサーバ側ロジックフロー91を含むサーバ側ロジック呼出部品90を処理装置により実行して(S304)、処理を(S305)へ進める。一方、異なるサーバ300で実行される、未実行のサーバ側ロジックフロー91がない場合(S303でNO)、直接処理を(S305)へ進める。
次に、判定部231は、特定したサーバ300と同一のサーバ300で実行される、未実行のサーバ側ロジックフロー91があるか否かを処理装置により判定する(S305)。同一のサーバ300で実行される、未実行のサーバ側ロジックフロー91がない場合(S305でNO)、新たに、特定したサーバ300で実行されるサーバ側ロジックフロー91を含むサーバ側ロジック呼出部品90を生成し(S306)、サーバ側ロジックフロー生成部233は、生成したサーバ側ロジックフロー91に(S202)で読込んだサーバ側ロジック部品50の呼び出しを追加する。
一方、同一のサーバ300で実行される、未実行のサーバ側ロジックフロー91がある場合(S305でYES)、サーバ側ロジックフロー生成部233は、未実行のサーバ側ロジックフロー91に(S202)で読込んだサーバ側ロジック部品50の呼び出しを追加する。
そして、処理を(S201)へ戻す。
つまり、アプリケーション実行システム400がクライアント200と複数台のサーバ300とで構成されており、サーバ側ロジック部品50毎に実行されるサーバ300が異なる場合、連続して同一のサーバで実行されるサーバ側ロジック部品50の呼び出しを1つのサーバ側ロジックフロー91にする。この場合にも、クライアント200とサーバ300との間の通信回数を減らすことができ、効率的に処理を実行することができる。
次に、実施の形態におけるアプリケーション構築装置100、クライアント200、サーバ300のハードウェア構成について説明する。
図9は、アプリケーション構築装置100、クライアント200、サーバ300のハードウェア構成の一例を示す図である。
図9に示すように、アプリケーション構築装置100、クライアント200、サーバ300は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
磁気ディスク装置920又はROM913などには、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
プログラム群923には、上記の説明において「画面レイアウト生成部130」、「ロジックフロー編集部140」、「プログラム編集部150」、「アプリケーション出力部160」、「取得部210」、「GUIレイアウト制御部220」、「クライアント側フローエンジン230」、「サーバ側フローエンジン330」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、上記の説明において「ソフトウェア部品記憶部110」、「プログラム記憶部120」、「データ保持部240」、「アプリケーション定義記憶部310」、「部品リポジトリ320」、「データ保持部340」に格納される情報やデータや信号値や変数値やパラメータが、「データベース」の各項目として記憶される。「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
10 GUI部品、20 ロジックフロー、30 ソフトウェア部品、40 クライアント側ロジック部品、50 サーバ側ロジック部品、60 GUIレイアウト定義、70 アプリケーション、80 アプリケーション定義、90 サーバ側ロジック呼出部品、91 サーバ側ロジックフロー、100 アプリケーション構築装置、110 ソフトウェア部品記憶部、120 プログラム記憶部、130 画面レイアウト生成部、140 ロジックフロー編集部、150 プログラム編集部、160 アプリケーション出力部、200 クライアント、210 取得部、220 GUIレイアウト制御部、230 クライアント側フローエンジン、231 判定部、232 実行部、233 サーバ側ロジックフロー生成部、234 サーバ呼出部、240 データ保持部、300 サーバ、310 アプリケーション定義記憶部、320 部品リポジトリ、330 サーバ側フローエンジン、340 データ保持部、400 アプリケーション実行システム。

Claims (3)

  1. サーバと連携して一連のプログラムを実行するアプリケーション実行装置であり、
    アプリケーション実行装置で動作するプログラムであるクライアント側プログラムと、サーバで動作するプログラムであるサーバ側プログラムとを含む一連のプログラムの実行順序が定義されたロジックフローをサーバから取得するロジックフロー取得部と、
    前記ロジックフロー取得部が取得したロジックフローに定義された実行順序の順に各プログラムがクライアント側プログラムであるか、サーバ側プログラムであるかを処理装置により判定する判定部と、
    前記判定部がクライアント側プログラムであると判定した場合、そのクライアント側プログラムを取得して処理装置により実行する実行部と、
    前記判定部がサーバ側プログラムであると判定した場合、前記判定部が次にクライアント側プログラムであると判定するまでの一連のサーバ側プログラムを、前記ロジックフローに定義された実行順序の順に実行するように定義したサーバ側ロジックフローを処理装置により生成するサーバ側ロジックフロー生成部と、
    前記サーバ側ロジックフロー生成部が生成したサーバ側ロジックフローを前記サーバへ送信して、サーバ側プログラムを前記サーバに実行させるサーバ呼出部と
    を備えることを特徴とするアプリケーション実行装置。
  2. 前記アプリケーション実行装置は、複数のサーバと連携して一連のプログラムを実行し、
    前記ロジックフロー取得部は、前記クライアント側プログラムと、前記複数のサーバのいずれかのサーバで動作するサーバ側プログラムとを含む一連のプログラムの実行順序が定義されたロジックフローを取得し、
    前記判定部は、プログラムがサーバ側プログラムであると判定した場合、さらにそのサーバ側プログラムがどのサーバで動作するプログラムであるかを判定し、
    前記サーバ側ロジックフロー生成部は、前記判定部がサーバ側プログラムであると判定した場合、前記判定部が次にクライアント側プログラムであると判定するか、又は、前記判定部が次に他のサーバが実行するサーバ側プログラムであると判定するまでの一連のサーバ側プログラムを、前記ロジックフローに定義された実行順序の順に実行するように定義したサーバ側ロジックフローを生成し、
    前記サーバ呼出部は、前記サーバ側ロジックフロー生成部が生成したサーバ側ロジックフローを、前記判定部がそのプログラムが動作すると判定したサーバへ送信して、そのサーバで動作するサーバ側プログラムをそのサーバに実行させる
    ことを特徴とする請求項1に記載のアプリケーション実行装置。
  3. サーバと連携して一連のプログラムを実行するアプリケーション実行方法であり、
    クライアントが、クライアントで動作するプログラムであるクライアント側プログラムと、サーバで動作するプログラムであるサーバ側プログラムとを含む一連のプログラムの実行順序が定義されたロジックフローをサーバから取得するロジックフロー取得ステップと、
    クライアントが、前記ロジックフロー取得ステップで取得したロジックフローに定義された実行順序の順に各プログラムがクライアント側プログラムであるか、サーバ側プログラムであるかを判定する判定ステップと、
    クライアントが、前記判定ステップでクライアント側プログラムであると判定した場合、そのクライアント側プログラムを取得して実行する実行ステップと、
    クライアントが、前記判定ステップでサーバ側プログラムであると判定した場合、前記判定ステップで次にクライアント側プログラムであると判定するまでの一連のサーバ側プログラムを、前記ロジックフローに定義された実行順序の順に実行するように定義したサーバ側ロジックフローを生成するサーバ側ロジックフロー生成ステップと、
    クライアントが、前記サーバ側ロジックフロー生成ステップで生成したサーバ側ロジックフローを前記サーバへ送信して、サーバ側プログラムを前記サーバに実行させるサーバ呼出ステップと
    を備えることを特徴とするアプリケーション実行方法。
JP2010153172A 2010-07-05 2010-07-05 アプリケーション実行装置及びアプリケーション実行方法 Active JP5414633B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010153172A JP5414633B2 (ja) 2010-07-05 2010-07-05 アプリケーション実行装置及びアプリケーション実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010153172A JP5414633B2 (ja) 2010-07-05 2010-07-05 アプリケーション実行装置及びアプリケーション実行方法

Publications (2)

Publication Number Publication Date
JP2012014633A JP2012014633A (ja) 2012-01-19
JP5414633B2 true JP5414633B2 (ja) 2014-02-12

Family

ID=45600948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010153172A Active JP5414633B2 (ja) 2010-07-05 2010-07-05 アプリケーション実行装置及びアプリケーション実行方法

Country Status (1)

Country Link
JP (1) JP5414633B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5962116B2 (ja) * 2012-03-26 2016-08-03 富士通株式会社 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
WO2013175672A1 (ja) * 2012-05-22 2013-11-28 Sakamoto Yoshitaka モジュール型コンピュータ・システム開発を行うためのアーキテクチャ
JP6278914B2 (ja) * 2015-02-17 2018-02-14 日本電信電話株式会社 Api集約装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204624A (ja) * 1992-01-28 1993-08-13 Matsushita Electric Ind Co Ltd プログラム作成装置
JPH0635688A (ja) * 1992-07-14 1994-02-10 Fuji Xerox Co Ltd 対話処理システム
JPH0749758A (ja) * 1993-08-06 1995-02-21 Mitsubishi Electric Corp ウィンドウ設計及び入力装置
JPH086773A (ja) * 1994-06-22 1996-01-12 Pfu Ltd オブジェクトプログラム作成装置およびオブジェクトプログラム処理方法
JPH09160762A (ja) * 1995-12-04 1997-06-20 Hitachi Ltd プログラム変換方式
JPH10154070A (ja) * 1996-11-26 1998-06-09 Toshiba Corp ユーザインタフェース設計装置及び方法
JP3449256B2 (ja) * 1998-10-29 2003-09-22 日本電気株式会社 クライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体
JP4490026B2 (ja) * 2002-01-28 2010-06-23 日立オムロンターミナルソリューションズ株式会社 カスタマイズ可能な情報処理装置
JP2008287365A (ja) * 2007-05-15 2008-11-27 Canon Software Inc プログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体

Also Published As

Publication number Publication date
JP2012014633A (ja) 2012-01-19

Similar Documents

Publication Publication Date Title
US20190196672A1 (en) Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same
US11543930B2 (en) Augmenting web applications with optimized workflows supporting user interaction
US20160313874A1 (en) Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same
EP3143497B1 (en) Interactive viewer of intermediate representations of client side code
US10169005B2 (en) Consolidating and reusing portal information
CN110020329B (zh) 用于生成网页的方法、装置和系统
US20150317288A1 (en) Method and system to maintain a web page
CN113704590B (zh) 网页数据获取方法、装置、电子设备及存储介质
JP2016536683A (ja) ウェブブラウザにおけるイベントの実行および表示
US9715372B2 (en) Executable guidance experiences based on implicitly generated guidance models
JP5604016B1 (ja) スクリプトのキャッシュ方法及びそれを適用した情報処理装置
CN114398138B (zh) 界面生成方法、装置、计算机设备和存储介质
JP5414633B2 (ja) アプリケーション実行装置及びアプリケーション実行方法
Bayer et al. Design and development of a web-based EPANET model catalogue and execution environment
JP2011191985A (ja) シンボリック実行支援プログラム、方法及び装置
WO2020105156A1 (ja) シナリオ生成装置、シナリオ生成方法およびシナリオ生成プログラム
US20150082215A1 (en) Operation process creating method and information processing apparatus
JP6231260B2 (ja) 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法
JP7260150B2 (ja) Webサイト設計支援装置、Webサイト設計支援方法、及びプログラム
JP2018010628A (ja) 情報処理装置、サーバ、その処理方法及びプログラム
JP2007157128A (ja) 機器設定装置、機器設定方法、情報取得装置、情報取得方法、記録媒体及びプログラム
JP2012173745A (ja) データベース解析装置及びデータベース解析プログラム
JP6221869B2 (ja) 画面遷移制御方法、画面遷移制御プログラムおよび画面遷移制御装置
JP5835447B2 (ja) 情報処理装置、情報処理システム、制御方法、およびプログラム
JP4708685B2 (ja) Cliコマンド投入方法/プログラム/プログラム記録媒体/装置、データ記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130926

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131015

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131112

R150 Certificate of patent or registration of utility model

Ref document number: 5414633

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250