JP7280475B2 - Information processing device, its control method, and program - Google Patents

Information processing device, its control method, and program Download PDF

Info

Publication number
JP7280475B2
JP7280475B2 JP2019007439A JP2019007439A JP7280475B2 JP 7280475 B2 JP7280475 B2 JP 7280475B2 JP 2019007439 A JP2019007439 A JP 2019007439A JP 2019007439 A JP2019007439 A JP 2019007439A JP 7280475 B2 JP7280475 B2 JP 7280475B2
Authority
JP
Japan
Prior art keywords
template
input
user
variables
execution process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019007439A
Other languages
Japanese (ja)
Other versions
JP2020119053A (en
JP2020119053A5 (en
Inventor
尚己 岩永
文洋 柴本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Priority to JP2019007439A priority Critical patent/JP7280475B2/en
Publication of JP2020119053A publication Critical patent/JP2020119053A/en
Publication of JP2020119053A5 publication Critical patent/JP2020119053A5/en
Application granted granted Critical
Publication of JP7280475B2 publication Critical patent/JP7280475B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、アプリケーションを構築するための情報処理装置及びその制御方法、プログラムに関する。 The present invention relates to an information processing apparatus, a control method thereof , and a program for building an application.

従来、ソフトウェア(例:OS(オペレーティングシステム)、アプリケーション等)の開発を支援するツール(例:統合開発環境(IDE))が存在する。 Conventionally, there are tools (eg, integrated development environment (IDE)) that support development of software (eg, OS (operating system), applications, etc.).

ソフトウェア開発者は、ソフトウェア開発支援ツールを用いて、ソフトウェアプログラムのコーディングを行う。 A software developer codes a software program using a software development support tool.

特許文献1には、開発中のソフトウェアにテンプレート(雛型)を挿入して開発を行う仕組みが記載されている。 Patent Literature 1 describes a mechanism for developing software by inserting a template (template) into software under development.

特開平11-327886号公報JP-A-11-327886

しかし、特許文献1では、テンプレートを変更し、その変更をテンプレートに反映することはできるが、テンプレートの変更及びソフトウェアへの反映という手間がかかってしまうため、テンプレートを用いた効率的なソフトウェア開発ができているとは言い難い。 However, in Patent Document 1, although the template can be changed and the change can be reflected in the template, it takes time and effort to change the template and reflect it in the software. It's hard to say that it's done.

そこで、本発明の目的は、テンプレートを用いてソフトウェア開発を効率的に行う仕組みを提供することである。 SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a mechanism for efficiently developing software using templates.

ユーザーからのテンプレートの指定を受け付ける受付手段と、
ユーザーに指定されたテンプレートに含まれる変数の値を入力するための入力領域を表示するように制御する表示制御手段と、
前記入力領域にユーザー操作に応じて入力された値で前記変数を置き換えたテンプレートを用いてソフトウェアを生成するための処理を行う処理手段と
を有し、
前記テンプレートは、前記ソフトウェアにおけるデータを処理するためのロジックにおける
命令、
データモデル、
実行する実行処理、
前記実行処理に用いる値、
呼出元から受け取る値、
前記実行処理が返す戻り値の格納先、
の少なくとも1つを定義し、
ユーザーに指定されたテンプレートに、データモデルの変数が含まれる場合には、データモデルの変数に対応する前記入力領域への入力として、既存のデータモデルからの選択を受け付けることを特徴とする情報処理装置。
a receiving means for receiving a specification of a template from a user;
display control means for controlling display of an input area for inputting values of variables included in a template specified by a user;
and processing means for performing processing for generating software using a template in which the variables are replaced with values input in the input area according to user operation,
the template is an instruction in logic for processing data in the software ;
data model,
execution process to be performed,
a value used in the execution process;
the value received from the caller,
storage destination of the return value returned by the execution process;
define at least one of
An information processing characterized by accepting a selection from an existing data model as an input to the input area corresponding to the data model variable when the template specified by the user includes the data model variable. Device.

本発明によれば、テンプレートを用いてソフトウェア開発を効率的に行う仕組みを提供することができる。 According to the present invention, it is possible to provide a mechanism for efficiently developing software using templates.

本発明に係る情報処理装置、アプリケーションサーバ、データベースサーバ、アプリケーションクライアントの構成の一例を示すシステム構成図である。1 is a system configuration diagram showing an example of configurations of an information processing device, an application server, a database server, and an application client according to the present invention; FIG. 本発明に係る情報処理装置、アプリケーションサーバ、データベースサーバ、アプリケーションクライアントとして適用可能な各ハードウェア構成の一例を示すブロック図である。1 is a block diagram showing an example of each hardware configuration applicable as an information processing device, an application server, a database server, and an application client according to the present invention; FIG. 本発明の実施形態のソフトウェア構成を示すブロック図の一例である。It is an example of the block diagram which shows the software configuration of embodiment of this invention. 本発明に係る情報処理装置101及びアプリケーションサーバ102の構成図である。1 is a configuration diagram of an information processing apparatus 101 and an application server 102 according to the present invention; FIG. ビジネスプロセス定義生成処理のフローチャートの一例を示す図である。FIG. 10 is a diagram illustrating an example of a flowchart of business process definition generation processing; ビジネスプロセステンプレート挿入処理のフローチャートの一例を示す図である。FIG. 10 is a diagram illustrating an example of a flowchart of business process template insertion processing; ビジネスプロセス定義入力画面の一例を示す図である。It is a figure which shows an example of a business process definition input screen. プレースホルダーへの値入力を受け付ける画面の一例を示す図である。FIG. 10 is a diagram showing an example of a screen for receiving value input to placeholders; テンプレートを挿入したビジネスプロセス定義入力画面の一例を示す図である。It is a figure which shows an example of the business process definition input screen which inserted the template. 新規ビジネスプロセステンプレートを作成するフローチャートの一例を示す図である。FIG. 10 is a diagram showing an example of a flowchart for creating a new business process template; 新規ビジネスプロセステンプレート作成受付画面の一例を示す図である。It is a figure which shows an example of a new business process template preparation reception screen. 新規ビジネスプロセステンプレート作成画面の一例を示す図である。It is a figure which shows an example of a new business process template creation screen. 新規ビジネスプロセステンプレート作成画面で作成した新規ビジネスプロセステンプレートの一例を示す図である。FIG. 10 is a diagram showing an example of a new business process template created on a new business process template creation screen; アプリケーション構築のフローチャートの一例を示す図である。FIG. 10 is a diagram showing an example of a flow chart for building an application;

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

図1は、本発明に係る情報処理装置(ソフトウェア開発者がソフトウェア開発のために操作するソフトウェア開発装置)、アプリケーションサーバ、データベースサーバ、アプリケーションクライアントの構成の一例を示すシステム(情報処理システム)構成図である。なお、本実施形態においては、情報処理装置にて開発されたソフトウェアをアプリケーションと呼ぶが、アプリケーションに限定するものではなく、アプリケーション以外のソフトウェア(例:OS)であってもよい。 FIG. 1 is a system (information processing system) configuration diagram showing an example of the configuration of an information processing device (software development device operated by a software developer for software development), an application server, a database server, and an application client according to the present invention. is. Note that in the present embodiment, software developed by an information processing apparatus is called an application, but the software is not limited to an application and may be software other than an application (for example, an OS).

情報処理装置101は、ソフトウェア開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。情報処理装置101は、プログラム生成、アプリケーション生成を行う。 The information processing apparatus 101 defines screen layouts, database search instructions, and the like according to the operation of the software developer. The information processing apparatus 101 generates programs and applications.

なお、本実施形態においては、情報処理装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用するアプリケーション以外のアプリケーションであってもよい。 In the present embodiment, the application generated by the information processing apparatus 101 is a web application, but the application is not limited to this. , the application may be an application other than an application that utilizes communication by Web technology.

また、本実施形態においては、情報処理装置101はアプリケーションのプログラムを生成するとしたが、この方法に限定するものではなく、プログラムを生成することなく、アプリケーションサーバ102やクラウド環境等でアプリケーションが動作する様にデータやファイル等を生成することにより、アプリケーション(の動作環境)を構築する等であってもよい。 Further, in the present embodiment, the information processing apparatus 101 generates an application program, but the method is not limited to this method. Alternatively, an application (operating environment) may be constructed by generating data, files, or the like in the same way.

アプリケーションサーバ102は、情報処理装置101で開発されたアプリケーションを実行する。また、データベースサーバ103と接続して動作することが可能である。 The application server 102 executes applications developed by the information processing apparatus 101 . Also, it is possible to operate by connecting to the database server 103 .

データベースサーバ103は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、ソフトウェア開発者が利用するためにデータベースサーバ103は、情報処理装置101や、アプリケーションサーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。 The database server 103 is a database used by developed applications, and in the present invention, it may also be used for operation confirmation during development. For example, for use by software developers, the database server 103 may be configured with the same device as the information processing device 101 and the application server 102, or may be arranged in a network 105 such as a LAN.

アプリケーションクライアント104(情報処理装置)は、アプリケーションサーバ102と協調して情報処理装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの入力端末である。この、アプリケーションクライアント104は、携帯端末などの情報処理装置であってもよいこととする。 The application client 104 (information processing device) is an end-user input terminal that operates an application program developed by the information processing device 101 in cooperation with the application server 102 . The application client 104 may be an information processing device such as a mobile terminal.

なお、情報処理装置101、アプリケーションサーバ102、データベースサーバ103、および、アプリケーションクライアント104の何れかを、クラウドなどのインターネット上に配置してもよい。 Any one of the information processing apparatus 101, the application server 102, the database server 103, and the application client 104 may be arranged on the Internet such as a cloud.

以上で、図1の説明を終了する。
This completes the description of FIG.

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

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

また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。 The ROM 203 or the external memory 211 also stores an operating system (OS), which is a control program for the CPU 201, and programs for realizing various functions of information processing apparatuses such as servers, clients, and apparatuses, which will be described later.

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

入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。 The input controller 205 controls input from the input unit 209 . Examples of the input unit 209 include a keyboard, a pointing device such as a mouse, and a touch panel in the information processing apparatus.

なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。 If the input unit 209 is a touch panel, the user can give various instructions by pressing (touching with a finger or the like) an icon, cursor, or button displayed on the touch panel.

また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。 Also, the touch panel may be a touch panel, such as a multi-touch screen, capable of detecting positions touched by a plurality of fingers.

出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。 The output controller 206 controls the display of the output section 210 . Examples of the output unit 210 include a CRT, a liquid crystal display, and the like. It should be noted that the display of the notebook computer integrated with the main body is also included. Also, it may be a projector.

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

なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。 It should be noted that the CPU 201 enables display on the output unit 210 by executing outline font expansion (rasterization) processing to a display information area in the RAM 202, for example. Also, the CPU 201 enables a user's instruction with a mouse cursor or the like (not shown) on the output unit 210 .

通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。 A communication I/F controller 208 executes communication control processing with external devices via a network. For example, communication using TCP/IP is possible.

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

以上で、図2の説明を終了する。
This completes the description of FIG.

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

情報処理装置101は、以下の機能部を備える。 The information processing apparatus 101 includes the following functional units.

テンプレート取得部301は、テンプレートを取得する機能部である。 A template acquisition unit 301 is a functional unit that acquires a template.

値受付部302は、テンプレート取得部301により取得されたテンプレートに含まれる変数を置換する値の入力を受け付ける機能部である。 The value reception unit 302 is a functional unit that receives input of values for replacing variables included in the template acquired by the template acquisition unit 301 .

テンプレート挿入部303は、テンプレート取得部301により取得されたテンプレートに含まれる変数を値受付部302により受け付けた値に置換した当該テンプレートをソフトウェアの所定の位置に挿入する機能部である。 The template inserting unit 303 is a functional unit that inserts the template obtained by replacing the variables included in the template acquired by the template acquiring unit 301 with the values accepted by the value accepting unit 302 into a predetermined position of the software.

テンプレート表示部304は、テンプレート取得手段により取得されたテンプレートを、変数を含めた形式で表示する機能部である。 The template display unit 304 is a functional unit that displays the template acquired by the template acquisition unit in a format including variables.

値受付部302は、変数毎に当該変数を置換する値の入力を受け付ける機能部である。 The value receiving unit 302 is a functional unit that receives an input of a value to replace the variable for each variable.

テンプレート作成受付部305は、変数を含むテンプレートの作成を受け付ける機能部である。 A template creation receiving unit 305 is a functional unit that receives creation of a template including variables.

テンプレート作成部306は、テンプレート作成受付部305により受け付けたテンプレートを作成する機能部である。 A template creating unit 306 is a functional unit that creates a template accepted by the template creation accepting unit 305 .

データモデル取得部307は、ソフトウェアで用いるデータモデルを取得する機能部である。 A data model acquisition unit 307 is a functional unit that acquires a data model used by software.

値受付部302は、データモデル変数を置換する値として、データモデル取得部307により取得されたデータモデルから選択を受け付ける機能部である。 The value receiving unit 302 is a functional unit that receives a selection from the data model acquired by the data model acquiring unit 307 as a value to replace the data model variable.

テンプレート挿入部303は、テンプレート取得部301により取得されたテンプレートに含まれる変数を値受付部302により受け付けた値に置換した当該テンプレートを、アプリケーションを構築するための定義情報の所定の位置に挿入する機能部である。 The template inserting unit 303 inserts the template in which the variables included in the template acquired by the template acquiring unit 301 are replaced with the values accepted by the value accepting unit 302 at predetermined positions of the definition information for constructing the application. It is a functional part.

アプリケーション構築部308は、テンプレート挿入部303により挿入されたテンプレートを含む定義情報に基づき、アプリケーションを構築する機能部である。 The application construction unit 308 is a functional unit that constructs an application based on definition information including the template inserted by the template insertion unit 303 .

以上で、図3の説明を終了する。
This completes the description of FIG.

図4は、情報処理装置101及びアプリケーションサーバ102の構成図である。 FIG. 4 is a configuration diagram of the information processing apparatus 101 and the application server 102. As shown in FIG.

情報処理装置101は、リポジトリ定義部401及びアプリケーション生成部410を備える。 The information processing apparatus 101 includes a repository definition section 401 and an application generation section 410 .

情報処理装置101は、アプリケーションを開発するソフトウェア開発者により設定されたリポジトリ定義部401の各定義を用いて、アプリケーション生成部410によりアプリケーションを生成する。 The information processing apparatus 101 generates an application by the application generation unit 410 using each definition of the repository definition unit 401 set by the software developer who develops the application.

リポジトリ定義部401には、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405、データベース定義406が記憶されている。これら402~406の定義は、アプリケーション構築ツールを介して、ソフトウェア開発者によって入力設定または配置される。 An application definition 402 , an input/output definition 403 , a data model definition 404 , a business process definition 405 and a database definition 406 are stored in the repository definition section 401 . These 402-406 definitions are populated or placed by the software developer through the application building tool.

入出力定義403は、アプリケーション画面に配置される各種項目のレイアウトの定義情報を保持する。入出力定義403は、入力項目定義情報及び出力項目定義情報を含む。入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報である。出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報である。以降、「入力項目定義情報」及び「出力項目定義情報」をまとめて「入出力項目定義情報」と呼ぶ。 The input/output definition 403 holds definition information of the layout of various items arranged on the application screen. The input/output definition 403 includes input item definition information and output item definition information. The input item definition information is information that defines input items to be input by the end user of the application through the screen of the generated application. The output item definition information is information defining output items to be output to the screen of the generated application. Hereinafter, "input item definition information" and "output item definition information" are collectively referred to as "input/output item definition information".

なお、本実施形態においては、「入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報」としたが、これらに限定するものではなく、例えば、画面を有さないバッチやWebサービス等のように、「入力項目定義情報は、生成されたアプリケーションに入力される入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションが出力する出力項目を定義した情報」であってもよい。 In the present embodiment, "input item definition information is information defining input items to be input by the end user of the application through the screen of the generated application", and "output item definition information is the generated application "Information that defines output items to be output to the screen", but it is not limited to these. Information defining input items to be input to the application" and "output item definition information may be information defining output items output by the generated application".

データモデル定義404は、データベースのテーブルの項目の定義情報を保持する。入出力定義403の各項目には、データモデル定義404の項目を対応づけることができる。生成されたアプリケーションは、データモデル定義404を用いてテーブルのレコード操作(例:登録、検索、更新、削除等)を行う。 The data model definition 404 holds definition information of items in the database table. Each item of the input/output definition 403 can be associated with an item of the data model definition 404 . The generated application uses the data model definition 404 to perform table record operations (eg, register, search, update, delete, etc.).

ビジネスプロセス定義405は、アプリケーションにおけるデータを処理するためのロジックの定義情報を保持する。 The business process definition 405 holds logic definition information for processing data in the application.

データベース定義406は、アプリケーションが接続するデータベースに係る情報(データベースサーバ103のIPアドレス、接続ユーザ、接続パスワード等)を定義する。 The database definition 406 defines information (IP address of the database server 103, connection user, connection password, etc.) related to the database to which the application connects.

ビジネスプロセステンプレート<ユーザ定義>407は、ソフトウェア開発者が独自に作成したビジネスプロセステンプレートである。 A business process template <user definition> 407 is a business process template uniquely created by a software developer.

ビジネスプロセステンプレートとは、ビジネスプロセス定義405の一部として利用可能なテンプレートである。 A business process template is a template available as part of the business process definition 405 .

ビジネスプロセステンプレートは、プレースホルダー(ビジネスプロセス定義405に必要な各項目の値を抽象化し、再利用可能にするための変数)を含み、ソフトウェア開発者がプレースホルダーに対して値を入力することによって、プレースホルダーを当該値に置換した状態でビジネスプロセス定義405の一部として利用することができる。 The business process template includes placeholders (variables for abstracting the values of each item required for the business process definition 405 and making them reusable). , can be used as part of the business process definition 405 with the placeholders replaced with the values.

ビジネスプロセステンプレート管理部420は、外部メモリ211に記憶されたビジネスプロセステンプレート<組み込み>421を管理する。 The business process template management unit 420 manages the business process template <embedded> 421 stored in the external memory 211 .

ビジネスプロセステンプレート<組み込み>421は、ソフトウェア開発支援ツールに組み込まれたビジネスプロセステンプレートである。なお、ビジネスプロセステンプレート<組み込み>421は、ソフトウェア開発支援ツール導入時から組み込まれたテンプレートに限定するものではなく、ソフトウェア開発支援ツール導入後にソフトウェア開発支援ツール開発元や第三者(ビジネスプロセステンプレート提供者等)から取得したテンプレート等であってもよい。 A business process template <embedded> 421 is a business process template embedded in the software development support tool. It should be noted that the business process template <embedded> 421 is not limited to a template that has been incorporated since the software development support tool was introduced. It may be a template or the like acquired from a person or the like.

以下では、「ビジネスプロセステンプレート<ユーザ定義>407」及び「ビジネスプロセステンプレート<組み込み>421」を総称して、「ビジネスプロセステンプレート」又は単に「テンプレート」と呼ぶ。「ビジネスプロセステンプレート」は、ソフトウェア開発支援ツールの画面(例:ビジネスプロセスエディタ部430)において、「スニペット」と呼ばれる部品として、ビジネスプロセス定義405の作成及び編集に用いることができる。 Hereinafter, "business process template <user defined> 407" and "business process template <built-in> 421" are collectively referred to as "business process template" or simply "template". A "business process template" can be used to create and edit the business process definition 405 as a component called a "snippet" on the screen of the software development support tool (eg, business process editor section 430).

ビジネスプロセスエディタ部430は、ビジネスプロセステンプレート要求受信部431及びビジネスプロセス定義入力部432を用いて、ビジネスプロセス定義405の作成、編集及び参照をする。 The business process editor unit 430 creates, edits, and refers to the business process definition 405 using the business process template request reception unit 431 and business process definition input unit 432 .

ビジネスプロセステンプレート編集ダイアログ450は、ビジネスプロセステンプレート表示部451、プレースホルダー値入力部452を用いて、ユーザからのプレースホルダーに対する値入力を受け付け、ビジネスプロセスデータ作成部453を用いて、ビジネスプロセスデータを作成する。 The business process template edit dialog 450 uses a business process template display section 451 and a placeholder value input section 452 to accept values input for placeholders from the user, and uses a business process data creation section 453 to generate business process data. create.

ビジネスプロセスデータ作成部453は、作成したビジネスプロセスデータをビジネスプロセスエディタ部に渡す。 The business process data creating section 453 passes the created business process data to the business process editor section.

アプリケーション生成部410は、アプリケーション生成用のリポジトリ定義解析部411を用いてリポジトリ定義部401に記憶されている各定義を解析し、アプリケーションコード生成部412及びソースコードコンパイル部413を介し、コンパイル済Java(登録商標)コード441及びHTML/JSP/JavaScript(登録商標)442を含むアプリケーションコード440を生成する。すなわち、アプリケーション生成部410は、設定された定義を用いて、アプリケーションとして用いられるソフトウェアを生成する手段の一例である。 The application generation unit 410 analyzes each definition stored in the repository definition unit 401 using the repository definition analysis unit 411 for application generation, and outputs the compiled Java code via the application code generation unit 412 and the source code compilation unit 413. Application code 440 including ® code 441 and HTML/JSP/Javascript ® 442 is generated. That is, the application generation unit 410 is an example of means for generating software used as an application using the set definition.

以上で、図4の説明を終了する。
This completes the description of FIG.

図5は、ビジネスプロセス定義生成処理のフローチャートの一例を示す図である。なお、以下のフローチャートの各ステップは、各装置のCPU201が実行する。 FIG. 5 is a diagram illustrating an example of a flowchart of business process definition generation processing. Each step of the following flowchart is executed by the CPU 201 of each device.

ステップS501において、情報処理装置101は、ビジネスプロセス定義入力画面700(図7)を用いて、ビジネスプロセス定義405に含まれる各項目(「制御コード」「データモデルコード」「機能コード」「パラメータ」及び「作業コード」)の入力を受け付ける。ビジネスプロセス定義入力画面700は、ビジネスプロセス定義入力部432の一例である。 In step S501, the information processing apparatus 101 uses the business process definition input screen 700 (FIG. 7) to enter each item (“control code”, “data model code”, “function code”, “parameter”) included in the business process definition 405. and "work code"). The business process definition input screen 700 is an example of the business process definition input section 432 .

ここで、ビジネスプロセス定義405に含まれる各項目について、簡単に説明をしておく。 Here, each item included in the business process definition 405 will be briefly explained.

「制御コード」は、ビジネスプロセスにおける命令を表すコードである。具体的には、制御コード“IN”は、画面からバインドされたデータモデルのレコード集合を変数に代入する命令である。また、制御コード“CALL”は、データモデル操作(例:レコードの登録、検索、更新、削除等)を行う命令である。また、制御コード“IF/ELSEIF/ELSE/END”は、ビジネスプロセスにおける処理の分岐を行う命令である。また、制御コード“EXEC”は、定義済のビジネスプロセスを実行する命令である。なお、本実施形態においては、上記の「制御コード」を挙げたが、これらの制御コードに限定するものではなく、その他の命令を表す「制御コード」であってもよい。 A "control code" is a code representing an instruction in a business process. Specifically, the control code "IN" is an instruction to substitute the record set of the data model bound from the screen to the variable. Also, the control code "CALL" is an instruction for performing data model operations (eg, record registration, search, update, deletion, etc.). Also, the control code "IF/ELSEIF/ELSE/END" is an instruction for branching the processing in the business process. Also, the control code "EXEC" is an instruction to execute a defined business process. In this embodiment, the above "control code" is used, but the control code is not limited to these, and may be a "control code" representing other instructions.

「機能コード」は、実行する処理を示すコードである。具体的には、データモデル操作コード、定義済のビジネスプロセスのコード、拡張的に定義されたコード等が該当する。 A "function code" is a code indicating a process to be executed. Specifically, data model operation codes, defined business process codes, extendedly defined codes, and the like are applicable.

「パラメータ」は、「機能コード」で指定した処理に渡す引数である。次に説明する「作業コード」の変数を指定することで、変数に格納された値を「機能コード」で指定した処理に渡すことができる。 "Parameter" is an argument passed to the process specified by "function code". By specifying the variable of "work code" described below, the value stored in the variable can be passed to the process specified by "function code".

「作業コード」には、呼出元の入出力定義403から受け取る値、「機能コード」で指定した処理が返す戻り値を格納するための変数を指定する。 The "work code" specifies a variable for storing the value received from the input/output definition 403 of the calling source and the return value returned by the process specified in the "function code".

なお、本実施形態においては、ビジネスプロセス定義405に含まれる項目として、「制御コード」「データモデルコード」「機能コード」「パラメータ」及び「作業コード」を挙げたが、これらの項目に限定するものではなく、その他の項目があってもよい。 In this embodiment, "control code", "data model code", "function code", "parameter", and "work code" are listed as items included in the business process definition 405, but the items are limited to these items. There may be other items instead of things.

ステップS502において、情報処理装置101は、ビジネスプロセステンプレート要求受信部431を用いて、ビジネスプロセステンプレート701の挿入操作を受け付けたか否かを判定し、受け付けた場合はステップS503に進み、受け付けなかった場合はステップS504に進む。 In step S502, the information processing apparatus 101 uses the business process template request receiving unit 431 to determine whether or not an operation to insert the business process template 701 has been accepted. goes to step S504.

ビジネスプロセステンプレート701の挿入操作とは、例えば、ビジネスプロセステンプレート701をドラッグし、ビジネスプロセスエディタ部430内の挿入したい位置にドロップする(図7の702)操作である。なお、本実施形態においては、挿入操作をドラッグ&ドロップ操作としたが、この操作方法に限定するものではなく、挿入するビジネスプロセステンプレート701及び挿入する位置が特定できる操作であれば、キーボードによる操作、画面のタッチ操作、その他の操作等であってもよい。 The operation of inserting the business process template 701 is, for example, an operation of dragging the business process template 701 and dropping it at a position to be inserted in the business process editor section 430 (702 in FIG. 7). Note that in this embodiment, the insertion operation is a drag and drop operation, but the operation method is not limited to this. Any operation that can specify the business process template 701 to be inserted and the insertion position can be performed using a keyboard. , a touch operation on the screen, other operations, or the like.

なお、本実施形態においては、挿入するビジネスプロセステンプレート701及び挿入する位置は、ソフトウェアの開発者が操作により指示するとしたが、この方法に限定するものではなく、情報処理装置101が、ビジネスプロセス定義405の定義内容に基づき、挿入するビジネスプロセステンプレート701又は挿入する位置を自動的に(例えば、別途定義されたルール、過去に開発したソフトウェアの解析結果、及び/又は、人工知能等を用いて)特定するとしてもよい。 In this embodiment, the business process template 701 to be inserted and the position to be inserted are instructed by the software developer, but the method is not limited to this method. Based on the definition contents of 405, the business process template 701 to be inserted or the position to be inserted is automatically (for example, using a separately defined rule, analysis results of software developed in the past, and/or artificial intelligence, etc.) It may be specified.

なお、本実施形態においては、挿入するテンプレートをビジネスプロセステンプレート701としたが、これに限定するものではなく、入出力定義403、データモデル定義404等、その他の種類のテンプレート(例:レイアウトやデザインのテンプレート、メッセージのテンプレート、汎用的なデータやロジックのテンプレート等)であってもよい。 Note that in this embodiment, the template to be inserted is the business process template 701, but this is not restrictive, and other types of templates such as the input/output definition 403, the data model definition 404, etc. templates, message templates, generic data and logic templates, etc.).

