(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】情報処理装置、情報処理プログラム、および情報処理方法
(51)【国際特許分類】
G06F 8/34 20180101AFI20240709BHJP
G06F 8/36 20180101ALI20240709BHJP
G06Q 50/10 20120101ALI20240709BHJP
【FI】
G06F8/34
G06F8/36
G06Q50/10
(21)【出願番号】P 2020167260
(22)【出願日】2020-10-01
【審査請求日】2023-05-18
(73)【特許権者】
【識別番号】398040527
【氏名又は名称】株式会社オービック
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】吉井 聡
(72)【発明者】
【氏名】馬場 健人
(72)【発明者】
【氏名】上野 剛光
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開2011-040059(JP,A)
【文献】特開2001-282520(JP,A)
【文献】特開2009-164972(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/34
G06F 8/36
G06Q 50/10
(57)【特許請求の範囲】
【請求項1】
制御部を備える情報処理装置であって、
テンプレートとして開発されたアプリケーションソフトウェアであって画面レイアウトに関するレイアウト設定とアプリケーションソフトウェアの挙動に関する挙動設定とを保持するテンプレートアプリ、および、テンプレートアプリを基に製品として開発されたアプリケーションソフトウェアであってレイアウト設定と挙動設定とテンプレートアプリの識別子とを保持する製品アプリの呼び出しが可能であり、
挙動設定は、(1)画面要素の設定、(2)変数の設定、(3)真偽判定条件の設定、(4)画面要素の設定と真偽判定条件の設定に紐付けられた、画面要素の状態の設定、(5)処理単位と処理順序で構成されるロジックフローの設定、および、(6)画面要素の設定とロジックフローの設定に紐付けられた、ロジックフローをイベントハンドラとするイベントの種類の設定、を含み、
前記制御部は、製品アプリが呼び出されると、当該製品アプリが保持する挙動設定を、当該製品アプリに紐付くテンプレートアプリが保持する挙動設定と一時的に合成することにより、当該テンプレートアプリが保持する挙動設定を当該製品アプリに反映させること、
を特徴とする情報処理装置。
【請求項2】
制御部を備える情報処理装置の前記制御部に実行させるための、
テンプレートとして開発されたアプリケーションソフトウェアであって画面レイアウトに関するレイアウト設定とアプリケーションソフトウェアの挙動に関する挙動設定とを保持するテンプレートアプリ、および、テンプレートアプリを基に製品として開発されたアプリケーションソフトウェアであってレイアウト設定と挙動設定とテンプレートアプリの識別子とを保持する製品アプリの呼び出しを行う呼出ステップと、
製品アプリが呼び出されると、当該製品アプリが保持する挙動設定を、当該製品アプリに紐付くテンプレートアプリが保持する挙動設定と一時的に合成することにより、当該テンプレートアプリが保持する挙動設定を当該製品アプリに反映させる合成ステップと、を含み、
挙動設定は、(1)画面要素の設定、(2)変数の設定、(3)真偽判定条件の設定、(4)画面要素の設定と真偽判定条件の設定に紐付けられた、画面要素の状態の設定、(5)処理単位と処理順序で構成されるロジックフローの設定、および、(6)画面要素の設定とロジックフローの設定に紐付けられた、ロジックフローをイベントハンドラとするイベントの種類の設定、を含む情報処理プログラム。
【請求項3】
制御部を備える情報処理装置の前記制御部が実行する、
テンプレートとして開発されたアプリケーションソフトウェアであって画面レイアウトに関するレイアウト設定とアプリケーションソフトウェアの挙動に関する挙動設定とを保持するテンプレートアプリ、および、テンプレートアプリを基に製品として開発されたアプリケーションソフトウェアであってレイアウト設定と挙動設定とテンプレートアプリの識別子とを保持する製品アプリの呼び出しを行う呼出ステップと、
製品アプリが呼び出されると、当該製品アプリが保持する挙動設定を、当該製品アプリに紐付くテンプレートアプリが保持する挙動設定と一時的に合成することにより、当該テンプレートアプリが保持する挙動設定を当該製品アプリに反映させる合成ステップと、を含み、
挙動設定は、(1)画面要素の設定、(2)変数の設定、(3)真偽判定条件の設定、(4)画面要素の設定と真偽判定条件の設定に紐付けられた、画面要素の状態の設定、(5)処理単位と処理順序で構成されるロジックフローの設定、および、(6)画面要素の設定とロジックフローの設定に紐付けられた、ロジックフローをイベントハンドラとするイベントの種類の設定、を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理プログラム、および情報処理方法に関する。
【背景技術】
【0002】
ビジネス環境の変化が激しい中、情報システムも、経営スピードに追従することが大前提とされ、スピーディーなシステム変化が必要になっている。こういった中、ノンプログラミング開発ツール(超高速開発ツール、ノーコード開発ツール、ローコード開発ツール)が注目されているが、そのユーザ層がベンダーだけでなく、システム利用会社のシステム担当者まで広がっている。そのため、当該システム担当者でも、統一性の高い画面を簡単に作成できる仕組みが求められている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ローコード開発ツールでは、類似するアプリケーション(以下、アプリと言う)群を開発する場合、アプリ間の共通部分と、アプリ毎に異なる個別部分と、を別々にかつ継続的に開発できる。ローコード開発ツールによって類似するアプリ群を開発する場合、以下の2つの開発方法がある。
【0005】
ローコード開発ツールによる1つ目の開発方法は、同じような見た目または機能の共通部分をアプリ毎に作成する開発方法である。この開発方法では、共通部分をそれぞれのアプリ内に実装するため、アプリ間において重複する部分の開発コスト(時間や費用)がかかる。また、この開発方法では、共通部分をそれぞれのアプリ内に実装するため、共通部分であるにも関わらず、アプリ間において異なる設定をしてしまうリスクがある。
【0006】
ローコード開発ツールによる2つ目の開発方法は、ローコード開発ツールの1つ目の開発方法の課題を解決する開発方法である。具体的には、当該2つ目の開発方法は、アプリの開発に用いるテンプレートを予め作成しておき、アプリの新規開発時に、当該テンプレートを選択すると、ある程度でき上った状態からアプリの開発をスタートすることが可能となる。この2つ目の開発方法は、コピー元としては有用だが、テンプレートを選択した後、当該選択したテンプレートが変更された場合に、その変更を、開発するアプリに反映させることが難しい。すなわち、2つ目の開発方法は、アプリの作成後または作成中に、共通部分の変更の必要性が生じた場合に、個々のアプリを変更する必要が生じる。
【0007】
本発明は、上記に鑑みてなされたものであって、アプリ群の共通部分を変更する場合に、作成済みのアプリに、その変更を反映させることが可能となる情報処理装置、情報処理プログラム、および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明に係る情報処理装置は、制御部を備える情報処理装置であって、テンプレートとして開発されたアプリケーションソフトウェアであって画面レイアウトに関するレイアウト設定とアプリケーションソフトウェアの挙動に関する挙動設定とを保持するテンプレートアプリ、および、テンプレートアプリを基に製品として開発されたアプリケーションソフトウェアであってレイアウト設定と挙動設定とテンプレートアプリの識別子とを保持する製品アプリの呼び出しが可能であり、挙動設定は、(1)画面要素の設定、(2)変数の設定、(3)真偽判定条件の設定、(4)画面要素の設定と真偽判定条件の設定に紐付けられた、画面要素の状態の設定、(5)処理単位と処理順序で構成されるロジックフローの設定、および、(6)画面要素の設定とロジックフローの設定に紐付けられた、ロジックフローをイベントハンドラとするイベントの種類の設定、を含み、前記制御部は、製品アプリが呼び出されると、当該製品アプリが保持する挙動設定を、当該製品アプリに紐付くテンプレートアプリが保持する挙動設定と一時的に合成することにより、当該テンプレートアプリが保持する挙動設定を当該製品アプリに反映させること、を特徴とする。
【0009】
また、本発明に係る情報処理プログラムは、制御部を備える情報処理装置の前記制御部に実行させるための、テンプレートとして開発されたアプリケーションソフトウェアであって画面レイアウトに関するレイアウト設定とアプリケーションソフトウェアの挙動に関する挙動設定とを保持するテンプレートアプリ、および、テンプレートアプリを基に製品として開発されたアプリケーションソフトウェアであってレイアウト設定と挙動設定とテンプレートアプリの識別子とを保持する製品アプリの呼び出しを行う呼出ステップと、製品アプリが呼び出されると、当該製品アプリが保持する挙動設定を、当該製品アプリに紐付くテンプレートアプリが保持する挙動設定と一時的に合成することにより、当該テンプレートアプリが保持する挙動設定を当該製品アプリに反映させる合成ステップと、を含み、挙動設定は、(1)画面要素の設定、(2)変数の設定、(3)真偽判定条件の設定、(4)画面要素の設定と真偽判定条件の設定に紐付けられた、画面要素の状態の設定、(5)処理単位と処理順序で構成されるロジックフローの設定、および、(6)画面要素の設定とロジックフローの設定に紐付けられた、ロジックフローをイベントハンドラとするイベントの種類の設定、を含む。
【0010】
また、本発明に係る情報処理方法は、制御部を備える情報処理装置の前記制御部が実行する、テンプレートとして開発されたアプリケーションソフトウェアであって画面レイアウトに関するレイアウト設定とアプリケーションソフトウェアの挙動に関する挙動設定とを保持するテンプレートアプリ、および、テンプレートアプリを基に製品として開発されたアプリケーションソフトウェアであってレイアウト設定と挙動設定とテンプレートアプリの識別子とを保持する製品アプリの呼び出しを行う呼出ステップと、製品アプリが呼び出されると、当該製品アプリが保持する挙動設定を、当該製品アプリに紐付くテンプレートアプリが保持する挙動設定と一時的に合成することにより、当該テンプレートアプリが保持する挙動設定を当該製品アプリに反映させる合成ステップと、を含み、挙動設定は、(1)画面要素の設定、(2)変数の設定、(3)真偽判定条件の設定、(4)画面要素の設定と真偽判定条件の設定に紐付けられた、画面要素の状態の設定、(5)処理単位と処理順序で構成されるロジックフローの設定、および、(6)画面要素の設定とロジックフローの設定に紐付けられた、ロジックフローをイベントハンドラとするイベントの種類の設定、を含む。
【発明の効果】
【0011】
本発明は、アプリ群の共通部分を変更する場合に、作成済みのアプリに、その変更を反映させることが可能となる、という効果を奏する。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【
図3】
図3は、テンプレートアプリの一例を示す図である。
【
図4】
図4は、テンプレートアプリの仕様の一例を示す図である。
【
図5】
図5は、コントロール設定データの一例を示す図である。
【
図6】
図6は、変数設定データの一例を示す図である。
【
図7】
図7は、コンディション設定データの一例を示す図である。
【
図8】
図8は、ビジネスルール設定データの一例を示す図である。
【
図9】
図9は、ロジックフロー設定データの一例を示す図である。
【
図10A】
図10Aは、ロジックフロー設定データが含むアクティヴィティの一例を示す図である。
【
図10B】
図10Bは、ロジックフロー設定データが含むフローの一例を示す図である。
【
図11】
図11は、イベント設定データの一例を示す図である。
【
図12】
図12は、テンプレートアプリの変更処理の一例を説明するための図である。
【
図13】
図13は、テンプレートアプリの変更処理の一例を説明するための図である。
【
図14】
図14は、テンプレートアプリの変更処理の一例を説明するための図である。
【
図15】
図15は、テンプレートアプリの変更処理の一例を説明するための図である。
【
図16】
図16は、テンプレートアプリの変更処理の一例を説明するための図である。
【
図17】
図17は、テンプレートアプリの変更処理の一例を説明するための図である。
【
図18】
図18は、テンプレートアプリの仕様の変更が反映された製品アプリの一例を説明するための図である。
【
図19】
図19は、テンプレートアプリの仕様の変更が反映された製品アプリの一例を説明するための図である。
【
図20】
図20は、テンプレートアプリの仕様の変更が反映された製品アプリの一例を説明するための図である。
【
図21】
図21は、テンプレートアプリの仕様の変更が反映された製品アプリの一例を説明するための図である。
【
図22】
図22は、テンプレートアプリの仕様の変更が反映された製品アプリの一例を説明するための図である。
【
図23】
図23は、テンプレートアプリの仕様を製品アプリの仕様へ反映する処理の一例を説明するための図である。
【
図24】
図24は、テンプレートアプリの仕様を製品アプリの仕様へ反映する処理の一例を説明するための図である。
【
図25】
図25は、本実施形態にかかる情報処理装置における、製品アプリが保持する挙動設定と、テンプレートアプリが保持する挙動設定との一時的な合成処理の一例を説明するための図である。
【
図26】
図26は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【
図27】
図27は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【
図28】
図28は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【
図29】
図29は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【
図30】
図30は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【
図31】
図31は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【
図32】
図32は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【
図33】
図33は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【
図34】
図34は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【
図35】
図35は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【発明を実施するための形態】
【0013】
以下に、本発明に係る情報処理装置、情報処理プログラムおよび情報処理方法の実施形態を、図面に基づいて詳細に説明する。なお、本実施形態により本発明が限定されるものではない。
【0014】
本実施形態に係る情報処理装置の構成の一例について、
図1等を参照して説明する。
図1は、本実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【0015】
情報処理装置100は、市販のデスクトップ型パーソナルコンピュータを基に構築したものである。なお、情報処理装置100は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置を基に構築したものに限らず、市販のノート型パーソナルコンピュータ、PDA(Personal Digital Assistants)、スマートフォンまたはタブレット型パーソナルコンピュータなどの携帯型情報処理装置を基に構築したものであってもよい。
【0016】
情報処理装置100は、制御部102と通信インターフェース部104と記憶部106と入出力インターフェース部108と、を備えている。情報処理装置100が備えている各部は、任意の通信路を介して通信可能に接続されている。
【0017】
通信インターフェース部104は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、情報処理装置100をネットワーク300に通信可能に接続する。通信インターフェース部104は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク300は、情報処理装置100とサーバ200とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。なお、記憶部106に格納されるデータは、例えばサーバ装置200に格納されてもよい。
【0018】
入出力インターフェース部108には、入力装置112および出力装置114が接続されている。出力装置114には、モニタ(家庭用テレビを含む)の他、スピーカやプリンタを用いることができる。入力装置112には、キーボード、マウス、及びマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置114をモニタ114とし、入力装置112をキーボード112またはマウス112として記載する場合がある。
【0019】
記憶部106には、各種のデータベース、テーブルおよびファイルなどが格納される。記憶部106には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部106として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。
【0020】
記憶部106には、テンプレートアプリ106aおよび製品アプリ106b等のローコード開発ツールにより開発するアプリケーションが格納される。ここで、テンプレートアプリ106aは、テンプレートとして開発されたアプリケーションソフトウェアであって画面レイアウトに関するレイアウト設定と、アプリケーションソフトウェアの挙動に関する挙動設定と、を保持するテンプレートアプリの一例である。また、製品アプリ106bは、テンプレートアプリを基に製品として開発されたアプリケーションソフトウェアであってレイアウト設定と挙動設定とテンプレートアプリの識別子とを保持する製品アプリの一例である。
【0021】
図2は、製品アプリの一例を示す図である。本実施形態では、製品アプリ106b(Application)は、
図2に示すように、製品アプリ106bの識別子(Id)、製品アプリ106bの表示名(Name)、製品アプリ106bの開発に用いるテンプレートアプリ106aの識別子(TemplateID)、製品アプリ106bの仕様(Spec)等を含む。
【0022】
図3は、テンプレートアプリの一例を示す図である。本実施形態では、テンプレートアプリ106a(Template)は、
図3に示すように、テンプレートアプリ106aの識別子(Id)、テンプレートアプリ106aの表示名(Name)、テンプレートアプリ106aの識別子(TemplateID)、テンプレートアプリ106aの仕様(Spec)等を含む。
【0023】
図4は、テンプレートアプリの仕様の一例を示す図である。テンプレートアプリ106aの仕様(Spec)は、テンプレートアプリ106aの設定データである。本実施の形態では、テンプレートアプリ106aの仕様は、
図4に示すように、コントロール設定データ(Controls)、変数設定データ(Variables)、コンディション設定データ(Conditions)、ビジネスルール設定データ(BusinessRules)、ロジックフロー設定データ(LogicFlows)、イベント設定データ(Events)、上書きプロパティ設定データ(OverwriteProperties)等の挙動設定を含む。
【0024】
図示しないが、製品アプリ106bの仕様は、製品アプリ106bの設定データである。本実施形態では、製品アプリ106bの仕様も、テンプレートアプリ106aの仕様と同様に、コントロール設定データ(Controls)、変数設定データ(Variables)、コンディション設定データ(Conditions)、ビジネスルール設定データ(BusinessRules)、ロジックフロー設定データ(LogicFlows)、イベント設定データ(Events)、上書きプロパティ設定データ(OverwriteProperties)等の挙動設定を含む。
【0025】
図5は、コントロール設定データの一例を示す図である。コントロール設定データは、画面要素の設定である。本実施形態では、コントロール設定データ(Control)は、
図5に示すように、コントロール設定データの識別子(Id)、コントロール設定データの表示名(Name)、子コントロール設定データの識別子(ChildIds)等を含む。
【0026】
図6は、変数設定データの一例を示す図である。変数設定データは、変数の設定である。本実施形態では、変数設定データ(Variable)は、
図6に示すように、変数設定データの識別子(Id)、変数設定データの表示名(Name)等を含む。
【0027】
図7は、コンディション設定データの一例を示す図である。コンディション設定データは、真偽判定条件の設定である。本実施形態では、コンディション設定データ(Condition)は、
図7に示すように、コンディション設定データの識別子(Id)、コンディション設定データの表示名(Name)、真偽を判定する式を表す階層構造データ(Expression)等を含む。
【0028】
図8は、ビジネスルール設定データの一例を示す図である。ビジネスルール設定データは、画面要素の設定と真偽判定条件の設定に紐付けられた、画面要素の状態の設定である。本実施形態では、ビジネスルール設定データ(BusinessRule)は、
図8に示すように、「表示/非表示」、「ロック/アンロック」等の種類(Type)、コンディション設定データの識別子(ConditionID)、コントロール設定データの識別子(ControlID)等を含む。
【0029】
図9は、ロジックフロー設定データの一例を示す図である。ロジックフロー設定データは、処理単位と処理順序で構成されるロジックフローの設定である。本実施形態では、ロジックフロー設定データ(LogicFlow)は、
図9に示すように、ロジックフロー設定データの識別子(Id)、ロジックフロー設定データの表示名(Name)、アクティヴィティ(Activities)、フロー(Flows)等を含む。
【0030】
図10Aは、ロジックフロー設定データが含むアクティヴィティの一例を示す図である。ロジックフロー設定データが含むアクティヴィティ(Activity)は、
図10Aに示すように、アクティヴィティの識別子(Id)、アクティヴィティの表示名(Name)等を含む。
【0031】
図10Bは、ロジックフロー設定データが含むフローの一例を示す図である。ロジックフロー設定データが含むフロー(Flow)は、
図10Bに示すように、フローの識別子(Id)、前アクティヴィティの識別子(FromAcitivityId)、後アクティヴィティの識別子(ToActivityID)等を含む。
【0032】
図11は、イベント設定データの一例を示す図である。イベント設定データは、画面要素の設定とロジックフローの設定に紐付けられた、ロジックフローをイベントハンドラとするイベントの種類の設定である。本実施形態では、イベント設定データ(Event)は、
図11に示すように、イベント設定データの種類(Type)、コントロール設定データの識別子(ControlId)、ロジックフロー設定データの識別子(LogicFlowId)等を含む。
【0033】
図1に戻り、制御部102は、情報処理装置100を統括的に制御するCPU等である。制御部102は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
【0034】
制御部102は、機能概念的に、呼出機能部102a、および合成機能部102b等を備える。
【0035】
呼出機能部102aは、記憶部106から、テンプレートアプリ106a、および製品アプリ106bを呼び出す。
【0036】
合成機能部102bは、呼出機能部102aによって製品アプリ106bが呼び出されると、当該製品アプリ106bが保持する挙動設定を、当該製品アプリ106bと紐付くテンプレートアプリ106aが保持する挙動設定と一時的に合成して、合成機能部102bは、テンプレートアプリ106aが保持する挙動設定を、製品アプリ106bに反映させる。これにより、テンプレートアプリ106aが含む挙動設定のうち製品アプリ106b間の共通部分を変更する場合に、作成済みの製品アプリ106bに、その変更を反映させることが可能となる。
【0037】
ここで、
図12~17を用いて、テンプレートアプリ106aの変更処理の一例について説明する。
図12~17は、テンプレートアプリの変更処理の一例を説明するための図である。
【0038】
例えば、製品アプリ106bの一例である登録系アプリ群(登録アプリ用テンプレートを使うアプリ群)に、表計算出力機能(例えば、Excel(登録商標)出力機能)を追加する場合、合成機能部102bは、ユーザの操作に応じて、
図12に示すように、テンプレートアプリ106aに、画面要素として表計算出力ボタンを配置する。その際、合成機能部102bは、表計算出力ボタンのコントロール設定データを、テンプレートアプリ106aの仕様に設定する。
【0039】
また、テンプレートアプリ106aに表計算出力ボタンが配置されると、合成機能部102bは、
図13に示すように、テンプレートアプリ106aに対して、表計算出力機能のロジックフローを追加で作成する。さらに、合成機能部102bは、テンプレートアプリ106aのロジックフロー設定データ内のプレースホルダに対して、表計算出力処理を設定する。
【0040】
また、ロジックフロー設定データに対して表計算出力処理が設定されると、合成機能部102bは、
図14に示すように、テンプレートアプリ106aに対して、表計算出力ボタンのクリックのイベント(表計算出力クリック)を作成する。そして、合成機能部102bは、表計算出力クリックと表計算出力機能のロジックフローとを紐付づけるイベント設定データを、テンプレートアプリ106aの仕様に設定する。
【0041】
また、合成機能部102bは、
図15に示すように、テンプレートアプリ106aに対して、表計算出力可能を変数として作成する。そして、合成機能部102bは、変数として作成した表計算出力可能の変数設定データを、テンプレートアプリ106aの仕様に設定する。
【0042】
また、合成機能部102bは、
図16に示すように、テンプレートアプリ106aに対して、表計算出力不可を、真偽判定条件の設定として作成する。そして、合成機能部102bは、真偽判定条件の設定として作成した表計算出力不可のコンディション設定データを、テンプレートアプリ106aの仕様に設定する。
【0043】
また、合成機能部102bは、
図17に示すように、テンプレートアプリ106aに対して、コンディション設定データが表計算出力不可である場合に表計算出力ボタンをロックする設定を、ビジネスルールとして作成する。そして、合成機能部102bは、ビジネスルールとして作成した表計算出力ボタンのロックを、ビジネスルール設定データとして、テンプレートアプリ106aの仕様に設定する。
【0044】
さらに、合成機能部102bは、テンプレートアプリ106aの仕様の変更を、製品アプリ106bの仕様に反映させる。
【0045】
次に、
図18~22を用いて、テンプレートアプリ106aの仕様の変更が反映された製品アプリ106bの一例について説明する。
図18~22は、テンプレートアプリの仕様の変更が反映された製品アプリの一例を説明するための図である。
【0046】
テンプレートアプリ106aに表計算出力ボタンが配置されると、合成機能部102bは、
図18に示すように、製品アプリ106bに対しても、画面要素として表計算出力ボタンを配置する。また、テンプレートアプリ106aに表計算出力機能のロジックフローが追加されると、合成機能部102bは、
図19に示すように、表計算出力ボタンがクリックされた際、製品アプリ106bのロジックフロー設定データ内のプレースホルダに対して、表計算出力機能のロジックフローを配置する。なお、合成機能部102bは、
図20に示すように、表計算出力ボタンがクリックされなくても、製品アプリ106bのロジックフロー設定データ内のプレースホルダに対して、登録処理によって、自動的に、表計算出力機能のロジックフローが作成されて、ロジックフロー設定データを編集可能としても良い。
【0047】
また、合成機能部102bは、
図21に示すように、製品アプリ106bに対して、コンディション設定データが表計算出力可能である場合に表計算出力ボタンのロックを解除する設定を、ビジネスルールとして作成する。これにより、合成機能部102bは、
図22に示すように、製品アプリ106bに設定された変数設定データとして、表計算出力可能が選択可能な状態となる。
【0048】
次に、
図23および
図24を用いて、テンプレートアプリ106aにレイアウトプレースホルダやロジックフローが設定されていない場合における、テンプレートアプリ106aの仕様を製品アプリ106bの仕様に反映する処理の一例について説明する。
図23および
図24は、テンプレートアプリの仕様を製品アプリの仕様へ反映する処理の一例を説明するための図である。
【0049】
テンプレートアプリ106aに、レイアウトプレースホルダやロジックプレースホルダが設定されていない場合、テンプレートアプリ106aの仕様に加えられた変更を製品アプリ106bの仕様に対して一意に反映することが困難である。ここで、レイアウトプレースホルダは、製品アプリ106b内において画面要素を自由(任意)にレイアウト可能なエリア(位置)である。また、ロジックプレースホルダは、製品アプリ106b内にロジックフローを自由(任意)にレイアウト可能なポイント(位置)である。
【0050】
例えば、合成機能部102bは、
図23に示すように、画面要素としてカードAを含むテンプレートアプリ106aを作成する(ステップS2201)。次いで、合成機能部102bは、当該テンプレートアプリ106aを用いて、画面要素としてカードAを含む製品アプリ106bを作成する(ステップS2202)。
【0051】
次に、合成機能部102bは、ユーザの操作に応じて、製品アプリ106bに画面要素としてカードBを作成し(ステップS2203)、かつ、テンプレートアプリ106aに画面要素としてカードCを作成する(ステップS2204)。その後、合成機能部102bは、テンプレートアプリ106aの変更を製品アプリ106bに反映させる(ステップS2205)。その際、テンプレートアプリ106aにレイアウトプレースホルダが設定されていない場合、合成機能部102bは、
図23に示すように、製品アプリ106bに対して、テンプレートアプリ106aに作成されたカードCを、製品アプリ106bに作成されたカードBとの関係において、どのような配置で反映すべきかを判断することが困難である。
【0052】
また、例えば、合成機能部102bは、
図24に示すように、ロジックフローとして処理Aを含むテンプレートアプリ106aを作成する(ステップS2301)。次いで、合成機能部102bは、当該テンプレートアプリ106aを用いて、ロジックフローとして処理Aを含む製品アプリ106bを作成する(ステップS2302)。
【0053】
次に、合成機能部102bは、ユーザの操作に応じて、製品アプリ106bにロジックフローとして処理Bを作成し(ステップS2303)、かつ、テンプレートアプリ106aにロジックフローとして処理Cを作成する(ステップS2304)。その後、合成機能部102bは、テンプレートアプリ106aの変更を製品アプリ106bに反映させる(ステップS2205)。その際、テンプレートアプリ106aにロジックプレースホルダが設定されていない場合、合成機能部102bは、
図24に示すように、製品アプリ106bに対して、テンプレートアプリ106aに作成された処理Cを、製品アプリ106bに作成された処理Bとの関係において、どのような配置で反映すべきかを判断することが困難である。
【0054】
そのため、本実施形態では、合成機能部102bは、テンプレートアプリ106aに設定されているレイアウトプレースホルダおよびロジックプレースホルダに従って、テンプレートアプリ106aに対する画面要素やロジックフローの作成を実行する。これにより、テンプレートアプリ106aに対する画面要素やロジックフローの変更が実行された場合に、テンプレートアプリ106aに対する画面要素やロジックフローの変更を、製品アプリ106bに対して一意に反映させることができる。
【0055】
次に、
図25を用いて、本実施形態にかかる情報処理装置100における合成機能部102bによる、製品アプリ106bが保持する挙動設定を、テンプレートアプリ106aが保持する挙動設定と一時的に合成する処理の一例について説明する。
図25は、本実施形態にかかる情報処理装置における、製品アプリが保持する挙動設定と、テンプレートアプリが保持する挙動設定との一時的な合成処理の一例を説明するための図である。
【0056】
本実施形態では、合成機能部102bは、製品アプリ106bが呼び出されると、製品アプリ106bの仕様と、テンプレートアプリ106aの仕様と、を一時的に合成する。これにより、製品アプリ106bの開発時や実行時に、テンプレートアプリ106aの定義された要素(コントロール設定データ、変数設定データ、コンディション設定データ、ビジネスツール設定データ、ロジックフロー設定データ、イベント設定データ)を、あたかも製品アプリ106bに定義された要素のように扱うことが可能となる。その結果、製品アプリ106bからのテンプレートアプリ106aの変数設定データの更新や、製品アプリ106bからのテンプレートアプリ106aのコンディション設定データの参照等が実行可能となる。
【0057】
ここで、合成とは、
図25に示すように、製品アプリ106bの仕様と、テンプレートアプリ106aの仕様と、の和集合を作成することである。また、ここで、一時的とは、製品アプリ106bの仕様と、テンプレートアプリ106aの仕様と、の合成結果を保存しないことである。または、一時的とは、製品アプリ106bの仕様と、テンプレートアプリ106aの仕様の変更を除いた当該テンプレートアプリ106aの仕様と、の合成結果を保存することであっても良い。
【0058】
次に、
図26~35を用いて、本実施形態にかかる情報処理装置100の合成機能部102bによる合成処理の一例について説明する。
図26~35は、本実施形態にかかる情報処理装置の合成機能部による合成処理の一例を説明するための図である。
【0059】
まず、製品アプリ106bの仕様が含むコントロール設定データと、テンプレートアプリ106aの仕様が含むコントロール設定データと、の合成処理の一例について説明する。本実施形態では、テンプレートアプリ106aには、レイアウトプレースホルダが設定されている。レイアウトプレースホルダ(LayoutPlaceHolder)は、
図26に示すように、レイアウトプレースホルダの識別子(Id)、レイアウトプレースホルダの表示名(Name)、レイアウトプレースホルダに配置(設定)されるコントロール設定データの識別子(ChildIds)、レイアウトプレースホルダと紐付けられたレイアウトプレースアイテムの識別子(PlaceId)等を含む。また、本実施形態では、製品アプリ106bには、レイアウトプレースアイテムが設定されている。レイアウトプレースアイテム(LayoutPlaceItem)は、
図27に示すように、レイアウトプレースアイテムの識別子(Id)、レイアウトプレースアイテムの表示名(Name)、レイアウトプレースアイテムに配置(設定)されるコントロール設定データの識別子(ChildIds)、レイアウトプレースアイテムと紐付けられたレイアウトプレースホルダの識別子(PlaceId)等を含む。
【0060】
製品アプリ106bの開発時に、製品アプリ106bの仕様が含むコントロール設定データと、テンプレートアプリ106aの仕様が含むコントロール設定データと、を合成する場合、合成機能部102bは、
図27に示すように、製品アプリ106b内におけるレイアウトプレースホルダの位置に対して、当該レイアウトプレースホルダと同じ識別子(PlaceId)を持つレイアウトプレースアイテムを作成する。そして、合成機能部102bは、テンプレートアプリ106aのレイアウトプレースホルダに作成されたコントロール設定データを、製品アプリ106bのコントロール設定データに追加する。これにより、製品アプリ106bにおいて、子コントロール設定データの設定が可能となる。
【0061】
製品アプリ106bの実行時に、製品アプリ106bの仕様が含むコントロール設定データと、テンプレートアプリ106aの仕様が含むコントロール設定データと、を合成する場合、合成機能部102bは、
図28に示すように、レイアウトプレースホルダとレイアウトプレースアイテムを用いて、テンプレートアプリ106aに配置(設定)された画面要素(Card)と、製品アプリ106bに配置(設定)された画面要素(Button1)とを合成する。その後、合成機能部102bは、
図29に示すように、レイアウトプレースホルダおよびレイアウトプレースアイテムを削除し、かつ、テンプレートアプリ106aに配置された画面要素の識別子(ChildIds)を、製品アプリ106bに配置された画面要素の識別子(Id)に置き換える。これにより、製品アプリ106bの実行時、合成機能部102bは、製品アプリ106bの画面要素(Card)に、当該製品アプリ106bの画面要素(Button1)を配置することが可能となる。
【0062】
次に、製品アプリ106bの仕様が含む上書きプロパティ設定データと、テンプレートアプリ106aの仕様が含む上書きプロパティ設定データと、の合成処理の一例について説明する。製品アプリ106bの開発時および実行時に、製品アプリ106bの仕様が含む上書きプロパティ設定データと、テンプレートアプリ106aの仕様が含む上書きプロパティ設定データと、を合成する場合、合成機能部102bは、
図30に示すように、製品アプリ106bの仕様が含む上書きプロパティ設定データを優先して採用する。言い換えると、合成機能部102bは、製品アプリ106bの仕様が含む上書きプロパティ設定データによって、テンプレートアプリ106aの上書きプロパティ設定データを上書きする。
【0063】
次に、製品アプリ106bの仕様が含むロジックフロー設定データと、テンプレートアプリ106aの仕様が含むロジックフロー設定データと、の合成処理の一例について説明する。本実施形態では、テンプレートアプリ106aには、ロジックプレースホルダが設定されている。ロジックプレースホルダ(LogicPlaceHolder)は、
図31に示すように、ロジックプレースホルダの識別子(Id)、ロジックプレースホルダの表示名(Name)、ロジックプレースホルダと紐付けられたロジックプレースアイテムの識別子(PlaceId)等を含む。また、本実施形態では、製品アプリ106bには、ロジックプレースアイテムが設定されている。ロジックプレースアイテム(LogicPlaceItem)は、
図31に示すように、ロジックプレースアイテムの識別子(Id)、ロジックプレースアイテムの表示名(Name)、ロジックプレースアイテムにロジックプレースホルダに配置(設定)されるコントロール設定データの識別子(ChildIds)、ロジックプレースアイテムと紐付けられたロジックプレースホルダの識別子(PlaceId)等を含む。
【0064】
製品アプリ106bの開発時に、製品アプリ106bの仕様が含むロジックフロー設定データと、テンプレートアプリ106aの仕様が含むロジックフロー設定データと、を合成する場合、合成機能部102bは、
図33に示すように、テンプレートアプリ106a内のロジックプレースホルダの位置に対して、当該ロジックプレースホルダと同じ識別子(PlaceId)を持つロジックプレースアイテムを作成する。そして、合成機能部102bは、
図32に示すように、テンプレートアプリ106aのロジックプレースホルダに作成されたロジックフロー設定データを、製品アプリ106bのロジックフロー設定データに追加する。これにより、テンプレートアプリ106aのロジックフロー設定データを、製品アプリ106bから閲覧可能となる。なお、合成機能部102bは、
図34に示すように、製品アプリ106bが含むロジックプレースアイテムを自由に編集可能である。
【0065】
また、製品アプリ106bの実行時に、製品アプリ106bの仕様が含むロジックフロー設定データと、テンプレートアプリ106aの仕様が含むロジックフロー設定データと、を合成する場合、合成機能部102bは、
図35に示すように、製品アプリ106bの仕様が含むロジックフロー設定データが含むアクティヴィティを、開始アクティヴィティから順に実行する。そして、合成機能部102bは、製品アプリ106bの仕様が含むロジックフロー設定データのロジックプレースホルダを実行する場合、当該ロジックプレースホルダの識別子(PlaceId)と一致するロジックプレースアイテムを実行する。その後、合成機能部102bは、ロジックフロー設定データの続きのアクティヴィティを実行する。
【0066】
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【0067】
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【0068】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【0069】
また、情報処理装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【0070】
例えば、情報処理装置100が備える処理機能、特に制御部にて行われる各処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて情報処理装置100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部などには、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
【0071】
また、このコンピュータプログラムは、情報処理装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【0072】
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、フレキシブルディスク、光磁気ディスク、ROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable and Programmable Read Only Memory)、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、および、Blu-ray(登録商標) Disc等の任意の「可搬用の物理媒体」を含むものとする。
【0073】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【0074】
記憶部に格納される各種のデータベース等は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【0075】
また、情報処理装置100は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、情報処理装置100は、当該装置に本実施形態で説明した処理を実現させるソフトウェア(プログラムまたはデータ等を含む)を実装することにより実現してもよい。
【0076】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【0077】
本発明は、特にシステム開発において有用である。
【符号の説明】
【0078】
100 情報処理装置
102 制御部
102a 呼出機能部
102b 合成機能部
106 記憶部
106a テンプレートアプリ
106b 製品アプリ