JP2017062851A - Information processing system, application server, information processing method, program, and recording medium - Google Patents

Information processing system, application server, information processing method, program, and recording medium Download PDF

Info

Publication number
JP2017062851A
JP2017062851A JP2016248734A JP2016248734A JP2017062851A JP 2017062851 A JP2017062851 A JP 2017062851A JP 2016248734 A JP2016248734 A JP 2016248734A JP 2016248734 A JP2016248734 A JP 2016248734A JP 2017062851 A JP2017062851 A JP 2017062851A
Authority
JP
Japan
Prior art keywords
query
search
definition
action definition
application server
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.)
Granted
Application number
JP2016248734A
Other languages
Japanese (ja)
Other versions
JP6278103B2 (en
JP2017062851A5 (en
Inventor
貴信 鶴野
Takanobu Tsuruno
貴信 鶴野
学 矢島
Manabu Yajima
学 矢島
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.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions Inc
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 Canon Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Publication of JP2017062851A publication Critical patent/JP2017062851A/en
Publication of JP2017062851A5 publication Critical patent/JP2017062851A5/ja
Application granted granted Critical
Publication of JP6278103B2 publication Critical patent/JP6278103B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an application display mechanism that reflects a search result based on a query in a search result display object placed on a screen when an instruction request object is selected by a simple definition of a developer specifying the query corresponding to the instruction request object.SOLUTION: An application server stores a query for specifying a search condition for a search service as an action definition, obtains the action definition by a request from a client device, obtains a search result from the search service on the basis of the query in the action definition, and transmits it as a processing result to the client device. The client device displays a screen on which a processing result display object is placed according to the processing result transmitted by the application server.SELECTED DRAWING: Figure 22

Description

本発明は、アプリケーションの実行に関し、特に検索サービスに対するクエリの検索結果を画面に表示するためのロジックを、容易に定義可能な、アプリケーション実行環境に関する。   The present invention relates to execution of an application, and more particularly to an application execution environment in which logic for displaying a search result of a query for a search service on a screen can be easily defined.

従来から、業務アプリケーションにおいては、データベースの検索結果やウェブサービスのレスポンスデータ(ウェブサーバへの要求に対する応答)を表示するGUI(グラフィカルユーザインタフェース)を開発することが多い。   Conventionally, in business applications, a GUI (graphical user interface) that displays database search results and web service response data (response to a request to a web server) is often developed.

しかしながらデータベースの検索結果をGUIに表示するため、アプリケーションの開発者は、どのデータ項目をGUI上のどのオブジェクト(例えばテキストボックス)に表示するか、を1つずつ対応づける必要があった。特に検索対象となるデータベースやウェブサービスの結果に含まれるデータ項目(カラム)数が多い場合には、前述の対応付けも多くなり、作業ミスも増加し、ビジネスロジックとして本質的ではない部分で、アプリケーションの実行を制御するソースコードを記載する負荷が大きかった。   However, in order to display the database search result on the GUI, the application developer has to associate which data item is displayed on which object (for example, a text box) on the GUI one by one. In particular, when the number of data items (columns) included in the database or web service results to be searched is large, the above-mentioned correspondence increases, the number of work errors increases, and the part that is not essential as business logic. The load of writing source code to control application execution was heavy.

特許文献1では、開発者が、例えば照会用ボタンがマウスクリックされた場合の処理定義として、まず照会の検索キーとなる値を取得するオブジェクト(要求項目)、照会結果の値を設定するオブジェクト(応答項目)、処理を要求するプログラム名、機能番号をトランザクションとして定義し、さらに前述のプログラム名および機能番号を、ロジックファイルに記載された関数と結びつけるロジック設定として定義し、また、前記関数はロジックファイルにおいて実際にデータベースを検索するプログラムとして定義することで、前述のようなGUI上のオブジェクトと、検索キーの取得および検索結果の対応付けを行うことが可能なプログラム自動生成装置を提供している。   In Patent Document 1, for example, as a processing definition when a developer clicks a button for a query, the developer first obtains an object (request item) as a query search key and an object (set a query result value). Response item), program name that requests processing, and function number are defined as a transaction, and the above program name and function number are defined as a logic setting that is linked to the function described in the logic file. Provided is an automatic program generation device capable of acquiring a search key and associating a search result with an object on the GUI as described above by defining it as a program that actually searches a database in a file. .

特開2000−020295号公報JP 2000-020295 A

特許文献1におけるプログラム自動生成装置では、前述の通り、GUI上のオブジェクトと、検索キー(要求項目)の取得および検索結果(応答項目)の対応付けを行うことが出来る。   As described above, the automatic program generation apparatus in Patent Document 1 can acquire a search object (request item) and associate a search result (response item) with an object on the GUI.

しかし、開発者にとっては、トランザクション設定では前記対応付けを確認できるが、関数に受け渡しの際には配列に変換されるため、関数の開発においては、どのデータ項目の値が配列のどこに格納されているか、あるいは検索結果をどこに格納すべきかといった処理を意識する必要があること、関数内でのデータベース検索処理はプログラム言語で開発することなどが必要となる。すなわち、データリソースに対してクエリを実行し、レスポンスを受け取るため、開発者にとっては、関連する定義情報の構造を詳細に理解した上でプログラムの開発を要するものであり、容易に検索結果を表示できるものではない。   However, for developers, the correspondence can be confirmed in the transaction settings, but since it is converted into an array when passed to the function, in the development of the function, which data item value is stored where in the array It is necessary to be aware of the processing of whether or not the search result should be stored, and the database search processing in the function needs to be developed in a programming language. In other words, in order to execute queries on data resources and receive responses, developers need to develop a program after understanding the structure of related definition information in detail, and easily display search results. It is not possible.

本発明の目的は以上の問題を解決するためのものであり、開発者が指示要求オブジェクト(例えばGUI上のボタンなど)に対応するクエリを指定するという簡単な定義で、前記指示要求オブジェクトが選択された場合に、前記クエリに基づく検索結果を、画面上に配置された検索結果表示オブジェクト(例えば、テキストボックスやグリッドオブジェクト)に反映させるアプリケーションの表示の仕組みを提供することを目的とする。   An object of the present invention is to solve the above-described problem, and the instruction request object is selected by a simple definition that a developer specifies a query corresponding to an instruction request object (for example, a button on a GUI). In this case, an object of the present invention is to provide a display mechanism for an application that reflects a search result based on the query on a search result display object (for example, a text box or a grid object) arranged on the screen.

本発明は、クライアント装置とアプリケーションサーバがネットワークを介して通信可能な、アプリケーションの実行を制御する情報処理システムであって、前記クライアント装置は、前記アプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行されるイベント処理を含む画面データを表示する表示制御手段と、前記表示制御手段に表示された画面データ上の前記指示受付オブジェクトに対するユーザの操作に応じて、前記指示受付オブジェクトに関連付けられたイベント処理により生成されるアプリケーションサーバに対するクエリの要求を、前記アプリケーションサーバに引き渡す要求引渡手段と、を備え、前記アプリケーションサーバは、検索サービスに対する検索条件を指定するための前記クエリをアクション定義として記憶するアクション定義記憶手段と、前記クライアント装置の前記要求引渡手段から引き渡される前記要求を受け付ける要求受付手段と、前記要求受付手段により受け付けた前記要求に基づいて、前記アクション定義記憶手段に記憶されている前記アクション定義を取得するアクション定義取得手段と、前記アクション定義取得手段により取得した前記アクション定義における前記クエリに基づいて前記検索サービスから検索結果を取得し、処理結果とする検索実行制御手段と、前記検索実行制御手段により得られる前記処理結果を、前記クライアント装置へ送信する送信手段と、を備え、前記表示制御手段は、前記アプリケーションサーバの送信手段により送信された処理結果が、処理結果表示オブジェクトに配置された画面データを表示することを特徴とする。   The present invention relates to an information processing system for controlling execution of an application, in which a client device and an application server can communicate via a network, wherein the client device receives an operation of a user that instructs the application server to perform processing. Display control means for displaying screen data including event processing executed when a reception object is selected, and according to a user operation on the instruction reception object on the screen data displayed on the display control means, Request delivery means for delivering a query request to the application server generated by the event processing associated with the instruction receiving object to the application server, wherein the application server specifies a search condition for the search service. Based on the request received by the request accepting means, an action definition storing means for storing the query for performing as an action definition, a request accepting means for accepting the request delivered from the request delivering means of the client device, An action definition acquisition unit that acquires the action definition stored in the action definition storage unit, a search result is acquired from the search service based on the query in the action definition acquired by the action definition acquisition unit, and processing A search execution control means as a result, and a transmission means for transmitting the processing result obtained by the search execution control means to the client device, wherein the display control means is transmitted by the transmission means of the application server. Processed result is processed result And displaying the screen data disposed indicate objects.

本発明により、開発者が指示要求オブジェクト(例えばGUI上のボタンなど)に対応するクエリを指定するという簡単な定義で、前記指示要求オブジェクトが選択された場合に、前記クエリに基づく検索結果を、画面上に配置された検索結果表示オブジェクト(例えば、テキストボックスやグリッドオブジェクト)に反映させるアプリケーションの表示の仕組みを提供することが可能となった。   According to the present invention, when the instruction request object is selected with a simple definition that a developer specifies a query corresponding to an instruction request object (for example, a button on a GUI), a search result based on the query is obtained. It has become possible to provide a mechanism for displaying an application to be reflected in a search result display object (for example, a text box or a grid object) arranged on the screen.

本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、RESTサーバの構成の一例を示すシステム構成図である。It is a system configuration diagram showing an example of the configuration of a program development device, a program development server, a database server, an application client, an application server, and a REST server according to the present invention. 本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、RESTサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of each hardware constitutions applicable as a program development apparatus, a program development server, a database server, an application client, an application server, and a REST server concerning this invention. 本発明の実施形態のソフトウェア構成を示すブロック図である。It is a block diagram which shows the software structure of embodiment of this invention. 本発明の実施形態のデータベースのテーブル群の一例を示すデータ構成図である。It is a data block diagram which shows an example of the table group of the database of embodiment of this invention. 本発明の実施形態のデータベースのテーブル群の一例を示すデータ構成図である。It is a data block diagram which shows an example of the table group of the database of embodiment of this invention. 開発者がレイアウト定義指示を行う画面の一例を示す図である。It is a figure which shows an example of the screen which a developer performs a layout definition instruction | indication. 開発者がレイアウト定義指示を行う操作手順の一例を簡単に説明するフローである。It is a flow that briefly explains an example of an operation procedure for a developer to issue a layout definition instruction. レイアウトを定義する際のコンテナやオブジェクトの配置を示す一例である。It is an example which shows arrangement | positioning of the container and object at the time of defining a layout. 明細書形式コンテナにおける、一括作成によるレイアウトの自動作成を説明するための図である。It is a figure for demonstrating automatic creation of the layout by batch creation in a statement format container. グリッドオブジェクトにおける、一括作成によるレイアウトの自動作成を説明するための図である。It is a figure for demonstrating the automatic creation of the layout by batch creation in a grid object. グリッドオブジェクトにおける、一括作成によるレイアウトの自動作成を説明するための図である。It is a figure for demonstrating the automatic creation of the layout by batch creation in a grid object. 明細書形式コンテナの一括作成後、更にグリッドオブジェクトの一括作成をする例を示す図である。It is a figure which shows the example which batch-creates a grid object after batch creation of a statement format container. 明細書形式コンテナの一括作成後、グリッドオブジェクトの一括作成を実施した結果の例を示す図である。It is a figure which shows the example of the result of having implemented the batch creation of the grid object after batch creation of the statement format container. 本発明の実施形態における一括作成部の処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the batch preparation part in embodiment of this invention. 一括作成した結果を含むレイアウト定義のデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of the layout definition containing the result produced collectively. オブジェクトの属性編集するための属性編集画面の一例を示す図である。It is a figure which shows an example of the attribute edit screen for editing the attribute of an object. オブジェクトの属性編集結果が反映されたレイアウト定義のデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of the layout definition in which the attribute edit result of the object was reflected. 一括作成とオブジェクトの属性編集を実施した画面の一例を示す図である。It is a figure which shows an example of the screen which implemented collective creation and the attribute edit of the object. 開発者がアクション定義を行う画面の一例を示す図である。It is a figure which shows an example of the screen which a developer defines action. アクション定義のデータ構成の一例を示す図である。It is a figure which shows an example of a data structure of action definition. クエリ定義のデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of a query definition. 本発明の実施形態におけるアクションの実行処理の一例を示すフローチャートである。It is a flowchart which shows an example of the execution process of the action in embodiment of this invention. アプリケーションクライアント画面上の指示受付オブジェクトに対応付ける処理を生成するフローチャートの一例である。It is an example of the flowchart which produces | generates the process matched with the instruction | indication reception object on an application client screen. RESTサーバに対するREST方式の要求を示すURLと対応するレスポンスのデータの一例である。It is an example of response data corresponding to a URL indicating a REST request to the REST server. REST方式に基づき、明細書形式コンテナにおける、一括作成によるレイアウトの自動作成を説明するための図である。It is a figure for demonstrating the automatic creation of the layout by collective creation in a specification format container based on a REST system. REST方式に基づき、グリッドオブジェクトにおける、一括作成によるレイアウトの自動作成を説明するための図である。It is a figure for demonstrating the automatic creation of the layout by batch creation in a grid object based on a REST system. 本発明の実施形態における一括作成部の処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process of the batch preparation part in embodiment of this invention. 一括作成した結果を含むレイアウト定義のデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of the layout definition containing the result produced collectively. 開発者がREST方式に基づきアクション定義を行う画面の一例を示す図である。It is a figure which shows an example of the screen which a developer defines action based on a REST system. REST方式によるクエリ定義のデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of the query definition by a REST system. 本発明の実施形態におけるREST方式で定義したアクションの実行処理の一例を示すフローチャートである。It is a flowchart which shows an example of the execution process of the action defined by the REST system in embodiment of this invention. レイアウトの一括作成をSQL文とREST方式の両方で定義可能な場合の分岐処理の一例を示すフローチャートである。It is a flowchart which shows an example of a branch process in case batch creation of a layout is definable by both an SQL sentence and a REST system. アクション定義から呼び出されるクエリの実行処理をSQL文とREST方式の両方で定義可能な場合の分岐処理の一例を示すフローチャートである。It is a flowchart which shows an example of the branch process when the execution process of the query called from an action definition can be defined by both an SQL statement and a REST system. SQL文とREST方式の両方でレイアウト定義するための画面を説明するための図である。It is a figure for demonstrating the screen for carrying out a layout definition with both a SQL sentence and a REST system. SQL文とREST方式の両方でアクション定義するための画面を説明するための図である。It is a figure for demonstrating the screen for defining an action by both a SQL sentence and a REST system. SQL文とREST方式の両方を用いてレイアウト生成した場合のレイアウト定義のデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of the layout definition at the time of generating a layout using both a SQL sentence and a REST system. SQL文とREST方式の両方を用いてアクションを定義した場合の、アクション定義のデータ構成の一例を示す図である。It is a figure which shows an example of a data structure of an action definition at the time of defining an action using both a SQL sentence and a REST system. SQL文とREST方式の両方を用いてアクションを定義した場合の、クエリ定義のデータ構成の一例を示す図である。It is a figure which shows an example of a data structure of a query definition at the time of defining an action using both a SQL sentence and a REST system.

以下、本発明の実施の形態を、図面を参照して詳細に説明する。まず、第一の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. First, the first embodiment will be described.

図1は、本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、RESTサーバの構成の一例を示すシステム構成図である。   FIG. 1 is a system configuration diagram showing an example of the configuration of a program development apparatus, a program development server, a database server, an application client, an application server, and a REST server according to the present invention.

プログラム開発装置101(情報処理装置)は、開発者の操作に従って画面レイアウトおよびデータベース検索のアクションなどを定義する。プログラム開発装置101単体では、ユーザの入力を受け付け、後述するプログラム開発サーバ102(情報処理装置)に実際のプログラム生成処理をさせてもよいし、プログラム開発装置101単体でプログラム生成まで処理してもよい。   The program development apparatus 101 (information processing apparatus) defines a screen layout, a database search action, and the like according to a developer's operation. The program development apparatus 101 alone accepts user input and may cause the program development server 102 (information processing apparatus) described later to perform actual program generation processing, or the program development apparatus 101 alone may process up to program generation. Good.

プログラム開発サーバ102a〜102bは、プログラム開発装置101により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ102aはLANなどのネットワーク107内に配置されてもよいし、プログラム開発サーバ102bはインターネット上やクラウド上に配置されてもよい。   The program development servers 102a to 102b develop a program in accordance with a developer instruction input by the program development apparatus 101. The program development server 102a may be arranged in a network 107 such as a LAN, and the program development server 102b may be arranged on the Internet or the cloud.

データベースサーバ103a〜103b(検索サーバ)は、開発されたアプリケーションが使用するデータベースを管理するサーバであり、また本発明では開発時にも利用する。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク107内に配置されてもよい(データベースサーバ103a)し、またインターネット上やクラウド上に配置されてもよい(データベースサーバ103b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とデータベースサーバ103が同一の装置内に構成されていてもよい。   The database servers 103a to 103b (search servers) are servers that manage a database used by a developed application, and are also used during development in the present invention. For example, the database server 103 may be configured by the same device as the program development device 101 for use by a developer, or may be arranged in a network 107 such as a LAN (database server 103a). Moreover, you may arrange | position on the internet or a cloud (database server 103b). When the program development apparatus 101 cooperates with the program development server 102, the program development server 102 and the database server 103 may be configured in the same apparatus.

RESTサーバ106a〜106b(検索サーバ)は、REST方式によりウェブサービスを提供するウェブサーバであり、また本発明では開発時にも利用する。例えば、開発者が利用するためにRESTサーバ106は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク107内に配置されてもよい(RESTサーバ106a)し、またインターネット上やクラウド上に配置されてもよい(RESTサーバ106b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とRESTサーバ106が同一の装置内に構成されていてもよい。   The REST servers 106a to 106b (search servers) are web servers that provide web services by the REST method, and are also used during development in the present invention. For example, for use by a developer, the REST server 106 may be configured by the same device as the program development device 101, or may be arranged in a network 107 such as a LAN (REST server 106a). Further, it may be arranged on the Internet or in the cloud (REST server 106b). When the program development apparatus 101 cooperates with the program development server 102, the program development server 102 and the REST server 106 may be configured in the same apparatus.

アプリケーションサーバ105a〜105bは、プログラム開発装置101で開発されたアプリケーションを実行する。LANなどのネットワーク107内に配置されてもよい(アプリケーションサーバ105a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションサーバ105b)。また、ネットワーク107、インターネット、クラウド上のデータベースサーバ103と接続して動作可能である。   The application servers 105a to 105b execute applications developed by the program development apparatus 101. It may be arranged in a network 107 such as a LAN (application server 105a), or may be arranged on the Internet or in the cloud (application server 105b). Further, it can be connected to the database 107 on the network 107, the Internet, or the cloud to operate.

アプリケーションクライアント104a〜104b(クライアント装置)は、アプリケーションサーバ105と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。LANなどのネットワーク107内に配置されてもよい(アプリケーションクライアント104a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションクライアント104b)。携帯端末などの情報処理装置であってもよい。   The application clients 104a to 104b (client devices) are user input terminals that operate application programs developed by the program development device 101 in cooperation with the application server 105. It may be arranged in a network 107 such as a LAN (application client 104a), or may be arranged on the Internet or in the cloud (application client 104b). An information processing apparatus such as a portable terminal may be used.

図2は、本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、RESTサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。   FIG. 2 is a block diagram showing an example of each hardware configuration applicable as a program development apparatus, a program development server, a database server, an application client, an application server, and a REST server according to the present invention.

図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。   In FIG. 2, the CPU 201 comprehensively controls each device connected to the system bus 204.

また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、プログラム開発装置、アプリケーションクライアント、各種サーバの後述する各種機能を実現するためのプログラムが記憶されている。   The ROM 203 or the external memory 211 stores an operating system (OS) that is a control program for the CPU 201, a program development apparatus, an application client, and programs for realizing various functions described below of various servers.

RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。   The RAM 202 functions as a main memory, work area, temporary save area, and the like for the CPU 201.

入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、特に、プログラム開発装置、アプリケーションクライアント、各種サーバでは、キーボード、マウス等のポインティングデバイスが挙げられる。   The input controller 205 controls input from the input unit 209. Examples of the input unit 209 include pointing devices such as a keyboard and a mouse in program development apparatuses, application clients, and various servers.

出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。   The output controller 206 controls the display of the output unit 210. Examples of the output unit 210 include a CRT and a liquid crystal display.

外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、外部メモリ211には、プログラム開発装置、アプリケーションクライアント、各種サーバの各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフロッピー(登録商標)ディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。   The external memory controller 207 controls access to the external memory 211 that stores a boot program, various applications, font data, user files, edit files, printer drivers, and the like. In addition, the external memory 211 stores various tables and parameters for realizing various functions of the program development device, application client, and various servers. Examples of the external memory 211 include a hard disk (HD), a floppy (registered trademark) disk (FD), a compact flash (registered trademark) connected to a PCMCIA card slot via an adapter, and smart media.

通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。   The communication I / F controller 208 executes communication control processing with an external device via a network.

本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。   A program 212 for realizing the present invention is recorded in the external memory 211 and is executed by the CPU 201 by being loaded into the RAM 202 as necessary.

図3は、本発明の実施形態のソフトウェア構成を示すブロック図である。   FIG. 3 is a block diagram illustrating a software configuration according to the embodiment of this invention.

プログラム開発装置101は、開発画面制御部300、レイアウト定義部301、一括作成部302、アクション定義部303、クエリ定義部304、指示引渡処理生成部305、記憶部306を備えている。   The program development apparatus 101 includes a development screen control unit 300, a layout definition unit 301, a batch creation unit 302, an action definition unit 303, a query definition unit 304, an instruction passing process generation unit 305, and a storage unit 306.

記憶部306は、レイアウト定義記憶部321、アクション定義記憶部322、クエリ定義記憶部323を備えている。   The storage unit 306 includes a layout definition storage unit 321, an action definition storage unit 322, and a query definition storage unit 323.

開発画面制御部300は、プログラム開発装置101に開発者が操作するための画面を表示し、また開発者の操作に応じて、他の機能部(301〜305、311〜315)を機能させる部分である。   The development screen control unit 300 displays a screen for the developer to operate on the program development apparatus 101, and causes other function units (301 to 305, 311 to 315) to function according to the operation of the developer. It is.

レイアウト定義部301は、開発者に後述するテキストボックス、ボタン、グリッドオブジェクトなどのオブジェクト、前記複数のオブジェクトなどを1つの表示グループとするためのコンテナを配置させ、また移動、属性編集をさせる機能部である。また、レイアウト定義部301で定義されたレイアウト定義は、レイアウト定義記憶部321に記憶される。   A layout definition unit 301 is a functional unit that allows a developer to place an object such as a text box, a button, and a grid object, which will be described later, a container for making the plurality of objects into one display group, and to move and edit attributes It is. The layout definition defined by the layout definition unit 301 is stored in the layout definition storage unit 321.

一括作成部302は、REST方式のクエリによりRESTサーバ106から取得したレスポンスデータや、データベースのテーブルのデータ項目(カラム)のうち表示したい項目を、前述の表示グループ(グリッドオブジェクトや後述する明細書形式コンテナ)に対して一括で配置する機能部である。   The batch creation unit 302 displays the response data acquired from the REST server 106 by the REST query and the items to be displayed among the data items (columns) of the database table in the above-described display group (grid object or description format described later). This is a functional unit that is arranged in a batch with respect to a container.

本発明の実施例においては、データ項目(カラム)に対応するオブジェクトの生成を“一括作成”としているが、これはあくまで例である。必ずしも一括である必要はない。例えば、前述のデータ項目(カラム)のうち表示したい項目を配置する際に、当初はデータ項目名(カラム名)を表示するだけでオブジェクトを作成しなくともよい。この場合、実際のオブジェクトの作成は、例えば属性編集(図16)において、前述のデータ項目名(カラム名)をユーザが指定する際に、実際のオブジェクトを作成し、ユーザが属性編集しなかったデータ項目名(カラム名)に対しては、レイアウトの保存時にオブジェクトを作成する、など様々な形態が可能である。   In the embodiment of the present invention, the generation of objects corresponding to data items (columns) is “collective creation”, but this is only an example. It does not necessarily have to be a batch. For example, when placing an item to be displayed among the data items (columns) described above, it is not necessary to create an object by simply displaying the data item name (column name) at first. In this case, the actual object is created, for example, when the user specifies the data item name (column name) in the attribute editing (FIG. 16), the actual object is created, and the user does not edit the attribute. For data item names (column names), various forms are possible, such as creating an object when saving a layout.

一括作成情報受付部311は、REST方式の場合には、RESTサーバ106に対してREST方式によりレスポンスデータを要求するURL、レスポンスデータから表示するデータ項目を指定するマッピング情報、SQL文による場合は、対応させるデータベース、データベースを検索するselect文(SQL文)、パラメータとなる条件項目、さらに前述の表示グループなど、レイアウトを自動生成するための情報を受け付ける機能部である。   In the case of the REST method, the batch creation information reception unit 311 requests the REST server 106 to request response data by the REST method, the mapping information that specifies the data item to be displayed from the response data, or the SQL statement. This is a functional unit that accepts information for automatically generating a layout, such as a database to be associated, a select statement (SQL statement) for searching the database, a condition item as a parameter, and the display group described above.

カラム名取得部312(データ項目取得部)は、REST方式の要求とレスポンスにより本発明を実施する場合には、指定されたマッピング情報を解析して、表示グループに配置したいテーブルのデータ項目名(カラム名)を取得する。また、実際にURLによりRESTサーバ106にレスポンスデータを要求し、マッピング情報によりレスポンスデータを処理した結果を解析して、データ項目名(カラム名)を取得してもよい。また、SQL文により本発明を実施する場合には、select文を実行し、その結果を解析する。SQL文により本発明を実施する場合には、データ項目名(カラム名)自体が、REST方式の場合のマッピング情報と同一の役割を果たすものである。   The column name acquisition unit 312 (data item acquisition unit) analyzes the specified mapping information and implements the data item name (table) to be placed in the display group when implementing the present invention by a REST request and response. Get column name). Alternatively, the data item name (column name) may be acquired by actually requesting response data from the REST server 106 using a URL and analyzing the result of processing the response data using mapping information. Further, when the present invention is implemented using an SQL statement, a select statement is executed and the result is analyzed. When the present invention is implemented using an SQL statement, the data item name (column name) itself plays the same role as the mapping information in the case of the REST method.

オブジェクト生成部313は、前述のデータ項目名(カラム名)に対応して表示グループに配置するオブジェクトを生成する機能部である。   The object generation unit 313 is a functional unit that generates an object to be arranged in the display group corresponding to the data item name (column name) described above.

オブジェクト配置部314は、前述の生成されたオブジェクトを、表示グループに配置する機能部である。   The object placement unit 314 is a functional unit that places the generated object in a display group.

値設定表示部315は、前述の生成されたオブジェクトに、前記REST方式によりRESTサーバ106、または前記select文を用いてデータベースを実際に検索した結果の値を設定、表示させる機能部である。   The value setting display unit 315 is a functional unit that sets and displays the value of the result of actually searching the database using the REST method or the select statement on the generated object.

アクション定義部303は、開発者にボタンがクリックなどされた場合の、前記REST方式によるRESTサーバ106の検索処理、またはSQL文によるデータベースの検索処理(アクション)などを定義させる機能部である。また、アクション定義部303で定義されたアクション定義は、アクション定義記憶部322に記憶される。   The action definition unit 303 is a functional unit that allows a developer to define a search process of the REST server 106 using the REST method or a database search process (action) using an SQL sentence when a button is clicked. The action definition defined by the action definition unit 303 is stored in the action definition storage unit 322.

クエリ定義部304は、アクション定義と対応付け、具体的には前記REST方式の場合には、レスポンスデータを要求するURLやレスポンスデータを処理するマッピング情報、SQL文による方式の場合には、select文などの詳細を開発者に定義させる機能部である。また、クエリ定義部304で定義されたクエリ定義は、クエリ定義記憶部323に記憶される。   The query definition unit 304 associates with an action definition. Specifically, in the case of the REST method, a URL for requesting response data, mapping information for processing the response data, or a select statement in the case of a method using an SQL statement. It is a functional part that allows developers to define details such as. Further, the query definition defined by the query definition unit 304 is stored in the query definition storage unit 323.

指示引渡処理生成部305は、後述する、指示受付オブジェクトがユーザにクリックされた際などのパラメータ取得部331、要求引渡部332に対応する処理を、アクション定義に従って予め生成しておく機能部である。実際には、指示引渡処理生成部305は、本図のようにプログラム開発装置101に備えられ、アクション定義時に実行され、生成された処理をアクション定義と結びつけて記憶してもよいし、また他の例として、アプリケーションサーバ105に備えられ、アプリケーションクライアント104に表示する画面の生成時に、指示引渡処理生成部305を実行され、前記処理を生成してもよい。いずれの場合も、指示引渡処理生成部305で生成された処理は、前記アクション定義に対応するボタンと関連付けてアプリケーションクライアント104に表示する画面情報に組み込まれる。   The instruction delivery processing generation unit 305 is a functional unit that generates in advance processing corresponding to the parameter acquisition unit 331 and the request delivery unit 332, which will be described later, when the instruction reception object is clicked by the user, according to the action definition. . Actually, the instruction passing process generation unit 305 is provided in the program development apparatus 101 as shown in the figure, and is executed at the time of action definition, and the generated process may be stored in association with the action definition. As an example, the instruction delivery processing generation unit 305 may be executed to generate the processing when generating a screen to be displayed on the application client 104 and provided in the application server 105. In any case, the process generated by the instruction delivery process generation unit 305 is incorporated in the screen information displayed on the application client 104 in association with the button corresponding to the action definition.

また、プログラム開発装置101は、RESTサーバ106、またはデータベースサーバ103と接続する。あるいは、同一筐体に含む構成であってもよい。さらにプログラム開発装置101が備える機能部の一部または全ては、プログラム開発サーバ102が備え、プログラム開発装置101には、開発者が操作する開発画面が表示され、開発者の操作内容がプログラム開発サーバ102に送られ、さらにプログラム開発サーバ102での処理結果がプログラム開発装置101に戻され、開発者が操作する操作画面に結果として表示するように構成してもよい。この場合には、プログラム開発装置101は、RESTサーバ106、またはデータベースサーバ103と直接は接続せず、プログラム開発サーバ102が、RESTサーバ106、またはデータベースサーバ103と接続することにより、検索結果を取得してもよい。   The program development apparatus 101 is connected to the REST server 106 or the database server 103. Or the structure included in the same housing | casing may be sufficient. Furthermore, a part or all of the functional units included in the program development apparatus 101 are included in the program development server 102. The program development apparatus 101 displays a development screen operated by the developer, and the operation contents of the developer are displayed in the program development server. The processing result in the program development server 102 may be sent back to the program development apparatus 101 and displayed as a result on an operation screen operated by the developer. In this case, the program development apparatus 101 does not directly connect to the REST server 106 or the database server 103, and the program development server 102 acquires the search result by connecting to the REST server 106 or the database server 103. May be.

アプリケーションクライアント104は、パラメータ取得部331、要求引渡部332、結果受付部337、結果設定部338、表示制御部339を備えている。   The application client 104 includes a parameter acquisition unit 331, a request delivery unit 332, a result reception unit 337, a result setting unit 338, and a display control unit 339.

パラメータ取得部331は、アプリケーションクライアント104のユーザがボタンをクリックするなどによりアプリケーションサーバ105に対する処理を指示した際に、処理に必要なパラメータ値などを取得する機能部である。   The parameter acquisition unit 331 is a functional unit that acquires parameter values and the like necessary for processing when the user of the application client 104 instructs processing to the application server 105 by clicking a button or the like.

要求引渡部332は、前述のパラメータ取得部331で取得されたパラメータ値などを後述する要求受付部333に引き渡す機能部である。   The request delivery unit 332 is a functional unit that delivers the parameter value acquired by the parameter acquisition unit 331 to the request reception unit 333 described later.

結果受付部337は、アプリケーションサーバ105での処理結果を後述する結果受渡部336から受け付ける機能部である。   The result reception unit 337 is a functional unit that receives a processing result in the application server 105 from a result delivery unit 336 described later.

結果設定部338(当てはめ部)は、前述の結果受付部337で受け付けた処理結果を、アプリケーションクライアント104上のオブジェクトに設定する機能部である。   The result setting unit 338 (fitting unit) is a functional unit that sets the processing result received by the result receiving unit 337 to an object on the application client 104.

表示制御部339は、アプリケーションの特定の画面が生成される場合には、アプリケーションサーバ105において生成された画面を、アプリケーションクライアント104のアプリケーション上に表示する機能部である。また、既に表示されている場合には、前述の結果設定部338の設定を表示に反映する。   The display control unit 339 is a functional unit that displays the screen generated in the application server 105 on the application of the application client 104 when a specific screen of the application is generated. If already displayed, the setting of the result setting unit 338 is reflected on the display.

アプリケーションサーバ105は、画面生成部330、要求受付部333、アクション定義取得部334、検索実行制御部335、結果受渡部336を備え、またプログラム開発装置101で定義した記憶部306をアプリケーションの実行定義情報として含む。   The application server 105 includes a screen generation unit 330, a request reception unit 333, an action definition acquisition unit 334, a search execution control unit 335, and a result transfer unit 336, and the storage unit 306 defined by the program development apparatus 101 is defined as an application execution definition. Include as information.

画面生成部330は、アプリケーションクライアント104に表示するための画面をレイアウト定義に基づき生成する機能部である。   The screen generation unit 330 is a functional unit that generates a screen to be displayed on the application client 104 based on the layout definition.

要求受付部333は、前述の要求引渡部332からアプリケーションサーバ105の処理に必要なパラメータ値などを受け付ける機能部である。   The request reception unit 333 is a functional unit that receives parameter values and the like necessary for processing of the application server 105 from the request delivery unit 332 described above.

アクション定義取得部334は、アプリケーションサーバ105を動作させるために必要なアクション定義を取得する機能部である。   The action definition acquisition unit 334 is a functional unit that acquires an action definition necessary for operating the application server 105.

検索実行制御部335は、アプリケーションクライアント104から渡されたパラメータ等に基づいてアプリケーションサーバ105を動作させるため機能部である。   The search execution control unit 335 is a functional unit for operating the application server 105 based on parameters or the like passed from the application client 104.

結果受渡部336(送信手段)は、前述の検索実行制御部335の検索結果を、アプリケーションクライアント104の結果受付部337に受け渡す機能部である。   The result delivery unit 336 (transmission unit) is a functional unit that delivers the search result of the search execution control unit 335 to the result reception unit 337 of the application client 104.

アプリケーションクライアント104およびアプリケーションサーバ105に含まれる機能部は、プログラム開発装置101あるいはプログラム開発サーバ102に含まれていてもよい。これにより開発中の動作確認が可能となる。   The functional units included in the application client 104 and the application server 105 may be included in the program development apparatus 101 or the program development server 102. This makes it possible to check the operation under development.

図4は、本発明の実施形態のデータベースサーバ103のテーブル群の一例を示すデータ構成図であり、後述する開発およびアプリケーションの実行を説明する際に利用するものである。   FIG. 4 is a data configuration diagram illustrating an example of a table group of the database server 103 according to the embodiment of this invention, and is used when explaining later-described development and application execution.

注文書テーブル400は、注文結果を登録するテーブルであり、注文番号を表すorderID401、顧客名を表すcustomer402、顧客電話番号を表すtelephone403、注文受付日を表すdate404、注文の合計金額を表すtotal_price405により構成される。   The purchase order table 400 is a table for registering order results, and includes an order ID 401 representing an order number, a customer 402 representing a customer name, a telephone 403 representing a customer telephone number, a date 404 representing an order reception date, and a total_price 405 representing the total amount of the order. Is done.

注文品目テーブル410は、注文書テーブルのorderID401に対応する詳細の注文品目を登録するテーブルであり、注文書テーブルのorderID401と対応するorderID411と、商品名を表すproduct412、商品の単価を表すprice413、注文数を表すamount414により構成される。   The order item table 410 is a table for registering detailed order items corresponding to the order ID 401 of the order form table. The order ID 411 corresponding to the order ID 401 of the order form table, the product 412 representing the product name, the price 413 representing the unit price of the product, the order. It is composed of an amount 414 representing a number.

図5は、本発明の実施形態のデータベースのテーブル群の一例を示すデータ構成図であり、図4と同様後述する開発およびアプリケーションの実行を説明する際に利用するものである。テーブル構成が異なるが、本質的に同じ情報を含む。後述する例において、使用するテーブル構成が異なっても、select文を書き換えることで同じ動作をさせることが可能であることを説明する。 FIG. 5 is a data configuration diagram showing an example of a table group of the database according to the embodiment of the present invention, and is used when explaining development and execution of an application, which will be described later, as in FIG. Although the table structure is different, it contains essentially the same information. In the example described later, it will be described that even if the table configuration to be used is different, the same operation can be performed by rewriting the select statement.

注文書情報は、注文情報テーブル500と顧客テーブル510に分割され、図4では、注文書テーブル400のcustomer402およびtelephone403は、顧客テーブル510のcustomer512およびtelephone513として構成されている。両テーブルのレコード(行)は、customerID502とcustomerID511で結びつけられている。リレーショナルデータベースとしての関連付けがされていてもされていなくてもよい。   The purchase order information is divided into an order information table 500 and a customer table 510. In FIG. 4, a customer 402 and a telephone 403 in the order form table 400 are configured as a customer 512 and a telephone 513 in the customer table 510, respectively. The records (rows) of both tables are linked by customer ID 502 and customer ID 511. It may or may not be associated as a relational database.

同様に図4の注文品目テーブル410は、注文数テーブル520と商品情報テーブル530に分割され、注文数テーブルのproduct523と、商品情報テーブルのproduct531で結びつけられている。   Similarly, the order item table 410 in FIG. 4 is divided into an order quantity table 520 and a merchandise information table 530, which are linked by an order quantity table product 523 and a merchandise information table product 531.

図6は、開発者がレイアウト定義指示を行う画面の一例を示す図であり、プログラム開発装置101上に表示される。開発GUI600のヘッダー601には、開発者が行う作業毎に画面一覧602、レイアウト定義603、一括作成情報604、アクション定義605が表示されている。602〜605は単なる作業状況を示すものであってもよいし、あるいはタブとして選択し処理内容を移行できてもよいが、あくまで一例である。また本例では作業している内容に従い、602〜605のタイトルの前に“*”を表示している。   FIG. 6 is a diagram showing an example of a screen on which a developer gives a layout definition instruction, and is displayed on the program development apparatus 101. In the header 601 of the development GUI 600, a screen list 602, a layout definition 603, batch creation information 604, and an action definition 605 are displayed for each work performed by the developer. Reference numerals 602 to 605 may indicate mere work situations, or may be selected as tabs and the processing contents may be transferred, but are merely examples. In this example, “*” is displayed in front of the titles 602 to 605 in accordance with the work contents.

作成画面一覧606には、作成済みの画面が表示されている。今回の説明では、新規画面作成ボタン607を指示することにより、開発GUI600aの構成に変わる。前記指示は、マウスによるクリック、キーボードによる操作などあるが、以降の説明では区別しない。   The created screen list 606 displays created screens. In this description, the configuration of the development GUI 600a is changed by instructing the new screen creation button 607. The instructions include mouse clicks and keyboard operations, but are not distinguished in the following description.

例では、新規画面として画面名称611に“注文確認”と入力し、過去の注文を確認するための画面レイアウトを定義する処理を行う。   In the example, “order confirmation” is input as a new screen in the screen name 611, and a process for defining a screen layout for confirming a past order is performed.

作業領域612には、初期状態で新規画面のベースとなる明細書形式コンテナ613が配置される。   In the work area 612, a specification format container 613, which is the base of a new screen in the initial state, is arranged.

コンテナには、例として1件の情報を1葉で各種データを表示する帳票の作成を主な用途とし、複数の行を挿入可能な“明細書形式コンテナ”と、明細書形式コンテナの中に“行”を追加して、その“行”の中の横方向に複数のオブジェクトなどを並べることが可能な“行形式コンテナ”の2種類を使用可能である。本実施形態の例では、初期状態では前述の通り明細書形式コンテナ613が配置される。ただし、初期状態で何も配置されず開発者が明細書形式コンテナ613か行形式コンテナを自由に配置できるようにしてもよい。   In the container, for example, the main use is to create a form that displays various data with one piece of information as one leaf. Two types of “row format containers” that can add a “row” and arrange a plurality of objects in the horizontal direction in the “row” can be used. In the example of the present embodiment, the specification format container 613 is arranged in the initial state as described above. However, nothing may be arranged in the initial state, and the developer may freely arrange the specification format container 613 or the row format container.

レイアウト部品620には部品ボタンが含まれ、各部品ボタンはコンテナ上に配置できるオブジェクトに対応する。部品ボタンをクリックあるいは、マウスでドラッグアンドドロップすることで、指定のオブジェクトを作業領域612に配置済みの他のコンテナ中に配置可能である。例として明細書形式コンテナ作成ボタン621、行形式コンテナ作成ボタン622、テキスト作成ボタン623、テキストボックス作成ボタン624、グリッド作成ボタン625、ボタン作成ボタン626がある。   The layout component 620 includes a component button, and each component button corresponds to an object that can be arranged on the container. A specified object can be placed in another container that has already been placed in the work area 612 by clicking on a component button or dragging and dropping it with a mouse. As an example, there are a specification format container creation button 621, a row format container creation button 622, a text creation button 623, a text box creation button 624, a grid creation button 625, and a button creation button 626.

コマンド630には、他の作業に移行する場合のコマンドが含まれ、例えば一括作成情報ボタン631、属性編集ボタン632、アクション定義ボタン633がある。   The command 630 includes a command for shifting to another work, and includes, for example, a batch creation information button 631, an attribute edit button 632, and an action definition button 633.

図7は、開発者がレイアウト定義指示を行う操作手順の一例を簡単に説明するフローである。また図8は、レイアウトを定義する際のコンテナやオブジェクトの配置を示す一例であり、図7の説明に使用する。ここでの説明は、あくまで一例であり、レイアウト定義を途中で中断することや、コンテナやオブジェクトの種類で、配置できないときの警告などは割愛する。   FIG. 7 is a flow for briefly explaining an example of an operation procedure for a developer to issue a layout definition instruction. FIG. 8 is an example showing the arrangement of containers and objects when defining a layout, and is used in the description of FIG. The explanation here is merely an example, and the layout definition is interrupted in the middle, and a warning when it cannot be arranged due to the type of container or object is omitted.

ステップS701で、図6の新規画面作成ボタン607をマウスクリックすることで、明細書形式コンテナ613が配置され、レイアウト定義作業を開始する。   In step S701, when the new screen creation button 607 in FIG. 6 is clicked with the mouse, the specification format container 613 is arranged, and layout definition work is started.

次に、開発者は、配置作業の内容として“配置”または“対象の移動”のいずれかを行うかを判断する。現時点では、明細書形式コンテナ613上に何も配置されていないため、新しい対象の“配置”しかできないので、ステップS702で“配置”となり、ステップS703に進む。例えば、行形式コンテナを追加するためには、まず明細書形式コンテナ613をマウスで選択し配置先としてフォーカス(ステップS703)する。更に図6の行形式コンテナ作成ボタン622をマウスクリックすると、図8の明細書形式コンテナ613aの中に階層的に(入れ子状態に)行形式コンテナ801が新規作成、挿入される(ステップS704)。同様の処理を繰り返す(ステップS706で“YES”と判断する)と行形式コンテナ802の下方に行形式コンテナ802が追加される(613b)。   Next, the developer determines whether to perform “placement” or “target movement” as the content of the placement work. Since nothing is arranged on the specification format container 613 at the present time, only the new object “placement” can be performed, so “placement” is set in step S702, and the process proceeds to step S703. For example, in order to add a row format container, the specification format container 613 is first selected with the mouse and focused as an arrangement destination (step S703). Further, when the row format container creation button 622 in FIG. 6 is clicked with the mouse, row format containers 801 are newly created and inserted hierarchically (nested) in the specification format container 613a in FIG. 8 (step S704). When similar processing is repeated ("YES" is determined in step S706), the row format container 802 is added below the row format container 802 (613b).

次に行形式コンテナ802をフォーカス(ステップS703)してから、図6の明細書形式コンテナ作成ボタン621あるいは、テキストボックス作成ボタン624などオブジェクトを配置するボタンを選択し、コンテナあるいはオブジェクト811を新規作成、挿入(ステップS704)することができる(613c)。同様にコンテナあるいはオブジェクト812を配置することができる(613d)。行形式コンテナ内での配置は、横方向に可能である。ここでベースになる明細書形式コンテナ613からは3階層目の位置にコンテナ又はオブジェクトが配置される。このように、コンテナは階層的に配置していくことが可能である。   Next, after focusing on the row format container 802 (step S703), the specification format container creation button 621 or the text box creation button 624 shown in FIG. 6 is selected to place an object, and a new container or object 811 is created. Can be inserted (step S704) (613c). Similarly, a container or an object 812 can be arranged (613d). Arrangement within the row format container is possible in the horizontal direction. Here, from the specification format container 613 as a base, a container or an object is arranged at the position of the third hierarchy. In this way, containers can be arranged hierarchically.

次に明細書形式コンテナ613dを選択して行形式コンテナ作成ボタン622をマウスクリックすると、行形式コンテナ803が新規作成、挿入される(613e)。   Next, when the specification format container 613d is selected and the row format container creation button 622 is clicked with the mouse, a row format container 803 is newly created and inserted (613e).

更に配置作業を継続する(ステップS706で“YES”と判断する)が、今度は、対象の移動を実施する(ステップS702で“対象の移動”と判断)。   Further, the arrangement work is continued (determined as “YES” in step S706), but this time, the object is moved (determined as “move object” in step S702).

対象の移動は、例えば行形式コンテナ803をドラッグし、行形式コンテナ801と行形式コンテナ802の間に移動してドロップする(ステップS705、図8の821の移動)。この時、行形式コンテナ802内に配置されているコンテナまたはオブジェクト811は、行形式コンテナ802の入れ子として定義されているため、行形式コンテナ802に伴って移動する。   To move the object, for example, the row format container 803 is dragged, moved between the row format container 801 and the row format container 802 and dropped (step S705, movement of 821 in FIG. 8). At this time, since the container or object 811 arranged in the row format container 802 is defined as the nesting of the row format container 802, it moves with the row format container 802.

同様にドラッグアンドドロップにより、コンテナまたはオブジェクト811と812を入れ替えることも可能である(図8の822の移動)。   Similarly, containers or objects 811 and 812 can be exchanged by drag and drop (movement of 822 in FIG. 8).

以上の説明では、外側にあるコンテナを選択して、内側に他のコンテナ(あるいはオブジェクト)を最後の行、最右の位置に追加したが、例えば、明細書形式コンテナ613dの行形式コンテナ801と行形式コンテナ802の間を選択し、行形式コンテナ作成ボタン622をクリックすると、行形式コンテナ803が新規作成、挿入されるようにしてもよい。上記の説明はあくまで一例である。   In the above description, the container on the outer side is selected, and another container (or object) is added on the innermost side to the last row and the rightmost position. For example, the row format container 801 of the specification format container 613d When a row format container 802 is selected and a row format container creation button 622 is clicked, a row format container 803 may be newly created and inserted. The above description is merely an example.

以上でレイアウト定義作業について説明したが、本例で示したコンテナ、あるいはグリッドオブジェクトを内部に複数の項目を表示できるという意味で、“表示グループ”と呼び、レイアウトの一括作成の例として使用する。階層的には、如何に深い位置にあっても同様に対応可能である。   The layout definition work has been described above. The container or grid object shown in this example is called a “display group” in the sense that a plurality of items can be displayed inside, and is used as an example of batch layout creation. Hierarchically, it is possible to cope in the same way no matter how deep the position is.

図9は、明細書形式コンテナにおける、一括作成によるレイアウトの自動作成を説明するための図である。   FIG. 9 is a diagram for explaining automatic layout creation by batch creation in a specification format container.

開発GUI600のコマンド630において、一括作成情報ボタン631を選択すると、一括作成のための情報を指定する画面に移行する。ここでは、接続先DB指定フィールド901およびSQL指定フィールド902を指定するテキスト入力フィールドがある。ただし、本発明に係わるプログラム開発装置101、あるいはプログラム開発サーバ102において、アプリケーション開発に係わるデータベースサーバ103を特定し、一括作成情報604においては、接続先DB指定フィールド901は指定不要としてもよい。さらにデータベースを指定する場合でも、プログラム開発装置101、あるいはプログラム開発サーバ102にデータベースサーバ103が同一の筐体に一体化した構成であってもよいことは前述したとおりである。また、実際に開発したアプリケーションが動作する際に接続するデータベースサーバ103は異なるものでもよい。画面のレイアウトを生成することが目的であるため、同じ構成あるいは同一のデータ項目(カラム)を取得できる構成であればよい。   When the batch creation information button 631 is selected in the command 630 of the development GUI 600, a screen for specifying information for batch creation is displayed. Here, there is a text input field for designating the connection destination DB designation field 901 and the SQL designation field 902. However, the program development apparatus 101 or the program development server 102 according to the present invention may specify the database server 103 related to application development, and the connection destination DB designation field 901 may not be designated in the batch creation information 604. Further, as described above, the database server 103 may be integrated with the program development apparatus 101 or the program development server 102 in the same housing even when the database is designated. Further, the database server 103 connected when an actually developed application operates may be different. Since the purpose is to generate the layout of the screen, any configuration that can acquire the same configuration or the same data item (column) may be used.

SQL指定フィールド902においては、select文を指定する。904は、SQL指定フィールド902に図4の注文書テーブル400に対応するselect文、“select * from 注文書テーブル”が指定されている。   In the SQL designation field 902, a select statement is designated. Reference numeral 904 designates a select statement corresponding to the order form table 400 in FIG. 4, “select * from order document table”, in the SQL designation field 902.

select文を指定し、一括作成後のオブジェクト表示先であるコンテナを、ユーザにマウスでフォーカスさせるなどして指定(表示グループ指示手段)した後、一括作成ボタン903をクリックすると、明細書形式コンテナ613aのように注文書テーブル400のデータ項目(カラム)と同数(5個)の行形式コンテナ906a〜906eが自動生成され、更に行形式コンテナ906a〜906e内に1つずつテキストボックスが生成され、各区テキストオブジェクトのラベルには、注文書テーブル400のデータ項目名(カラム名)であるorderID、customerなどが設定される。 When a select statement is specified and a container that is an object display destination after batch creation is designated (display group instruction means) by, for example, letting the user focus with a mouse, and then a batch creation button 903 is clicked, a statement format container 613a Thus, the same number (five) of row format containers 906a to 906e as the data items (columns) of the order form table 400 are automatically generated, and further, one text box is generated in each of the row format containers 906a to 906e. For the label of the text object, orderID, customer, etc., which are data item names (column names) of the order form table 400, are set.

ここで、データ項目(カラム)と同数(5個)の行形式コンテナ906a〜906eおよび対応するテキストボックスが生成、配置されたのは、904のselect文のselect句(select文実行結果として取得するデータ項目名(カラム名)を記載する部分)が“*”であることによる。すなわち、実際にテーブルのスキーマを確認し、全てのデータ項目名(カラム名)を取得し、それらに対して生成、配置したためである。   Here, the same number (five) of row format containers 906a to 906e and corresponding text boxes as the data items (columns) and corresponding text boxes are generated and arranged, which are acquired as the select clause of the 904 select statement (select statement execution result) This is because the data item name (column name) is “*”. That is, it is because the schema of the table is actually confirmed, all data item names (column names) are acquired, and generated and arranged for them.

次に905では、select句に“*”を指定せず、3つのデータ項目名(カラム名)“orderID”、“customer”、“date”を具体的に指定している。これに基づいて、明細書形式コンテナ613bの通り、3個の行形式コンテナ906f〜906hとテキストボックスを生成、配置する。この場合、接続先DB指定フィールド901で指定されたデータベースサーバ103に必ずしも接続する必要はない。例えば、select句に記載されたデータ項目名(カラム名)に従ってのみ前述の自動生成、配置を行ってもよい。また、指定されたデータ項目名(カラム名)が実在のものか(例えばスペリングミスがないか)などを確認するために、データベースサーバ103に接続してもよい。   In step 905, “*” is not specified in the select clause, and three data item names (column names) “orderID”, “customer”, and “date” are specifically specified. Based on this, three line format containers 906f to 906h and text boxes are generated and arranged as in the specification format container 613b. In this case, it is not always necessary to connect to the database server 103 designated in the connection destination DB designation field 901. For example, the above-described automatic generation and arrangement may be performed only in accordance with the data item name (column name) described in the select phrase. Further, in order to check whether the designated data item name (column name) is real (for example, there is no spelling error), it may be connected to the database server 103.

更に、select文の指定方法は、データベースの構成に従って変更可能である。例えば、図5のテーブル構成であれば、select文を次のように定義することで同様の結果を得ることができる。   Furthermore, the method for specifying the select statement can be changed according to the structure of the database. For example, in the table configuration of FIG. 5, the same result can be obtained by defining the select statement as follows.

“select 注文情報テーブル.orderID,顧客テーブル.customer,注文情報テーブル.date from 注文情報テーブル,顧客テーブル where 注文情報テーブル.customerID=顧客テーブル.customerID”   “Select order information table.orderID, customer table.customer, order information table.date from order information table, customer table where order information table.customerID = customer table.customerID”

また、開発時と本番運用時のテーブル構成が異なっていてもよい。   Further, the table configuration at the time of development and at the time of actual operation may be different.

また、行形式コンテナ906a〜906hに含まれるいずれのオブジェクトに、実際の検索結果が表示される。これにより開発作業時に、実際のレイアウトを確認しながらレイアウト調整を行ったり、接続先DB指定フィールド901およびSQL指定フィールド902の指定を確認したりすることが可能となる。   The actual search result is displayed on any object included in the row format containers 906a to 906h. As a result, during development work, it is possible to perform layout adjustment while confirming the actual layout, and to confirm the designation of the connection destination DB designation field 901 and the SQL designation field 902.

図10は、グリッドオブジェクトにおける、一括作成によるレイアウトの自動作成を説明するための図である。グリッドオブジェクトは、2次元の行列形式でデータを表示する表形式のオブジェクトである。   FIG. 10 is a diagram for explaining automatic layout creation by batch creation in a grid object. The grid object is a tabular object that displays data in a two-dimensional matrix format.

ここでは、データベースサーバ103のデータ項目名(カラム名)を表の先頭行にヘッダーとして表示し、1行毎に検索結果のレコードを挿入していく。   Here, the data item name (column name) of the database server 103 is displayed as a header on the first line of the table, and a search result record is inserted for each line.

図10では、レイアウト定義操作により、既に明細書形式コンテナ613内に、行形式コンテナ1001、さらにその中にグリッドオブジェクト1002が配置されている前提で説明する。   10 will be described on the assumption that the line format container 1001 and the grid object 1002 are already arranged in the specification format container 613 by the layout definition operation.

SQL指定フィールド902には、1003とおり“select * from 注文品目テーブル”と指定する。   In the SQL designation field 902, “select * from order item table” is designated as 1003.

select文を指定し、一括作成後のオブジェクト表示先であるグリッドオブジェクトを、マウスでフォーカスするなどして指定(表示グループ指示手段)した後、一括作成ボタン903をクリックすると、グリッドオブジェクト1002内には、注文品目テーブルに含まれる全てのデータ項目(カラム:本例では4個)が、列方向に並ぶ。全てのデータ項目(カラム)が表示されるのは図9での説明と同様である。   When a select statement is specified and a grid object that is an object display destination after batch creation is designated (display group instruction means) by, for example, focusing with a mouse, when a batch creation button 903 is clicked, the grid object 1002 is displayed. All data items (column: 4 in this example) included in the order item table are arranged in the column direction. All data items (columns) are displayed in the same manner as described with reference to FIG.

一括作成が完了した後は、グリッドオブジェクト1002aのように2次元の行列(表形式)で表示される。ヘッダーの他に、注文品目テーブル410のデータ項目(カラム)が1004a〜1004dに並び、また実際のデータのうち、例えば指定した数(グリッドオブジェクト1002aの例では5レコード)分のデータが表示される。5レコードと指定するのは、レイアウト定義の操作時において検索条件を指定していないためであり、運用時には、上下に移動するスクロールバーが表示されて、検索結果の全データを設定する。   After the batch creation is completed, a two-dimensional matrix (table format) is displayed as a grid object 1002a. In addition to the header, the data items (columns) of the order item table 410 are arranged in 1004a to 1004d, and among the actual data, for example, the specified number of data (5 records in the example of the grid object 1002a) is displayed. . The reason for specifying 5 records is that the search condition is not specified at the time of the layout definition operation. During operation, a scroll bar that moves up and down is displayed, and all data of the search result is set.

さらに図9で説明と同様、図5のテーブル構成である注文数テーブル520、商品情報テーブル530を用いたselect文を指定しても同じ結果を得ることができる。   Further, similarly to the description in FIG. 9, the same result can be obtained by specifying a select statement using the order quantity table 520 and the product information table 530 having the table configuration in FIG. 5.

図11は、また、グリッドオブジェクトにおける、一括作成によるレイアウトの自動作成を説明するための図であり、select句において、“*”を使用せず、検索結果として得るデータ項目名(カラム名)を明示した場合の例である。明示したデータ項目(カラム)だけが1行に並んで表示される。   FIG. 11 is a diagram for explaining automatic creation of a layout by batch creation in a grid object. A data item name (column name) obtained as a search result without using “*” in a select clause is shown in FIG. It is an example when it is clearly specified. Only the specified data items (columns) are displayed side by side.

詳細は、select句に関する部分については、図9の905のselect文を用いて明細書形式コンテナ613bを生成する部分、グリッドオブジェクト1002、1002bに関する部分については、図10の説明と同じであるため省略する。   For details, the part relating to the select phrase is omitted because the part for generating the specification format container 613b using the select statement 905 in FIG. 9 and the part relating to the grid objects 1002 and 1002b are the same as those in FIG. To do.

図12は、明細書形式コンテナの一括作成後、更にグリッドオブジェクトの一括作成をする例を示す図である。   FIG. 12 is a diagram showing an example in which the grid objects are further created after the batch creation of the specification format containers.

図9で一括作成した明細書形式コンテナ613a、613bに対しても図7,図8で説明したように、さらにコンテナまたはオブジェクトを追加することができる。図12では、明細書形式コンテナ613に行形式コンテナ1201を追加し、既存の行形式コンテナ1202と上下を入れ替える。さらに行形式コンテナ1201にグリッドオブジェクト1002を追加する。   As described in FIGS. 7 and 8, containers or objects can be further added to the specification format containers 613 a and 613 b created in a batch in FIG. 9. In FIG. 12, a row format container 1201 is added to the specification format container 613, and the existing row format container 1202 is exchanged up and down. Further, a grid object 1002 is added to the row format container 1201.

図13は、明細書形式コンテナの一括作成後、グリッドオブジェクトの一括作成を実施した結果の例を示す図である。すなわち、図12でレイアウト定義を行った後、グリッドオブジェクト1002に対して、図11と同じ一括作成を実行した結果である。   FIG. 13 is a diagram illustrating an example of a result of batch creation of grid objects after batch creation of specification format containers. That is, after the layout definition in FIG. 12, the same batch creation as in FIG. 11 is executed for the grid object 1002.

ただし、右上の“button1”は、一括作成されたものではなく、開発者が別途追加するものである。後述の説明で使用する。   However, “button 1” in the upper right is not created in a lump but is added separately by the developer. Used in the description below.

図14は、本発明の実施形態における一括作成部の処理の一例を示すフローチャートである。すなわち、図9〜図12において、開発者がプログラム開発装置101上の一括作成情報の画面で一括作成に必要なコンテナまたはグリッドオブジェクト、接続先DB指定フィールド901、SQL指定フィールド902を指定し、一括作成ボタン903をマウスクリックした後に、プログラム開発装置101のCPU201が、各ステップを実行する。あるいは、前述の通りプログラム開発装置101における開発者の操作指示を受け付けて、実際のプログラム生成処理をプログラム開発サーバ102が行う場合は、プログラム開発サーバ102のCPU201が各ステップを実施する。   FIG. 14 is a flowchart showing an example of processing of the batch creation unit in the embodiment of the present invention. That is, in FIGS. 9 to 12, the developer designates a container or grid object, a connection destination DB designation field 901, and an SQL designation field 902 necessary for batch creation on the batch creation information screen on the program development apparatus 101, and batches them. After the creation button 903 is clicked with the mouse, the CPU 201 of the program development apparatus 101 executes each step. Alternatively, as described above, when the program development server 102 receives an operation instruction from the developer in the program development apparatus 101 and performs an actual program generation process, the CPU 201 of the program development server 102 performs each step.

ステップS1401においては、一括作成ボタン903がクリックされた際に選択されている明細書形式コンテナ(例えば図9の明細書形式コンテナ613として説明を進める)または、グリッドオブジェクト(例えば図12のグリッドオブジェクト1002として説明を進める)のIDを取得する(表示グループ受付手段)。ここで明細書形式コンテナ613のIDを“contenaA”、グリッドオブジェクト1002のIDを“gridB”とする。   In step S1401, the specification format container selected when the batch creation button 903 is clicked (for example, the description proceeds as the specification format container 613 in FIG. 9) or a grid object (for example, the grid object 1002 in FIG. 12). The ID is advanced (display group accepting means). Here, the ID of the specification format container 613 is “contenaA”, and the ID of the grid object 1002 is “gridB”.

ステップS1402においては、接続先DB指定フィールド901で指定されたデータベースを取得し、オープンする。   In step S1402, the database designated in the connection destination DB designation field 901 is acquired and opened.

ステップS1403においては、SQL指定フィールド902を指定されたselect文を取得し、select句の記載(select文実行結果として取得するデータ項目名(カラム名)を記載する部分)を取得する。   In step S1403, the select statement in which the SQL designation field 902 is designated is acquired, and the description of the select clause (the portion describing the data item name (column name) acquired as the select statement execution result) is acquired.

ステップS1404においては、指定されたselect文を実行し、結果からデータ項目名(カラム名)を全て取得しカラムリストを生成する。   In step S1404, the designated select statement is executed, and all data item names (column names) are acquired from the results to generate a column list.

ステップS1407においては、データ表示先の表示グループ(前述の“contenaA”または“gridB”に対応するコンテナ、またはオブジェクト)が、明細書形式コンテナか、グリッドオブジェクトかにより分岐する。   In step S1407, a branch is made depending on whether the display group of the data display destination (the container or object corresponding to the above-described “contenaA” or “gridB”) is a specification format container or a grid object.

ここでは、明細書形式コンテナ“contenaA”が選択されているとして、ステップS1411に進む。ステップS1411からステップS1418までのループ処理においては、前述のカラムリストに含まれる各データ項目(カラム)に対応するオブジェクトを表示グループ(本例では“contenaA”)に追加する処理を行う。また、カラムリストの例としては、図9の905におけるselect文から生成された“orderID”、“customer”、“date”の3個のデータ項目(カラム)を含むものとする。   Here, it is assumed that the specification format container “contentaA” is selected, and the process advances to step S1411. In the loop processing from step S1411 to step S1418, processing for adding an object corresponding to each data item (column) included in the above-described column list to the display group (“contenaA” in this example) is performed. In addition, as an example of the column list, it is assumed that three data items (columns) “orderID”, “customer”, and “date” generated from the select statement in 905 of FIG. 9 are included.

ステップS1412においては、カラムリストに含まれる1つのデータ項目(カラム)に着目する(最初は“orderID”)。   In step S1412, attention is focused on one data item (column) included in the column list (initially "orderID").

ステップS1413においては、行形式コンテナを生成し、“contenaA”に追加する。さらにステップS1414においては、テキストボックスオブジェクトを1つ生成する。ステップS1415において、前記生成したテキストボックスオブジェクトのラベルに、着目中のデータ項目名(カラム名:ここでは“orderID”)を設定する。また、ステップS1416においては、前記生成したテキストボックスオブジェクトのIDにも、着目中のデータ項目名(カラム名。ここでは“orderID”)を設定する。   In step S1413, a line format container is generated and added to “contentaA”. In step S1414, one text box object is generated. In step S1415, the name of the data item of interest (column name: “orderID” here) is set in the label of the generated text box object. In step S 1416, the data item name under consideration (column name; “orderID” here) is also set in the ID of the generated text box object.

ステップS1417においては、前記生成したオブジェクトをステップS1413で生成した行形式コンテナに挿入する。ステップS1418においてループ処理の1回目が終了する。ここまでの処理で図9の明細書形式コンテナ613b、行形式コンテナ906fおよびその中の“orderID”が生成されたことになる。   In step S1417, the generated object is inserted into the row format container generated in step S1413. In step S1418, the first loop process ends. The specification format container 613b and the row format container 906f in FIG. 9 and the “orderID” therein are generated by the processing so far.

ここで、実際のレイアウト定義記憶部321の説明をし、図14のフローチャートの生成結果の構成を合わせて説明する。   Here, the actual layout definition storage unit 321 is described, and the configuration of the generation result of the flowchart of FIG. 14 is also described.

図15は、一括作成した結果を含む、レイアウト定義記憶部321におけるレイアウト定義のデータ構成の一例を示す図である。   FIG. 15 is a diagram illustrating an example of the data configuration of the layout definition in the layout definition storage unit 321 including the result of batch creation.

テーブル1500は、開発者により定義されたレイアウトおよび一括作成により定義されたレイアウトのいずれも含む例である。   The table 1500 is an example including both the layout defined by the developer and the layout defined by batch creation.

画面ID1501は、新規画面作成ボタン607がクリックされたときに開発中のアプリケーション中で画面に一意的に対応付けられる番号であり、現在作成している画面には“UI001”が対応付けられている。表示グループ1502には例として、明細書形式コンテナまたはグリッドオブジェクトなどが登録される。説明の現時点では、“contenaA”が登録されている(“gridB”はこの時点では作成されていない)。   The screen ID 1501 is a number that is uniquely associated with the screen in the application under development when the new screen creation button 607 is clicked, and “UI001” is associated with the currently created screen. . As an example, a description format container or a grid object is registered in the display group 1502. At the time of the description, “contenaA” is registered (“gridB” is not created at this time).

接続先DB1503、SQL1504は、一括作成によりレイアウトが定義された場合に登録される情報であり、接続先DB指定フィールド901、SQL指定フィールド902で指定されたものが対応する。画面レイアウトの一括作成のためだけであれば記憶しておく必要はない。ただし、後述するとおり、一括作成の結果として、実際のデータベースからデータを検索し、表示グループ上に具体的な値を表示させるために記憶しておいてもよい(ここでは記憶することにする)。   The connection destination DB 1503 and the SQL 1504 are information registered when a layout is defined by batch creation, and correspond to those specified in the connection destination DB designation field 901 and the SQL designation field 902. It is not necessary to memorize only for batch creation of screen layouts. However, as will be described later, as a result of batch creation, data may be retrieved from an actual database and stored in order to display specific values on the display group (here, stored). .

行/列1505は、表示グループ(ここでは明細書形式コンテナまたはグリッドオブジェクト)に配置される行形式コンテナ、または列オブジェクトである。行形式コンテナも表示グループの1種であり、表示グループ1502に登録する情報として扱ってもよいが、本構成例としては、別の項目として指定する。   A row / column 1505 is a row format container or column object arranged in a display group (here, a description format container or a grid object). The row format container is also a type of display group, and may be handled as information registered in the display group 1502, but is specified as another item in this configuration example.

また、オブジェクト情報として種類1506としてオブジェクトの種類、ID1507としてオブジェクトID、Label1508としてオブジェクトのラベルが登録される。   Also, as the object information, an object type is registered as type 1506, an object ID is registered as ID 1507, and an object label is registered as Label 1508.

説明をステップS1418が完了した時点に戻す。ここでは、テーブル1500の最上行のみが登録されている。すなわち、行/列1505としては、ステップS1413で生成した行形式コンテナに“lineA1”というIDが付与され登録されている。また、オブジェクト情報には、種類1506として“textbox”、ID1507として“orderID”、Label1508として同じく“orderID”が登録される(初期状態では、オブジェクトIDとラベルが同じため)。   The description returns to the time point when step S1418 is completed. Here, only the top row of the table 1500 is registered. That is, as the row / column 1505, an ID “lineA1” is assigned and registered in the row format container generated in step S1413. In the object information, “textbox” as the type 1506, “orderID” as the ID 1507, and “orderID” as the Label 1508 are registered (because the object ID and the label are the same in the initial state).

説明を再び図14に戻す。ここでステップS1418まで完了したため、ステップS1411に戻り、ループ処理を繰り返し、データ項目(カラム)“customer”、“date”に対してステップS1411からステップS1418までの処理が繰り返し実行される。   The description returns to FIG. 14 again. Since step S1418 has been completed, the process returns to step S1411, loop processing is repeated, and the processing from step S1411 to step S1418 is repeatedly executed for the data items (columns) “customer” and “date”.

図15において、データ項目(カラム)“customer”に対しては、行/列1505の“lineA2”に対応する情報が、データ項目(カラム)“date”に対しては、行/列1505の“lineA4”に対応する情報が登録される。   In FIG. 15, for the data item (column) “customer”, information corresponding to “lineA2” in the row / column 1505 is displayed. For the data item (column) “date”, “ Information corresponding to line A4 "is registered.

“lineA1”の“button1”と、“lineA3”の“gridB”に関しては、後で開発者の操作により追加されるものなので、この段階では存在しない。   “Button1” of “lineA1” and “gridB” of “lineA3” are not added at this stage because they will be added later by the developer's operation.

ステップS1419においては、SQL1504に登録されたselect文により1行のデータを取得し、ステップS1420において、前記select文により検索した結果を表示する。select文の検索結果であるデータ項目名(カラム名)と、テキストボックスのオブジェクトIDが対応(一致)しているため、各データ項目(カラム)の値の登録先が特定される。これによりフローチャートの分岐の一方が完了する。   In step S1419, one line of data is acquired by the select statement registered in the SQL 1504. In step S1420, the search result by the select statement is displayed. Since the data item name (column name) that is the search result of the select statement corresponds to (matches) the object ID of the text box, the registration destination of the value of each data item (column) is specified. This completes one of the branches of the flowchart.

以上の処理結果が、図9の613bとなり、行形式コンテナ906f〜906hおよびその中のテキストボックスと、対応する値が表示される。   The above processing result is 613b in FIG. 9, and the row format containers 906f to 906h and the text boxes therein and the corresponding values are displayed.

さて、次に現在、図12のレイアウト定義の状態になっているとする。図15においては、行/列1505に“lineA3”と“gridB”が追加されている。   Now, assume that the layout definition state of FIG. In FIG. 15, “lineA3” and “gridB” are added to the row / column 1505.

ここで図11における1101のselect文を指定し、グリッドオブジェクト1002(オブジェクトIDは“gridB”)を選択して、一括作成ボタン903をクリックすることで実行される、図14のフローチャートを再度説明する。   Here, the flowchart of FIG. 14 executed again by specifying the select statement 1101 in FIG. 11, selecting the grid object 1002 (object ID “gridB”), and clicking the batch creation button 903 will be described again. .

ステップS1401〜ステップS1403は同じなので説明を省略する。ステップS1404では、1101のselect文のselect句から、3つのデータ項目(カラム)“product”、“price”、“amount”を含むカラムリストが生成される。   Since steps S1401 to S1403 are the same, the description thereof is omitted. In step S1404, a column list including three data items (columns) “product”, “price”, and “amount” is generated from the select clause of the select statement 1101.

ステップS1431からステップS1437までのループ処理においては、前述のカラムリストに含まれる各データ項目(カラム:ここでは、“product”、“price”、“amount”)に対応するオブジェクトを表示グループ(本例では“gridB”)に追加する処理を行う。   In the loop processing from step S1431 to step S1437, an object corresponding to each data item (column: “product”, “price”, “mount” in this case) included in the column list is displayed as a display group (this example). Then, processing for adding to “gridB”) is performed.

ステップS1432においては、カラムリストに含まれる1つのデータ項目(カラム)に着目する(最初に“product”)。   In step S1432, attention is focused on one data item (column) included in the column list ("product" first).

ステップS1433においては、1列分の列オブジェクトを生成する。ステップS1434においては、列オブジェクトのIDに、着目中のデータ項目(カラム名。こでは“product”)を設定する。またステップS1435においては、前記生成した列オブジェクトのラベルにも、着目中のデータ項目名(カラム名。ここでは“product”)を設定する。   In step S1433, a column object for one column is generated. In step S1434, the data item of interest (column name, in this case “product”) is set in the column object ID. In step S1435, the name of the data item under consideration (column name, “product” in this case) is also set in the label of the generated column object.

ステップS1436においては、前記生成した列オブジェクトをグリッドオブジェクト(“gridB”に追加する。ステップS1437においてループ処理の1回目が終了する。   In step S1436, the generated column object is added to the grid object (“gridB”. In step S1437, the first loop process is completed.

これにより図15のテーブル1500において、行/列1505に“culumnB1”が登録される。種類1506は“culumn”(列オブジェクトであることを示す)、ID1507が“product”、Label1508が“product”として登録される。   Accordingly, “column B1” is registered in the row / column 1505 in the table 1500 of FIG. The type 1506 is registered as “column” (indicating that it is a column object), the ID 1507 is registered as “product”, and the Label 1508 is registered as “product”.

ここでステップS1437まで完了したため、ステップS1431に戻り、ループ処理を繰り返し、データ項目(カラム)“price”、“amount”に対してステップS1431からステップS1437までの処理が繰り返し実行される。   Since step S1437 has been completed, the process returns to step S1431, loop processing is repeated, and the processing from step S1431 to step S1437 is repeatedly executed for the data items (columns) “price” and “mount”.

図15において、データ項目(カラム)“price”に対しては、行/列1505の“culumnB2”に対応する情報が、データ項目(カラム)“amount”に対しては、行/列1505の“culumnB3”に対応する情報が登録される。   In FIG. 15, for the data item (column) “price”, the information corresponding to “column B2” in the row / column 1505 indicates that the data item (column) “mount” indicates “ Information corresponding to columnB3 "is registered.

ステップS1438からステップS1441までにおいて、グリッドオブジェクト(“gridB”)に値を設定表示する。例えば、“5行分を表示する”というように表示レコード数が指定されているとする。   In steps S1438 to S1441, a value is set and displayed on the grid object (“gridB”). For example, it is assumed that the number of display records is specified such as “display 5 lines”.

ステップS1439においては、select文により得られる検索結果のとして、1行分を取得する。ステップS1440においては、前記取り出した1行分のレコードをグリッドオブジェクトの1行になるように、また検索結果のデータ項目名(カラム名)に対応する値をグリッドの対応するオブジェクトIDを持つ列オブジェクトに設定していく。   In step S1439, one line is acquired as a search result obtained by the select statement. In step S1440, the column object having the object ID corresponding to the grid is set to a value corresponding to the data item name (column name) of the search result so that the retrieved record for one row becomes one row of the grid object. Set to.

例えばこれを5レコード分繰り返すことで、ステップS1438からステップS1441までのループ処理が完了し、図13のグリッドオブジェクト1002の表示結果となる。   For example, by repeating this for five records, the loop processing from step S1438 to step S1441 is completed, and the display result of the grid object 1002 in FIG. 13 is obtained.

ただし、前述の通り右上の“button1”は現時点では存在しない。なお、前述の通り、本フローチャートの説明で使用した接続先DB指定フィールド901で指定されたデータベースは、プログラム開発装置101と同一の装置に備わるデータベースサーバ103でもよいし、ネットワーク107上のデータベースサーバ103a、インターネット上のデータベースサーバ103bのいずれでもよい。以上で図14のフローチャートの説明を完了する。   However, as described above, “button 1” in the upper right does not exist at the present time. As described above, the database specified in the connection destination DB specification field 901 used in the description of this flowchart may be the database server 103 provided in the same apparatus as the program development apparatus 101 or the database server 103a on the network 107. Any of the database servers 103b on the Internet may be used. This completes the description of the flowchart of FIG.

なお、テキストボックスのオブジェクトあるいは、グリッドオブジェクトにおける列オブジェクトを図14のフローチャートにおいて、全て作成している。しかし、前述の一括作成部302で説明したとおり、この処理はあくまで一例であり、実際には、属性編集やレイアウトの保存のタイミングで生成してもよい。一括作成もそうではない場合も、本発明における“データ項目に対応する値を表示するためのオブジェクトを作成するオブジェクト作成手段”であるものとする。   Note that all text box objects or column objects in the grid object are created in the flowchart of FIG. However, as described in the batch creation unit 302 described above, this process is merely an example, and may be actually generated at the timing of attribute editing or layout saving. It is assumed that it is “object creation means for creating an object for displaying a value corresponding to a data item” in the present invention, whether it is batch creation or not.

図15については、図14とともに説明したが、前述したとおり一括作成された定義だけではなく、開発者による定義も含まれる。   Although FIG. 15 has been described together with FIG. 14, not only the definition created in a lump as described above but also the definition by the developer is included.

例えば、図13の1行目の行形式コンテナにボタン作成ボタン626をクリックすることによりボタンオブジェクト“button1”を1つ追加すると、行/列1505の“lineA1”の行に、“button1”が登録される。ここで、図13等に示したように、各オブジェクト(テキストボックス、ボタンなど)は、プログラム開発装置101またはプログラム開発サーバ102が指定したままの値がラベルとして表示される。   For example, when one button object “button 1” is added to the row format container in the first row of FIG. 13 by adding one button object “button 1”, “button 1” is registered in the line “lineA1” in the row / column 1505. Is done. Here, as shown in FIG. 13 and the like, each object (text box, button, etc.) is displayed as a label with the value specified by the program development apparatus 101 or the program development server 102.

図16は、オブジェクトの属性編集するための属性編集画面の一例を示す図である。例えばレイアウト定義画面(図13)においてテキストボックス“orderID”(1301)にフォーカスし、属性編集ボタン632をクリックすると、図16の画面に遷移し、“orderID”の各種属性を変更できる。編集対象IDは、1601に“orderID”であることが示されている。ここでは、例としてLabelの表示文字列1602を“注文番号”に変更している。その他、例としてフォント、文字サイズ、カラー(文字色)、テキストボックスに実際に入る値のデータ型(数値、文字列など)の指定などを指定できる。これらの項目は、オブジェクトの種類によって異なっていてもよい。また、コンテナについても属性編集可能としてもよい。コンテナの場合であれば、例えば枠の表示(色、太さ、立体感)、コンテナ自体へのラベル付与、などが考えられる。   FIG. 16 is a diagram illustrating an example of an attribute editing screen for editing the attributes of an object. For example, when the text box “orderID” (1301) is focused on the layout definition screen (FIG. 13) and the attribute edit button 632 is clicked, the screen transitions to the screen of FIG. 16 and various attributes of “orderID” can be changed. The edit target ID is indicated by 1601 as “orderID”. Here, as an example, the label display character string 1602 is changed to “order number”. In addition, for example, it is possible to specify font, character size, color (character color), and data type (value, character string, etc.) of the value that actually enters the text box. These items may differ depending on the type of object. Further, the attribute of the container may be editable. In the case of a container, for example, display of a frame (color, thickness, stereoscopic effect), labeling on the container itself, and the like can be considered.

また、図15のレイアウト定義においては、これらの詳細の属性は記載していなかったが、これらもレイアウト定義部に記憶してもよい。また対応付けて別の記憶部に記憶してもよい。   In the layout definition of FIG. 15, these detailed attributes are not described, but they may be stored in the layout definition unit. Moreover, you may match and memorize | store in another memory | storage part.

図17は、オブジェクトの属性編集結果が反映されたレイアウト定義のデータ構成の一例を示す図である。図17のLabel1508に図16の属性編集で変更した結果が登録されている。   FIG. 17 is a diagram illustrating an example of a data structure of a layout definition that reflects an attribute editing result of an object. The result changed by the attribute editing of FIG. 16 is registered in Label 1508 of FIG.

図18は、一括作成とオブジェクトの属性編集を実施した画面の一例を示す図である。図13に対して、オブジェクトのラベル(グリッドオブジェクト1002の列オブジェクトを含む)を変更した結果である。   FIG. 18 is a diagram illustrating an example of a screen on which batch creation and object attribute editing are performed. This is a result of changing the label of the object (including the column object of the grid object 1002) with respect to FIG.

以上により、select文を用いて、プログラム開発装置101における開発者によるレイアウト定義、レイアウト定義の一括作成を行う操作、およびプログラム開発装置101またはプログラム開発サーバ102が、レイアウト定義を一括作成する処理動作の実施形態の一例の説明を完了する。   As described above, the layout definition by the developer in the program development apparatus 101 using the select statement, the operation for batch creation of the layout definition, and the processing operation in which the program development apparatus 101 or the program development server 102 creates the layout definition at once. The description of the exemplary embodiment is completed.

次に、前述の通りレイアウト定義された画面に、データベース検索結果の値を設定するアクション定義と、アクション定義により開発されたアプリケーションの動作について説明する。   Next, the action definition for setting the value of the database search result on the screen whose layout is defined as described above, and the operation of the application developed by the action definition will be described.

図19は、開発者がアクション定義を行う画面の一例を示す図である。アクション定義には、引き続きプログラム開発装置101を用いる。本例では、開発GUI600のアクション定義605により、アクションを定義するものとして説明する。   FIG. 19 is a diagram illustrating an example of a screen on which a developer performs action definition. The program development apparatus 101 is continuously used for action definition. In this example, description will be made assuming that an action is defined by the action definition 605 of the development GUI 600.

前述の通り、実際の開発作業(アクション定義操作)を進めるにあたり、プログラム開発装置101単体で動作可能であってもよい。   As described above, when the actual development work (action definition operation) proceeds, the program development apparatus 101 may be operable alone.

アクション定義1901には、アクション定義の対象となっているオブジェクトIDと、そのラベルが表示されている。ここでは、図13で定義したオブジェクトID“button1”が表示されている(ラベルは“検索”と変更されている)。   The action definition 1901 displays an object ID that is the target of the action definition and its label. Here, the object ID “button 1” defined in FIG. 13 is displayed (the label is changed to “search”).

アクション定義領域1902には、当初は1つのクエリ定義が可能な1行分のテキストボックスが表示されている。1つのクエリ定義に必要な情報は、クエリ名指定フィールド1903、条件項目指定フィールド1904、表示グループ指定フィールド1905の3つである。1つのアクション定義には、複数のクエリ定義を含むことが能であり、そのためには、前述のクエリ定義用の行を追加する必要がある。例えば、画面下方のクエリ追加ボタン1916をクリックして行を追加してもよいし、1つの行に入力を開始したタイミングなど何らかのイベントにより、予め空白の1行を追加するようにしてもよい。   In the action definition area 1902, a text box for one line in which one query definition can be initially displayed is displayed. Information necessary for one query definition includes three items: a query name designation field 1903, a condition item designation field 1904, and a display group designation field 1905. An action definition can include a plurality of query definitions. To do so, it is necessary to add a row for the above-described query definition. For example, a line may be added by clicking the query addition button 1916 at the bottom of the screen, or a blank line may be added in advance by some event such as the timing of starting input on one line.

クエリ名指定フィールド1903は、アクション定義と後述するクエリ定義を関連付けるためのものである。ここでは名前を付けて開発者に分かりやすくしているが、内部情報としては単なるクエリIDでもよい。図20、図21のテーブルでは、queryIDとして対応付けている。クエリ名で対応付ける、あるいは開発者にクエリIDを直接みせても定義上問題はない。あくまで本画面、図20、図21の構成はあくまで一例に過ぎない。   A query name designation field 1903 is for associating an action definition with a query definition described later. Here, a name is given to make it easy for the developer to understand, but the internal information may be a simple query ID. In the tables of FIG. 20 and FIG. 21, they are associated as query IDs. There is no problem in definition even if the query name is associated or the query ID is directly shown to the developer. The configuration of this screen and FIGS. 20 and 21 are merely examples.

条件項目指定フィールド1904は、後述するクエリ定義内にあるselect文が、パラメータを含む形式で記載されている場合、そのパラメータに渡すための値を表示グループ上のどのテキストボックスから取得するか、など値を指定可能なオブジェクトを指定するものである。例として“id=orderID”が指定されているので、図18の画面では、式の右辺“orderID”(ラベルは“注文番号”に変更してある)から取得して、式の左辺であるパラメータ“id”に値を渡す。   In the condition item specification field 1904, when a select statement in a query definition described later is described in a format including a parameter, from which text box on the display group the value to be passed to the parameter is acquired, etc. An object for which a value can be specified is specified. Since “id = orderID” is specified as an example, in the screen of FIG. 18, the parameter that is obtained from the right side “orderID” of the expression (label is changed to “order number”) and is the left side of the expression Pass a value to “id”.

表示グループ指定フィールド1905は、クエリ定義で指定した検索結果により得られる値を、どの表示グループに設定、表示させるかを指定する項目である。1行目に指定されている“contenaA”は、例えば図18の明細書形式コンテナ613に対応しており、また図15のレイアウト定義情報からは、“contenaA”上のオブジェクトとして(データベースのデータ項目(カラム)に対応するものとしては)“orderID”、“customer”、“date”があると分かる。実際の動作は、図22にて説明する。   A display group designation field 1905 is an item for designating which display group the value obtained from the search result designated in the query definition is set and displayed. “ContenaA” specified in the first line corresponds to, for example, the specification format container 613 in FIG. 18, and from the layout definition information in FIG. 15, as an object on “contenaA” (data item in the database It can be seen that “orderID”, “customer”, and “date” exist as (corresponding to (column)). The actual operation will be described with reference to FIG.

クエリ定義領域1911は、アクション定義領域1902で指定するクエリ名指定フィールド1903に対応する表示の他に、検索DB指定フィールド1912、パラメータ指定フィールド1913、タイプ指定フィールド1914、select文指定フィールド1915から構成されている。   The query definition area 1911 includes a search DB designation field 1912, a parameter designation field 1913, a type designation field 1914, and a select statement designation field 1915 in addition to the display corresponding to the query name designation field 1903 designated in the action definition area 1902. ing.

検索DB指定フィールド1912は、後述のクエリ定義で指定したクエリを実際に実行する際に接続するデータベースサーバ103上のデータベースを指定する。ただし、本発明に係わるアプリケーションクライアント104またはアプリケーションサーバ105においてデータベースサーバ103上のデータベースを特定し、クエリ定義毎に検索DB指定フィールド1912は指定不要としてもよい。なお、データベースサーバ103は、アプリケーションサーバ105と同一の筐体に一体化した構成として動作していてもよいし、ネットワーク107上のデータベースサーバ103aでも、インターネット上のデータベースサーバ103bでもよい。   A search DB designation field 1912 designates a database on the database server 103 to be connected when a query designated by a query definition described later is actually executed. However, the database on the database server 103 may be specified in the application client 104 or the application server 105 according to the present invention, and the search DB designation field 1912 may not be designated for each query definition. The database server 103 may operate as a configuration integrated in the same housing as the application server 105, or may be the database server 103a on the network 107 or the database server 103b on the Internet.

パラメータ指定フィールド1913は、アクション定義領域1902の条件項目指定フィールド1904の内容と対応する情報を記載する。すなわち、後述するアプリケーションの動作において、条件項目指定フィールド1904で指定されたテキストボックス(例では“orderID”)、その他値を設定可能なオブジェクトから値を取り出し、その値を指定のパラメータ(例では“id”)に結びつける。   The parameter designation field 1913 describes information corresponding to the contents of the condition item designation field 1904 in the action definition area 1902. That is, in the operation of the application to be described later, a value is extracted from a text box (“orderID” in the example) designated in the condition item designation field 1904 and other objects that can be set to a value, and the value is designated as a designated parameter (“ id ”).

タイプ指定フィールド1914は、パラメータで渡される値のデータ型を指定する。後述のようにパラメータを複数記載可能とする場合には、データ型も順序を合わせて複数記載可能とする。   A type designation field 1914 designates a data type of a value passed as a parameter. When a plurality of parameters can be described as described later, a plurality of data types can be described in the same order.

select文指定フィールド1915には、実際に検索に使用するselect文が記載されている。ただし、一部にパラメータを含むことが可能である。パラメータに対応する部分には、“:”など指定された記号を付与し、例えば本例では、“:id”と記載された部分がパラメータであり、前述の“id”と結びつけられた値(もとは“orderID”から取得した値)を代入する。   The select sentence designation field 1915 describes a select sentence that is actually used for the search. However, some parameters can be included. A designated symbol such as “:” is assigned to a part corresponding to a parameter. For example, in this example, a part described as “: id” is a parameter, and a value (“ Originally, the value obtained from “orderID” is substituted.

図19の例では、条件項目指定フィールド1904、パラメータ指定フィールド1913の記載は1つとなっているが、例えば“,”や空白区切りで複数指定できるようにしてもよい。条件項目指定フィールド1904自体を複数用意してもよい。さらに、クエリ定義側でパラメータ指定フィールド1913を用意しなくても、例えばアクション定義側で指定した順番に応じて、必ず1番目の条件項目は“praram1”、2番目の条件項目は“param2”が受け取るよう対応付けられていてもよい。   In the example of FIG. 19, the condition item designation field 1904 and the parameter designation field 1913 are described as one. However, for example, a plurality of designations may be made by using “,” or a space separator. A plurality of condition item designation fields 1904 themselves may be prepared. Further, even if the parameter specification field 1913 is not prepared on the query definition side, for example, according to the order specified on the action definition side, the first condition item is always “param1” and the second condition item is “param2”. It may be matched to receive.

また、本例で、アクション定義とクエリ定義を分離しているのは、select文はデータベース検索式として汎用性が高く、1つのクエリ定義を様々なアクション定義から再利用するためである。図20においても説明する。再利用しない構成として、アクション定義の中の1行に直接、検索DB指定フィールド1912、select文指定フィールド1915を指定する方法をとってもよい。また、その場合、後述する図20と図21のテーブルを1つのテーブル構成にしてもよい。   In this example, the action definition and the query definition are separated because the select statement is highly versatile as a database search expression, so that one query definition can be reused from various action definitions. This will also be described with reference to FIG. As a configuration not to be reused, a method may be used in which the search DB designation field 1912 and the select statement designation field 1915 are designated directly on one line in the action definition. In this case, the tables shown in FIGS. 20 and 21 described later may be configured as one table.

図19では、1つのオブジェクト(本例では“検索”ボタン)に対してアクション定義を行ったが、アクション定義完了後、もとのレイアウト定義画面に戻り別のオブジェクトを指定して再度アクション定義画面に来ることで、1つの画面上の複数オブジェクトにアクションを定義可能である。   In FIG. 19, the action definition is performed for one object (in this example, “Search” button). After the action definition is completed, the action definition screen is displayed again by returning to the original layout definition screen and specifying another object. It is possible to define actions for a plurality of objects on one screen.

更に、select文の指定方法は、データベースの構成に従って変更可能である。例えば、図5のテーブル構成であれば、次のselect文を指定することで同様の結果を得ることができる。   Furthermore, the method for specifying the select statement can be changed according to the structure of the database. For example, in the table configuration of FIG. 5, a similar result can be obtained by specifying the following select statement.

“select 注文情報テーブル.orderID,顧客テーブル.customer,注文情報テーブル.date from 注文情報テーブル,顧客テーブル where 注文情報テーブル.customerID=顧客テーブル.customerID AND 注文情報テーブル.orderID=:id”   “Select order information table.orderID, customer table.customer, order information table.date from order information table, customer table where order information table.customerID = customer table.customerID AND order information table.orderID =: id”

従って、開発時と本番運用時のテーブル構成が異なっていてもよい。   Accordingly, the table configuration at the time of development and the actual operation may be different.

図20は、アクション定義のデータ構成の一例を示す図である。   FIG. 20 is a diagram illustrating an example of the data structure of the action definition.

アクション定義テーブル2000においては、アクション定義したボタンなどが配置されている画面の画面ID2001が登録されている。ただし、objectID(ボタンのID)や表示グループ2006などから一意的に特定できるのであればなくても良い。   In the action definition table 2000, a screen ID 2001 of a screen on which buttons and the like for which actions are defined is arranged is registered. However, it is not necessary to be able to uniquely identify the object ID (button ID), the display group 2006, or the like.

実行順2003は、1つのオブジェクトに複数のクエリを定義した際の実行順の指定である。図19での指定例では、“button1”に対して、2つのクエリ“query001”、“query002”が定義され、その順で実行されることになる。   The execution order 2003 is designation of the execution order when a plurality of queries are defined for one object. In the example shown in FIG. 19, two queries “query001” and “query002” are defined for “button1” and executed in that order.

また、“query001”は、“button1”以外に“button3”からのアクション定義でも再利用されていることが分かる。その他の項目については、図19のアクション定義で指定した項目をそのまま登録しているので説明を省略する。   It can also be seen that “query001” is reused in the action definition from “button3” in addition to “button1”. Other items are registered as they are as specified in the action definition in FIG.

図21は、クエリ定義のデータ構成の一例を示す図である。図20のアクション定義テーブル2000のqueryと対応付けるためにqueryID2101を用いる。それ以外については、図19のクエリ定義領域1911で指定した項目をそのまま登録しているので説明を省略する。   FIG. 21 is a diagram illustrating an example of a data structure of a query definition. The query ID 2101 is used for associating with the query in the action definition table 2000 of FIG. Other than that, the items specified in the query definition area 1911 in FIG.

図22は、本発明の実施形態におけるアクションの実行処理の一例を示すフローチャートである。   FIG. 22 is a flowchart illustrating an example of action execution processing according to the embodiment of this invention.

本処理は、アプリケーションサーバ105の画面生成部330により生成された画面が、既にアプリケーションクライアント104に表示されており、その画面においてユーザ操作により指示受付オブジェクトがクリックされた前提で実行されるアプリケーションの動作の説明である。   In this process, the screen generated by the screen generation unit 330 of the application server 105 is already displayed on the application client 104, and the operation of the application executed on the assumption that the instruction acceptance object is clicked by the user operation on the screen. It is explanation of.

ステップS2201からステップS2207までは、アプリケーションクライアント104のCPU201が、各ステップを処理する。また、ステップS2211からステップS2220までは、アプリケーションサーバ105のCPU201が各ステップを処理する。またアプリケーションサーバ105は、データベースサーバ103に接続している。なお、アプリケーションクライアント104a、アプリケーションサーバ105a、データベースサーバ103aは、ネットワーク107に存在してもよいし、アプリケーションクライアント104b、アプリケーションサーバ105b、データベースサーバ103bは、インターネット上に存在してもよい。また、アプリケーションサーバ105とデータベースサーバ103は同一の情報処理装置であってもよい。   From step S2201 to step S2207, the CPU 201 of the application client 104 processes each step. Further, from step S2211 to step S2220, the CPU 201 of the application server 105 processes each step. The application server 105 is connected to the database server 103. The application client 104a, the application server 105a, and the database server 103a may exist in the network 107, and the application client 104b, the application server 105b, and the database server 103b may exist on the Internet. Further, the application server 105 and the database server 103 may be the same information processing apparatus.

ステップS2201においては、アプリケーションクライアント104において、ユーザがアクション定義と関連付けられたボタンなどのオブジェクトをクリックした際に、後述する図23のフローチャートで生成された処理が実行される。クリックされたボタンなど(指示受付オブジェクトという)のオブジェクトID(指示受付オブジェクトID)と、図19の条件項目指定フィールド1904で指定されたオブジェクト(条件項目オブジェクトという)から値(条件値と呼ぶ)を取得する。   In step S2201, when the user clicks an object such as a button associated with the action definition in the application client 104, the process generated in the flowchart of FIG. 23 described later is executed. A value (referred to as a condition value) from an object ID (instruction acceptance object ID) of a clicked button or the like (referred to as an instruction acceptance object) and an object (referred to as a condition item object) designated in the condition item designation field 1904 in FIG. get.

ステップS2202においては、ステップS2201で取得した指示受付オブジェクトのオブジェクトIDと条件値と、さらに図23で生成された処理に記憶されたqueryIDを、アプリケーションサーバ105側に引き渡す。ステップS2201とステップS2202の処理については、図23で説明する処理を、予めクライアント側の画面に組み込んでおき実行する。   In step S2202, the object ID and condition value of the instruction receiving object acquired in step S2201 and the query ID stored in the process generated in FIG. 23 are delivered to the application server 105 side. As for the processes in steps S2201 and S2202, the processes described in FIG. 23 are incorporated in advance on the screen on the client side and executed.

ステップS2211においては、アプリケーションクライアント104から引き渡された指示受付オブジェクトのオブジェクトIDと、条件値、queryIDを受け付ける。   In step S2211, the object ID, condition value, and query ID of the instruction receiving object delivered from the application client 104 are received.

ステップS2212からステップS2219のループにおいては、前記受け付けたqueryIDに対する処理を実行する(queryIDは複数の可能性がある)。ここでqueryIDの処理の順番は、アクション定義記憶部322において記憶された実行順2003に従う。   In the loop from step S2212 to step S2219, processing for the accepted query ID is executed (there is a possibility that there are a plurality of query IDs). Here, the order of queryID processing follows the execution order 2003 stored in the action definition storage unit 322.

ステップS2213においては、1つのqueryIDに着目する。ステップS2214においては、前記着目中のqueryIDに基づき、クエリ定義記憶部323からクエリ定義を取得する。   In step S2213, attention is paid to one query ID. In step S2214, a query definition is acquired from the query definition storage unit 323 based on the focused query ID.

ステップS2215においては、クエリ定義において指定された接続先DBに接続する(必要があればオープンする)。またステップS2216においては、クエリ定義において指定されたselect文を取得する。本select文は、パラメータ部を含んだ記載をされている場合がある。   In step S2215, connection is made to the connection destination DB specified in the query definition (opening if necessary). In step S2216, the select statement specified in the query definition is acquired. This select sentence may be described including a parameter part.

ステップS2217においては、前記select文がパラメータ部を含む場合に、アプリケーションクライアント104から受け付けたパラメータ値を代入する。ステップS2218においては、前記パラメータ値を代入済み(パラメータ値がない場合は、クエリ定義から取得したまま)のselect文を実行する。   In step S2217, if the select statement includes a parameter part, the parameter value received from the application client 104 is substituted. In step S2218, a select statement with the parameter value already substituted (if there is no parameter value, it is obtained from the query definition) is executed.

ステップS2220では、前記検索結果が、アプリケーションクライアント104に引き渡しされる。引渡時には、queryID(表示グループ)毎の検索結果が分かるような構成で引き渡す。   In step S2220, the search result is delivered to the application client 104. At the time of delivery, it is delivered in such a configuration that the search result for each query ID (display group) can be known.

アプリケーションクライアント104は、ステップS2203において、アプリケーションサーバ105から引き渡された、検索結果を受け付ける。   The application client 104 receives the search result delivered from the application server 105 in step S2203.

ステップS2204からステップS2206のループでは、アプリケーションサーバ105から受け付けた検索結果に対するループである。本ループは、queryIDと各データ項目(カラム)の2重のループである。   The loop from step S2204 to step S2206 is a loop for the search result received from the application server 105. This loop is a double loop of a query ID and each data item (column).

結果は、queryID毎(表示グループに対応する)および各データ項目(カラム)と値が対応付けられており、また各データ項目名(カラム名)は、表示グループ上の実際のオブジェクトIDと対応付けられているため、対応するオブジェクトに値を設定する。具体的には、ステップS2205において対応するオブジェクト(検索結果表示オブジェクトまたは処理結果表示オブジェクトと呼ぶことにする)に値を設定する。   As a result, each query ID (corresponding to a display group) and each data item (column) are associated with a value, and each data item name (column name) is associated with an actual object ID on the display group. Set a value for the corresponding object. Specifically, a value is set in the corresponding object (referred to as a search result display object or a processing result display object) in step S2205.

なお、例えばAjaxなどにより、必要な部分のみを非同期に更新する方法でもよい。その場合には、アプリケーションクライアント104からアプリケーションサーバ105への要求および結果応答は、queryID毎に行ってもよい。   Note that, for example, a method of updating only necessary portions asynchronously by Ajax or the like may be used. In that case, a request and a result response from the application client 104 to the application server 105 may be performed for each query ID.

また、アプリケーションクライアント104においてユーザが指示受付オブジェクト(例えばボタンオブジェクト)をクリックした画面と、検索結果が表示される画面は異なる画面であってもよい。アクション定義には表示グループが含まれており、これはコンテナまたはグリッドオブジェクトなどとしてIDを持っているため、表示グループがどの画面に属しているかはアプリケーションサーバ105が判別してもよいし、ステップS2202においてアプリケーションクライアント104から引き渡し、ステップS2211においてアプリケーションサーバ105で受け付ける値に、画面IDを含めるようにしてもよい。そのため、図23で生成する処理において、画面IDを処理に含めてもよい。   Further, the screen on which the user clicks the instruction receiving object (for example, the button object) on the application client 104 and the screen on which the search result is displayed may be different. Since the action definition includes a display group, which has an ID as a container or a grid object, the application server 105 may determine which screen the display group belongs to, or in step S2202. The screen ID may be included in the value received from the application client 104 and received by the application server 105 in step S2211. Therefore, the screen ID may be included in the processing in the processing generated in FIG.

さらに、異なる画面である場合には、レイアウト定義記憶部321に含まれるレイアウト定義から、対応する画面を生成し、アプリケーションクライアント104に表示させるとともに、前記の検索結果を受け渡すことで、本フローチャートで説明したこととが実現できる。また、この場合、値を設定するステップS2204からステップS2206までの処理は、アプリケーションサーバ105側で実施してもよい。この場合、結果受渡部336では、検索結果ではなく、画面データを、アプリケーションクライアント104の結果受付部337に渡してもよい。   Furthermore, if the screens are different, a corresponding screen is generated from the layout definition included in the layout definition storage unit 321 and displayed on the application client 104. You can realize what you explained. In this case, the process from step S2204 to step S2206 for setting a value may be performed on the application server 105 side. In this case, the result delivery unit 336 may deliver screen data instead of the search result to the result reception unit 337 of the application client 104.

さらに、アプリケーションクライアント104に表示されている画面であっても、ステップS2204からステップS2206までの処理はアプリケーションサーバ105側で実施し、表示のみアプリケーションクライアント104で実施してもよい。この場合には、画面生成部330において画面データをアプリケーションサーバ105で生成し、結果受渡部336では、検索結果ではなく、画面データを、アプリケーションクライアント104の結果受付部337に渡してもよい。   Furthermore, even on the screen displayed on the application client 104, the processing from step S2204 to step S2206 may be performed on the application server 105 side, and only the display may be performed on the application client 104. In this case, screen data may be generated by the application server 105 in the screen generation unit 330, and the screen data may be transferred to the result reception unit 337 of the application client 104 instead of the search result in the result transfer unit 336.

この場合、本処理は、アプリケーションサーバ105において、全画面を更新する処理でもよい。その場合には、指示要求オブジェクトIDを含む画面をレイアウト定義記憶部321から取得し、画面を生成してもよい。
以上で、図22のフローチャートの説明は完了する。
In this case, this process may be a process of updating the entire screen in the application server 105. In that case, a screen including the instruction request object ID may be acquired from the layout definition storage unit 321 to generate the screen.
This is the end of the description of the flowchart of FIG.

なお、以上の説明では、例えば“gridB”などと説明したが、ベースとなるコンテナからの階層を明示する必要があれば、“contenaA.lineA3.gridB”と指定するようにしてもよい(図19の表示グループ指定フィールド1905においても同様)。   In the above description, for example, “gridB” has been described. However, if it is necessary to clearly indicate the hierarchy from the base container, “contenaA.lineA3.gridB” may be specified (FIG. 19). The same applies to the display group designation field 1905).

図23は、アプリケーションクライアント画面上の指示受付オブジェクトに対応付ける処理(イベント処理)を生成するフローチャートの一例である。   FIG. 23 is an example of a flowchart for generating a process (event process) associated with an instruction receiving object on the application client screen.

アプリケーションクライアント104の画面上において、ユーザが指示受付オブジェクト(ボタンなど)をクリックすると、その指示受付オブジェクトに対応する処理(図22のフローチャートでは、ステップS2201とステップS2202)が起動させる。この処理は、指示受付オブジェクトに対応するアクション定義に基づいて生成され、画面内に組み込まれている。   When the user clicks an instruction reception object (such as a button) on the screen of the application client 104, processing corresponding to the instruction reception object (steps S2201 and S2202 in the flowchart of FIG. 22) is activated. This process is generated based on the action definition corresponding to the instruction receiving object, and is incorporated in the screen.

本処理は、開発時にプログラム開発装置101またはプログラム開発サーバ102で生成してもよいし、実行時にアプリケーションサーバ105において生成してもよい。以下、実際に処理の説明をするが、システム構成に従って、ステップS2301からステップS2309の各ステップは、プログラムの開発時に本処理が生成される場合であって、プログラムの開発がプログラム開発装置101単体で行われる場合にはプログラム開発装置101のCPU201が、またプログラムの開発がプログラム開発装置101とプログラム開発サーバ102が協調して行う場合にはプログラム開発サーバ102が、アプリケーションの動作時に生成される場合にはアプリケーションサーバ105のCPU201が実行する。   This processing may be generated by the program development apparatus 101 or the program development server 102 during development, or may be generated by the application server 105 during execution. In the following, the processing is actually described. According to the system configuration, each step from step S2301 to step S2309 is a case where this processing is generated at the time of program development, and the program development is performed by the program development apparatus 101 alone. When it is performed, the CPU 201 of the program development apparatus 101, or when the program development apparatus 101 and the program development server 102 cooperate to develop the program, the program development server 102 is generated when the application is operated. Is executed by the CPU 201 of the application server 105.

ステップS2301においては、アプリケーションクライアント104の実行時において、ボタンなどの指示受付オブジェクト(図18では検索ボタン1801。以降図18を例として使用)をユーザがマウスクリックした場合(グラフィカルユーザインタフェース(GUI)上でイベントが発生した場合)、当該指示受付オブジェクト(例では、検索ボタン1801)のオブジェクトID(“button1”)を取得する必要がある。ここでは、オブジェクトIDを取得する処理を生成する。   In step S2301, when the application client 104 is executed, when a user clicks an instruction receiving object such as a button (search button 1801 in FIG. 18; hereinafter, FIG. 18 is used as an example) (on the graphical user interface (GUI)). In the event that an event has occurred, it is necessary to acquire the object ID (“button 1”) of the instruction receiving object (in the example, the search button 1801). Here, a process for acquiring the object ID is generated.

ステップS2302からステップS2307までは、指示受付オブジェクトに対応付けられたクエリ定義のqueryIDに対する処理を生成するループである。アプリケーションサーバ105で処理するためにqueryIDをパラメータとして引き渡すためである。ただし、アプリケーションサーバ105側で、指示受付オブジェクトIDに基づきアクション定義記憶部からqueryIDを取得するように図22のフローチャートを構成する場合には、本処理の生成はなくてもよい。   Steps S2302 to S2307 are a loop for generating a process for the query definition queryID associated with the instruction receiving object. This is for passing the query ID as a parameter for processing by the application server 105. However, when the application server 105 configures the flowchart of FIG. 22 so as to acquire the query ID from the action definition storage unit based on the instruction reception object ID, the generation of this process may not be performed.

ステップS2303においては、着目中のqueryIDを生成中の本処理に保持するためのコードを生成する。   In step S2303, a code for holding the query ID being noticed in the present process being generated is generated.

ステップS2304からステップS2306においては、ステップS2303において着目中のqueryIDに引き渡すパラメータ値を取得するためのループである。   Steps S2304 to S2306 are a loop for acquiring a parameter value to be transferred to the query ID being noticed in step S2303.

ステップS2305においては、1つの条件項目オブジェクトに着目し、その値を取得するための処理を生成する。   In step S2305, attention is paid to one condition item object, and a process for acquiring the value is generated.

全てのqueryIDに対して、全ての条件項目値から値を取得する処理のコード生成が完了したら、ステップS2308において、前述までの処理で取得した指示受付オブジェクトID、queryID、queryIDのパラメータ値をアプリケーションサーバ105に引き渡す処理のコードを生成する。   When the code generation of the process of acquiring values from all the condition item values is completed for all the query IDs, in step S2308, the parameter values of the instruction receiving object ID, the query ID, and the query ID acquired in the above processes are used as the application server. A code for processing to be delivered to 105 is generated.

ステップS2309において、上記生成した処理を一連の処理として指示受付オブジェクトに対応付ける。   In step S2309, the generated process is associated with the instruction receiving object as a series of processes.

ここで、対応付けとは、開発時に本処理を生成するのであれば、例えばアクション定義記憶部322において記憶させる、またアプリケーションサーバ105においてアプリケーション実行時に生成するのであれば、アプリケーションクライアント104に表示する画面内に記憶させる、などの方法がある。
以上で図23のフローチャートについて説明を完了する。
Here, the association is a screen displayed on the application client 104 if the process is generated at the time of development, for example, stored in the action definition storage unit 322, or if generated at the time of application execution in the application server 105. There is a method of memorizing in.
This completes the description of the flowchart of FIG.

以上により、プログラム開発装置101において、開発者がselect文によりアプリケーションの動作を定義する方法と、その定義に従ったアプリケーションの動作についての一例についての説明を完了する。   As described above, the program development apparatus 101 completes the description of an example of the method in which the developer defines the operation of the application by the select statement and the operation of the application in accordance with the definition.

次に、第二の実施の形態を説明する。第二の実施の形態は、SQL文を用いる方式以外の方式であって、レイアウトの一括作成、アクションの定義によるアプリケーション画面へのデータ項目(カラム)の表示を実施する方法としてREST方式について説明する。   Next, a second embodiment will be described. The second embodiment is a method other than a method using an SQL sentence, and a REST method will be described as a method for performing batch creation of a layout and display of data items (columns) on an application screen by action definition. .

本実施形態において、REST方式とは、ウェブサーバが規定するURLにより、ウェブサーバにレスポンスデータを要求する方式である。このURLには、ウェブサーバが規定する引数を含めることにより、要求するレスポンスデータを指定することができる。REST方式の要求に対して、ウェブサーバ側は、規定された形式のレスポンスデータを戻り値として戻す。戻り値としては、呼出側が容易に解析できるJSON形式、CSV形式、XML形式、その他のテキスト形式がある。本例ではJSON形式を用いて説明するが、JSON形式に制限するものではない。   In the present embodiment, the REST method is a method for requesting response data from the web server using a URL defined by the web server. In this URL, the response data to be requested can be specified by including an argument defined by the web server. In response to the REST request, the web server returns response data in a prescribed format as a return value. The return value includes a JSON format, a CSV format, an XML format, and other text formats that can be easily analyzed by the caller. In this example, the description will be made using the JSON format, but it is not limited to the JSON format.

また、呼出側からREST方式のURLによりレスポンスデータを要求され、規定の形式でレスポンスデータを返すウェブサービスを提供するウェブサーバを、RESTサーバ106と呼ぶことにする。   A web server that provides a web service that requests response data from a caller by a REST URL and returns response data in a prescribed format is referred to as a REST server 106.

なお、RESTは、Representational State Transferの略、JSONは、Java(登録商標)Script Object Notationの略である。   Note that REST is an abbreviation for Representation State Transfer, and JSON is an abbreviation for Java (registered trademark) Script Object Notation.

図24は、RESTサーバ106に対するREST方式の要求を示すURLと対応するレスポンスデータの一例である。   FIG. 24 is an example of response data corresponding to a URL indicating a REST request to the REST server 106.

REST方式のURLとして“http://hostname.jp/order/001”を指定することで、RESTサーバ106は注文書データ、注文品目データをレスポンスデータとして返す。引数として指定された“001”は注文番号を意味する。図4において、注文書テーブル400、注文品目テーブル410を、orderIDとして“001”を指定して検索する事に相当する。“http://hostname.jp/order/001”のように引数を記述する規定は、あくまであるRESTサーバ106の例である。別のRESTサーバ106であれば、“http://hostname.jp/order?order_ID=‘001’”というように、引数を記述するよう規定されていても良い。すなわち「?引数名=値&引数名=値&引数名=値・・・」というように複数の引数をRESTサーバ106に渡すことが出るよう規定されていても良い。   By specifying “http://hostname.jp/order/001” as the URL of the REST method, the REST server 106 returns the order form data and the order item data as response data. “001” designated as an argument means an order number. In FIG. 4, this corresponds to searching the order form table 400 and the order item table 410 by specifying “001” as the order ID. The rule describing an argument such as “http://hostname.jp/order/001” is merely an example of a certain REST server 106. In the case of another REST server 106, it may be defined that an argument is described as “http://hostname.jp/order?order_ID=‘001’ ”. That is, it may be defined that a plurality of arguments are passed to the REST server 106 such as “? Argument name = value & argument name = value & argument name = value...

一方、レスポンスデータの例としては、JSON形式で記載している。データの内容としては、注文書データと注文品目データの2つの連想配列(部分データ構成)が含まれている。引数に注文番号“001”を指定しているため、“order_IDが‘001’であるレスポンスデータのみが連想配列に含まれている。注文書データは、JSON形式のデータ中、ルートに記載されたデータであることを示す“$result”に対応する連想配列である。データが一意的に決定されるため、連想配列は1レコードのみ含んでいる。   On the other hand, an example of response data is described in the JSON format. The contents of the data include two associative arrays (partial data configuration) of order form data and order item data. Since the order number “001” is specified as an argument, only the response data whose “order_ID is“ 001 ”is included in the associative array. The order form data is described in the route in the JSON format data. This is an associative array corresponding to “$ result” indicating that it is data, and since the data is uniquely determined, the associative array includes only one record.

連想配列は、“キーワード:値”という形で構成されている。前記注文書データの例では、“order_id”、“customer_name”、“telephone”、“date”、“total_price”の5つのキーワードが含まれている。それぞれのキーワードに対応する値は、各々‘001’、‘山下産業(株)’、‘03−1234−5678’、‘2011/01/26’、‘1000000’である。   The associative array is configured in the form of “keyword: value”. In the example of the order form data, five keywords “order_id”, “customer_name”, “telephone”, “date”, and “total_price” are included. The values corresponding to the respective keywords are ‘001’, ‘Yamashita Sangyo Co., Ltd’, ‘03 -1234-5678 ’,‘ 2011/01/26 ’, and‘ 1000000 ’.

また、注文品目データは、“$order_items”に対応する連想配列である。正確には、ルート“$result”の下の階層にあるため、“$result.$order_items”で指定される。注文品目データの連想配列には、3レコードが含まれている。また、キーワードは4つであり、“order_id”、“product_name”、“price”、“amount”の4つである。   The order item data is an associative array corresponding to “$ order_items”. To be precise, since it is in the hierarchy below the root “$ result”, it is specified by “$ result. $ Order_items”. The associative array of the order item data includes 3 records. Further, there are four keywords, “order_id”, “product_name”, “price”, and “amount”.

すなわち、本例では、“order_id”を引数として検索された2つの連想配列がレスポンスデータとして返されるものである。   That is, in this example, two associative arrays searched using “order_id” as an argument are returned as response data.

図25は、REST方式に基づき、明細書形式コンテナにおける、一括作成によるレイアウトの自動作成を説明するための図である。   FIG. 25 is a diagram for explaining automatic layout creation by batch creation in a specification format container based on the REST method.

図25については、図9の説明とほぼ同様となるため、異なる部分を説明する。   Since FIG. 25 is almost the same as the description of FIG. 9, different parts will be described.

開発GUI600において、図9における接続先DB指定フィールド901、SQL指定フィールド902のかわりに、REST方式による定義(図25)では、URL指定フィールド2501、対象配列指定フィールド2502、抽出式指定フィールド2503がある。なお対象配列のことを指定対象と呼ぶこともある(JSON形式以外では、対象配列の形式ではない場合もあるため)。   In the development GUI 600, instead of the connection destination DB designation field 901 and the SQL designation field 902 in FIG. 9, in the definition based on the REST method (FIG. 25), there are a URL designation field 2501, a target array designation field 2502, and an extraction formula designation field 2503. . Note that the target array may be called a designation target (because it may not be the target array format other than the JSON format).

URL指定フィールド2501には、REST方式のURLを指定する。図25では、例として図24のURL、“http://hostname.jp/order/001”が指定されている。   In the URL designation field 2501, a URL of the REST method is designated. In FIG. 25, the URL of FIG. 24, “http://hostname.jp/order/001” is designated as an example.

対象配列指定フィールド2502は、レスポンスデータに含まれるいずれの連想配列を使用するかを指定するものである。図24のレスポンスデータを用いる場合であれば、注文書データの連想配列を示す“$result”、または注文品目データの連想配列を示す“$result.$order_items”のいずれかが指定される。図25においては、“$result”が指定されている。   The target array designation field 2502 designates which associative array included in the response data is used. If the response data of FIG. 24 is used, either “$ result” indicating an associative array of order form data or “$ result. $ Order_items” indicating an associative array of order item data is designated. In FIG. 25, “$ result” is designated.

抽出式指定フィールド2503には、連想配列のキーワードのうちのいずれを、レイアウト定義に使用するか、また使用する場合にいかなるデータ項目名(カラム名)として扱うかを対応付けるものである。“{*}”(抽出式2504a)を指定して一括作成ボタン903をクリックすると、レスポンスデータの対象配列“$result”に対応する全キーワードに対して、図9の明細書形式コンテナ613aと同様に、明細書形式コンテナ2505に一括作成処理がなさせる。すなわち、5つの行形式コンテナ2506a〜eと、連想配列“注文書データ”の5つのキーワードを見出しとするテキストオブジェクトが生成される。さらに、各テキストオブジェクトには、各キーワードに対応する値が表示される。一括作成の詳細は、図27のフローチャートにおいて説明する。   The extraction formula designation field 2503 is associated with which of the keywords of the associative array is used for layout definition and what data item name (column name) is treated when used. When “{*}” (extraction formula 2504a) is specified and the batch creation button 903 is clicked, all keywords corresponding to the response data target array “$ result” are the same as the specification format container 613a of FIG. Next, the statement format container 2505 is made to perform batch creation processing. In other words, a text object is generated with five line format containers 2506a to 2506e and five keywords of associative array “order form data” as headings. Further, each text object displays a value corresponding to each keyword. Details of the batch creation will be described with reference to the flowchart of FIG.

図9においては、図14のフローチャートにより、select文の検索結果である各データ項目名(カラム名)をテキストオブジェクトの見出しおよびオブジェクトIDとして用いた。REST方式で、抽出式指定フィールド2503に指定された抽出式が前述の通り“{*}”(抽出式2504a)の場合には、キーワード自体をデータ項目名(カラム名)として、同様に処理する。   In FIG. 9, according to the flowchart of FIG. 14, each data item name (column name) that is the search result of the select sentence is used as the heading and object ID of the text object. In the REST method, when the extraction formula designated in the extraction formula designation field 2503 is “{*}” (extraction formula 2504a) as described above, the keyword itself is used as the data item name (column name) and the same processing is performed. .

連想配列の一部のキーワードについてのみを選択し、あるいは、キーワードと異なるデータ項目名(カラム名)に置き換える場合には、抽出式2504bのように、“データ項目名(カラム名):キーワード”の対応付けを定義する。   When only a part of keywords in the associative array is selected or replaced with a data item name (column name) different from the keyword, “data item name (column name): keyword” is extracted as in the extraction formula 2504b. Define the mapping.

抽出式2504bでは、“order_id”、“customer_name”、“date”の3つのキーワードを抽出し、各々“orderID”、“customer”、“date”というデータ項目名(カラム名)に対応付けている。これらの指定をした上で、一括作成ボタン903をクリックすると、レスポンスデータの対象配列“$result”に対応する抽出した3キーワードに対して、図9の明細書形式コンテナ613bと同じ結果が得られる。   In the extraction formula 2504b, three keywords “order_id”, “customer_name”, and “date” are extracted and associated with data item names (column names) “orderID”, “customer”, and “date”, respectively. When the batch creation button 903 is clicked after making these specifications, the same result as the specification format container 613b of FIG. 9 is obtained for the three extracted keywords corresponding to the target array “$ result” of the response data. .

なお、抽出式2504bでは、“データ項目名(カラム名):キーワード”と記述することでキーワードをデータ項目名(カラム名)に対応付けるよう定義したが、データ項目名(カラム名)は省略することができる。   In the extraction formula 2504b, “data item name (column name): keyword” is defined to associate the keyword with the data item name (column name), but the data item name (column name) is omitted. Can do.

例えば、抽出式を“{order_id、customer_name、date}”と定義できる。この場合には、キーワード自体をデータ項目名(カラム名)とする。   For example, the extraction formula can be defined as “{order_id, customer_name, date}”. In this case, the keyword itself is the data item name (column name).

図26は、REST方式に基づき、グリッドオブジェクトにおける、一括作成によるレイアウトの自動作成を説明するための図である。   FIG. 26 is a diagram for explaining automatic layout creation by batch creation in a grid object based on the REST method.

図26については、図11とほぼ同様のため、異なる部分のみを説明する。   Since FIG. 26 is substantially the same as FIG. 11, only different parts will be described.

URL指定フィールド2501には図25と同様に、図24のURL、“http://hostname.jp/order/001”が入力されている。   As in FIG. 25, the URL of FIG. 24, “http://hostname.jp/order/001”, is input to the URL designation field 2501.

対象配列指定フィールド2502は、注文品目データの連想配列を示す“$result.$order_items”が指定されている。   In the target array designation field 2502, “$ result. $ Order_items” indicating an associative array of order item data is designated.

抽出式指定フィールド2503には、抽出式2601が指定されている。   An extraction formula 2601 is specified in the extraction formula designation field 2503.

これらの指定により、図24の“注文品目データ”に対応する連想配列から、“product_name”、“price”、“amount”の3つのキーワードが抽出される。また、各々のキーワードは、データ項目名(カラム名)、“product”、“price”、“amount”に対応付けられる。   With these designations, three keywords “product_name”, “price”, and “mount” are extracted from the associative array corresponding to “order item data” in FIG. Each keyword is associated with a data item name (column name), “product”, “price”, and “mount”.

一括作成ボタン903をクリックすると、図11の1102bと同様、グリッドオブジェクト2602に、前記抽出された3つのデータ項目名(カラム名)に対応する列が生成され、値が表示される。   When the batch creation button 903 is clicked, columns corresponding to the three extracted data item names (column names) are generated in the grid object 2602 and the values are displayed as in the case of 1102b in FIG.

ただし、図24のレスポンスデータ中の注文品目データに3レコードしかデータが含まれないため、表示も3行に限られる。   However, since only 3 records are included in the order item data in the response data of FIG. 24, the display is also limited to 3 lines.

図27は、本発明の実施形態における一括作成部の処理の一例を示すフローチャートである。プログラム開発装置101のCPU201が、各ステップを実行する。REST方式による一括作成の処理であるが、図14で説明したフローチャート(SQL文による一括作成の処理)との違いは、戻り値であるレスポンスデータ(図24)から、SQL文の戻り値であるテーブルと同等のデータ構成を作成する部分である。図14のステップS1401〜S1404に対応する部分を、図27のステップS2701〜S2714の処理で置き換えることで実現する。   FIG. 27 is a flowchart showing an example of processing of the batch creation unit in the embodiment of the present invention. The CPU 201 of the program development apparatus 101 executes each step. The batch creation processing by the REST method is different from the flowchart described in FIG. 14 (batch creation processing by the SQL statement) from the response data (FIG. 24) that is the return value. This is the part that creates the data structure equivalent to the table. It implement | achieves by replacing the part corresponding to step S1401-S1404 of FIG. 14 by the process of step S2701-S2714 of FIG.

ステップS2701〜S2714においてテーブルと同等のデータ構成を作成することにより、後述するとおり、図14のフローチャートと同様の処理となる。   By creating a data structure equivalent to the table in steps S2701 to S2714, the processing is the same as in the flowchart of FIG.

ステップS2701においては、一括作成ボタン903がクリックされた際に選択されている明細書形式コンテナ、またはグリッドオブジェクトのIDを、一括作成先の表示グループのIDとして取得する。   In step S2701, the specification format container or grid object ID selected when the batch creation button 903 is clicked is acquired as the ID of the batch creation destination display group.

ステップS2702においては、REST方式の要求としてURL指定フィールド2501で指定したURL(例として図24のURL)を受け付け、RESTサーバ106に対して発行する。   In step S2702, the URL specified in the URL specification field 2501 (for example, the URL in FIG. 24) is received as a REST request and issued to the REST server 106.

ステップS2703においては、ステップS2702において発行した要求に対してのレスポンスデータ(例として図24のレスポンスデータ)を受信する。   In step S2703, response data for the request issued in step S2702 (for example, response data in FIG. 24) is received.

ステップS2704においては、対象配列指定フィールド2502で指定した対象配列に基づき、レスポンスデータから連想配列を取得する(図24では、注文書データ、または注文品目データ)。   In step S2704, an associative array is acquired from the response data based on the target array specified in the target array specifying field 2502 (in FIG. 24, order form data or order item data).

ステップS2705では、抽出式指定フィールド2503で指定した抽出式に基づき、カラムリストを生成する。抽出式2504aのように抽出式が“{*}”の場合には、連想配列の全キーワードを、データ項目名(カラム名)とみなして、カラムリストを作成する。抽出式2504bまたは抽出式2601のように、データ項目名(カラム名)とキーワードの具体的な対応付けが指定されている場合には、指定されたデータ項目名(カラム名)からカラムリストを作成する。   In step S2705, a column list is generated based on the extraction formula designated in the extraction formula designation field 2503. When the extraction formula is “{*}” as in the extraction formula 2504a, all the keywords in the associative array are regarded as data item names (column names), and a column list is created. If a specific association between a data item name (column name) and a keyword is specified as in extraction formula 2504b or extraction formula 2601, a column list is created from the specified data item name (column name). To do.

ステップS2706においては、前記カラムリストに含まれるデータ項目(カラム)により構成される、空の(データが1行もない)テーブルを生成する。   In step S2706, an empty table (with no data in one row) composed of data items (columns) included in the column list is generated.

ステップS2707からステップS2714までのループ処理においては、前述の処理で取得した連想配列の各行に対する処理を1行ずつ着目して実施する。   In the loop processing from step S2707 to step S2714, the processing for each row of the associative array acquired in the above-described processing is performed focusing on one row.

ステップS2708においては、前記テーブルに空の行(データ項目に対応する値が設定されていない行)を1行追加する。   In step S2708, one empty row (a row in which a value corresponding to the data item is not set) is added to the table.

ステップS2709からステップS2713までのループ処理においては、前記のカラムリストに含まれる各データ項目(カラム)に対するループ処理である。   The loop process from step S2709 to step S2713 is a loop process for each data item (column) included in the column list.

ステップS2710においては、カラムリストから1つのデータ項目(カラム)に着目する。   In step S2710, attention is focused on one data item (column) from the column list.

ステップS2711においては、抽出式に基づき、データ項目(カラム)に対応する連想配列のキーワードを取得し、連想配列の着目中の行から前記キーワードに対応する値を取得する。この値を、データ項目(カラム)に対応する値とみなす。抽出式が“{*}”で指定されている場合には、データ項目(カラム)そのものを連想配列のキーワードとする。   In step S2711, the keyword of the associative array corresponding to the data item (column) is acquired based on the extraction formula, and the value corresponding to the keyword is acquired from the row of interest in the associative array. This value is regarded as a value corresponding to the data item (column). When the extraction formula is designated by “{*}”, the data item (column) itself is used as an associative array keyword.

ステップS2712においては、テーブルの着目中の行(ステップS2708においてテーブルに追加した行)における着目中のデータ項目(カラム)に、ステップS2711で取得した値を設定する。   In step S 2712, the value acquired in step S 2711 is set in the data item (column) of interest in the row of interest in the table (the row added to the table in step S 2708).

ステップS2709からステップS2713のループにより指定の処理を繰り返すことで、連想配列の1行分のデータのうち、カラムリストに対応するデータ項目(カラム)の値が、テーブルの1行分のデータとして設定される。ステップS2707からステップS2714までのループにより指定の処理を繰り返すことで、前記テーブルに、連想配列の全ての行、全てのデータ項目(カラム)に対して値が設定される。   By repeating the specified processing through the loop from step S2709 to step S2713, the value of the data item (column) corresponding to the column list is set as the data for one row of the table among the data for one row of the associative array. Is done. By repeating the designated process through the loop from step S2707 to step S2714, values are set in the table for all rows and all data items (columns) of the associative array.

ステップS2715は、図14のステップS1407に相当し、表示グループ(一括作成先)が明細書形式コンテナか、グリッドオブジェクトかに従った分岐を行う処理である。   Step S2715 corresponds to step S1407 in FIG. 14, and is a process of branching according to whether the display group (collective creation destination) is a specification format container or a grid object.

ステップS2701で取得したIDが明細書形式コンテナのものであればステップS2716に進む。ステップS2701で取得したIDがグリッドオブジェクトのものであればステップS2717に進む。   If the ID acquired in step S2701 belongs to the specification format container, the process advances to step S2716. If the ID acquired in step S2701 is that of a grid object, the process proceeds to step S2717.

ステップS2716は、前述の処理で生成したテーブルに従って、明細書形式コンテナに対してレイアウトの一括作成を実施する処理である。図14のステップS1411〜S1420に相当する部分と同一の処理であり、詳細の説明は省略する。   Step S2716 is a process for collectively creating a layout for the specification format container in accordance with the table generated by the above-described process. The processing is the same as that corresponding to steps S1411 to S1420 in FIG. 14, and detailed description thereof is omitted.

ステップS2717は、前述の処理で生成したテーブルに従って、グリッドオブジェクトに対してレイアウトの一括作成を実施する処理である。図14のステップS1431〜S1441に相当する部分と同一の処理であり、詳細の説明は省略する。
以上で、図27のフローチャートの処理の説明を完了する。
Step S2717 is a process of collectively creating a layout for the grid object in accordance with the table generated by the above-described process. The processing is the same as that corresponding to steps S1431 to S1441 in FIG. 14, and detailed description thereof is omitted.
This completes the description of the processing of the flowchart of FIG.

図28は、一括作成した結果を含む、レイアウト定義記憶部321におけるレイアウト定義のデータ構成の一例を示す図である。   FIG. 28 is a diagram illustrating an example of the data configuration of the layout definition in the layout definition storage unit 321 including the result of batch creation.

図28の定義は、REST方式を用いたものであるが、本定義が生成される過程は、SQL文を用いた方式により、図9から図18で説明した流れとほぼ同様である。そのため、繰り返しになる部分もあるが、図28のレイアウト定義の生成過程を簡単に説明する。   The definition in FIG. 28 uses the REST method, but the process of generating this definition is almost the same as the flow described in FIGS. 9 to 18 by the method using the SQL sentence. Therefore, although there are repeated portions, the generation process of the layout definition in FIG. 28 will be briefly described.

まず、図25で説明したように明細書形式コンテナ613(コンテナIDは“contenaA”とする)上で、抽出式2504bを用いて一括作成をし、結果として図25の613bを得る。一括作成は図27のフローチャートのステップS2716による。   First, as described with reference to FIG. 25, on the specification format container 613 (container ID is “contenaA”), batch creation is performed using the extraction formula 2504b, and as a result, 613b of FIG. 25 is obtained. The batch creation is performed in step S2716 of the flowchart of FIG.

次に図12のように、開発者の操作により1行(行形式コンテナ1201)とグリッドオブジェクト1002(オブジェクトIDは“gridB”)を挿入する。   Next, as shown in FIG. 12, one line (line format container 1201) and a grid object 1002 (object ID is “gridB”) are inserted by the developer's operation.

さらに、グリッドオブジェクト1002に対して、図26で説明したように抽出式2601を用いて一括作成をし、グリッドオブジェクト2602にデータ項目(カラム)および値が生成、表示される。全体のレイアウトは、グリッドオブジェクト2602に表示されたデータが3行に限定されていることを除き、図13のようになる。一括作成は図27のフローチャートのステップS2717による。   Further, as described with reference to FIG. 26, the grid object 1002 is created in a batch using the extraction formula 2601, and data items (columns) and values are generated and displayed on the grid object 2602. The entire layout is as shown in FIG. 13 except that the data displayed on the grid object 2602 is limited to three lines. The batch creation is performed in step S2717 of the flowchart of FIG.

更に図13の説明と同様に、ボタンオブジェクト(オブジェクトIDは“button1”)を追加する。   Further, a button object (object ID is “button1”) is added as in the description of FIG.

更に図16での説明と同様に、各オブジェクトの属性、特に見出しを変更することで、図18と同様の画面になる。ただし前述の通り、グリッドオブジェクト2602の内容が3行であることは図18と異なる部分である。   Further, in the same manner as described with reference to FIG. 16, by changing the attribute of each object, particularly the heading, a screen similar to FIG. 18 is obtained. However, as described above, the content of the grid object 2602 is three lines, which is different from FIG.

説明を前記の作業及び一括作成処理により生成された図28のレイアウト定義のデータ構成に戻す。   The description is returned to the data structure of the layout definition of FIG. 28 generated by the above-described work and batch creation processing.

図28のレイアウト定義のデータ構成は、ほぼ図17と同様である。すなわち、表示グループで指定される明細書形式コンテナ、さらに行形式コンテナ、テキストボックスやボタンなどのオブジェクトの種類、ID、Labelは同様に定義される。   The data structure of the layout definition in FIG. 28 is almost the same as that in FIG. That is, the specification format container specified by the display group, the row format container, the types of objects such as text boxes and buttons, ID, and Label are similarly defined.

異なるのはレイアウトを一括作成するため、図17では、データベースに対応する情報として“接続先DB”、“SQL”が指定されていたのに対して、図28では、REST方式として、“URL”、“対象配列”、“抽出式”が登録されることである。それぞれの情報がどのように用いられるかは、既に説明しているため、ここでは説明を省略する。   The difference is that the layout is created in a lump, and in FIG. 17, “connection destination DB” and “SQL” are designated as information corresponding to the database, whereas in FIG. 28, “URL” is used as the REST method. , “Target sequence” and “extraction formula” are registered. Since how each information is used has already been described, the description is omitted here.

これらのレイアウト定義のデータ構成は、図25の一括作成ボタン903がクリックされ、図27のフローチャートにより実際にレイアウトされるタイミングなどでレイアウト定義記憶部321に登録される。   The layout definition data structure is registered in the layout definition storage unit 321 at the timing when the batch creation button 903 in FIG. 25 is clicked and actually laid out according to the flowchart in FIG.

以上により、REST方式を用いて、プログラム開発装置101における開発者によるレイアウト定義、レイアウト定義の一括作成を行う操作、およびプログラム開発装置101またはプログラム開発サーバ102が、レイアウト定義を一括作成する処理動作の実施形態の一例の説明を完了する。   As described above, using the REST method, the layout definition by the developer in the program development apparatus 101, the operation for batch creation of the layout definition, and the processing operation for the program development apparatus 101 or the program development server 102 to collectively create the layout definition The description of the exemplary embodiment is completed.

次に、REST方式によりアクション定義を行い、実際のアプリケーション動作時に、アプリケーションクライアント104とアプリケーションサーバ105が協調動作する処理について説明する。SQL文による方式と異なる部分を詳細に説明する。   Next, a description will be given of a process in which an action definition is performed by the REST method and the application client 104 and the application server 105 cooperate in an actual application operation. A different part from the system by a SQL sentence is demonstrated in detail.

図29は、開発者がREST方式に基づきアクション定義を行う画面の一例を示す図である。アクション定義には、プログラム開発装置101を用いる。本例では開発GUI600のアクション定義605によりアクション定義を行う。   FIG. 29 is a diagram illustrating an example of a screen on which a developer defines an action based on the REST method. The program development apparatus 101 is used for action definition. In this example, the action definition is performed by the action definition 605 of the development GUI 600.

REST方式による定義(図25)では、URL指定フィールド2901、対象配列指定フィールド2902、抽出式指定フィールド2903を定義する。前記項目には、各々REST方式でレスポンスデータを要求するためのURL、レスポンスデータから処理対象とする連想配列を指定する対象配列、連想配列から必要なキーワードを抽出しデータ項目(カラム)に対応付ける抽出式を定義する。なお、レイアウト作成の場合と同様、対象配列のことを指定対象と呼ぶこともある(JSON形式以外では、対象配列の形式ではない場合もあるため)。   In the definition based on the REST method (FIG. 25), a URL designation field 2901, a target sequence designation field 2902, and an extraction formula designation field 2903 are defined. For each item, a URL for requesting response data in the REST method, a target array for designating an associative array to be processed from the response data, and a required keyword from the associative array are extracted and associated with the data item (column) Define an expression. As in the case of layout creation, the target array may be called a designation target (because it may not be the target array format other than the JSON format).

図19での説明と同様に、条件項目指定フィールド1904とパラメータ指定フィールド1913には対応付けられた複数の項目が指定可能である。すなわち、URL指定フィールド2901において定義されるURLにおいて複数のパラメータ(例では“:id”など)が指定可能である場合には、条件項目指定フィールド1904とパラメータ指定フィールド1913には、複数の項目を指定する。   Similarly to the description in FIG. 19, a plurality of associated items can be designated in the condition item designation field 1904 and the parameter designation field 1913. That is, when a plurality of parameters (such as “: id” in the example) can be designated in the URL defined in the URL designation field 2901, a plurality of items are displayed in the condition item designation field 1904 and the parameter designation field 1913. specify.

また、図19と同様に、定義内容を、アクション定義(アクション定義領域1902にて定義)とクエリ定義(クエリ定義領域1911にて定義)に分離している。アクション定義については、図20で説明したアクション定義テーブル2000として構成されるテーブルに登録、記憶される。また、クエリ定義については、後述の図30のクエリ定義テーブル2100に記憶される。   Similarly to FIG. 19, the definition content is separated into action definition (defined in the action definition area 1902) and query definition (defined in the query definition area 1911). The action definition is registered and stored in a table configured as the action definition table 2000 described with reference to FIG. The query definition is stored in a query definition table 2100 in FIG.

アクション定義テーブル2000に登録、記憶される定義内容ついては、SQL文による方式の場合と、REST方式による場合とで共通である。また、図20の説明において、アクション定義テーブル2000とクエリ定義テーブル2100を、1つのテーブル構成にしてもよいとした。この場合、両方式のために2種類の異なる構成のアクション定義テーブル2000を用意してもよい。あるいは、定義の異なる部分の両方を1つのテーブル構成に含むことができるようにして、単一のアクション定義テーブル2000を用意してもよい。   The definition contents registered and stored in the action definition table 2000 are common to the case using the SQL statement and the case using the REST method. In the description of FIG. 20, the action definition table 2000 and the query definition table 2100 may be configured as one table. In this case, two types of action definition tables 2000 having different configurations may be prepared for both types. Alternatively, a single action definition table 2000 may be prepared so that both parts having different definitions can be included in one table configuration.

図30は、REST方式によるクエリ定義のデータ構成の一例を示す図である。前述の通り、クエリ定義テーブル2100を構成する定義内容は、アクション定義テーブル2000に含めてもよいが、図30では、クエリ定義テーブル2100を分離した構成として説明する。具体的には、図29のクエリ定義領域1911の内容を登録、記憶するものであり、また図21のクエリ定義テーブル2100と同様の構成であるため、異なる部分のみ説明する。   FIG. 30 is a diagram illustrating an example of a data structure of a query definition by the REST method. As described above, the definition contents constituting the query definition table 2100 may be included in the action definition table 2000. However, in FIG. 30, the query definition table 2100 will be described as a separate structure. Specifically, the contents of the query definition area 1911 in FIG. 29 are registered and stored, and the configuration is the same as that of the query definition table 2100 in FIG. 21, so only different parts will be described.

図30のクエリ定義テーブル2100の構成においては、図21のSQL文による方式として登録した接続先DB、select文のかわりに、URL、対象配列、抽出式を登録する。   In the configuration of the query definition table 2100 in FIG. 30, a URL, a target array, and an extraction formula are registered instead of the connection destination DB and the select statement registered as the method using the SQL statement in FIG.

URL3001には、REST方式によりRESTサーバ106にレスポンスデータを要求するURLが定義され、URLは、図29のURL指定フィールド2901で説明したようにパラメータを含むことが可能である。対象配列、抽出式は既に説明しているので省略する。   The URL 3001 defines a URL for requesting response data from the REST server 106 by the REST method, and the URL can include a parameter as described in the URL designation field 2901 of FIG. Since the target sequence and the extraction formula have already been described, they are omitted.

これらの定義は、アプリケーションの実行時に参照されるものであり、詳細の動作については、図31のフローチャートにおいて説明する。   These definitions are referred to when the application is executed, and the detailed operation will be described with reference to the flowchart of FIG.

なお、SQL文による方式とREST方式による場合で、クエリ定義テーブル2100はデータ構成が異なる。両方式に対して、2種類の異なるデータ構成のクエリ定義テーブル2100を用意してもよい。あるいは、定義の異なる部分の両方を1つのテーブル構成に含むことができるようにして、単一のクエリ定義テーブル2100を用意してもよい。   Note that the data structure of the query definition table 2100 differs between the SQL statement method and the REST method. Two types of query definition tables 2100 having different data configurations may be prepared for both types. Alternatively, a single query definition table 2100 may be prepared so that both parts having different definitions can be included in one table configuration.

図31は、本発明の実施形態におけるREST方式で定義したアクションの実行処理の一例を示すフローチャートである。   FIG. 31 is a flowchart illustrating an example of action execution processing defined by the REST method according to the embodiment of this invention.

本処理は、アプリケーションサーバ105の画面生成部330により生成された画面が、既にアプリケーションクライアント104に表示されており、その画面においてユーザ操作により指示受け付けオブジェクトがクリックされた前提で実行されるアプリケーションの動作の説明である。   In this processing, the screen generated by the screen generation unit 330 of the application server 105 is already displayed on the application client 104, and the operation of the application executed on the assumption that the instruction acceptance object is clicked by the user operation on the screen. It is explanation of.

本処理は、SQL文による方式の説明における図22に対応するものであるが、アプリケーションクライアント104側の図を省略している。すなわち、図22のステップS2201からステップ2207までを、アプリケーションクライアント104のCPU201が実行するのに応じて、図31のステップS2211からステップS2214、ステップS3101からステップS3115、ステップS2219からステップS2220までを、アプリケーションサーバ105のCPU201が実行する。各ステップについては、アプリケーションサーバ側の説明のみ行う。   This processing corresponds to FIG. 22 in the description of the method using the SQL sentence, but the illustration on the application client 104 side is omitted. That is, steps S2211 to S2214, steps S3101 to S3115, and steps S2219 to S2220 in FIG. 31 are performed in accordance with the execution of steps S2201 to 2207 in FIG. 22 by the CPU 201 of the application client 104. The CPU 201 of the server 105 executes. Each step is described only on the application server side.

また、データベースサーバ103を含めた構成については、図22での説明と同様である。   The configuration including the database server 103 is the same as that described with reference to FIG.

ステップS2211においては、アプリケーションクライアント104から引き渡された指示受け付けオブジェクトのオブジェクトIDと、条件値、queryIDを受け付ける。   In step S2211, the object ID, the condition value, and the query ID of the instruction receiving object delivered from the application client 104 are received.

ステップS2212からステップS2219のループにおいては、前記受け付けたqueryIDに対応する処理を実行する(queryIDは複数の可能性がある)。ここで、queryIDの処理の順番は、アクション定義記憶部322において記憶された実行順2003(図20)に従う。   In the loop from step S2212 to step S2219, processing corresponding to the accepted query ID is executed (there is a plurality of query IDs). Here, the order of processing of the query ID follows the execution order 2003 (FIG. 20) stored in the action definition storage unit 322.

ステップS2213においては、1つのqueryIDに着目する。ステップS2214においては、前記着目中のqueryIDに基づき、クエリ定義記憶部323からクエリ定義を取得する。   In step S2213, attention is paid to one query ID. In step S2214, a query definition is acquired from the query definition storage unit 323 based on the focused query ID.

ステップS3101においては、前のステップS2214で取得されたクエリ定義に基づき、図30のクエリ定義テーブル2100からURLを取得する。例として“http://hostname.jp/order/:id”を取得する。   In step S3101, the URL is acquired from the query definition table 2100 in FIG. 30 based on the query definition acquired in the previous step S2214. As an example, “http://hostname.jp/order/:id” is acquired.

ステップS3102においては、前記URLがパラメータ部を含む場合には、アプリケーションクライアント104から受け付けたパラメータ値を代入する。例えば、前記URLにパラメータ値“001”を代入すると“http://hostname.jp/order/001”となる。   In step S3102, if the URL includes a parameter part, the parameter value received from the application client 104 is substituted. For example, if the parameter value “001” is substituted into the URL, “http://hostname.jp/order/001” is obtained.

ステップS3103においては、REST方式の要求として前記パラメータ値を代入済み(パラメータ部がない場合は、図30のクエリ定義テーブル2100から取得したまま)のURLを、RESTサーバ106に対して発行する。   In step S3103, a URL that has been assigned the parameter value as a request of the REST method (if it has no parameter part, remains acquired from the query definition table 2100 in FIG. 30) is issued to the REST server 106.

ステップS3104においては、ステップS3103において発行した要求に対してのレスポンスデータ(例として図24のレスポンスデータ)をRESTサーバ106から受信する。   In step S3104, response data for the request issued in step S3103 (for example, the response data in FIG. 24) is received from the REST server 106.

ステップS3105においては、対象配列3002で指定され対象配列に基づき、レスポンスデータから連想配列を取得する。例えば、図24のレスポンスデータに対して、指定が“result”であれば注文書データ、“$result.$order_items”であれば注文品目データを取得する。   In step S3105, an associative array is acquired from the response data based on the target array specified by the target array 3002. For example, with respect to the response data in FIG. 24, if the designation is “result”, the order form data is obtained, and if “$ result. $ Order_items”, the order item data is obtained.

ステップS3106では、図30の抽出式3003で指定された抽出式に基づき、カラムリストを生成する。カラムリストの作成方法については、図27(ステップS2705)と同様なので説明を省略する。   In step S3106, a column list is generated based on the extraction formula designated by the extraction formula 3003 in FIG. The method for creating the column list is the same as that shown in FIG. 27 (step S2705), and a description thereof will be omitted.

ステップS3107においては、前記カラムリストに含まれるデータ項目(カラム)により構成される、空の(データが1行もない)テーブルを生成する。   In step S3107, an empty table (having no data in one row) composed of data items (columns) included in the column list is generated.

ステップS3108からステップS3115までのループ処理においては、前述の処理で取得した連想配列の各行に対する処理を1行ずつ着目して実施する。   In the loop processing from step S3108 to step S3115, the processing for each row of the associative array acquired in the above-described processing is performed focusing on one row.

ステップS3109においては、前記テーブルに空の行(データ項目に対応する値が設定されていない行)を1行追加する。   In step S3109, one empty line (a line in which a value corresponding to the data item is not set) is added to the table.

ステップS3110からステップS3114までのループは、前記のカラムリストに含まれる各データ項目(カラム)に対する処理である。   The loop from step S3110 to step S3114 is processing for each data item (column) included in the column list.

ステップS3111においては、カラムリストから1つのデータ項目(カラム)に着目する。   In step S3111, attention is paid to one data item (column) from the column list.

ステップS3112においては、抽出式に基づき、データ項目名(カラム名)に対応する連想配列のキーワードを取得し、連想配列の着目中の行から前記キーワードに対応する値を取得する。この値を、データ項目(カラム)に対応する値とみなす。抽出式が“{*}”で指定されている場合には、データ項目名(カラム名)そのものを連想配列のキーワードとする。   In step S3112, the keyword of the associative array corresponding to the data item name (column name) is acquired based on the extraction formula, and the value corresponding to the keyword is acquired from the row of interest in the associative array. This value is regarded as a value corresponding to the data item (column). When the extraction formula is specified by “{*}”, the data item name (column name) itself is used as a keyword of the associative array.

ステップS3113においては、テーブルの着目中の行(ステップS3109においてテーブルに追加した行)における着目中のデータ項目(カラム)に、ステップS3112で取得した値を設定する。   In step S3113, the value acquired in step S3112 is set to the data item (column) under attention in the row under consideration in the table (the row added to the table in step S3109).

ステップS3110からステップS3114のループにより指定の処理を繰り返すことで、連想配列の1行分のデータのうち、カラムリストに対応するデータ項目(カラム)の値が、テーブルの1行分のデータとして設定される。ステップS3108からステップS3115までのループにより指定の処理を繰り返すことで、前記テーブルに、連想配列の全ての行、抽出式でキーワードと対応付けられた全てのデータ項目(カラム)に対して値が設定される。   By repeating the specified processing through the loop from step S3110 to step S3114, the value of the data item (column) corresponding to the column list is set as the data for one row of the table among the data for one row of the associative array. Is done. By repeating the specified process through the loop from step S3108 to step S3115, values are set in the table for all data items (columns) associated with keywords in all rows and extraction formulas of associative arrays. Is done.

ステップS2220では、前記生成されたテーブルにレスポンスデータの連想配列のデータ項目(カラム)の値を設定した結果が、アプリケーションクライアント104に引き渡しされる。この結果は、SQL文による方式による場合の検索結果に相当するデータである。   In step S 2220, the result of setting the value of the data item (column) of the associative array of response data in the generated table is delivered to the application client 104. This result is data corresponding to the search result in the case of the method using the SQL sentence.

なお、図22で説明したのと同様に、Ajaxなどにより非同期処理により本処理を実現してもよい、などの構成が可能である。同様に、アプリケーションサーバ105からアプリケーションクライアント104に引き渡すのは、テーブルのデータ(検索結果)ではなく、画面データである処理にすることが可能である。
以上で、図31のフローチャートの説明を完了する。
As described with reference to FIG. 22, a configuration in which this processing may be realized by asynchronous processing using Ajax or the like is possible. Similarly, what is handed over from the application server 105 to the application client 104 can be processing that is screen data, not table data (search results).
Above, description of the flowchart of FIG. 31 is completed.

以上により、プログラム開発装置101において、開発者がREST方式によりアプリケーションの動作を定義する方法と、その定義に従ったアプリケーションの動作についての一実施形態についての説明を完了する。   As described above, in the program development apparatus 101, the description of one embodiment of the method in which the developer defines the operation of the application by the REST method and the operation of the application in accordance with the definition is completed.

次に、第三の実施の形態を説明する。前述の説明では、レイアウトの一括作成を、SQL文による方式とREST方式を個別に実行する方法として説明した。第三の実施の形態では、SQL文による方式とREST方式を、混在することが可能なプログラム開発装置101の説明をする。   Next, a third embodiment will be described. In the above description, the batch creation of the layout has been described as a method of separately executing the SQL statement method and the REST method. In the third embodiment, the program development apparatus 101 capable of mixing the SQL statement method and the REST method will be described.

図32は、レイアウトの一括作成をSQL文とREST方式の両方で定義可能な場合の分岐処理の一例を示すフローチャートである。一括作成ボタン903がクリックされると、プログラム開発装置101のCPU201が、各ステップを実行する。   FIG. 32 is a flowchart showing an example of branch processing when batch creation of layouts can be defined by both the SQL statement and the REST method. When the batch creation button 903 is clicked, the CPU 201 of the program development apparatus 101 executes each step.

レイアウト定義をいずれの方式で行うのか、開発GUI600上、一括作成情報604において開発者に選択させる、などすることができる。また、一括作成情報604における定義内容が異なるため、開発GUI600には、いずれの方法でレイアウト定義されるかの判別可能な情報が含まれている。図32のフローチャートを説明する前に、図34(一括作成の操作をするための画面)について説明する。   With which method layout definition is performed, the developer can be selected in the batch creation information 604 on the development GUI 600. In addition, since the definition contents in the batch creation information 604 are different, the development GUI 600 includes information that can determine which method is used to define the layout. Before describing the flowchart of FIG. 32, FIG. 34 (screen for performing batch creation operation) will be described.

図34は、SQL文とREST方式の両方でレイアウト定義するための画面を説明するための図である。   FIG. 34 is a diagram for explaining a screen for defining a layout in both the SQL sentence and the REST method.

SQL文でレイアウト定義をする図9、REST方式でレイアウト定義をする図25と異なるのは次の点である。すなわち一括作成情報604によりレイアウト定義の操作をする画面を表示したときに、“SQLで一括作成”3401を操作するタブ(3400a)または、“RESTで一括作成”3402を操作するタブ(3400b)を開発者に明示的に選択させる部分が異なる。   The following points are different from FIG. 9 in which the layout is defined by the SQL sentence and FIG. 25 in which the layout is defined by the REST method. That is, when a screen for performing layout definition is displayed using the batch creation information 604, a tab (3400a) for operating “Batch creation with SQL” 3401 or a tab (3400b) for operating “Batch creation with REST” 3402 is displayed. The part that the developer explicitly chooses is different.

さらに、“RESTで一括作成”3402をするタブを選択した場合(3400b)には、REST方式の中でも“JSON形式”、“XML形式”、“CSV形式”などいずれの方法により一括作成するのかを、プルダウンメニュー3403により開発者に選択させる。   Furthermore, when the tab for “Batch creation with REST” 3402 is selected (3400b), it is determined which method of batch creation such as “JSON format”, “XML format”, “CSV format” among the REST methods. The developer is selected from the pull-down menu 3403.

以上により、プログラム開発装置101は、開発者が選択した方法で一括作成の定義させることが可能となる。またプログラム開発装置101は、内部的には、いずれの方法で一括作成の定義をするのかをクエリ種別として記憶することができる。   As described above, the program development apparatus 101 can define batch creation by a method selected by the developer. Also, the program development apparatus 101 can internally store as a query type which method is used to define batch creation.

ステップS3201においては、SQL文による方式かREST方式が判断される。具体的には、前述のクエリ種別により一括作成の方式を判別する。   In step S3201, a SQL sentence method or a REST method is determined. Specifically, the batch creation method is determined based on the above-described query type.

レイアウト定義が、“SQL文による方式として定義されている”と判断された場合には、ステップS3202に進む。“REST方式として定義されている”と判断された場合には、ステップS3203に進む。   If it is determined that the layout definition is “defined as a method using an SQL statement”, the process advances to step S3202. If it is determined that “defined as REST method”, the process advances to step S3203.

ステップS3202においては、SQL文による方式によりレイアウト定義を一括作成する処理を実施する。具体的には、図14において説明したフローチャートに対応する処理を実施する。   In step S3202, a process for creating layout definitions in a batch by a method using an SQL sentence is performed. Specifically, processing corresponding to the flowchart described in FIG. 14 is performed.

ステップS3203においては、REST方式によりレイアウト定義を一括作成する処理を実施する。具体的には、図27において説明したフローチャートに対応する処理を実施する。図27のフローチャートは、JSON形式の場合を説明したものであるが、“XML形式”、“CSV形式”など他の方法を図34のプルダウンメニュー3403により選択されている場合には、各々対応した処理(不図示)を実行する。具体的には、プルダウンメニュー3403により選択したクエリ種別により分岐し、各々分岐した処理を実行する。レイアウト定義を一括作成した後、一括作成情報はレイアウト定義記憶部321に記憶される。   In step S3203, a process for collectively creating layout definitions by the REST method is performed. Specifically, processing corresponding to the flowchart described in FIG. 27 is performed. The flowchart in FIG. 27 describes the case of the JSON format, but other methods such as “XML format” and “CSV format” have been selected when the pull-down menu 3403 in FIG. 34 is selected. Processing (not shown) is executed. Specifically, branching is performed according to the query type selected from the pull-down menu 3403, and each branched process is executed. After the layout definition is created at once, the batch creation information is stored in the layout definition storage unit 321.

図36は、SQL文とREST方式の両方を用いてレイアウト生成した場合のレイアウト定義のデータ構成の一例を示す図である。図36においては、図15のSQL文により一括作成されたレイアウト(クエリ種別3602が“SQL”の場合)と、図28のREST方式により一括作成されたレイアウト(クエリ種別3602が“REST(JSON)”の場合)が混在したデータ構成となっている。クエリ種別3602の記載により、一括作成時の方式を判別できるようにしてもよい。また、レイアウト定義記憶部321にクエリ種別3602を記憶しなくとも、“接続先&データ取得式”3603に記載された内容を文字列として解析する、などによりクエリ種別を判別するようにしてもよい。   FIG. 36 is a diagram illustrating an example of the data configuration of the layout definition when the layout is generated using both the SQL sentence and the REST method. 36, the layout created collectively by the SQL statement of FIG. 15 (when the query type 3602 is “SQL”) and the layout created by the REST method of FIG. 28 (the query type 3602 is “REST (JSON)”. The data structure is mixed. The description of the query type 3602 may be used to determine the batch creation method. Further, without storing the query type 3602 in the layout definition storage unit 321, the query type may be determined by analyzing the contents described in the “connection destination & data acquisition formula” 3603 as a character string. .

前述するフローチャートは、あくまで一例である。両方式に共通した処理がある場合には、分岐するタイミングと、分岐後にステップS3202およびステップS3203において実施する処理は、前述の説明と異なるものであってもよい。   The flowchart described above is merely an example. When there is a process common to both systems, the branching timing and the processes performed in step S3202 and step S3203 after branching may be different from those described above.

図33は、アクション定義から呼び出されるクエリの実行処理を、SQL文とREST方式の両方で定義可能な場合の分岐処理の一例を示すフローチャートである。アクション定義により定義された処理は、例えば図18の検索ボタン1801がクリックされると、アプリケーションクライアント104およびアプリケーションサーバ105のCPU201により協調して処理される。   FIG. 33 is a flowchart illustrating an example of a branch process when the execution process of a query called from an action definition can be defined by both the SQL statement and the REST method. For example, when the search button 1801 in FIG. 18 is clicked, the processing defined by the action definition is processed in cooperation by the CPU 201 of the application client 104 and the application server 105.

前述の説明では、アクション定義により定義された処理の実行について、SQL文による方式とREST方式を個別に説明した(図22および図31)。   In the above description, the SQL statement method and the REST method are individually described for the execution of the process defined by the action definition (FIGS. 22 and 31).

しかし、前述の通り、開発GUI600のアクション定義605によりアクション定義を行うが、クエリ定義毎に、SQL文による方式、あるいはREST方式のいずれにて定義を行うか、開発者が選択できるようにさせてもよい。すなわち、定義するアクションによってSQL文による方式、REST方式のいずれにて定義を行うかが異なってもよいし、また1つのアクション定義において、両方式が混在してもよい。図33のフローチャートを説明する前に、図35(アクション定義の操作をするための画面)、図37(アクション定義のデータ構成)、図38(クエリ定義のデータ構成)について説明する。   However, as described above, the action definition is performed by the action definition 605 of the development GUI 600. For each query definition, the developer can select whether the definition is performed by the SQL statement method or the REST method. Also good. That is, depending on the action to be defined, it may be different whether the method is defined by the SQL statement method or the REST method, or both methods may be mixed in one action definition. Before explaining the flowchart of FIG. 33, FIG. 35 (screen for performing action definition), FIG. 37 (data structure of action definition), and FIG. 38 (data structure of query definition) will be explained.

図35は、SQL文とREST方式の両方でアクション定義するための画面を説明するための図である。アクション定義画面3500bでは、クエリ定義画面の部分のみ図35に記載し、その他の部分は省略しているが、実際にはアクション定義画面3500aと同じで、“SQLによる定義”3501を選択しているか、“RESTによる定義”3502を選択しているかが異なるだけである。   FIG. 35 is a diagram for explaining a screen for defining an action using both the SQL statement and the REST method. In the action definition screen 3500b, only the part of the query definition screen is shown in FIG. 35, and the other parts are omitted, but is actually the same as the action definition screen 3500a, and is “definition by SQL” 3501 selected? The only difference is whether or not “define by REST” 3502 is selected.

また、SQL文でアクション定義をする図19、REST方式でレイアウト定義をする図29と異なるのは次の点である。すなわちアクション定義605によりアクション定義の操作をする画面を表示したときに、“SQLによる定義”3501を操作するタブ(3500a)または、“RESTによる定義”3502を操作するタブ(3500b)を開発者に明示的に選択させる部分が異なる。   Also, the following points are different from FIG. 19 in which action definition is performed with an SQL sentence and FIG. 29 in which layout definition is performed with the REST method. In other words, when a screen for operating an action definition by the action definition 605 is displayed, a tab (3500a) for operating the “definition by SQL” 3501 or a tab (3500b) for operating the “definition by REST” 3502 is given to the developer. The part to be explicitly selected is different.

さらに、“RESTによる定義”3402を操作するタブを選択した場合(3500b)には、REST方式の中でも“JSON形式”、“XML形式”、“CSV形式”などいずれの方法によりアクション定義をするのかを、プルダウンメニュー3503により開発者に選択させる。   Further, when the tab for operating “definition by REST” 3402 is selected (3500b), which of the REST methods, such as “JSON format”, “XML format”, “CSV format”, etc., is used for action definition? Is selected by the developer from the pull-down menu 3503.

以上により、プログラム開発装置101は、開発者が選択した方法でアクション定義させることが可能となる。   As described above, the program development device 101 can define an action by a method selected by the developer.

これにより、また、アクション定義またはクエリ定義を登録し、記憶する際に、いずれの方式で定義されたのかを指定する情報をともに登録、記憶して実行時の判別するための情報とすることが可能である。   As a result, when registering and storing an action definition or query definition, information specifying which method is used for the registration can be registered and stored as information for determining at the time of execution. Is possible.

図37は、SQL文とREST方式の両方を用いてアクションを定義した場合の、アクション定義のデータ構成の一例を示す図である。図20のデータ構成とほぼ同じ構成である(アクション定義テーブル2000の2001〜2006)。   FIG. 37 is a diagram showing an example of the data structure of the action definition when the action is defined using both the SQL sentence and the REST method. The configuration is almost the same as the data configuration in FIG. 20 (2001 to 2006 in the action definition table 2000).

図20と図37の異なる点は、図37は、クエリ種別3701がデータ構成に含まれている点である。これによりアクションを実行する際に、そのアクションの定義が“SQL”形式であるか、“REST”形式であるか、REST形式であっても更にその詳細の種別が特定される。   20 differs from FIG. 37 in that FIG. 37 includes a query type 3701 in the data structure. As a result, when the action is executed, even if the definition of the action is in the “SQL” format, the “REST” format, or the REST format, the detailed type is specified.

図38は、SQL文とREST方式の両方を用いてアクションを定義した場合の、クエリ定義のデータ構成の一例を示す図である。図21、図30のデータ構成と、ほぼ同じ構成である。図21若しくは図30と、図38の異なる点は、まずはクエリ種別3801がデータ構成に含まれる点である。クエリ種別3801に記載された種別により、接続先3802、データ取得式3803の内容が、“SQL”形式であるか、“REST”形式であるか、REST形式であっても更にその詳細の種別が特定される。   FIG. 38 is a diagram illustrating an example of a data structure of a query definition when an action is defined using both the SQL sentence and the REST method. The data configuration is almost the same as that shown in FIGS. The difference between FIG. 21 or FIG. 30 and FIG. 38 is that the query type 3801 is first included in the data structure. Depending on the type described in the query type 3801, even if the contents of the connection destination 3802 and the data acquisition formula 3803 are in the “SQL” format, the “REST” format, or the REST format, the type of details is further determined. Identified.

なお、図37と図38のクエリ種別はいずれか一方があればよい。また、実際には後述するようにクエリ種別の記載はなくともよい。   Note that either one of the query types in FIGS. 37 and 38 may be provided. In practice, the query type need not be described as will be described later.

ステップS3301においては、クエリ定義の方式が、SQL文による方式か、REST方式かを判断する。具体的には、前述のクエリ種別(図37の3701または図38の3801)により判断される。また前述したように、クエリ種別(図37の3701または図38の3801)を記憶しなくとも、接続先3802またはデータ取得式3803に記載された内容を文字列として解析する、などによりクエリ種別を判別するようにしてもよい。アクションが“SQL文による方式として定義されている”と判断された場合には、ステップS3302に進む。“REST方式として定義されている”と判断された場合には、ステップS3303に進む。   In step S3301, it is determined whether the query definition method is an SQL statement method or a REST method. Specifically, the determination is made based on the above-described query type (3701 in FIG. 37 or 3801 in FIG. 38). Further, as described above, the query type (such as 3701 in FIG. 37 or 3801 in FIG. 38) is stored as a character string without storing the query type (such as 3701 in FIG. 37 or 3801 in FIG. 38). You may make it discriminate | determine. If it is determined that the action is “defined as a method using an SQL statement”, the process advances to step S3302. If it is determined that “defined as REST method”, the process advances to step S3303.

ステップS3302においては、“SQL文による方式”として、図22のステップS2215からステップS2218までの処理を実行する。   In step S3302, the processing from step S2215 to step S2218 in FIG. 22 is executed as “method by SQL statement”.

ステップS3303においては、“REST方式”として、例えばJSON形式であれば、図31のステップS3101からステップS3115までの処理を実行する。また、REST方式として、JSON形式以外にも、XML形式、CSV形式などにより定義する場合には、ステップS3303において、各々の形式に対応する処理を実行する。そのためクエリ定義の方式が、REST方式のいずれであるかを判断して処理の分岐を行う。具体的には、前述のクエリ種別(図37の3701または図38の3801)により判断される。   In step S3303, if the “REST method” is, for example, JSON format, the processing from step S3101 to step S3115 in FIG. 31 is executed. When the REST method is defined in XML format, CSV format or the like other than JSON format, processing corresponding to each format is executed in step S3303. For this reason, it is determined whether the query definition method is the REST method, and the process is branched. Specifically, the determination is made based on the above-described query type (3701 in FIG. 37 or 3801 in FIG. 38).

これにより、両フローチャートは、クエリ定義毎に方式を判別して分岐し、クエリ定義を実行するフローチャートとなる。 Thus, both flowcharts are flowcharts for branching by determining the method for each query definition and executing the query definition.

以上により、レイアウト定義およびアプリケーション実行時に、SQL文による方式とREST方式によるクエリ定義の双方を混在させることが可能であることの説明を完了する。   This completes the description that both the SQL statement method and the REST method query definition can be mixed during layout definition and application execution.

以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。   Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, apparatus, method, program, or recording medium, and specifically includes a plurality of devices. The present invention may be applied to a system including a single device.

また、本発明におけるプログラムは、本発明に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体はコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。   The program according to the present invention is a program that can be executed by a computer according to the processing method of the flowchart shown in the present invention. The storage medium according to the present invention stores a program that can be executed by a computer. The program in the present invention may be a program for each processing method of each device.

以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。   As described above, a recording medium that records a program that implements the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus stores the program stored in the recording medium. It goes without saying that the object of the present invention can also be achieved by executing the reading.

この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。   In this case, the program itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program constitutes the present invention.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。   As a recording medium for supplying the program, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, silicon A disk, solid state drive, or the like can be used.

また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on an instruction of the program is actually It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the processing and the processing is included.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program read from the recording medium is written to the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, the function expansion board is based on the instructions of the program code. It goes without saying that the case where the CPU or the like provided in the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。   Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or apparatus. In this case, by reading a recording medium storing a program for achieving the present invention into the system or apparatus, the system or apparatus can enjoy the effects of the present invention. The form of the program may be in the form of object code, program code executed by an interpreter, script data supplied to an OS (operating system), and the like.

さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。   Furthermore, by downloading and reading a program for achieving the present invention from a server, database, etc. on a network using a communication program, the system or apparatus can enjoy the effects of the present invention.

なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。   In addition, all the structures which combined each embodiment mentioned above and its modification are also included in this invention.

101 プログラム開発装置
102 プログラム開発サーバ
103 データベースサーバ
104 アプリケーションクライアント
105 アプリケーションサーバ
106 RESTサーバ
107 ネットワーク
300 開発画面制御部
301 レイアウト定義部
302 一括作成部
303 アクション定義部
304 クエリ定義部
305 指示引渡処理生成部
306 記憶部
311 一括作成情報受付部
312 カラム名取得部
313 オブジェクト生成部
314 オブジェクト配置部
315 値設定表示部
321 レイアウト定義記憶部
322 アクション定義記憶部
323 クエリ定義記憶部
330 画面生成部
331 パラメータ取得部
332 要求引渡部
333 要求受付部
334 アクション定義取得部
335 検索実行制御部
336 結果受渡部
337 結果受付部
338 結果設定部
339 表示制御部
101 Program Development Device 102 Program Development Server 103 Database Server 104 Application Client 105 Application Server 106 REST Server 107 Network 300 Development Screen Control Unit 301 Layout Definition Unit 302 Batch Creation Unit 303 Action Definition Unit 304 Query Definition Unit 305 Instruction Delivery Processing Generation Unit 306 Storage unit 311 Batch creation information reception unit 312 Column name acquisition unit 313 Object generation unit 314 Object placement unit 315 Value setting display unit 321 Layout definition storage unit 322 Action definition storage unit 323 Query definition storage unit 330 Screen generation unit 331 Parameter acquisition unit 332 Request delivery unit 333 Request reception unit 334 Action definition acquisition unit 335 Search execution control unit 336 Result delivery unit 337 Result reception unit 338 Result setting unit 339 Display control unit

Claims (17)

クライアント装置とアプリケーションサーバがネットワークを介して通信可能な、アプリケーションの実行を制御する情報処理システムであって、
前記クライアント装置は、
前記アプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行されるイベント処理を含む画面データを表示する表示制御手段と、
前記表示制御手段に表示された画面データ上の前記指示受付オブジェクトに対するユーザの操作に応じて、前記指示受付オブジェクトに関連付けられたイベント処理により生成されるアプリケーションサーバに対するクエリの要求を、前記アプリケーションサーバに引き渡す要求引渡手段と、を備え、
前記アプリケーションサーバは、
検索サービスに対する検索条件を指定するための前記クエリをアクション定義として記憶するアクション定義記憶手段と、
前記クライアント装置の前記要求引渡手段から引き渡される前記要求を受け付ける要求受付手段と、
前記要求受付手段により受け付けた前記要求に基づいて、前記アクション定義記憶手段に記憶されている前記アクション定義を取得するアクション定義取得手段と、
前記アクション定義取得手段により取得した前記アクション定義における前記クエリに基づいて前記検索サービスから検索結果を取得し、処理結果とする検索実行制御手段と、
前記検索実行制御手段により得られる前記処理結果を、前記クライアント装置へ送信する送信手段と、を備え、
前記表示制御手段は、前記アプリケーションサーバの送信手段により送信された処理結果が、処理結果表示オブジェクトに配置された画面データを表示することを特徴とする情報処理システム。
An information processing system for controlling execution of an application, in which a client device and an application server can communicate via a network,
The client device is
Display control means for displaying screen data including event processing executed by selecting an instruction receiving object that receives a user operation for instructing the application server to perform processing;
In response to a user operation on the instruction receiving object on the screen data displayed on the display control means, a query request to the application server generated by event processing associated with the instruction receiving object is sent to the application server. A request delivery means for delivering,
The application server is
Action definition storage means for storing the query for specifying a search condition for the search service as an action definition;
Request accepting means for accepting the request delivered from the request delivering means of the client device;
Action definition acquisition means for acquiring the action definition stored in the action definition storage means based on the request received by the request reception means;
Search execution control means for acquiring a search result from the search service based on the query in the action definition acquired by the action definition acquisition means, and setting it as a processing result;
Transmission means for transmitting the processing result obtained by the search execution control means to the client device,
The information processing system, wherein the display control means displays the screen data arranged in the processing result display object as a result of processing sent by the sending means of the application server.
前記クライアント装置の前記表示制御手段は、前記アプリケーションサーバの前記送信手段により送信された前記処理結果を用いて、前記画面データを非同期通信で更新して表示することを特徴とする請求項1に記載の情報処理システム。   The display control unit of the client device updates and displays the screen data by asynchronous communication using the processing result transmitted by the transmission unit of the application server. Information processing system. 前記アプリケーションサーバは、
前記検索実行制御手段による前記処理結果を、前記画面データの前記処理結果表示オブジェクトに当てはめる当てはめ手段と、を更に備え、
前記アプリケーションサーバの前記送信手段は、前記当てはめ手段により当てはめられた前記画面データを前記クライアント装置へ送信し、
前記クライアント装置の前記表示制御手段は、前記アプリケーションサーバの前記送信手段により送信された前記画面データを用いて表示することを特徴とする請求項1に記載の情報処理システム。
The application server is
A fitting unit that applies the processing result obtained by the search execution control unit to the processing result display object of the screen data;
The transmission means of the application server transmits the screen data fitted by the fitting means to the client device;
The information processing system according to claim 1, wherein the display control unit of the client device displays the screen data transmitted by the transmission unit of the application server.
前記アクション定義記憶手段は、
前記クエリと、該クエリに基づいて得られる前記検索結果に含まれるデータ項目の値を前記画面データ上にレイアウトされる複数の処理結果表示オブジェクトのいずれに表示するかを指定するマッピング情報とを対応付けてクエリ定義とし、1または複数の該クエリ定義を含むことが可能であるアクション定義を記憶するものであることを特徴とする請求項1乃至請求項3のいずれか1項に記載の情報処理システム。
The action definition storage means includes
Corresponding to the query and mapping information for designating which of the plurality of processing result display objects laid out on the screen data the value of the data item included in the search result obtained based on the query is displayed The information processing according to any one of claims 1 to 3, wherein an action definition capable of including one or a plurality of query definitions is stored as a query definition. system.
前記アクション定義は、
前記クエリ定義を複数含む場合に該クエリ定義を実行する順番を指定する実行順を含むことを特徴とする請求項4に記載の情報処理システム。
The action definition is
The information processing system according to claim 4, further comprising an execution order that specifies an order in which the query definitions are executed when a plurality of the query definitions are included.
前記クエリ定義は、
前記クエリがパラメータ部分を含む場合には、前記画面データにおいて条件値を含む条件項目オブジェクトと該パラメータ部分を対応付けて記憶することが可能であって、
前記イベント処理は、
前記条件項目オブジェクトから条件値を取得し、前記要求引渡手段が前記アプリケーションサーバに引き渡す前記要求に、前記条件項目オブジェクトと前記条件値とを対応付けて含むことが可能であって、
前記検索実行制御手段は、
前記クエリがパラメータ部分を含む場合には、該パラメータ部分に対応する前記要求に含まれる前記条件項目オブジェクトから取得した前記条件値を、該クエリのパラメータ部分に代入し、前記検索サービスに対する検索の処理を実行させるものであることを特徴とする請求項4または請求項5のいずれか1項に記載の情報処理システム。
The query definition is
When the query includes a parameter portion, it is possible to store the condition item object including a condition value in the screen data in association with the parameter portion,
The event processing is
It is possible to acquire a condition value from the condition item object and include the condition item object and the condition value in association with the request delivered to the application server by the request delivery unit,
The search execution control means includes
When the query includes a parameter part, the condition value acquired from the condition item object included in the request corresponding to the parameter part is substituted into the parameter part of the query, and a search process for the search service is performed. The information processing system according to claim 4, wherein the information processing system is executed.
前記クエリ定義は、
前記処理結果表示オブジェクトが配置された表示グループを含むものであって、
前記表示制御手段は、
前記クエリ定義において指定された前記表示グループに基づいて、処理結果表示オブジェクトが配置された画面データを表示することを特徴とする請求項4乃至請求項6のいずれか1項に記載の情報処理システム。
The query definition is
Including a display group in which the processing result display objects are arranged,
The display control means includes
The information processing system according to any one of claims 4 to 6, wherein screen data on which a processing result display object is arranged is displayed based on the display group specified in the query definition. .
前記クエリ定義は、
複数の異なる方式による前記検索サービスに応じて定義をすることが可能であり、
前記クエリ定義が、複数の異なる方式による前記検索サービスのうちいずれの該検索サービスに対応する前記クエリ定義であるかを判別する検索サービス方式判別手段と、を更に備え、
前記検索実行制御手段は、
前記検索サービス方式判別手段により判別された前記検索サービスの方式に応じて、前記クエリ定義に基づいて、該検索サービスの検索が実行されることによって前記検索結果を取得するものであることを特徴とする請求項4乃至請求項7のいずれか1項に記載の情報処理システム。
The query definition is
It is possible to define according to the search service by a plurality of different methods,
Search service method determining means for determining which of the search services by a plurality of different methods is the query definition corresponding to the search service;
The search execution control means includes
In accordance with the search service method determined by the search service method determining means, the search result is acquired by executing a search of the search service based on the query definition. The information processing system according to any one of claims 4 to 7.
前記アプリケーションサーバは、
前記イベント処理を、前記アクション定義記憶手段に記憶された前記アクション定義に基づいて生成する指示引渡処理生成手段と、
を備えることを特徴とする請求項1乃至請求項8のいずれか1項に記載の情報処理システム。
The application server is
An instruction delivery process generating means for generating the event process based on the action definition stored in the action definition storage means;
The information processing system according to any one of claims 1 to 8, further comprising:
前記検索サービスは、SQL文によるデータベースの検索として実装されるものであって、
前記アクション定義における前記クエリは、
前記データベースへ発行する前記SQL文であることを特徴とする請求項1乃至請求項9のいずれか1項に記載の情報処理システム。
The search service is implemented as a database search using SQL statements,
The query in the action definition is
The information processing system according to any one of claims 1 to 9, wherein the SQL statement is issued to the database.
前記アクション定義は、
前記SQL文と、該SQL文に基づいて得られる前記検索結果に含まれるデータ項目の値を前記画面データ上にレイアウトされる複数の処理結果表示オブジェクトのいずれに表示するかを指定するマッピング情報と、を対応付けてクエリ定義とし、1または複数の該クエリ定義を含むことが可能であることを特徴とする請求項10に記載の情報処理システム。
The action definition is
Mapping information for designating which of the plurality of processing result display objects laid out on the screen data the value of the data item included in the search result obtained based on the SQL sentence is displayed; The information processing system according to claim 10, wherein a query definition is associated with each other to include one or a plurality of the query definitions.
前記検索サービスは、ウェブサービスに対してURLを検索条件として指定し、REST方式のレスポンスデータを結果として取得する方式により実装されるものであって、
前記アクション定義における前記クエリは、
前記ウェブサービスに発行される前記URLであることを特徴とする請求項1乃至請求項11のいずれか1項に記載の情報処理システム。
The search service is implemented by a method of specifying a URL as a search condition for a web service and acquiring response data of a REST method as a result,
The query in the action definition is
The information processing system according to claim 1, wherein the URL is issued to the web service.
前記アクション定義は、
前記レスポンスデータのうちいずれの部分データ構成を利用するかを指定する指定対象と該指定対象で指定された前記部分データから取得されたデータ項目のうちいずれのデータ項目の値をいずれの処理結果オブジェクトに対応付けるかを指定する抽出式とを対応付けてマッピング情報とし、前記URLと該マッピング情報と、を対応付けてクエリ定義とし、1または複数の該クエリ定義を含むことが可能であることを特徴とする請求項12に記載の情報処理システム。
The action definition is
Which processing result object is the value of which data item is acquired from the specified target that specifies which partial data configuration of the response data is used and the partial data that is specified by the specified target It is possible to associate an extraction formula that specifies whether or not to associate with each other into mapping information, associate the URL with the mapping information with a query definition, and include one or a plurality of the query definitions. The information processing system according to claim 12.
クライアント装置とネットワークを介して通信可能なアプリケーションの実行を制御するアプリケーションサーバであって、
検索サービスに対する検索条件を指定するためのクエリをアクション定義として記憶するアクション定義記憶手段と、
前記クライアント装置の要求引渡手段から引き渡される前記要求を受け付ける要求受付手段と、
前記要求受付手段により受け付けた前記要求に基づいて、前記アクション定義記憶手段に記憶されている前記アクション定義を取得するアクション定義取得手段と、
前記アクション定義取得手段により取得した前記アクション定義における前記クエリに基づいて前記検索サービスから検索結果を取得し、処理結果とする検索実行制御手段と、
前記検索実行制御手段により得られる前記処理結果を、前記クライアント装置へ送信する送信手段と、を備えることを特徴とするアプリケーションサーバ。
An application server that controls execution of an application that can communicate with a client device via a network,
Action definition storage means for storing a query for specifying a search condition for the search service as an action definition;
Request accepting means for accepting the request delivered from the request delivering means of the client device;
Action definition acquisition means for acquiring the action definition stored in the action definition storage means based on the request received by the request reception means;
Search execution control means for acquiring a search result from the search service based on the query in the action definition acquired by the action definition acquisition means, and setting it as a processing result;
An application server comprising: a transmission unit that transmits the processing result obtained by the search execution control unit to the client device.
クライアント装置とアプリケーションサーバがネットワークを介して通信可能な、アプリケーションの実行を制御する情報処理方法であって、
前記クライアント装置は、
表示制御手段が、前記アプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行されるイベント処理を含む画面データを表示する表示制御ステップと、
要求引渡手段が、前記表示制御ステップに表示された画面データ上の前記指示受付オブジェクトに対するユーザの操作に応じて、前記指示受付オブジェクトに関連付けられたイベント処理により生成されるアプリケーションサーバに対するクエリの要求を、前記アプリケーションサーバに引き渡す要求引渡ステップと、を備え、
前記アプリケーションサーバは、
アクション定義登録ステップが、検索サービスに対する検索条件を指定するための前記クエリをアクション定義としてアクション定義記憶手段に記憶させるアクション定義記憶ステップと、
要求受付手段が、前記クライアント装置の前記要求引渡ステップから引き渡される前記要求を受け付ける要求受付ステップと、
アクション定義取得手段が、前記要求受付ステップにより受け付けた前記要求に基づいて、前記アクション定義記憶手段に記憶されている前記アクション定義を取得するアクション定義取得ステップと、
検索実行制御手段が、前記アクション定義取得ステップにより取得した前記アクション定義における前記クエリに基づいて前記検索サービスから検索結果を取得し、処理結果とする検索実行制御ステップと、
送信手段が、前記検索実行制御ステップにより得られる前記処理結果を、前記クライアント装置へ送信する送信ステップと、を備え、
前記表示制御ステップは、前記アプリケーションサーバの送信ステップにより送信された処理結果が、処理結果表示オブジェクトに配置された画面データを表示することを特徴とする情報処理方法。
An information processing method for controlling execution of an application, in which a client device and an application server can communicate via a network,
The client device is
A display control step in which display control means displays screen data including event processing executed by selecting an instruction receiving object that receives an operation of a user who instructs the application server to perform processing;
The request delivery means sends a query request to the application server generated by event processing associated with the instruction receiving object in response to a user operation on the instruction receiving object on the screen data displayed in the display control step. And a request delivery step of delivering to the application server,
The application server is
An action definition storing step for storing the query for specifying a search condition for a search service in an action definition storage means as an action definition;
A request accepting step for accepting the request delivered from the request delivery step of the client device;
An action definition acquisition unit that acquires the action definition stored in the action definition storage unit based on the request received by the request reception step;
A search execution control means acquires a search result from the search service based on the query in the action definition acquired by the action definition acquisition step, and sets it as a processing result.
A transmission unit, the transmission step of transmitting the processing result obtained by the search execution control step to the client device,
The display control step displays the screen data arranged in the processing result display object as the processing result transmitted by the transmission step of the application server.
クライアント装置とアプリケーションサーバがネットワークを介して通信可能な、アプリケーションの実行を制御する情報処理システムにおいて実行可能なプログラムであって、
前記クライアント装置を、
前記アプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行されるイベント処理を含む画面データを表示する表示制御手段、
前記表示制御手段に表示された画面データ上の前記指示受付オブジェクトに対するユーザの操作に応じて、前記指示受付オブジェクトに関連付けられたイベント処理により生成されるアプリケーションサーバに対するクエリの要求を、前記アプリケーションサーバに引き渡す要求引渡手段、として機能させ、
前記アプリケーションサーバを、
検索サービスに対する検索条件を指定するための前記クエリをアクション定義として記憶するアクション定義記憶手段、
前記クライアント装置の前記要求引渡手段から引き渡される前記要求を受け付ける要求受付手段、
前記要求受付手段により受け付けた前記要求に基づいて、前記アクション定義記憶手段に記憶されている前記アクション定義を取得するアクション定義取得手段、
前記アクション定義取得手段により取得した前記アクション定義における前記クエリに基づいて前記検索サービスから検索結果を取得し、処理結果とする検索実行制御手段、
前記検索実行制御手段により得られる前記処理結果を、前記クライアント装置へ送信する送信手段、として機能させ、
前記表示制御手段は、前記アプリケーションサーバの送信手段により送信された処理結果が、処理結果表示オブジェクトに配置された画面データを表示することを特徴とするプログラム。
A program executable in an information processing system that controls execution of an application, in which a client device and an application server can communicate via a network,
The client device;
Display control means for displaying screen data including event processing executed by selecting an instruction receiving object that receives a user operation for instructing the application server to perform processing;
In response to a user operation on the instruction receiving object on the screen data displayed on the display control means, a query request to the application server generated by event processing associated with the instruction receiving object is sent to the application server. Function as a request delivery means,
The application server
Action definition storage means for storing the query for specifying a search condition for a search service as an action definition;
Request accepting means for accepting the request delivered from the request delivering means of the client device;
Action definition acquisition means for acquiring the action definition stored in the action definition storage means based on the request received by the request reception means;
Search execution control means for acquiring a search result from the search service based on the query in the action definition acquired by the action definition acquisition means, and setting it as a processing result;
The processing result obtained by the search execution control unit functions as a transmission unit that transmits to the client device,
The display control unit displays the screen data arranged in the processing result display object as the processing result transmitted by the transmission unit of the application server.
請求項16に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 16 is recorded.
JP2016248734A 2011-04-28 2016-12-22 Information processing system, application server, information processing method, program, and recording medium Active JP6278103B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011102292 2011-04-28
JP2011102292 2011-04-28
JP2011188929 2011-08-31
JP2011188929 2011-08-31

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013257727A Division JP6064889B2 (en) 2011-04-28 2013-12-13 Information processing system, server, developer terminal, processing method thereof, and program

Publications (3)

Publication Number Publication Date
JP2017062851A true JP2017062851A (en) 2017-03-30
JP2017062851A5 JP2017062851A5 (en) 2017-06-15
JP6278103B2 JP6278103B2 (en) 2018-02-14

Family

ID=48188691

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2012101791A Expired - Fee Related JP5445619B2 (en) 2011-04-28 2012-04-26 Information processing apparatus system, information processing system control method, program, and recording medium
JP2013257727A Active JP6064889B2 (en) 2011-04-28 2013-12-13 Information processing system, server, developer terminal, processing method thereof, and program
JP2016248734A Active JP6278103B2 (en) 2011-04-28 2016-12-22 Information processing system, application server, information processing method, program, and recording medium

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2012101791A Expired - Fee Related JP5445619B2 (en) 2011-04-28 2012-04-26 Information processing apparatus system, information processing system control method, program, and recording medium
JP2013257727A Active JP6064889B2 (en) 2011-04-28 2013-12-13 Information processing system, server, developer terminal, processing method thereof, and program

Country Status (1)

Country Link
JP (3) JP5445619B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019125308A (en) * 2018-01-19 2019-07-25 キヤノンマーケティングジャパン株式会社 Information processing device, control method therefor, and computer program
JP2020013224A (en) * 2018-07-13 2020-01-23 オムロン株式会社 Control system, search device, and search program
JP2020013223A (en) * 2018-07-13 2020-01-23 オムロン株式会社 Control system, search device, and search program
KR20200023668A (en) * 2018-08-14 2020-03-06 (주)파밍봇 Cloud database coupled collective printing apparatus and method thereof

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015092319A (en) * 2013-11-08 2015-05-14 鉄平 都築 Program
JP6966710B2 (en) * 2015-03-17 2021-11-17 キヤノンマーケティングジャパン株式会社 Information processing device, control method of information processing device, and program
KR101951586B1 (en) * 2015-04-03 2019-02-22 미쓰비시덴키 가부시키가이샤 Object adjustment tool and recording medium
JP6334836B1 (en) * 2018-01-30 2018-05-30 鉄平 都築 program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320247A (en) * 1997-05-16 1998-12-04 Mitsubishi Electric Corp Database management system
JP2008217534A (en) * 2007-03-06 2008-09-18 Nec Informatec Systems Ltd Application screen preparation system and method, and application program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3519126B2 (en) * 1994-07-14 2004-04-12 株式会社リコー Automatic layout system
JPH0830418A (en) * 1994-07-18 1996-02-02 Pfu Ltd Editing system for constituent component of graphical user interface
JPH11338602A (en) * 1998-05-29 1999-12-10 Matsushita Electric Works Ltd Information processing system
JP2000222430A (en) * 1999-02-03 2000-08-11 Osaka Gas Co Ltd Virtual database management system
JP4817550B2 (en) * 2001-07-31 2011-11-16 株式会社ブロードリーフ Design support method, design support program, design support system
KR100475432B1 (en) * 2002-02-26 2005-03-10 삼성전자주식회사 method for design modification of Graphic User Interface and recorded media thereof
JP2006099545A (en) * 2004-09-30 2006-04-13 Jfe Systems Inc Screen creation method and apparatus
KR100795929B1 (en) * 2005-09-29 2008-01-21 엔에이치엔(주) Method and system for transmitting defined-query to database
JP4927895B2 (en) * 2009-03-03 2012-05-09 みずほ情報総研株式会社 Form creation processing system, form creation processing method, and form creation processing program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320247A (en) * 1997-05-16 1998-12-04 Mitsubishi Electric Corp Database management system
JP2008217534A (en) * 2007-03-06 2008-09-18 Nec Informatec Systems Ltd Application screen preparation system and method, and application program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
竹下 俊 外3名: "「コーディングレスでWebアプリケーションの作成を実現するGdForm」", NEC技報, vol. 第62巻,第4号, JPN6017048669, 25 December 2009 (2009-12-25), pages pp.112−115 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019125308A (en) * 2018-01-19 2019-07-25 キヤノンマーケティングジャパン株式会社 Information processing device, control method therefor, and computer program
JP7060788B2 (en) 2018-01-19 2022-04-27 キヤノンマーケティングジャパン株式会社 Information processing equipment, information processing equipment control methods, and computer programs
JP2020013224A (en) * 2018-07-13 2020-01-23 オムロン株式会社 Control system, search device, and search program
JP2020013223A (en) * 2018-07-13 2020-01-23 オムロン株式会社 Control system, search device, and search program
JP7107047B2 (en) 2018-07-13 2022-07-27 オムロン株式会社 Control system, search device and search program
JP7107046B2 (en) 2018-07-13 2022-07-27 オムロン株式会社 Control system, search device and search program
KR20200023668A (en) * 2018-08-14 2020-03-06 (주)파밍봇 Cloud database coupled collective printing apparatus and method thereof
KR102227518B1 (en) * 2018-08-14 2021-04-16 (주)파밍봇 Cloud database coupled collective printing apparatus and method thereof

Also Published As

Publication number Publication date
JP6278103B2 (en) 2018-02-14
JP2013065274A (en) 2013-04-11
JP2014063524A (en) 2014-04-10
JP6064889B2 (en) 2017-01-25
JP5445619B2 (en) 2014-03-19

Similar Documents

Publication Publication Date Title
JP6278103B2 (en) Information processing system, application server, information processing method, program, and recording medium
Sohan et al. A case study of web API evolution
CN102521230B (en) For the result type that data with good conditionsi show
US8161025B2 (en) Patent mapping
US8484611B2 (en) Method and system for simplified assembly of information processing applications
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
US20090265324A1 (en) Query processing visualization system and method of visualizing query processing
US20090327277A1 (en) Methods and apparatus for reusing data access and presentation elements
US20230051114A1 (en) Content curation and product linking system and method
JP2007272884A (en) Method and system to index captioned object in published literature for information discovery task
US8688626B2 (en) Software tool for generating technical business data requirements
US20110167070A1 (en) Reusing assets for packaged software application configuration
AU2012200701B2 (en) Patent Mapping
JP5556846B2 (en) Information processing apparatus, control method of information processing apparatus, information processing system, control method of information processing system, and program thereof
US10318254B2 (en) Integrating application features into a platform interface based on application metadata
JP2008242873A (en) Software automatic configuring device and method
Simoes et al. Serving Geospatial Data Using Modern and Legacy Standards: a Case Study from the Urban Health Domain
US20220035606A1 (en) System and method for tailoring a customizer for integration process modeling visual element to a domain specific language for business integrations
Mou et al. Visual orchestration and autonomous execution of distributed and heterogeneous computational biology pipelines
Neatrour et al. Automating the production of map interfaces for digital collections using Google APIs
Babcock et al. Where do we go from here: A review of technology solutions for providing access to digital collections
KR102042557B1 (en) method for providing information about promising intems and apparatus for providing information about promising intems
Masahiko et al. Spreadsheet-based framework for interactive 3D visualization of web resources
Chon et al. CS5604: Information and Storage Retrieval​ Fall 2017-FE (Front-End Team)
Eason et al. Blog and Forum Collection for Trail Study

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171113

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: 20171219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180101

R150 Certificate of patent or registration of utility model

Ref document number: 6278103

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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