ステップS503において、情報処理装置101は、ビジネスプロセステンプレートの挿入処理を行う。この処理については、図6にて後述する。 In step S503, the information processing apparatus 101 inserts a business process template. This processing will be described later with reference to FIG.

ステップS504において、情報処理装置101は、ソフトウェア開発者からのビジネスプロセス定義405の保存要求を受け付ける。 In step S504, the information processing apparatus 101 receives a request to save the business process definition 405 from the software developer.

ステップS505において、情報処理装置101は、ソフトウェア開発者からのビジネスプロセス定義405の保存要求の有無を判定する。 In step S505, the information processing apparatus 101 determines whether or not there is a request to save the business process definition 405 from the software developer.

ステップS505において、情報処理装置101は、ステップS501~S503にて作成されたビジネスプロセスに基づき、ビジネスプロセス定義405を生成し、外部メモリ211に記憶する。 In step S505, the information processing apparatus 101 generates the business process definition 405 based on the business process created in steps S501 to S503, and stores it in the external memory 211. FIG.

以上で、図6の説明を終了する。
This completes the description of FIG.

図6は、ステップS503にて実行されるビジネスプロセステンプレート挿入処理のフローチャートの一例を示す図である。 FIG. 6 is a diagram showing an example of a flowchart of business process template insertion processing executed in step S503.

