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 PDFInfo
- 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
Links
Images
Abstract
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
特許文献1におけるプログラム自動生成装置では、前述の通り、GUI上のオブジェクトと、検索キー(要求項目)の取得および検索結果(応答項目)の対応付けを行うことが出来る。
As described above, the automatic program generation apparatus in
しかし、開発者にとっては、トランザクション設定では前記対応付けを確認できるが、関数に受け渡しの際には配列に変換されるため、関数の開発においては、どのデータ項目の値が配列のどこに格納されているか、あるいは検索結果をどこに格納すべきかといった処理を意識する必要があること、関数内でのデータベース検索処理はプログラム言語で開発することなどが必要となる。すなわち、データリソースに対してクエリを実行し、レスポンスを受け取るため、開発者にとっては、関連する定義情報の構造を詳細に理解した上でプログラムの開発を要するものであり、容易に検索結果を表示できるものではない。 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.
以下、本発明の実施の形態を、図面を参照して詳細に説明する。まず、第一の実施の形態を説明する。 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
プログラム開発サーバ102a〜102bは、プログラム開発装置101により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ102aはLANなどのネットワーク107内に配置されてもよいし、プログラム開発サーバ102bはインターネット上やクラウド上に配置されてもよい。
The
データベースサーバ103a〜103b(検索サーバ)は、開発されたアプリケーションが使用するデータベースを管理するサーバであり、また本発明では開発時にも利用する。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク107内に配置されてもよい(データベースサーバ103a)し、またインターネット上やクラウド上に配置されてもよい(データベースサーバ103b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とデータベースサーバ103が同一の装置内に構成されていてもよい。
The
RESTサーバ106a〜106b(検索サーバ)は、REST方式によりウェブサービスを提供するウェブサーバであり、また本発明では開発時にも利用する。例えば、開発者が利用するためにRESTサーバ106は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク107内に配置されてもよい(RESTサーバ106a)し、またインターネット上やクラウド上に配置されてもよい(RESTサーバ106b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とRESTサーバ106が同一の装置内に構成されていてもよい。
The
アプリケーションサーバ105a〜105bは、プログラム開発装置101で開発されたアプリケーションを実行する。LANなどのネットワーク107内に配置されてもよい(アプリケーションサーバ105a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションサーバ105b)。また、ネットワーク107、インターネット、クラウド上のデータベースサーバ103と接続して動作可能である。
The
アプリケーションクライアント104a〜104b(クライアント装置)は、アプリケーションサーバ105と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。LANなどのネットワーク107内に配置されてもよい(アプリケーションクライアント104a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションクライアント104b)。携帯端末などの情報処理装置であってもよい。
The
図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
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、プログラム開発装置、アプリケーションクライアント、各種サーバの後述する各種機能を実現するためのプログラムが記憶されている。
The
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
The
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、特に、プログラム開発装置、アプリケーションクライアント、各種サーバでは、キーボード、マウス等のポインティングデバイスが挙げられる。
The
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。
The
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、外部メモリ211には、プログラム開発装置、アプリケーションクライアント、各種サーバの各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフロッピー(登録商標)ディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
The
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。
The communication I /
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
A
図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
記憶部306は、レイアウト定義記憶部321、アクション定義記憶部322、クエリ定義記憶部323を備えている。
The
開発画面制御部300は、プログラム開発装置101に開発者が操作するための画面を表示し、また開発者の操作に応じて、他の機能部(301〜305、311〜315)を機能させる部分である。
The development
レイアウト定義部301は、開発者に後述するテキストボックス、ボタン、グリッドオブジェクトなどのオブジェクト、前記複数のオブジェクトなどを1つの表示グループとするためのコンテナを配置させ、また移動、属性編集をさせる機能部である。また、レイアウト定義部301で定義されたレイアウト定義は、レイアウト定義記憶部321に記憶される。
A
一括作成部302は、REST方式のクエリによりRESTサーバ106から取得したレスポンスデータや、データベースのテーブルのデータ項目(カラム)のうち表示したい項目を、前述の表示グループ(グリッドオブジェクトや後述する明細書形式コンテナ)に対して一括で配置する機能部である。
The
本発明の実施例においては、データ項目(カラム)に対応するオブジェクトの生成を“一括作成”としているが、これはあくまで例である。必ずしも一括である必要はない。例えば、前述のデータ項目(カラム)のうち表示したい項目を配置する際に、当初はデータ項目名(カラム名)を表示するだけでオブジェクトを作成しなくともよい。この場合、実際のオブジェクトの作成は、例えば属性編集(図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
カラム名取得部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
オブジェクト生成部313は、前述のデータ項目名(カラム名)に対応して表示グループに配置するオブジェクトを生成する機能部である。
The
オブジェクト配置部314は、前述の生成されたオブジェクトを、表示グループに配置する機能部である。
The
値設定表示部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
クエリ定義部304は、アクション定義と対応付け、具体的には前記REST方式の場合には、レスポンスデータを要求するURLやレスポンスデータを処理するマッピング情報、SQL文による方式の場合には、select文などの詳細を開発者に定義させる機能部である。また、クエリ定義部304で定義されたクエリ定義は、クエリ定義記憶部323に記憶される。
The
指示引渡処理生成部305は、後述する、指示受付オブジェクトがユーザにクリックされた際などのパラメータ取得部331、要求引渡部332に対応する処理を、アクション定義に従って予め生成しておく機能部である。実際には、指示引渡処理生成部305は、本図のようにプログラム開発装置101に備えられ、アクション定義時に実行され、生成された処理をアクション定義と結びつけて記憶してもよいし、また他の例として、アプリケーションサーバ105に備えられ、アプリケーションクライアント104に表示する画面の生成時に、指示引渡処理生成部305を実行され、前記処理を生成してもよい。いずれの場合も、指示引渡処理生成部305で生成された処理は、前記アクション定義に対応するボタンと関連付けてアプリケーションクライアント104に表示する画面情報に組み込まれる。
The instruction delivery
また、プログラム開発装置101は、RESTサーバ106、またはデータベースサーバ103と接続する。あるいは、同一筐体に含む構成であってもよい。さらにプログラム開発装置101が備える機能部の一部または全ては、プログラム開発サーバ102が備え、プログラム開発装置101には、開発者が操作する開発画面が表示され、開発者の操作内容がプログラム開発サーバ102に送られ、さらにプログラム開発サーバ102での処理結果がプログラム開発装置101に戻され、開発者が操作する操作画面に結果として表示するように構成してもよい。この場合には、プログラム開発装置101は、RESTサーバ106、またはデータベースサーバ103と直接は接続せず、プログラム開発サーバ102が、RESTサーバ106、またはデータベースサーバ103と接続することにより、検索結果を取得してもよい。
The
アプリケーションクライアント104は、パラメータ取得部331、要求引渡部332、結果受付部337、結果設定部338、表示制御部339を備えている。
The application client 104 includes a
パラメータ取得部331は、アプリケーションクライアント104のユーザがボタンをクリックするなどによりアプリケーションサーバ105に対する処理を指示した際に、処理に必要なパラメータ値などを取得する機能部である。
The
要求引渡部332は、前述のパラメータ取得部331で取得されたパラメータ値などを後述する要求受付部333に引き渡す機能部である。
The
結果受付部337は、アプリケーションサーバ105での処理結果を後述する結果受渡部336から受け付ける機能部である。
The
結果設定部338(当てはめ部)は、前述の結果受付部337で受け付けた処理結果を、アプリケーションクライアント104上のオブジェクトに設定する機能部である。
The result setting unit 338 (fitting unit) is a functional unit that sets the processing result received by the
表示制御部339は、アプリケーションの特定の画面が生成される場合には、アプリケーションサーバ105において生成された画面を、アプリケーションクライアント104のアプリケーション上に表示する機能部である。また、既に表示されている場合には、前述の結果設定部338の設定を表示に反映する。
The
アプリケーションサーバ105は、画面生成部330、要求受付部333、アクション定義取得部334、検索実行制御部335、結果受渡部336を備え、またプログラム開発装置101で定義した記憶部306をアプリケーションの実行定義情報として含む。
The application server 105 includes a
画面生成部330は、アプリケーションクライアント104に表示するための画面をレイアウト定義に基づき生成する機能部である。
The
要求受付部333は、前述の要求引渡部332からアプリケーションサーバ105の処理に必要なパラメータ値などを受け付ける機能部である。
The
アクション定義取得部334は、アプリケーションサーバ105を動作させるために必要なアクション定義を取得する機能部である。
The action
検索実行制御部335は、アプリケーションクライアント104から渡されたパラメータ等に基づいてアプリケーションサーバ105を動作させるため機能部である。
The search
結果受渡部336(送信手段)は、前述の検索実行制御部335の検索結果を、アプリケーションクライアント104の結果受付部337に受け渡す機能部である。
The result delivery unit 336 (transmission unit) is a functional unit that delivers the search result of the search
アプリケーションクライアント104およびアプリケーションサーバ105に含まれる機能部は、プログラム開発装置101あるいはプログラム開発サーバ102に含まれていてもよい。これにより開発中の動作確認が可能となる。
The functional units included in the application client 104 and the application server 105 may be included in the
図4は、本発明の実施形態のデータベースサーバ103のテーブル群の一例を示すデータ構成図であり、後述する開発およびアプリケーションの実行を説明する際に利用するものである。
FIG. 4 is a data configuration diagram illustrating an example of a table group of the
注文書テーブル400は、注文結果を登録するテーブルであり、注文番号を表すorderID401、顧客名を表すcustomer402、顧客電話番号を表すtelephone403、注文受付日を表すdate404、注文の合計金額を表すtotal_price405により構成される。
The purchase order table 400 is a table for registering order results, and includes an
注文品目テーブル410は、注文書テーブルのorderID401に対応する詳細の注文品目を登録するテーブルであり、注文書テーブルのorderID401と対応するorderID411と、商品名を表すproduct412、商品の単価を表すprice413、注文数を表すamount414により構成される。
The order item table 410 is a table for registering detailed order items corresponding to the
図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
同様に図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
図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
作成画面一覧606には、作成済みの画面が表示されている。今回の説明では、新規画面作成ボタン607を指示することにより、開発GUI600aの構成に変わる。前記指示は、マウスによるクリック、キーボードによる操作などあるが、以降の説明では区別しない。
The created
例では、新規画面として画面名称611に“注文確認”と入力し、過去の注文を確認するための画面レイアウトを定義する処理を行う。
In the example, “order confirmation” is input as a new screen in the
作業領域612には、初期状態で新規画面のベースとなる明細書形式コンテナ613が配置される。
In the
コンテナには、例として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
レイアウト部品620には部品ボタンが含まれ、各部品ボタンはコンテナ上に配置できるオブジェクトに対応する。部品ボタンをクリックあるいは、マウスでドラッグアンドドロップすることで、指定のオブジェクトを作業領域612に配置済みの他のコンテナ中に配置可能である。例として明細書形式コンテナ作成ボタン621、行形式コンテナ作成ボタン622、テキスト作成ボタン623、テキストボックス作成ボタン624、グリッド作成ボタン625、ボタン作成ボタン626がある。
The
コマンド630には、他の作業に移行する場合のコマンドが含まれ、例えば一括作成情報ボタン631、属性編集ボタン632、アクション定義ボタン633がある。
The
図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
次に、開発者は、配置作業の内容として“配置”または“対象の移動”のいずれかを行うかを判断する。現時点では、明細書形式コンテナ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
次に行形式コンテナ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
次に明細書形式コンテナ613dを選択して行形式コンテナ作成ボタン622をマウスクリックすると、行形式コンテナ803が新規作成、挿入される(613e)。
Next, when the
更に配置作業を継続する(ステップ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
同様にドラッグアンドドロップにより、コンテナまたはオブジェクト811と812を入れ替えることも可能である(図8の822の移動)。
Similarly, containers or
以上の説明では、外側にあるコンテナを選択して、内側に他のコンテナ(あるいはオブジェクト)を最後の行、最右の位置に追加したが、例えば、明細書形式コンテナ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
以上でレイアウト定義作業について説明したが、本例で示したコンテナ、あるいはグリッドオブジェクトを内部に複数の項目を表示できるという意味で、“表示グループ”と呼び、レイアウトの一括作成の例として使用する。階層的には、如何に深い位置にあっても同様に対応可能である。 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
SQL指定フィールド902においては、select文を指定する。904は、SQL指定フィールド902に図4の注文書テーブル400に対応するselect文、“select * from 注文書テーブル”が指定されている。
In the
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
ここで、データ項目(カラム)と同数(5個)の行形式コンテナ906a〜906eおよび対応するテキストボックスが生成、配置されたのは、904のselect文のselect句(select文実行結果として取得するデータ項目名(カラム名)を記載する部分)が“*”であることによる。すなわち、実際にテーブルのスキーマを確認し、全てのデータ項目名(カラム名)を取得し、それらに対して生成、配置したためである。
Here, the same number (five) of
次に905では、select句に“*”を指定せず、3つのデータ項目名(カラム名)“orderID”、“customer”、“date”を具体的に指定している。これに基づいて、明細書形式コンテナ613bの通り、3個の行形式コンテナ906f〜906hとテキストボックスを生成、配置する。この場合、接続先DB指定フィールド901で指定されたデータベースサーバ103に必ずしも接続する必要はない。例えば、select句に記載されたデータ項目名(カラム名)に従ってのみ前述の自動生成、配置を行ってもよい。また、指定されたデータ項目名(カラム名)が実在のものか(例えばスペリングミスがないか)などを確認するために、データベースサーバ103に接続してもよい。
In
更に、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
図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
図10では、レイアウト定義操作により、既に明細書形式コンテナ613内に、行形式コンテナ1001、さらにその中にグリッドオブジェクト1002が配置されている前提で説明する。
10 will be described on the assumption that the
SQL指定フィールド902には、1003とおり“select * from 注文品目テーブル”と指定する。
In the
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
一括作成が完了した後は、グリッドオブジェクト1002aのように2次元の行列(表形式)で表示される。ヘッダーの他に、注文品目テーブル410のデータ項目(カラム)が1004a〜1004dに並び、また実際のデータのうち、例えば指定した数(グリッドオブジェクト1002aの例では5レコード)分のデータが表示される。5レコードと指定するのは、レイアウト定義の操作時において検索条件を指定していないためであり、運用時には、上下に移動するスクロールバーが表示されて、検索結果の全データを設定する。
After the batch creation is completed, a two-dimensional matrix (table format) is displayed as a
さらに図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
図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
図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
ただし、右上の“button1”は、一括作成されたものではなく、開発者が別途追加するものである。後述の説明で使用する。
However, “
図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
ステップS1401においては、一括作成ボタン903がクリックされた際に選択されている明細書形式コンテナ(例えば図9の明細書形式コンテナ613として説明を進める)または、グリッドオブジェクト(例えば図12のグリッドオブジェクト1002として説明を進める)のIDを取得する(表示グループ受付手段)。ここで明細書形式コンテナ613のIDを“contenaA”、グリッドオブジェクト1002のIDを“gridB”とする。
In step S1401, the specification format container selected when the
ステップS1402においては、接続先DB指定フィールド901で指定されたデータベースを取得し、オープンする。
In step S1402, the database designated in the connection destination
ステップS1403においては、SQL指定フィールド902を指定されたselect文を取得し、select句の記載(select文実行結果として取得するデータ項目名(カラム名)を記載する部分)を取得する。
In step S1403, the select statement in which the
ステップ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
ここで、実際のレイアウト定義記憶部321の説明をし、図14のフローチャートの生成結果の構成を合わせて説明する。
Here, the actual layout
図15は、一括作成した結果を含む、レイアウト定義記憶部321におけるレイアウト定義のデータ構成の一例を示す図である。
FIG. 15 is a diagram illustrating an example of the data configuration of the layout definition in the layout
テーブル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
接続先DB1503、SQL1504は、一括作成によりレイアウトが定義された場合に登録される情報であり、接続先DB指定フィールド901、SQL指定フィールド902で指定されたものが対応する。画面レイアウトの一括作成のためだけであれば記憶しておく必要はない。ただし、後述するとおり、一括作成の結果として、実際のデータベースからデータを検索し、表示グループ上に具体的な値を表示させるために記憶しておいてもよい(ここでは記憶することにする)。
The
行/列1505は、表示グループ(ここでは明細書形式コンテナまたはグリッドオブジェクト)に配置される行形式コンテナ、または列オブジェクトである。行形式コンテナも表示グループの1種であり、表示グループ1502に登録する情報として扱ってもよいが、本構成例としては、別の項目として指定する。
A row /
また、オブジェクト情報として種類1506としてオブジェクトの種類、ID1507としてオブジェクトID、Label1508としてオブジェクトのラベルが登録される。
Also, as the object information, an object type is registered as
説明をステップ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 /
説明を再び図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 /
“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
以上の処理結果が、図9の613bとなり、行形式コンテナ906f〜906hおよびその中のテキストボックスと、対応する値が表示される。
The above processing result is 613b in FIG. 9, and the
さて、次に現在、図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 /
ここで図11における1101のselect文を指定し、グリッドオブジェクト1002(オブジェクトIDは“gridB”)を選択して、一括作成ボタン903をクリックすることで実行される、図14のフローチャートを再度説明する。
Here, the flowchart of FIG. 14 executed again by specifying the
ステップ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
ステップ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 /
ここでステップ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 /
ステップ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 “
ステップ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
ただし、前述の通り右上の“button1”は現時点では存在しない。なお、前述の通り、本フローチャートの説明で使用した接続先DB指定フィールド901で指定されたデータベースは、プログラム開発装置101と同一の装置に備わるデータベースサーバ103でもよいし、ネットワーク107上のデータベースサーバ103a、インターネット上のデータベースサーバ103bのいずれでもよい。以上で図14のフローチャートの説明を完了する。
However, as described above, “
なお、テキストボックスのオブジェクトあるいは、グリッドオブジェクトにおける列オブジェクトを図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
図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 “
図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
また、図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
図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
次に、前述の通りレイアウト定義された画面に、データベース検索結果の値を設定するアクション定義と、アクション定義により開発されたアプリケーションの動作について説明する。 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
前述の通り、実際の開発作業(アクション定義操作)を進めるにあたり、プログラム開発装置101単体で動作可能であってもよい。
As described above, when the actual development work (action definition operation) proceeds, the
アクション定義1901には、アクション定義の対象となっているオブジェクトIDと、そのラベルが表示されている。ここでは、図13で定義したオブジェクトID“button1”が表示されている(ラベルは“検索”と変更されている)。
The
アクション定義領域1902には、当初は1つのクエリ定義が可能な1行分のテキストボックスが表示されている。1つのクエリ定義に必要な情報は、クエリ名指定フィールド1903、条件項目指定フィールド1904、表示グループ指定フィールド1905の3つである。1つのアクション定義には、複数のクエリ定義を含むことが能であり、そのためには、前述のクエリ定義用の行を追加する必要がある。例えば、画面下方のクエリ追加ボタン1916をクリックして行を追加してもよいし、1つの行に入力を開始したタイミングなど何らかのイベントにより、予め空白の1行を追加するようにしてもよい。
In the
クエリ名指定フィールド1903は、アクション定義と後述するクエリ定義を関連付けるためのものである。ここでは名前を付けて開発者に分かりやすくしているが、内部情報としては単なるクエリIDでもよい。図20、図21のテーブルでは、queryIDとして対応付けている。クエリ名で対応付ける、あるいは開発者にクエリIDを直接みせても定義上問題はない。あくまで本画面、図20、図21の構成はあくまで一例に過ぎない。
A query
条件項目指定フィールド1904は、後述するクエリ定義内にあるselect文が、パラメータを含む形式で記載されている場合、そのパラメータに渡すための値を表示グループ上のどのテキストボックスから取得するか、など値を指定可能なオブジェクトを指定するものである。例として“id=orderID”が指定されているので、図18の画面では、式の右辺“orderID”(ラベルは“注文番号”に変更してある)から取得して、式の左辺であるパラメータ“id”に値を渡す。
In the condition
表示グループ指定フィールド1905は、クエリ定義で指定した検索結果により得られる値を、どの表示グループに設定、表示させるかを指定する項目である。1行目に指定されている“contenaA”は、例えば図18の明細書形式コンテナ613に対応しており、また図15のレイアウト定義情報からは、“contenaA”上のオブジェクトとして(データベースのデータ項目(カラム)に対応するものとしては)“orderID”、“customer”、“date”があると分かる。実際の動作は、図22にて説明する。
A display
クエリ定義領域1911は、アクション定義領域1902で指定するクエリ名指定フィールド1903に対応する表示の他に、検索DB指定フィールド1912、パラメータ指定フィールド1913、タイプ指定フィールド1914、select文指定フィールド1915から構成されている。
The
検索DB指定フィールド1912は、後述のクエリ定義で指定したクエリを実際に実行する際に接続するデータベースサーバ103上のデータベースを指定する。ただし、本発明に係わるアプリケーションクライアント104またはアプリケーションサーバ105においてデータベースサーバ103上のデータベースを特定し、クエリ定義毎に検索DB指定フィールド1912は指定不要としてもよい。なお、データベースサーバ103は、アプリケーションサーバ105と同一の筐体に一体化した構成として動作していてもよいし、ネットワーク107上のデータベースサーバ103aでも、インターネット上のデータベースサーバ103bでもよい。
A search
パラメータ指定フィールド1913は、アクション定義領域1902の条件項目指定フィールド1904の内容と対応する情報を記載する。すなわち、後述するアプリケーションの動作において、条件項目指定フィールド1904で指定されたテキストボックス(例では“orderID”)、その他値を設定可能なオブジェクトから値を取り出し、その値を指定のパラメータ(例では“id”)に結びつける。
The
タイプ指定フィールド1914は、パラメータで渡される値のデータ型を指定する。後述のようにパラメータを複数記載可能とする場合には、データ型も順序を合わせて複数記載可能とする。
A
select文指定フィールド1915には、実際に検索に使用するselect文が記載されている。ただし、一部にパラメータを含むことが可能である。パラメータに対応する部分には、“:”など指定された記号を付与し、例えば本例では、“:id”と記載された部分がパラメータであり、前述の“id”と結びつけられた値(もとは“orderID”から取得した値)を代入する。
The select
図19の例では、条件項目指定フィールド1904、パラメータ指定フィールド1913の記載は1つとなっているが、例えば“,”や空白区切りで複数指定できるようにしてもよい。条件項目指定フィールド1904自体を複数用意してもよい。さらに、クエリ定義側でパラメータ指定フィールド1913を用意しなくても、例えばアクション定義側で指定した順番に応じて、必ず1番目の条件項目は“praram1”、2番目の条件項目は“param2”が受け取るよう対応付けられていてもよい。
In the example of FIG. 19, the condition
また、本例で、アクション定義とクエリ定義を分離しているのは、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
図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
実行順2003は、1つのオブジェクトに複数のクエリを定義した際の実行順の指定である。図19での指定例では、“button1”に対して、2つのクエリ“query001”、“query002”が定義され、その順で実行されることになる。
The
また、“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
図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
ステップ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
ステップ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
ステップ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
ステップ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
ステップ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
さらに、アプリケーションクライアント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
この場合、本処理は、アプリケーションサーバ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
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
ステップ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 (
ステップ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
This completes the description of the flowchart of FIG.
以上により、プログラム開発装置101において、開発者がselect文によりアプリケーションの動作を定義する方法と、その定義に従ったアプリケーションの動作についての一例についての説明を完了する。
As described above, the
次に、第二の実施の形態を説明する。第二の実施の形態は、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は、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方式の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
一方、レスポンスデータの例としては、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
URL指定フィールド2501には、REST方式のURLを指定する。図25では、例として図24のURL、“http://hostname.jp/order/001”が指定されている。
In the
対象配列指定フィールド2502は、レスポンスデータに含まれるいずれの連想配列を使用するかを指定するものである。図24のレスポンスデータを用いる場合であれば、注文書データの連想配列を示す“$result”、または注文品目データの連想配列を示す“$result.$order_items”のいずれかが指定される。図25においては、“$result”が指定されている。
The target
抽出式指定フィールド2503には、連想配列のキーワードのうちのいずれを、レイアウト定義に使用するか、また使用する場合にいかなるデータ項目名(カラム名)として扱うかを対応付けるものである。“{*}”(抽出式2504a)を指定して一括作成ボタン903をクリックすると、レスポンスデータの対象配列“$result”に対応する全キーワードに対して、図9の明細書形式コンテナ613aと同様に、明細書形式コンテナ2505に一括作成処理がなさせる。すなわち、5つの行形式コンテナ2506a〜eと、連想配列“注文書データ”の5つのキーワードを見出しとするテキストオブジェクトが生成される。さらに、各テキストオブジェクトには、各キーワードに対応する値が表示される。一括作成の詳細は、図27のフローチャートにおいて説明する。
The extraction
図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
連想配列の一部のキーワードについてのみを選択し、あるいは、キーワードと異なるデータ項目名(カラム名)に置き換える場合には、抽出式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
なお、抽出式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
対象配列指定フィールド2502は、注文品目データの連想配列を示す“$result.$order_items”が指定されている。
In the target
抽出式指定フィールド2503には、抽出式2601が指定されている。
An extraction formula 2601 is specified in the extraction
これらの指定により、図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
ただし、図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
ステップ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
ステップ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
ステップ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
ステップ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
図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
更に図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
説明を前記の作業及び一括作成処理により生成された図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
以上により、REST方式を用いて、プログラム開発装置101における開発者によるレイアウト定義、レイアウト定義の一括作成を行う操作、およびプログラム開発装置101またはプログラム開発サーバ102が、レイアウト定義を一括作成する処理動作の実施形態の一例の説明を完了する。
As described above, using the REST method, the layout definition by the developer in the
次に、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
REST方式による定義(図25)では、URL指定フィールド2901、対象配列指定フィールド2902、抽出式指定フィールド2903を定義する。前記項目には、各々REST方式でレスポンスデータを要求するためのURL、レスポンスデータから処理対象とする連想配列を指定する対象配列、連想配列から必要なキーワードを抽出しデータ項目(カラム)に対応付ける抽出式を定義する。なお、レイアウト作成の場合と同様、対象配列のことを指定対象と呼ぶこともある(JSON形式以外では、対象配列の形式ではない場合もあるため)。
In the definition based on the REST method (FIG. 25), a
図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
また、図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
図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
これらの定義は、アプリケーションの実行時に参照されるものであり、詳細の動作については、図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
本処理は、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
また、データベースサーバ103を含めた構成については、図22での説明と同様である。
The configuration including the
ステップ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
ステップ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
ステップ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
ステップ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
ステップ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
ステップS3106では、図30の抽出式3003で指定された抽出式に基づき、カラムリストを生成する。カラムリストの作成方法については、図27(ステップS2705)と同様なので説明を省略する。
In step S3106, a column list is generated based on the extraction formula designated by the
ステップ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
次に、第三の実施の形態を説明する。前述の説明では、レイアウトの一括作成を、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
図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
レイアウト定義をいずれの方式で行うのか、開発GUI600上、一括作成情報604において開発者に選択させる、などすることができる。また、一括作成情報604における定義内容が異なるため、開発GUI600には、いずれの方法でレイアウト定義されるかの判別可能な情報が含まれている。図32のフローチャートを説明する前に、図34(一括作成の操作をするための画面)について説明する。
With which method layout definition is performed, the developer can be selected in the
図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
さらに、“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-
以上により、プログラム開発装置101は、開発者が選択した方法で一括作成の定義させることが可能となる。またプログラム開発装置101は、内部的には、いずれの方法で一括作成の定義をするのかをクエリ種別として記憶することができる。
As described above, the
ステップ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-
図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
前述するフローチャートは、あくまで一例である。両方式に共通した処理がある場合には、分岐するタイミングと、分岐後にステップ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
前述の説明では、アクション定義により定義された処理の実行について、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
図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
また、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
さらに、“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-
以上により、プログラム開発装置101は、開発者が選択した方法でアクション定義させることが可能となる。
As described above, the
これにより、また、アクション定義またはクエリ定義を登録し、記憶する際に、いずれの方式で定義されたのかを指定する情報をともに登録、記憶して実行時の判別するための情報とすることが可能である。 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
図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
なお、図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
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 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文であることを特徴とする請求項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であることを特徴とする請求項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.
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)
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)
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)
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)
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 |
-
2012
- 2012-04-26 JP JP2012101791A patent/JP5445619B2/en not_active Expired - Fee Related
-
2013
- 2013-12-13 JP JP2013257727A patent/JP6064889B2/en active Active
-
2016
- 2016-12-22 JP JP2016248734A patent/JP6278103B2/en active Active
Patent Citations (2)
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)
Title |
---|
竹下 俊 外3名: "「コーディングレスでWebアプリケーションの作成を実現するGdForm」", NEC技報, vol. 第62巻,第4号, JPN6017048669, 25 December 2009 (2009-12-25), pages pp.112−115 * |
Cited By (8)
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 |