ステップS601において、情報処理装置101は、ビジネスプロセス定義に挿入するビジネスプロセステンプレート701の情報を取得し、RAM202へ記憶する。すなわち、ステップS601は、テンプレートを取得する処理の一例を示すステップである。挿入するビジネスプロセステンプレート701とは、ステップS502にて特定された(例:ソフトウェア開発者がドラッグ&ドロップした)ビジネスプロセステンプレート701である。 In step S<b>601 , the information processing apparatus 101 acquires information of the business process template 701 to be inserted into the business process definition and stores it in the RAM 202 . That is, step S601 is a step showing an example of processing for acquiring a template. The business process template 701 to be inserted is the business process template 701 specified in step S502 (for example, dragged and dropped by the software developer).

ステップS602において、情報処理装置101は、ステップS601にて取得したビジネスプロセステンプレート内のプレースホルダーの情報を取得する。 In step S602, the information processing apparatus 101 acquires the information of the placeholder in the business process template acquired in step S601.

ステップS603において、情報処理装置101は、ステップS602にて取得したプレースホルダーの数を判定し、0個の場合はステップS607に進み、1個以上の場合はステップS604に進む。 In step S603, the information processing apparatus 101 determines the number of placeholders acquired in step S602. If the number is 0, the process proceeds to step S607, and if the number is 1 or more, the process proceeds to step S604.

ステップS604において、情報処理装置101は、ステップS601にて取得したビジネスプロセステンプレート及びステップS602にて取得したプレースホルダーを表示する。すなわち、ステップS604は、取得されたテンプレートを、変数を含めた形式で表示する処理の一例を示すステップである。具体的には、ビジネスプロセステンプレート編集ダイアログ450(図8の800)を表示する。 In step S604, the information processing apparatus 101 displays the business process template acquired in step S601 and the placeholder acquired in step S602. That is, step S604 is a step showing an example of processing for displaying the acquired template in a format including variables. Specifically, the business process template edit dialog 450 (800 in FIG. 8) is displayed.

ステップS605において、情報処理装置101は、プレースホルダー値入力部452を用いて、プレースホルダーを置換する値の入力を受け付ける。すなわち、ステップS605は、取得されたテンプレートに含まれる変数を置換する値の入力を受け付ける処理の一例を示すステップである。具体的には、プレースホルダー一覧をプレースホルダー値エディタ801に表示し、ソフトウェア開発者による入力を受け付ける。 In step S<b>605 , the information processing apparatus 101 uses the placeholder value input unit 452 to receive input of a value to replace the placeholder. That is, step S605 is a step showing an example of processing for accepting input of values for replacing variables included in the acquired template. Specifically, the placeholder list is displayed on the placeholder value editor 801 to accept input from the software developer.

図8の802は、プレースホルダー値エディタ801にてプレースホルダーを置換する値の入力を受け付けた例である。ここでは、プレースホルダー{DM_CODE}に“EMP_MST”(顧客マスタ)を、プレースホルダー{WK_CODE}に値「WK_ID」の入力を受け付けたとする。 802 in FIG. 8 is an example in which the placeholder value editor 801 receives an input of a value to replace the placeholder. Here, it is assumed that an input of "EMP_MST" (customer master) is received for the placeholder {DM_CODE} and a value "WK_ID" is received for the placeholder {WK_CODE}.

なお、「データモデルコード」のプレースホルダーに対して値の入力をする場合は、既存のデータモデル(データモデル定義404)から選択することができるとしてもよい(不図示)。また、「パラメータ」等のプレースホルダーに対して値の入力をする場合は、呼出元の入出力定義403から受け取ると予想される値、「機能コード」で指定した処理が返すと予想される戻り値等から選択ができるとしてもよい(不図示)。これにより、プレースホルダーを置換する値の入力を効率化することができるようになる。 It should be noted that when a value is input to the placeholder of "data model code", it may be possible to select from an existing data model (data model definition 404) (not shown). Also, when entering a value for a placeholder such as "parameter", the value expected to be received from the input/output definition 403 of the calling source, the return expected to be returned by the process specified in "function code" It may be possible to select from values, etc. (not shown). This makes it possible to streamline the input of values that replace placeholders.

すなわち、ステップS605は、ソフトウェアで用いるデータモデルを取得する処理の一例を示すステップであり、データモデル変数を置換する値として、取得されたデータモデルから選択を受け付ける処理の一例を示すステップである。 That is, step S605 is a step showing an example of a process of acquiring a data model used in software, and a step showing an example of a process of accepting a selection from the acquired data model as a value to replace a data model variable.

ステップS606において、情報処理装置101は、OKボタン803の押下を受け付けると、ステップS601にてRAM202に記憶したビジネスプロセステンプレート701の各プレースホルダーをステップS605にて受け付けた値に置換する。 In step S606, when the OK button 803 is pressed, the information processing apparatus 101 replaces each placeholder of the business process template 701 stored in the RAM 202 in step S601 with the value accepted in step S605.

ステップS607において、情報処理装置101は、RAM202内のビジネスプロセステンプレート701を、ステップS502にて特定された挿入位置に挿入する。すなわち、ステップS607は、テンプレートに含まれる変数を受け付けた値に置換した当該テンプレートをソフトウェアの所定の位置に挿入する処理の一例を示すステップである。すなわち、ステップS607は、取得されたテンプレートに含まれる変数を受け付けた値に置換した当該テンプレートを、アプリケーションを構築するための定義情報の所定の位置に挿入する処理の一例を示すステップである。 In step S607, the information processing apparatus 101 inserts the business process template 701 in the RAM 202 into the insertion position specified in step S502. That is, step S607 is a step showing an example of a process of inserting the template in which the variables included in the template are replaced with the received values into a predetermined position of the software. That is, step S607 is a step showing an example of a process of inserting the template in which the variables included in the obtained template are replaced with the accepted values at predetermined positions of the definition information for constructing the application.

具体的には、ステップS604にて表示されていたビジネスプロセステンプレートのプレースホルダー{DM_CODE}が“EMP_MST”(顧客マスタ)に、プレースホルダー{WK_CODE}が値「WK_ID」に置換した状態で、ステップS502にて特定された挿入位置に挿入する(図9の901)。 Specifically, the placeholder {DM_CODE} of the business process template displayed in step S604 is replaced with "EMP_MST" (customer master), and the placeholder {WK_CODE} is replaced with the value "WK_ID" in step S502. (901 in FIG. 9).

以上で、図6の説明を終了する。
This completes the description of FIG.

図10は、新規のビジネスプロセステンプレートを作成するフローチャートの一例を示す図である。 FIG. 10 is a diagram showing an example of a flowchart for creating a new business process template.

ステップS1001において、情報処理装置101は、新規のビジネスプロセステンプレートを作成する要求を受け付ける(図11)。図11では、ビジネスプロセステンプレートを識別するためのコード1101及びその名前1102の入力、並びに、Finishボタン1103の押下を受け付け、それらの値をRAM202に記憶しておく。ここでは、コード1101に“TEMPLATE_SAMPLE”、名前1102に“サンプルテンプレート”の値がそれぞれ入力されたとする。 In step S1001, the information processing apparatus 101 receives a request to create a new business process template (FIG. 11). In FIG. 11, input of a code 1101 and its name 1102 for identifying a business process template and pressing of a Finish button 1103 are accepted, and these values are stored in the RAM 202 . Here, it is assumed that a value of "TEMPLATE_SAMPLE" is input to the code 1101 and a value of "sample template" is input to the name 1102, respectively.

ステップS1002において、情報処理装置101は、新規ビジネスプロセステンプレート作成画面(図12)を表示し、ロジック一覧部1201(図12)にて、新たなビジネスプロセステンプレート<ユーザ定義>407を構成する「制御コード」「データモデルコード」「機能コード」「パラメータ」「作業コード」の入力を受け付ける。すなわち、ステップS1002は、変数を含むテンプレートの作成を受け付ける処理の一例を示すステップである。 In step S1002, the information processing apparatus 101 displays the new business process template creation screen (FIG. 12), and in the logic list section 1201 (FIG. 12), the "control Accepts input of code, data model code, function code, parameter, and operation code. That is, step S1002 is a step showing an example of processing for receiving creation of a template including variables.

図13は、新規ビジネスプロセステンプレート作成画面で作成した新規ビジネスプロセステンプレートの一例を示す図である。1301~1303のように、「制御コード」「データモデルコード」「機能コード」「パラメータ」「作業コード」に中括弧{}を用いることで、新規ビジネスプロセステンプレート内にプレースホルダーを作成することができる。 FIG. 13 is a diagram showing an example of a new business process template created on the new business process template creation screen. Placeholders can be created in a new business process template by using curly braces { } for "control code", "data model code", "function code", "parameter", and "operation code" as shown in 1301-1303. can.

また、中括弧に囲まれた文字列を同じ文字列(例:1301及び1302)にすることにより、同一のプレースホルダーとして扱うことができる。つまり、この画面を用いて生成された新規ビジネスプロセステンプレートをビジネスプロセス定義に挿入する場合、プレースホルダー{DM_CODE}に対して設定した値を、プレースホルダー{DM_CODE}が定義されているすべての箇所に置換することができる。 Also, by using the same character string (eg, 1301 and 1302) for the character strings enclosed in curly braces, they can be treated as the same placeholder. In other words, when inserting a new business process template generated using this screen into the business process definition, the value set for the placeholder {DM_CODE} is applied to all locations where the placeholder {DM_CODE} is defined. can be replaced.

これにより、ソフトウェア開発者が独自に作成する新規ビジネスプロセステンプレートにおいても、プレースホルダーを用いることができる。つまり、ソフトウェア開発者自身がプレースホルダーを含むテンプレートを自由に作成することができるようになるため、そのソフトウェア開発に適した柔軟なテンプレートを用いてソフトウェア開発を効率的に行う仕組みを提供することができるようになる。 As a result, placeholders can also be used in new business process templates independently created by software developers. In other words, since software developers themselves can freely create templates that include placeholders, it is possible to provide a mechanism for efficiently developing software using flexible templates suitable for the software development. become able to.

ステップS1003において、情報処理装置101は、新たなビジネスプロセステンプレート<ユーザ定義>407に既存のビジネスプロセステンプレートを挿入する操作を受け付けたか否かを判定する。挿入操作を受け付けた場合はステップS1004に進み、受け付けなかった場合はステップS1005に進む。ビジネスプロセス部品1202(図12)には、「スニペット」と呼ばれる部品としてビジネスプロセステンプレート(421及び既存の407)が表示されており、既存のビジネスプロセステンプレートの挿入操作とは、ビジネスプロセス部品1202のビジネスプロセステンプレートをロジック一覧部1201にドラッグ&ドロップすることで、ビジネスプロセステンプレートを利用して新たなビジネスプロセステンプレート<ユーザ定義>407を作成することができる。 In step S<b>1003 , the information processing apparatus 101 determines whether or not an operation to insert an existing business process template into the new business process template <user definition> 407 has been received. If the insertion operation has been accepted, the process advances to step S1004; otherwise, the process advances to step S1005. In the business process component 1202 (FIG. 12), business process templates (421 and existing 407) are displayed as components called "snippet". A new business process template <user defined> 407 can be created using the business process template by dragging and dropping the business process template onto the logic list section 1201 .

なお、本実施形態においては、図10のフローチャートにより作成された新たな「ビジネスプロセステンプレート<ユーザ定義>407は、ビジネスプロセス部品1202(図12)の「スニペット」に表示され選択できるようになるとしたが、この方法に限定するものではなく、ビジネスプロセステンプレート<組み込み>421とビジネスプロセステンプレート<ユーザ定義>407とを分けて表示するとしてもよいし、ビジネスプロセステンプレートが持つ設定に基づき、新たなビジネスプロセステンプレート<組み込み>421を作成するときにスニペットとして用いることができないビジネスプロセステンプレートがあってもよい。 In this embodiment, the new "business process template <user defined> 407 created according to the flowchart of FIG. 10 is displayed in the "snippet" of the business process component 1202 (FIG. 12) and can be selected. However, it is not limited to this method, and the business process template <embedded> 421 and the business process template <user defined> 407 may be displayed separately. There may be business process templates that cannot be used as snippets when creating a process template <embed> 421 .

ステップS1004において、情報処理装置101は、新たなビジネスプロセステンプレート<ユーザ定義>407に既存のビジネスプロセステンプレートを挿入する。 In step S<b>1004 , the information processing apparatus 101 inserts an existing business process template into the new business process template <user definition> 407 .

これにより、「制御コード」「データモデルコード」「機能コード」「パラメータ」「作業コード」の入力を容易にすることができる。また、ビジネスプロセステンプレートの部品(スニペット)を組み合わせて、複雑かつ高品質なビジネスプロセステンプレートを容易に作成することができるようになる。 This facilitates the input of "control code", "data model code", "function code", "parameter" and "operation code". In addition, it becomes possible to easily create a complex and high-quality business process template by combining parts (snippets) of the business process template.

既存のビジネスプロセステンプレートを挿入した後は、ステップS1002と同様に新たなビジネスプロセステンプレート<ユーザ定義>407の「制御コード」「データモデルコード」「機能コード」「パラメータ」「作業コード」の入力及び修正を受け付けることができる。 After inserting the existing business process template, as in step S1002, input and Amendments can be accepted.

ステップS1005において、情報処理装置101は、ステップS1001~S1004にて作成した新たなビジネスプロセステンプレート<ユーザ定義>407を外部メモリ211に記憶する。すなわち、ステップS1005は、受け付けたテンプレートを作成する処理の一例を示すステップである。 In step S1005, the information processing apparatus 101 stores in the external memory 211 the new business process template <user definition> 407 created in steps S1001 to S1004. That is, step S1005 is a step showing an example of processing for creating a received template.

以上により、ソフトウェア開発者自身がテンプレートを自由に作成することができるようになるため、そのソフトウェア開発に適した柔軟なテンプレートを用いてソフトウェア開発を効率的に行う仕組みを提供することができるようになる。
As described above, software developers themselves can create templates freely, so that it is possible to provide a mechanism for efficiently developing software using flexible templates suitable for the software development. Become.

図14は、アプリケーション構築のフローチャートの一例を示す図である。 FIG. 14 is a diagram illustrating an example of a flowchart for building an application.

ステップS1401において、情報処理装置101は、ユーザによるアプリケーション構築の指示(不図示)を受け付けると、外部メモリ211に記憶されているリポジトリ定義のアプリケーション定義をRAM202に読み込む。なお、リポジトリ定義には、アプリケーションの構築に用いる、データベース定義、データモデル定義、入出力(画面)定義、ビジネスプロセス定義等が含まれる。これらの詳細については、既知の技術であるため、その説明は省略する。 In step S<b>1401 , the information processing apparatus 101 receives an application construction instruction (not shown) from the user, and reads the application definition of the repository definition stored in the external memory 211 into the RAM 202 . The repository definition includes database definition, data model definition, input/output (screen) definition, business process definition, and the like, which are used to build the application. Since these details are known techniques, the description thereof will be omitted.

すなわち、ステップS1401は、アプリケーションの構築指示を受け付ける処理の一例を示すステップである。また、リポジトリ定義は、アプリケーションの定義を記憶する手段の一例である。 That is, step S1401 is a step showing an example of processing for receiving an application construction instruction. Also, the repository definition is an example of means for storing application definitions.

ステップS1402において、情報処理装置101は、外部メモリ211に記憶されているリポジトリ定義部のデータモデル定義をRAM202に読み込む。 In step S<b>1402 , the information processing apparatus 101 loads the data model definition of the repository definition section stored in the external memory 211 into the RAM 202 .

ステップS1403において、情報処理装置101は、外部メモリ211に記憶されているリポジトリ定義部の入出力(画面)定義をRAM202に読み込む。 In step S<b>1403 , the information processing apparatus 101 loads the input/output (screen) definition of the repository definition section stored in the external memory 211 into the RAM 202 .

ステップS1404において、情報処理装置101は、外部メモリ211に記憶されているリポジトリ定義部のビジネスプロセス定義をRAM202に読み込む。 In step S<b>1404 , the information processing apparatus 101 loads the business process definition of the repository definition section stored in the external memory 211 into the RAM 202 .

ステップS1405において、情報処理装置101は、外部メモリ211に記憶されているリポジトリ定義部のデータベース定義をRAM202に読み込む。 In step S<b>1405 , the information processing apparatus 101 loads the database definition of the repository definition section stored in the external memory 211 into the RAM 202 .

ステップS1406において、情報処理装置101は、RAM202に読み込んだリポジトリ定義部の各定義に基づき、アプリケーションのソースコードを生成する。 In step S<b>1406 , the information processing apparatus 101 generates the source code of the application based on each definition of the repository definition section read into the RAM 202 .

なお、生成されたソースコードにはプログラミング言語で記載されたファイルに加え、HTML、JSP、JavaScript(登録商標)等のアプリケーションやサービスの提供に利用されるファイルも含まれる。なお、本実施形態においては、プログラミング言語をJava(登録商標)としたが、これに限定に限定するものではなく、その他のプログラミング言語を用いるとしてもよい。なお、本実施形態においては、HTML、JSP、JavaScript(登録商標)等のファイルを生成するとしたが、当然ながら、そのアプリケーションやサービスの提供に利用するファイルであれば、その他の形式のファイルであってもよい。 The generated source code includes not only files written in programming languages, but also files such as HTML, JSP, and JavaScript (registered trademark) used for providing applications and services. In this embodiment, the programming language is Java (registered trademark), but the programming language is not limited to this, and other programming languages may be used. In the present embodiment, files of HTML, JSP, Javascript (registered trademark), etc. are generated, but of course, files of other formats may be used as long as they are used for providing the application or service. may

ステップS1407において、情報処理装置101は、ステップS1406にて生成したソースコードをアプリケーションサーバ102に配置(デプロイ)する。すなわち、ステップS1407は、挿入されたテンプレートを含む定義情報に基づき、アプリケーションを構築する処理の一例を示すステップである。これにより、アプリケーションサーバ102上でアプリケーションが動作するようになる。 In step S<b>1407 , the information processing apparatus 101 deploys the source code generated in step S<b>1406 to the application server 102 . That is, step S1407 is a step showing an example of processing for constructing an application based on definition information including the inserted template. This allows the application to run on the application server 102 .

以上により、テンプレートを用いて効率的にアプリケーションを構築することができるようになる。
以上で、図14の説明を終了する。
As described above, an application can be efficiently constructed using a template.
This is the end of the description of FIG.

以上により、テンプレートを用いてソフトウェア開発を効率的に行うことができるようになる。
As described above, it becomes possible to efficiently develop software using a template.

なお、本実施形態においては、テンプレートを用いてソフトウェアの開発を行うとしたが、ソフトウェアの開発に限定するものではなく、入出力定義403、データモデル定義404等、その他の種類のテンプレート(例:レイアウトやデザインのテンプレート、メッセージのテンプレート、汎用的なデータやロジックのテンプレート等)にも本願発明を適用すれば、デザイン、メッセージ、文書、データ、ロジック等に係る開発や作業を効率的にすることができるようになる。
In the present embodiment, software is developed using templates, but the present invention is not limited to software development. If the present invention is applied to layout and design templates, message templates, general-purpose data and logic templates, etc.), development and work related to designs, messages, documents, data, logic, etc. can be made efficient. will be able to

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

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

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。 Examples of recording media for supplying programs include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, magnetic tapes, non-volatile memory cards, ROMs, EEPROMs, silicon A disk 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 based on the instructions of the program, the OS (operating system) and the like running on the computer are actually executed. Needless to say, a case where part or all of the processing is performed and the functions of the above-described embodiments are realized by the processing are included.

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

また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Moreover, the present invention may be applied to a system composed of a plurality of devices or to an apparatus composed of a single device. Further, it goes without saying that the present invention can be applied to the case where it is achieved by supplying a program to a system or device. In this case, by loading a recording medium storing a program for achieving the present invention into the system or device, the system or device can enjoy the effects of the present invention.

上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。 The program may be in the form of object code, program code executed by an interpreter, script data supplied to an OS (Operating System), or the like.

さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
Furthermore, by downloading and reading out the program for achieving the present invention from a server, database, etc. on the network using a communication program, the system or device can enjoy the effects of the present invention. It should be noted that all configurations obtained by combining each of the above-described embodiments and modifications thereof are also included in the present invention.

101 情報処理装置
102 プログラム生成サーバ
103 データベースサーバ
104 アプリケーションクライアント
105 アプリケーションサーバ
106 ネットワーク
101 Information Processing Device 102 Program Generation Server 103 Database Server 104 Application Client 105 Application Server 106 Network

Claims (14)

ユーザーからのテンプレートの指定を受け付ける受付手段と、
ユーザーに指定されたテンプレートに含まれる変数の値を入力するための入力領域を表示するように制御する表示制御手段と、
前記入力領域にユーザー操作に応じて入力された値で前記変数を置き換えたテンプレートを用いてソフトウェアを生成するための処理を行う処理手段と
を有し、
前記テンプレートは、前記ソフトウェアにおけるデータを処理するためのロジックにおける
命令、
データモデル、
実行する実行処理、
前記実行処理に用いる値、
呼出元から受け取る値、
前記実行処理が返す戻り値の格納先、
の少なくとも1つを定義し、
ユーザーに指定されたテンプレートに、データモデルの変数が含まれる場合には、データモデルの変数に対応する前記入力領域への入力として、既存のデータモデルからの選択を受け付けることを特徴とする情報処理装置。
a receiving means for receiving a specification of a template from a user;
display control means for controlling display of an input area for inputting values of variables included in a template specified by a user;
and processing means for performing processing for generating software using a template in which the variables are replaced with values input in the input area according to user operation,
the template is an instruction in logic for processing data in the software ;
data model,
execution process to be performed,
a value used in the execution process;
the value received from the caller,
storage destination of the return value returned by the execution process;
define at least one of
An information processing characterized by accepting a selection from an existing data model as an input to the input area corresponding to the data model variable when the template specified by the user includes the data model variable. Device.
ユーザーからのテンプレートの指定を受け付ける受付手段と、
ユーザーに指定されたテンプレートに含まれる変数の値を入力するための入力領域を表示するように制御する表示制御手段と、
前記入力領域にユーザー操作に応じて入力された値で前記変数を置き換えたテンプレートを用いてソフトウェアを生成するための処理を行う処理手段と
を有し、
前記テンプレートは、前記ソフトウェアにおけるデータを処理するためのロジックにおける
命令、
データモデル、
実行する実行処理、
前記実行処理に用いる値、
呼出元から受け取る値、
前記実行処理が返す戻り値の格納先、
の少なくとも1つを定義し、
ユーザーに指定されたテンプレートに、前記実行処理に用いる値の変数が含まれる場合には、前記実行処理に用いる値に対応する前記入力領域への入力として、呼出元の入出力定義から受け取ると予想される値と、前記実行処理が返すと予想される戻り値との少なくとも一方からの選択を受け付けることを特徴とする情報処理装置。
a receiving means for receiving a specification of a template from a user;
display control means for controlling display of an input area for inputting values of variables included in a template specified by a user;
and processing means for performing processing for generating software using a template in which the variables are replaced with values input in the input area according to user operation,
the template is an instruction in logic for processing data in the software ;
data model,
execution process to be performed,
a value used in the execution process;
the value received from the caller,
storage destination of the return value returned by the execution process;
define at least one of
If the template specified by the user contains a variable for the value used in the execution process, it is expected to be received from the input/output definition of the calling source as an input to the input area corresponding to the value used in the execution process. and a return value expected to be returned by the execution process.
ユーザーからのテンプレートの指定を受け付ける受付手段と、
ユーザーに指定されたテンプレートに含まれる変数の値を入力するための入力領域を表示するように制御する表示制御手段であって、ユーザーから指定されたテンプレートに複数の変数が含まれる場合、前記複数の変数にそれぞれ対応する複数の入力領域を所定の領域に一覧で表示するように制御する表示制御手段と、
前記入力領域にユーザー操作に応じて入力された値で前記変数を置き換えたテンプレートを用いてソフトウェアを生成するための処理を行う処理手段と
を有し、
前記表示制御手段は、ユーザーに指定されたテンプレートが定義する情報を項目別の領域に分けて表示し、当該テンプレートに含まれる変数を前記項目別の領域に表示するとともに、対応する入力領域を前記項目別の領域とは異なる前記所定の領域に表示するように制御することを特徴とする情報処理装置。
a receiving means for receiving a specification of a template from a user;
Display control means for controlling display of an input area for inputting values of variables included in a template specified by a user, wherein when the template specified by the user includes a plurality of variables, the plurality of display control means for controlling to display a list of a plurality of input areas respectively corresponding to the variables of in a predetermined area;
and processing means for performing processing for generating software using a template in which the variables are replaced with values input in the input area according to user operation,
The display control means divides and displays information defined by a template specified by a user into itemized areas, displays variables included in the template in the itemized areas, and displays the corresponding input areas in the itemized areas. An information processing apparatus characterized by controlling to display in the predetermined area different from the area for each item.
前記テンプレートは、前記ソフトウェアにおけるデータを処理するためのロジックを定義するためのテンプレートであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 4. The information processing apparatus according to claim 1, wherein said template is a template for defining logic for processing data in said software. ユーザーに指定されたテンプレートに、前記実行処理に用いる値の変数が含まれる場合には、前記実行処理に用いる値に対応する前記入力領域への入力として、呼出元の入出力定義から受け取ると予想される値と、前記実行処理が返すと予想される戻り値との少なくとも一方からの選択を受け付けることを特徴とする請求項1に記載の情報処理装置。 If the template specified by the user contains a variable for the value used in the execution process, it is expected to be received from the input/output definition of the calling source as an input to the input area corresponding to the value used in the execution process. 2. The information processing apparatus according to claim 1, wherein a selection from at least one of a value to be executed and a return value expected to be returned by said execution process is accepted. 前記表示制御手段は、ユーザーから指定されたテンプレートに複数の変数が含まれる場合、前記複数の変数にそれぞれ対応する複数の入力領域を所定の領域に一覧で表示するように制御することを特徴とする請求項1または2に記載の情報処理装置。 When the template specified by the user includes a plurality of variables, the display control means controls to display a list of the plurality of input regions respectively corresponding to the plurality of variables in a predetermined region. 3. The information processing apparatus according to claim 1 or 2. 前記表示制御手段は、ユーザーに指定されたテンプレートが定義する情報を項目別の領域に分けて表示し、当該テンプレートに含まれる変数を前記項目別の領域に表示するとともに、対応する入力領域を前記項目別の領域とは異なる前記所定の領域に表示するように制御することを特徴とする請求項6に記載の情報処理装置。 The display control means divides and displays information defined by a template specified by a user into itemized areas, displays variables included in the template in the itemized areas, and displays the corresponding input areas in the itemized areas. 7. The information processing apparatus according to claim 6, wherein control is performed so that the information is displayed in the predetermined area different from the area for each item. ユーザーの操作に応じて、変数を含む新規のテンプレートを作成する作成手段を更に有することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 8. The information processing apparatus according to any one of claims 1 to 7, further comprising creating means for creating a new template including variables according to a user's operation. 前記新規のテンプレートの作成の際に、ユーザーに指定された既存のテンプレートを用いることが可能であることを特徴とする請求項8に記載の情報処理装置。 9. The information processing apparatus according to claim 8, wherein an existing template specified by a user can be used when creating the new template. 前記変数を前記入力領域に入力された値で置き換えたテンプレートを用いて前記ソフトウェアのソースコードを生成する生成手段を更に有することを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。 10. The information according to any one of claims 1 to 9, further comprising generation means for generating the source code of the software using a template in which the variables are replaced with the values input in the input areas. processing equipment. ユーザーからのテンプレートの指定を受け付ける受付ステップと、
ユーザーに指定されたテンプレートに含まれる変数の値を入力するための入力領域を表示するように制御する表示制御ステップと、
前記入力領域にユーザー操作に応じて入力された値で前記変数を置き換えたテンプレートを用いてソフトウェアを生成するための処理を行う処理ステップと
を有し、
前記テンプレートは、前記ソフトウェアにおけるデータを処理するためのロジックにおける
命令、
データモデル、
実行する実行処理、
前記実行処理に用いる値、
呼出元から受け取る値、
前記実行処理が返す戻り値の格納先、
の少なくとも1つを定義し、
ユーザーに指定されたテンプレートに、データモデルの変数が含まれる場合には、データモデルの変数に対応する前記入力領域への入力として、既存のデータモデルからの選択を受け付けることを特徴とする情報処理装置の制御方法。
a receiving step for receiving template designation from a user;
a display control step for controlling display of an input area for inputting values of variables included in a template specified by a user;
a processing step of performing processing for generating software using a template in which the variables are replaced with values input in the input area according to user operation,
the template is an instruction in logic for processing data in the software ;
data model,
execution process to be performed,
a value used in the execution process;
the value received from the caller,
storage destination of the return value returned by the execution process;
define at least one of
An information processing characterized by accepting a selection from an existing data model as an input to the input area corresponding to the data model variable when the template specified by the user includes the data model variable. How to control the device.
ユーザーからのテンプレートの指定を受け付ける受付ステップと、
ユーザーに指定されたテンプレートに含まれる変数の値を入力するための入力領域を表示するように制御する表示制御ステップと、
前記入力領域にユーザー操作に応じて入力された値で前記変数を置き換えたテンプレートを用いてソフトウェアを生成するための処理を行う処理ステップと
を有し、
前記テンプレートは、前記ソフトウェアにおけるデータを処理するためのロジックにおける
命令、
データモデル、
実行する実行処理、
前記実行処理に用いる値、
呼出元から受け取る値、
前記実行処理が返す戻り値の格納先、
の少なくとも1つを定義し、
ユーザーに指定されたテンプレートに、前記実行処理に用いる値の変数が含まれる場合には、前記実行処理に用いる値に対応する前記入力領域への入力として、呼出元の入出力定義から受け取ると予想される値と、前記実行処理が返すと予想される戻り値との少なくとも一方からの選択を受け付けることを特徴とする情報処理装置の制御方法。
a receiving step for receiving template designation from a user;
a display control step for controlling display of an input area for inputting values of variables included in a template specified by a user;
a processing step of performing processing for generating software using a template in which the variables are replaced with values input in the input area according to user operation,
the template is an instruction in logic for processing data in the software ;
data model,
execution process to be performed,
a value used in the execution process;
the value received from the caller,
storage destination of the return value returned by the execution process;
define at least one of
If the template specified by the user contains a variable for the value used in the execution process, it is expected to be received from the input/output definition of the calling source as an input to the input area corresponding to the value used in the execution process. and a return value expected to be returned by the execution process.
ユーザーからのテンプレートの指定を受け付ける受付ステップと、
ユーザーに指定されたテンプレートに含まれる変数の値を入力するための入力領域を表示するように制御する表示制御ステップであって、ユーザーから指定されたテンプレートに複数の変数が含まれる場合、前記複数の変数にそれぞれ対応する複数の入力領域を所定の領域に一覧で表示するように制御する表示制御ステップと、
前記入力領域にユーザー操作に応じて入力された値で前記変数を置き換えたテンプレートを用いてソフトウェアを生成するための処理を行う処理ステップと
を有し、
前記表示制御ステップは、ユーザーに指定されたテンプレートが定義する情報を項目別の領域に分けて表示し、当該テンプレートに含まれる変数を前記項目別の領域に表示するとともに、対応する入力領域を前記項目別の領域とは異なる前記所定の領域に表示するように制御することを特徴とする情報処理装置の制御方法。
a receiving step for receiving template designation from a user;
a display control step for controlling to display an input area for inputting values of variables included in a template specified by the user, wherein when the template specified by the user includes a plurality of variables, the plurality of a display control step for controlling to display a list of a plurality of input areas respectively corresponding to the variables in a predetermined area;
a processing step of performing processing for generating software using a template in which the variables are replaced with values input in the input area according to user operation,
The display control step divides and displays the information defined by the template specified by the user in the itemized areas, displays the variables included in the template in the itemized areas, and displays the corresponding input areas in the itemized areas. A control method for an information processing apparatus, comprising: controlling to display in the predetermined area different from the area for each item.
少なくとも1つのコンピュータを、請求項1乃至10のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
A program for causing at least one computer to function as each means of the information processing apparatus according to any one of claims 1 to 10.
JP2019007439A 2019-01-21 2019-01-21 Information processing device, its control method, and program Active JP7280475B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019007439A JP7280475B2 (en) 2019-01-21 2019-01-21 Information processing device, its control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019007439A JP7280475B2 (en) 2019-01-21 2019-01-21 Information processing device, its control method, and program

Publications (3)

Publication Number Publication Date
JP2020119053A JP2020119053A (en) 2020-08-06
JP2020119053A5 JP2020119053A5 (en) 2022-01-25
JP7280475B2 true JP7280475B2 (en) 2023-05-24

Family

ID=71890758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019007439A Active JP7280475B2 (en) 2019-01-21 2019-01-21 Information processing device, its control method, and program

Country Status (1)

Country Link
JP (1) JP7280475B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020680A (en) 2008-07-14 2010-01-28 Mitsubishi Electric Corp Information processing apparatus and program
US20140223408A1 (en) 2013-02-07 2014-08-07 Oracle International Corporation Integration project center

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020680A (en) 2008-07-14 2010-01-28 Mitsubishi Electric Corp Information processing apparatus and program
US20140223408A1 (en) 2013-02-07 2014-08-07 Oracle International Corporation Integration project center

Also Published As

Publication number Publication date
JP2020119053A (en) 2020-08-06

Similar Documents

Publication Publication Date Title
Mori et al. Tool support for designing nomadic applications
JP3839468B2 (en) International data processing system
US9021419B2 (en) System and method for supporting intelligent design pattern automation
US20080126925A1 (en) Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems
US8136043B2 (en) GUI generation apparatus and method for generating GUI
Snell et al. Microsoft Visual Studio 2012 Unleashed: Micro Visua Studi 2012 Unl_p2
CN106484389B (en) Action stream segment management
Ernsting et al. Refining a reference architecture for model-driven business apps
JP5626333B2 (en) Program creation support apparatus, program, and information system
JPH10254689A (en) Application constitution design supporting system for client/server system
JP6002302B2 (en) Web application generation system, Web application generation system control method, Web application generation system program, Web application generation device, Web application generation device control method, and Web application generation device program
CN113010168B (en) User interface generation method based on scene tree
Gassner Flash Builder 4 and Flex 4 Bible
Freeman Pro react 16
JP7280475B2 (en) Information processing device, its control method, and program
JP7014960B2 (en) Information processing equipment, servers, their processing methods and programs
CN112181483B (en) Plasma control system software development platform and method
JP2018181073A (en) Information processing apparatus, processing method thereof, and program
JP6836077B2 (en) Information processing device and its processing method and program
JP2004362343A (en) Source code conversion apparatus, source code conversion method, and program
Sheiko Cross-Platform Desktop Application Development: Electron, Node, NW. js, and React
JP7421137B2 (en) Information processing device, information processing method and program
JP7477773B2 (en) Information processing device, control method, and program
JP7231864B2 (en) Information processing device, information processing method and program
JP7231823B2 (en) Program, information processing system and its control method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230330

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230424

R151 Written notification of patent or utility model registration

Ref document number: 7280475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151