Movatterモバイル変換


[0]ホーム

URL:


JP7600075B2 - App development support system, app development support method, and app development support program - Google Patents

App development support system, app development support method, and app development support program
Download PDF

Info

Publication number
JP7600075B2
JP7600075B2JP2021175710AJP2021175710AJP7600075B2JP 7600075 B2JP7600075 B2JP 7600075B2JP 2021175710 AJP2021175710 AJP 2021175710AJP 2021175710 AJP2021175710 AJP 2021175710AJP 7600075 B2JP7600075 B2JP 7600075B2
Authority
JP
Japan
Prior art keywords
security
logic
development support
screen
master page
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
JP2021175710A
Other languages
Japanese (ja)
Other versions
JP2022132054A (en
Inventor
紘平 山下
健人 馬場
剛光 上野
Original Assignee
株式会社オービック
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 株式会社オービックfiledCritical株式会社オービック
Publication of JP2022132054ApublicationCriticalpatent/JP2022132054A/en
Priority to JP2024210131ApriorityCriticalpatent/JP2025026494A/en
Application grantedgrantedCritical
Publication of JP7600075B2publicationCriticalpatent/JP7600075B2/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Landscapes

Description

Translated fromJapanese

本発明は、アプリ開発支援システム、アプリ開発支援方法、及びアプリ開発支援プログラムに関する。The present invention relates to an application development support system, an application development support method, and an application development support program.

従来、アプリ開発支援システムとして、例えば、特許文献1がある。かかる特許文献1のシステムは、開発環境に接続された端末からの入力に基づいてアプリケーションプログラムを生成し、生成されたアプリケーションプログラムを視覚的に表示するプログラム開発部と、開発環境を利用する複数のユーザ間におけるコミュニケーション機能を提供するコミュニケーション部であって、第1のユーザが利用する開発環境のプログラム開発部によって生成されたアプリケーションプログラムの一部または全部を、第2のユーザが利用する開発環境において利用可能に複製させ、視覚的に表示させるコミュニケーション部と、を有する。For example,Patent Document 1 discloses a conventional application development support system. The system ofPatent Document 1 has a program development unit that generates an application program based on input from a terminal connected to a development environment and visually displays the generated application program, and a communication unit that provides a communication function between multiple users who use the development environment, and that causes a part or all of the application program generated by the program development unit of a development environment used by a first user to be copied so as to be usable in a development environment used by a second user and visually displays the copied application program.

特開2018-55588号公報JP 2018-55588 A

しかしながら、特許文献1では、開発者が実際のアプリケーションにどのような権限制御が行われるかを適切に判断・管理することに関して何等記載されていない。However,Patent Document 1 does not provide any information on how developers can appropriately determine and manage the type of permission control that will be applied to actual applications.

本発明は、上記に鑑みてなされたものであり、開発者が実際のアプリケーションにどのような権限制御が行われるかを適切に判断・管理することが可能なアプリ開発支援システム、アプリ開発支援方法、及びアプリ開発支援プログラムを提供することを目的とする。The present invention has been made in consideration of the above, and aims to provide an application development support system, an application development support method, and an application development support program that enable developers to appropriately determine and manage the type of permission control to be applied to actual applications.

上述した課題を解決し、目的を達成するために、本発明は、制御部を備えたアプリ開発支援システムであって、前記制御部は、マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面表示制御手段と、前記セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定手段と、を備えたことを特徴とする。To solve the above-mentioned problems and achieve the objective, the present invention provides an application development support system equipped with a control unit, characterized in that the control unit is equipped with a screen display control means for displaying a security setting screen that displays a list of logic and its permissions for a master page in a matrix format, and a setting means for setting the security of each logic of the master page in response to operations by a developer on the security setting screen.

また、本発明の一態様によれば、前記マスタページに設定されたセキュリティは、当該マスタページに従属する子画面に継承されることにしてもよい。Furthermore, according to one aspect of the present invention, the security set on the master page may be inherited by child screens subordinate to the master page.

また、本発明の一態様によれば、画面表示制御手段は、前記マスタページ及び当該マスタページに従属する子画面について、設定されたマスタページのセキュリティを、一覧で照会可能に構成されていることにしてもよい。According to one aspect of the present invention, the screen display control means may be configured to be able to query the security of the set master page for the master page and child screens subordinate to the master page in a list.

また、本発明の一態様によれば、前記設定手段は、前記ロジックに含まれる処理フローから別のロジックを呼び出すためのサブフローに割り当てられたロジック情報がある場合、前記セキュリティ設定画面上での開発者の操作に応じて、当該サブフローに割り当てられたロジック情報を一覧で設定可能に構成されており、前記表示制御手段は、当該サブフローに割り当てられたロジックを、当該サブフローを含む呼び出し元のロジック配下にツリー形式で再帰的に照会可能に構成されていることにしてもよい。According to one aspect of the present invention, when there is logic information assigned to a subflow for calling another logic from a processing flow included in the logic, the setting means is configured to be able to set the logic information assigned to the subflow in a list in response to an operation by a developer on the security setting screen, and the display control means may be configured to be able to recursively query the logic assigned to the subflow in a tree format under the calling logic including the subflow.

また、本発明の一態様によれば、前記画面表示制御手段は、前記サブフローに割り当てられたロジックに対して前記セキュリティ設定画面上での開発者の操作に応じて設定されたセキュリティに連動して、当該サブフローを含む呼び出し元のロジック配下にツリー表示された対応するロジックに当該設定されたセキュリティと同一内容を照会可能に構成されていてもよい。According to one aspect of the present invention, the screen display control means may be configured to be able to link with security set for logic assigned to the subflow in response to a developer's operation on the security setting screen, and to query the corresponding logic displayed in a tree format under the calling logic including the subflow for the same security content.

また、本発明の一態様によれば、前記ロジックは、新規登録ロジック、修正ロジック、削除ロジック、照会ロジック、起動時ロジックの少なくとも1つを含むこともしてもよい。According to one aspect of the present invention, the logic may include at least one of new registration logic, modification logic, deletion logic, inquiry logic, and startup logic.

また、本発明の一態様によれば、前記アプリ開発支援システムは、GUI操作の定義でアプリケーションを開発可能なシステムであることにしてもよい。According to one aspect of the present invention, the application development support system may be a system capable of developing applications by defining GUI operations.

また、上述した課題を解決し、目的を達成するために、本発明は、制御部を備えた情報処理装置に実行させるためのアプリ開発支援方法であって、前記制御部で実行される、マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面表示制御ステップと、前記セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定ステップと、を含むことを特徴とする。In order to solve the above-mentioned problems and achieve the object, the present invention is an application development support method for executing an application on an information processing device having a control unit, and is characterized by including a screen display control step executed by the control unit to display a security setting screen that displays a matrix of logic for a master page and a list of its permissions, and a setting step to set the security of each logic of the master page in response to a developer's operation on the security setting screen.

また、上述した課題を解決し、目的を達成するために、本発明は、制御部を備えた情報処理装置に実行させるためのアプリ開発支援プログラムであって、前記制御部において、
マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面表示制御ステップと、前記セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定ステップと、を実行させるためのアプリ開発支援プログラムであることを特徴とする。
In order to solve the above-mentioned problems and achieve the object, the present invention provides an application development support program to be executed by an information processing device having a control unit, the control unit comprising:
The present invention is characterized in that the application development support program executes a screen display control step of displaying a security setting screen that displays a matrix of logic for a master page and a list of its authorities, and a setting step of setting security for each logic of the master page in accordance with operations performed by a developer on the security setting screen.

本発明によれば、開発者が実際のアプリケーションにどのような権限制御が行われるかを適切に判断・管理することが可能になるという効果を奏する。The present invention has the effect of enabling developers to appropriately determine and manage the type of permission control that will be applied to actual applications.

図1は、実施の形態のシステム全体の構成の概略を示す図である。FIG. 1 is a diagram showing an outline of the overall configuration of a system according to an embodiment.図2は、アプリ開発支援システムの構成の一例を示すブロック図である。FIG. 2 is a block diagram showing an example of a configuration of an application development support system.図3は、業務支援システムの構成の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of the configuration of the business support system.図4は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 4 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図5は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 5 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図6は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 6 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図7は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 7 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図8は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 8 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図9は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 9 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図10は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 10 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図11は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 11 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図12は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 12 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図13は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 13 is a diagram for explaining a specific example of the process of the control unit of the application development support system.図14は、業務支援システムの制御部の処理の具体例を説明するための図である。FIG. 14 is a diagram for explaining a specific example of processing by the control unit of the task support system.図15は、業務支援システムの制御部の処理の具体例を説明するための図である。FIG. 15 is a diagram for explaining a specific example of processing by the control unit of the task support system.図16は、業務支援システムの制御部の処理の具体例を説明するための図である。FIG. 16 is a diagram for explaining a specific example of processing by the control unit of the task support system.図17は、業務支援システムの制御部の処理の具体例を説明するための図である。FIG. 17 is a diagram for explaining a specific example of processing by the control unit of the task support system.図18は、業務支援システムの制御部の処理の具体例を説明するための図である。FIG. 18 is a diagram for explaining a specific example of processing by the control unit of the task support system.図19は、業務支援システムの制御部の処理の具体例を説明するための図である。FIG. 19 is a diagram for explaining a specific example of processing by the control unit of the task support system.図20は、アプリ開発支援システムの制御部の処理の具体例を説明するための図である。FIG. 20 is a diagram for explaining a specific example of the process of the control unit of the application development support system.

以下に、本発明に係るアプリ開発支援システム、アプリ開発支援方法、及びアプリ開発支援プログラムの実施の形態を、図面に基づいて詳細に説明する。なお、本実施形態によりこの発明が限定されるものではない。Below, an embodiment of the application development support system, application development support method, and application development support program according to the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiment.

[1.概要]
本発明のアプリ開発支援システムは、ノーコード系/ローコード系、その他を問わず、少なくともアプリケーションの画面レイアウト・イベント・処理フロー及びセキュリティ設定の範囲をGUI操作の定義のみでプログラムソースのコーディングを行わなくてもアプリケーションを開発可能なシステムである。
[1. Overview]
The application development support system of the present invention is a system that can develop applications, regardless of whether it is a no-code/low-code system or other system, without coding the program source, by simply defining GUI operations for at least the scope of the application's screen layout, events, processing flow, and security settings.

ここで、「ノーコード系」とは、ノーコード、コーディングレス、ノンコーディング等をいい、アプリケーション開発者がプログラムのソースコードを一切作成・修正することなくGUI操作等で既存機能・部品等の配置・組合せにより、簡易・定型的なアプリケーションを作成できる仕組みをいう。「ローコード系」とは、ローコード等をいい、基本的にはノーコードと同様であるが、アプリケーションの柔軟性に欠けるため、必要に応じて部分的にプログラムのコーディングや外部APIの利用等を行い、柔軟なカスタマイズまで可能とする仕組みをいう。また、アプリケーション開発支援を行う機能群全般を「基盤、プラットフォーム、又は開発ツール」といい、ここでは、「基盤」の用語を使用する。Here, "no-code" refers to no-code, coding-less, non-coding, etc., and refers to a mechanism that allows application developers to create simple, standard applications by arranging and combining existing functions and components through GUI operations, etc., without creating or modifying any program source code. "Low-code" refers to low-code, etc., and refers to a mechanism that is basically the same as no-code, but since applications lack flexibility, allows for flexible customization by partially coding the program or using external APIs as necessary. In addition, the general group of functions that support application development is referred to as a "foundation, platform, or development tool," and the term "foundation" is used here.

以下の説明では、アプリ開発支援システムとして、ローコード基盤を一例として説明するが、本発明はこれに限られるものではなく、GUI操作の定義でアプリケーションを開発可能な全てのシステムに適用可能である。In the following explanation, a low-code platform will be used as an example of an app development support system, but the present invention is not limited to this and can be applied to all systems that can develop applications by defining GUI operations.

例えば、企業がERPシステム等の情報システムに求めるセキュリティ要件の重要性は、近年ますます高まっている。例えば、監査における統制要件では、情報システム内でユーザの権限を適切に管理されているかどうかがチェックの対象となる。また、マイナンバーの管理においては、閲覧/編集などの権限を持つユーザを適切に管理することが法的にも必要とされる。企業が適切に情報を管理し業務を行うためにも、ERPシステム等の情報システムには、ユーザ毎にセキュリティをチェックし、適切なユーザのみが情報にアクセス、編集できるような仕組みが求められる。For example, the importance of security requirements that companies require from information systems such as ERP systems has been growing in recent years. For example, the control requirements in audits include checking whether user authority is being properly managed within the information system. Furthermore, in the management of My Number, it is also a legal requirement to properly manage users who have authority to view/edit, etc. In order for companies to properly manage information and carry out their work, information systems such as ERP systems require a mechanism to check the security of each user and ensure that only appropriate users can access and edit information.

経産省のDXレポートの中で、数十年以上にわたり稼働し続け老朽化したシステムが、日本の国際競争力の低下や経済停滞をもたらすという問題が指摘されている(「2025年の崖」問題)。老朽化を引き起こす背景の一つに、情報システムが企業の業務運用と強く結びついていることから、一度完成したシステムを刷新するコストが大きすぎる、ということが挙げられる。The Ministry of Economy, Trade and Industry's DX report points out the problem that aging systems that have been in operation for decades or more will lead to a decline in Japan's international competitiveness and economic stagnation (the "2025 cliff" problem). One of the reasons for this aging is that information systems are tightly linked to a company's business operations, and the cost of updating a system that has already been completed is too high.

こういった問題の一つの解決策として、ローコード基盤(ツール)を用いて、コストを抑えてシステム開発を行う手法が近年注目されている。出願人は、長年にわたり企業に求められるセキュリティ要件を満たすシステム基盤を構築しており、この強みとローコード基盤の特性を生かしてセキュリティ設定を簡易的に行えるような仕組みを考案した。As one solution to these problems, a method of system development that reduces costs using a low-code platform (tool) has been gaining attention in recent years. The applicant has many years of experience building system platforms that meet the security requirements of companies, and has devised a mechanism that makes it possible to simplify security settings by utilizing this strength and the characteristics of the low-code platform.

ローコード基盤では、ユーザがドラッグ&ドロップでボタンなどのコントロール(以下、UI)を配置し、別で用意したクリックイベント等(以下、ロジック)をUIに割り付けていく。このため、必然的にUIとロジックがそれぞれ独立した構成になっていなければならない。従来のプログラミングによるシステム開発では、UIとロジックが一体化しており、ここを分離するというのはあまり一般的ではなかった。In a low-code platform, the user places controls such as buttons (hereafter referred to as UI) by dragging and dropping, and assigns separately prepared click events (hereafter referred to as logic) to the UI. This means that the UI and logic must necessarily be configured independently. In conventional system development using programming, the UI and logic are integrated, and it is not very common to separate them.

ここで、システムの例として、削除ボタン(UI)をクリックすると、削除処理(ロジック)が実行されるようなケースを想定する。セキュリティを担保するためには、削除権限のないユーザが削除処理を実行できないようにしなければならない。As an example of a system, let us consider a case where clicking the delete button (UI) executes the deletion process (logic). To ensure security, it is necessary to prevent users without deletion authority from executing the deletion process.

上述したように、従来型システムではUIとロジックの2つが独立していなかったため、セキュリティの設定も削除ボタン(UI)に依存せざるを得なかった。セキュリティ設定がUIに依存してしまうと、システムの各画面のUI毎にセキュリティの設定が必要となり、システムが大規模化すると、セキュリティ設定やそれに伴うテストにも大きなコストがかかる。具体的には、削除ボタンの例で言えば、部門マスタメンテ、事業所マスタメンテの削除ボタンそれぞれ(画面毎)にセキュリティ設定が必要となる。As mentioned above, in conventional systems, UI and logic were not independent, so security settings also had to depend on the delete button (UI). If security settings depend on the UI, security settings would need to be set for each UI on each screen in the system, and as the system becomes larger, security settings and the associated testing would become very costly. To be specific, in the case of the delete button example, security settings would need to be set for each delete button (for each screen) in department master maintenance and business unit master maintenance.

また、システム変更時にも常にセキュリティを考慮しなければならないため、システム変更を行うことができるのは高度なスキルを持った人材に限定される。結果として、システム構築後の継続的なシステム改善が難しくなる(システムが硬直化しやすい)という問題がある。こういったシステム設定の複雑化も、前述の「2025年の崖」問題の一因に挙げられる。In addition, because security must always be taken into consideration when making changes to the system, system changes can only be made by highly skilled personnel. As a result, there is the problem that it becomes difficult to continuously improve the system after it has been built (the system tends to become rigid). This increased complexity of system settings is also cited as one of the causes of the "2025 Cliff" problem mentioned above.

本発明では、ローコード基盤によってUIとロジックが分離している状態が実現したことで、ロジックに対してセキュリティをかけることが可能になった。これにより、先ほどの削除ボタンと削除処理の関係でいえば、削除処理だけにセキュリティをかけられるようになった。In this invention, the low-code platform allows the UI and logic to be separated, making it possible to apply security to the logic. This means that, in the case of the relationship between the delete button and the delete process mentioned earlier, it is now possible to apply security only to the delete process.

このUIとロジックの分離と、マスタページからのロジック継承の仕組みを組み合わせることで、ローコード基盤を使って開発を行う際に、セキュリティを極力意識せずにシステム構築を行うことができるようになった。なお、ローコード基盤で作成されるシステム(アプリケーション)のことを、本明細書では、説明上、「実行環境」と呼称する。By combining this separation of UI and logic with a mechanism for inheriting logic from a master page, it has become possible to build systems using a low-code platform without worrying too much about security. For the sake of explanation, in this specification, the system (application) created on a low-code platform is referred to as the "execution environment."

より具体的には、本発明では、以下のことを実現する。従来型のシステムでは、個々のジョブをプログラミングにより開発する手法が一般的であった。そのため、システム全体でセキュリティ設定が正しく行われているかどうかを確認するには、一つ一つのジョブに対して設定の漏れやミスがないかを確認する必要があった。More specifically, the present invention achieves the following: In conventional systems, it was common to develop individual jobs through programming. Therefore, to check whether security settings were set correctly for the entire system, it was necessary to check each and every job for any missing or incorrect settings.

このように、従来型の開発手法では、セキュリティ設定を簡単に確認する仕組みが存在せず、システム全体でセキュリティ設定が正しく行われていることを担保するためには、プログラムの完成後に大規模なテスト作業を実施することが一般的だった。その結果、一度システムが完成してしまうと、その後の柔軟なシステム変更が難しく、システムの老朽化を引き起こしやすいという課題があった。As such, with traditional development methods, there was no mechanism for easily checking security settings, and in order to ensure that security settings were set correctly across the entire system, it was common to carry out large-scale testing after the program was completed. As a result, once a system was completed, it was difficult to make flexible changes to the system, which led to the issue of the system becoming easily outdated.

ローコード開発基盤では、ユーザが使用する通常のジョブとは異なり、複数のジョブで共通して使用するような処理を集約したマスタページが存在する。マスタページでは、実行する処理の設定に加えて、実行に必要なユーザ権限のセキュリティを設定することができる。In the low-code development platform, unlike the normal jobs used by users, there are master pages that consolidate processes that are commonly used across multiple jobs. In addition to setting the processes to be executed, the master page can also set the security of the user permissions required for execution.

本発明では、これらのセキュリティ情報を可視化するため、縦軸に処理、横軸にユーザ権限を表示して、処理にかかるセキュリティ設定全体を一覧表形式で確認できるようにすることにより、開発者が実際のアプリケーションにどのような権限制御が行われるかを適切に判断・管理することが可能となる。In this invention, to visualize this security information, the vertical axis represents the process and the horizontal axis represents the user permissions, allowing developers to check the overall security settings for the process in a list format, enabling them to properly determine and manage what kind of permission control is applied to the actual application.

[2.構成]
[2-1.システム全体の構成]
図1は、実施の形態のシステム全体の構成の概略を示す図である。図1において、アプリ開発支援システム(例えば、Webサーバ)100、業務支援システム(例えば、Webサーバ)200、開発ユーザ端末300、業務ユーザ端末400は、ネットワーク500に接続されており、互いにデータ通信可能に構成されている。
2. Configuration
[2-1. Overall system configuration]
Fig. 1 is a diagram showing an outline of the overall system configuration of an embodiment. In Fig. 1, an application development support system (e.g., a Web server) 100, a business support system (e.g., a Web server) 200, a development user terminal 300, and a business user terminal 400 are connected to anetwork 500 and configured to be able to communicate data with each other.

アプリ開発支援システム100は、開発ユーザ端末300・・・に、例えば、ローコード基盤プラットフォーム(ツール)を提供するものであり、業務用アプリの定義データ(ロジック情報、セキュリティ情報を含む)を生成するための設定画面(例えば、Webページ)を提供する。定義データは、業務用アプリの元となるデータであり、「オブジェクト」、「パッケージ」、「ソース」ともいう。以下の説明では、アプリ開発支援システム100を「ローコード基盤」と称する場合がある。The application development support system 100 provides, for example, a low-code infrastructure platform (tool) to the development user terminal 300... and provides a setting screen (for example, a web page) for generating definition data (including logic information and security information) for business applications. The definition data is the source data for business applications, and is also called "objects," "packages," or "sources." In the following description, the application development support system 100 may be referred to as the "low-code infrastructure."

開発ユーザ端末300・・・は、業務用アプリの作成担当である開発ユーザ(「開発者」ともいう)がアプリ開発支援システム100にアクセスして、業務用アプリの定義データを作成させるためのものである。開発ユーザ端末300・・・は、例えば、ブラウザを使用して、アプリ開発支援システム100から提供される設定画面で操作を行う。The development user terminals 300... are used by development users (also called "developers") who are responsible for creating business applications to access the application development support system 100 and create definition data for the business applications. The development user terminals 300... use, for example, a browser to perform operations on a setting screen provided by the application development support system 100.

業務支援システム200は、アプリ開発支援システム100のデータベースから業務用アプリの定義データを取得して、取得した定義データをデータ変換して業務用アプリ206aを生成する。業務支援システム200は、生成した業務用アプリ206aを実行し、業務ユーザ端末400・・・に業務実行画面(例えば、Webページ)を提供する。以下の説明では、アプリ開発支援システム100で作成した定義データに基づく業務用アプリを実行する業務支援システム200を単に「実行環境」と称する場合がある。Thebusiness support system 200 acquires definition data of a business application from the database of the application development support system 100, and converts the acquired definition data to generate abusiness application 206a. Thebusiness support system 200 executes the generatedbusiness application 206a, and provides a business execution screen (e.g., a web page) to the business user terminals 400.... In the following description, thebusiness support system 200 that executes a business application based on the definition data created by the application development support system 100 may be simply referred to as the "execution environment."

業務ユーザ端末400・・・は、業務担当者である業務ユーザ(「ユーザ」ともいう)が業務支援システム200にアクセスして、業務を実行するためのものである。業務ユーザ端末400・・・は、例えば、ブラウザを使用して、業務支援システム200から提供される業務実行画面で操作を行う。The business user terminals 400... are used by business users (also called "users") who are responsible for business operations to access thebusiness support system 200 and perform business operations. The business user terminals 400... use, for example, a browser to perform operations on a business execution screen provided by thebusiness support system 200.

[2-2.アプリ開発支援システムの構成]
図1のアプリ開発支援システム(ローコード基盤)100の構成について、図2を参照して説明する。図2は、図1のアプリ開発支援システム100の構成の一例を示すブロック図である。
[2-2. Configuration of application development support system]
The configuration of the application development support system (low-code platform) 100 in Fig. 1 will be described with reference to Fig. 2. Fig. 2 is a block diagram showing an example of the configuration of the application development support system 100 in Fig. 1.

アプリ開発支援システム100は、ワークステーションや市販のデスクトップ型やノート型のパーソナルコンピュータ等である。The application development support system 100 is a workstation or a commercially available desktop or notebook personal computer, etc.

アプリ開発支援システム100は、図2に示すように、制御部102と通信インターフェース部104と記憶部106と入出力インターフェース部108と、を備えている。アプリ開発支援システム100が備えている各部は、任意の通信路を介して通信可能に接続されている。As shown in FIG. 2, the application development support system 100 includes acontrol unit 102, acommunication interface unit 104, amemory unit 106, and an input/output interface unit 108. Each unit included in the application development support system 100 is connected to each other so as to be able to communicate with each other via any communication path.

通信インターフェース部104は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、アプリ開発支援システム100をネットワーク500に通信可能に接続する。通信インターフェース部104は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク500は、アプリ開発支援システム100と、開発ユーザ端末300・・・、業務支援システム200、サーバ600等とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。Thecommunication interface unit 104 communicatively connects the application development support system 100 to thenetwork 500 via a communication device such as a router and a wired or wireless communication line such as a dedicated line. Thecommunication interface unit 104 has a function of communicating data with other devices via the communication line. Here, thenetwork 500 has a function of communicatively connecting the application development support system 100 to the development user terminal 300, thebusiness support system 200, theserver 600, etc., and is, for example, the Internet or a LAN (Local Area Network).

入出力インターフェース部108には、入力装置112および出力装置114が接続されている。出力装置114には、モニタ(家庭用テレビを含む)の他、スピーカやプリンタを用いることができる。入力装置112には、キーボード、マウス、およびマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置114をモニタ114とし、入力装置112をキーボード112またはマウス112として記載する場合がある。また、ユーザが出力装置(モニタ)114の画面に対して入力装置112で操作することを、単に「ユーザ操作」と記載する場合がある。An input device 112 and an output device 114 are connected to the input/output interface unit 108. The output device 114 may be a monitor (including a home television), a speaker, or a printer. The input device 112 may be a keyboard, a mouse, a microphone, or a monitor that works with a mouse to provide a pointing device function. In the following, the output device 114 may be referred to as the monitor 114, and the input device 112 may be referred to as the keyboard 112 or the mouse 112. An operation performed by a user on the screen of the output device (monitor) 114 using the input device 112 may be referred to simply as a "user operation".

記憶部106には、各種のデータベース、テーブル、およびファイルなどが格納される。記憶部106には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部206として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。Thestorage unit 106 stores various databases, tables, files, and the like. Thestorage unit 106 records computer programs that work with the OS (Operating System) to give instructions to the CPU (Central Processing Unit) to perform various processes. The storage unit 206 can be, for example, a memory device such as a RAM (Random Access Memory) or a ROM (Read Only Memory), a fixed disk device such as a hard disk, a flexible disk, an optical disk, or the like.

記憶部106は、データベース106aと、セキュリティ設定可能マスタ106bと、を備えている。Thememory unit 106 includes adatabase 106a and a securityconfigurable master 106b.

データベース106aは、業務用アプリの定義データ(ロジック情報、セキュリティ情報等)等のデータを格納するためのものである。データベース106aは外部に設けられていてもよく、例えば、サーバ600に設けられていてもよい。Thedatabase 106a is for storing data such as business application definition data (logic information, security information, etc.). Thedatabase 106a may be provided externally, for example, in theserver 600.

セキュリティ設定可能マスタ106bは、コントロール、アクション、セキュリティ設定可能か否かを示す設定可否フラグを関連づけて登録したテーブル等で構成することができる(図20参照)。セキュリティ設定可能マスタ106bは、設定画面でコントロールのアクションについてセキュリティが設定される場合に参照される。The securityconfigurable master 106b can be configured as a table or the like that associates and registers controls, actions, and configurable flags that indicate whether security can be configured (see FIG. 20). The securityconfigurable master 106b is referenced when security is configured for a control action on the setting screen.

制御部102は、アプリ開発支援システム100を統括的に制御するCPU等である。制御部102は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。制御部102は、機能概念的に、画面制御部102aと、設定部102bと、登録部102cと、検知部102dと、マスタメンテ部102eと、を備えている。Thecontrol unit 102 is a CPU or the like that performs overall control of the application development support system 100. Thecontrol unit 102 has an internal memory for storing control programs such as an OS, programs that define various processing procedures, required data, etc., and executes various information processing based on these stored programs. In terms of functional concept, thecontrol unit 102 includes ascreen control unit 102a, asetting unit 102b, a registration unit 102c, a detection unit 102d, and amaster maintenance unit 102e.

画面制御部102aは、開発ユーザ端末300・・・からのアクセスに応じて、開発ユーザ端末300にロジック情報やロジック毎のセキュリティ情報を設定するための各種設定画面を提供する。また、画面制御部102aは、開発ユーザ端末300・・・からのアクセスに応じて、開発ユーザ端末300にマスタページについてのロジック(処理)と権限の一覧をマトリックス状に表示したセキュリティ設定画面を提供してもよい。また、画面制御部102aは、マスタページ及び当該マスタページに従属する子画面について、設定されたマスタページのセキュリティを一覧で照会(表示)してもよい。画面制御部102aは、サブフローに割り当てられたロジックを、当該サブフローを含む呼び出し元のロジック配下にツリー形式で再帰的に照会(表示)してもよい。画面制御部102aは、サブフローに割り当てられたロジックに対してセキュリティ設定画面上での開発者の操作に応じて設定されたセキュリティに連動して、当該サブフローを含む呼び出し元のロジック配下にツリー表示された対応するロジックに当該設定されたセキュリティと同一内容を照会(表示)してもよい。画面制御部102aは、開発ユーザ端末300・・・からのアクセスに応じて、開発ユーザ端末300にコントロールのアクションのセキュリティを設定するための設定画面を提供してもよい。Thescreen control unit 102a provides the development user terminal 300 with various setting screens for setting logic information and security information for each logic in response to access from the development user terminal 300. Thescreen control unit 102a may also provide the development user terminal 300 with a security setting screen that displays a list of logic (processing) and permissions for the master page in a matrix format in response to access from the development user terminal 300. Thescreen control unit 102a may also inquire (display) the set master page security in a list for the master page and child screens subordinate to the master page. Thescreen control unit 102a may recursively inquire (display) the logic assigned to the subflow in a tree format under the logic of the caller including the subflow. Thescreen control unit 102a may inquire (display) the same content as the set security for the corresponding logic displayed in a tree format under the logic of the caller including the subflow in conjunction with the security set for the logic assigned to the subflow in response to the developer's operation on the security setting screen. In response to access from the developer user terminal 300, thescreen control unit 102a may provide the developer user terminal 300 with a setting screen for setting the security of the control action.

設定部102bは、設定画面上での開発ユーザ端末300の開発者の操作に応じて、マスタページ(親画面)と当該マスタページに従属する子画面のロジック情報及びロジック毎のセキュリティ情報を設定し、その際、マスタページで設定されたロジック情報及びセキュリティ情報を子画面で継承させる。子画面では、マスタページで設定されたセキュリティの変更が不可に構成されていてもよい。設定部102bは、ロジック情報に含まれる処理フローから別のロジック情報を呼び出すためのサブフローに割り当てられたロジック情報に対してセキュリティ情報を設定し、当該サブフローに割り当てられたロジック情報に設定されたセキュリティ情報を、当該サブフローを含む呼び出し元のロジック情報に継承させることにしてもよい。設定部102bは、上述のセキュリティ設定画面上での開発ユーザ端末300の開発者の操作に応じて、マスタページの各ロジックのセキュリティ情報を設定してもよい。設定部102bは、ロジックに含まれる処理フローから別のロジックを呼び出すためのサブフローに割り当てられたロジック情報がある場合、セキュリティ画面上での開発ユーザ端末300の開発者の操作に応じて、当該サブフローに割り当てられたロジック情報を一覧で設定してもよい。Thesetting unit 102b sets logic information and security information for each logic of a master page (parent screen) and a child screen subordinate to the master page in response to the operation of the developer of the development user terminal 300 on the setting screen, and at that time, the logic information and security information set on the master page are inherited by the child screen. The child screen may be configured so that the security set on the master page cannot be changed. Thesetting unit 102b may set security information for logic information assigned to a subflow for calling another logic information from a processing flow included in the logic information, and may cause the security information set in the logic information assigned to the subflow to be inherited by the calling logic information including the subflow. Thesetting unit 102b may set security information for each logic of the master page in response to the operation of the developer of the development user terminal 300 on the above-mentioned security setting screen. When there is logic information assigned to a subflow for calling another logic from a processing flow included in the logic, thesetting unit 102b may set a list of logic information assigned to the subflow in response to the operation of the developer of the development user terminal 300 on the security screen.

なお、業務支援システム200(実行環境)のセキュリティ種別の設定の対象はユーザとジョブの組合せで、この結果として、ジョブ(画面)に含まれるロジックのセキュリティがユーザ毎の操作権限として反映される(図14及び図15参照)。The security type setting for the business support system 200 (execution environment) targets the combination of user and job, and as a result, the security of the logic contained in the job (screen) is reflected as the operation authority for each user (see Figures 14 and 15).

登録部102cは、設定されたマスタページ及び当該親画面に従属する子画面のロジック情報及びセキュリティ情報を所定のフォーマットのデータ形式に変換して、業務用アプリの定義データとしてデータベース106aに登録する。The registration unit 102c converts the logic information and security information of the set master page and child screens subordinate to the parent screen into a data format of a specified format, and registers it in thedatabase 106a as definition data for the business application.

検知部102dは、設定画面において、開発者がコントロールのアクションについてセキュリティを設定する場合に、セキュリティ設定可能マスタ106bを参照して、当該コントロールのアクションの設定が可能か否かを検知する。この場合、検知部102dは、
セキュリティ設定可能マスタ106bを参照して、当該コントロールのアクションの可否フラグが設定可能である場合には、設定を許可し、当該コントロールのアクションの可否フラグが設定不可である場合には、エラーを通知することにしてもよい。
When a developer sets security for an action of a control on the setting screen, the detection unit 102d refers to the securityconfigurable master 106b to detect whether or not the action of the control can be set. In this case, the detection unit 102d
By referring to the securityconfigurable master 106b, if the action flag of the control in question is settable, the setting is permitted, and if the action flag of the control in question is not settable, an error is notified.

マスタメンテ部102eは、セキュリティ設定可能マスタ106bに対して、データの登録・追加・編集等を行って設定する。Themaster maintenance unit 102e registers, adds, edits, etc. data in the securityconfigurable master 106b to set it up.

[2-3.業務支援システムの構成例]
図1の業務支援システム(実行環境)200の構成について、図3を参照して説明する。図3は、図1の業務支援システム200の構成の一例を示すブロック図である。
[2-3. Example of business support system configuration]
The configuration of the task support system (execution environment) 200 in Fig. 1 will be described with reference to Fig. 3. Fig. 3 is a block diagram showing an example of the configuration of thetask support system 200 in Fig. 1.

業務支援システム200は、ワークステーションや市販のデスクトップ型やノート型のパーソナルコンピュータ等である。Thebusiness support system 200 may be a workstation or a commercially available desktop or notebook personal computer.

業務支援システム200は、図3に示すように、制御部103と通信インターフェース部204と記憶部206と入出力インターフェース部208と、を備えている。業務支援システム200が備えている各部は、任意の通信路を介して通信可能に接続されている。As shown in FIG. 3, thebusiness support system 200 includes a control unit 103, acommunication interface unit 204, a memory unit 206, and an input/output interface unit 208. Each unit included in thebusiness support system 200 is connected to each other so as to be able to communicate with each other via any communication path.

通信インターフェース部204は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、業務支援システム200をネットワーク500に通信可能に接続する。通信インターフェース部204は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク500は、業務支援システム200と、業務ユーザ端末400・・・、アプリ開発支援システム100、サーバ700等とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。Thecommunication interface unit 204 communicatively connects thebusiness support system 200 to thenetwork 500 via a communication device such as a router and a wired or wireless communication line such as a dedicated line. Thecommunication interface unit 204 has a function of communicating data with other devices via the communication line. Here, thenetwork 500 has a function of communicatively connecting thebusiness support system 200 to the business user terminal 400, the application development support system 100, theserver 700, etc., for example, the Internet or a LAN (Local Area Network).

入出力インターフェース部208には、入力装置212および出力装置214が接続されている。出力装置214には、モニタ(家庭用テレビを含む)の他、スピーカやプリンタを用いることができる。入力装置212には、キーボード、マウス、およびマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置214をモニタ214とし、入力装置212をキーボード212またはマウス212として記載する場合がある。また、ユーザが出力装置(モニタ)214の画面に対して入力装置212で操作することを、単に「ユーザ操作」と記載する場合がある。An input device 212 and an output device 214 are connected to the input/output interface unit 208. The output device 214 may be a monitor (including a home television), a speaker, or a printer. The input device 212 may be a keyboard, a mouse, a microphone, or a monitor that works with a mouse to achieve a pointing device function. In the following, the output device 214 may be referred to as the monitor 214, and the input device 212 may be referred to as the keyboard 212 or the mouse 212. An operation performed by a user on the screen of the output device (monitor) 214 using the input device 212 may be referred to simply as a "user operation".

記憶部206には、各種のデータベース、テーブル、およびファイルなどが格納される。記憶部206には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部206として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。The storage unit 206 stores various databases, tables, files, and the like. The storage unit 206 records computer programs that work in cooperation with the OS (Operating System) to give instructions to the CPU (Central Processing Unit) to perform various processes. As the storage unit 206, for example, memory devices such as RAM (Random Access Memory) and ROM (Read Only Memory), fixed disk devices such as hard disks, flexible disks, and optical disks can be used.

記憶部206は、業務用アプリ206aを格納する。業務用アプリ206aは、上述したように、アプリ開発支援システム100で作成された業務用アプリの定義データをデータ変換したものである。The memory unit 206 stores thebusiness application 206a. As described above, thebusiness application 206a is a data conversion result of the definition data of the business application created by the application development support system 100.

制御部202は、アプリ開発支援システム100を統括的に制御するCPU等である。制御部202は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。制御部202は、機能概念的に、実行部202aを備えている。The control unit 202 is a CPU or the like that performs overall control of the application development support system 100. The control unit 202 has an internal memory for storing control programs such as an OS, programs that define various processing procedures, required data, etc., and executes various information processing based on these stored programs. Conceptually, the control unit 202 is equipped with an execution unit 202a.

実行部202aは、業務ユーザ端末400・・・からのアクセスに応じて、業務用アプリ206aを実行する。具体的には、実行部201aは、業務ユーザ端末400・・・からのアクセスに応じて、業務実行画面を提供して、業務実行画面上での業務ユーザ端末400のユーザ操作に応じて処理を行う。ユーザは、業務支援システム200にアクセスすることで、所定の業務を実行することができる。The execution unit 202a executes thebusiness application 206a in response to access from the business user terminal 400.... Specifically, the execution unit 201a provides a business execution screen in response to access from the business user terminal 400..., and performs processing in response to user operations on the business user terminal 400 on the business execution screen. By accessing thebusiness support system 200, the user can execute a specified business.

[3.処理の具体例]
図1~図20を参照して、本実施の形態におけるアプリ開発支援システム100の制御部102及び業務支援システム200の制御部201の処理の具体例を説明する。図4~20は、本実施の形態におけるアプリ開発支援システム100の制御部102及び業務支援システム200の制御部201の処理の具体例を説明するための図である。
3. Specific examples of processing
1 to 20, a specific example of the processing of thecontrol unit 102 of the application development support system 100 and the control unit 201 of thebusiness support system 200 in this embodiment will be described. Figures 4 to 20 are diagrams for explaining a specific example of the processing of thecontrol unit 102 of the application development support system 100 and the control unit 201 of thebusiness support system 200 in this embodiment.

(具体例1:ローコード基盤でのマスタページと子画面の関係性と処理のアドオン方法について)
図4を参照して、ローコード基盤でのマスタページと子画面の関係性と処理のアドオン方法を説明する。アプリ開発支援システム100の設定部102bは、設定画面上での開発ユーザ端末300の開発者の操作に応じて、マスタページ(親画面)と当該マスタページに従属する子画面のロジック情報及びロジック毎のセキュリティ情報を設定し、その際、マスタページで設定されたロジック情報及びセキュリティ情報を子画面で継承させる。子画面では、マスタページから継承したロジックのロジックフロー内の一部(プレースホルダー内)の変更のみが可能となっている。
(Example 1: Relationship between master page and child screen in low-code platform and add-on method for processing)
The relationship between the master page and child screens in the low-code platform and the add-on method of processing will be described with reference to Fig. 4. Thesetting unit 102b of the application development support system 100 sets logic information and security information for each logic of the master page (parent screen) and child screens subordinate to the master page in response to the operation of the developer of the development user terminal 300 on the setting screen, and at that time, the logic information and security information set in the master page are inherited by the child screen. In the child screen, it is only possible to change a part (within the placeholder) of the logic flow of the logic inherited from the master page.

システムにおける各画面のテンプレートの役割を果たす画面をマスタページと呼ぶ。登録処理や、帳票の出力処理など、各画面の特性に合うマスタページを利用することで、各画面での開発コストを下げることができる。マスタページは、各子画面のテンプレート機能に相当する。マスタページ(親画面)と各画面(子画面)は、いわば親子関係になっている。マスタページ(親)側には、「プレースホルダー」と呼ばれる一つ又は複数のエリアが配置されており、子画面側は、そのエリアにのみコントロールを配置可能となっている。A screen that acts as a template for each screen in the system is called a master page. By using a master page that matches the characteristics of each screen, such as registration processing or report output processing, the development costs for each screen can be reduced. The master page corresponds to the template function of each child screen. The master page (parent screen) and each screen (child screen) have a parent-child relationship, so to speak. One or more areas called "placeholders" are placed on the master page (parent), and controls can only be placed in those areas on the child screen.

具体例1では、マスタページとそれを継承する画面(以下、子画面と呼称)との関係を利用して、セキュリティの設定を行う。In concrete example 1, security is set by utilizing the relationship between the master page and the screen that inherits it (hereafter referred to as the child screen).

図4は、マスタページと子画面の関係性と処理のアドオン方法を説明するための図である。図4(A)は、フロー設定画面、図4(B)は、フロー設定画面で設定される実行環境を示している。以下では、登録画面マスタページ(登録画面全般から参照されるマスタページ)を一例に挙げて説明する。Figure 4 is a diagram for explaining the relationship between the master page and child screens, and the method of adding on processing. Figure 4 (A) shows the flow setting screen, and Figure 4 (B) shows the execution environment set on the flow setting screen. The following explains the registration screen master page (master page referenced from all registration screens) as an example.

登録画面マスタページには、登録系の画面(部門マスタメンテなど)で必要とされる新規登録、修正、削除、照会などの共通的な処理が予め設定されている。図4では、簡略化のため、削除処理のみを表示している。The registration screen master page is pre-configured with common processes such as new registration, modification, deletion, and inquiry that are required for registration screens (such as department master maintenance). For simplicity, only the deletion process is shown in Figure 4.

ローコード基盤の特性により、削除ボタン(UI)と削除処理(ロジック)は分離している。ローコード基盤側でマスタページの削除処理の設定を行う画面では、メッセージ表示などの各処理(以下、「アクション」と呼称する)を繋げることで、一連の業務処理をまとめたフローチャート(ロジックフロー)として設定できる。Due to the characteristics of the low-code platform, the delete button (UI) and the deletion process (logic) are separate. On the screen where the master page deletion process is configured on the low-code platform, each process (hereafter referred to as "action"), such as message display, can be linked together to configure a flow chart (logic flow) that brings together a series of business processes.

この中でプレースホルダーと書かれたアクションは、マスタページを継承した子画面側で具体的な処理を設定するための特殊なアクションとなる。マスタページを継承する子画面側では、マスタページにある削除処理を呼び出して利用する。Among these, the actions labeled "placeholder" are special actions for setting specific processing on the child screen that inherits the master page. On the child screen that inherits the master page, the deletion processing on the master page is called and used.

子画面上で設定できるのは、(1)親画面(マスタページ)から継承したロジックフローについては、親画面側で設定されたプレースホルダーのアクションのみ、(2)子画面側で新たなロジックフローが作成可能で、それについては、子画面毎に自由に設定可能である。子画面では、フローチャート自体や、セキュリティ設定を行う必要がない。このため、同一のマスタページから継承するページ間ではセキュリティの一貫性が担保される。On child screens, (1) for logic flows inherited from the parent screen (master page), only the placeholder actions set on the parent screen can be set, and (2) new logic flows can be created on the child screen, which can be freely set for each child screen. On child screens, there is no need to configure the flowchart itself or security settings. This ensures security consistency between pages that inherit from the same master page.

よって、マスタページを継承して子画面を作成する場合、各子画面の作成者(開発者)はセキュリティについて意識することなく、各画面処理のアドオンのみに専念することができる。セキュリティの詳しい設定方法に関しては、具体例3で説明する。Therefore, when creating child screens by inheriting a master page, the creator (developer) of each child screen can concentrate only on the add-on for each screen process without having to worry about security. Detailed information on how to set up security will be explained in Specific Example 3.

図4(A)において、マスタページの権限設定が子画面に継承される。マスタページ及びその子画面では、実行時、削除権限が必要となる。図4(A)に示す例では、マスタページ削除処理設定画面でフローチャートを設定する。この例では、開始、アクション「メッセージを表示し(削除処理を実行します。よろしいですか?)」、「Yes」の場合のアクション「プレースホルダー:子画面削除処理」、「No」の場合のアクション「処理終了」が設定されている。In FIG. 4(A), the permission settings of the master page are inherited by the child screen. The master page and its child screens require deletion permission at run time. In the example shown in FIG. 4(A), the flowchart is set on the master page deletion process setting screen. In this example, the start, action "Display message (Execute deletion process. Are you sure?)", action for "Yes" "Placeholder: child screen deletion process", and action for "No" "End process" are set.

このフローチャートは、子画面(部門マスタ削除処理設定画面や取引先マスタ削除処理設定画面)に引き継がれる。This flowchart is carried over to child screens (department master data deletion process setting screen and customer master data deletion process setting screen).

(具体例2:従来型システム開発とローコード基盤での開発でのセキュリティ設定の違い)
図5及び図6を参照して、従来型システム開発とローコード基盤での開発でのセキュリティ設定の違いを説明する。
(Example 2: Differences in security settings between traditional system development and low-code platform development)
The difference in security settings between conventional system development and development on a low-code platform will be described with reference to Figures 5 and 6.

図5は、従来型システムのセキュリティ設定を説明するための図である。例えば、登録画面A、Bでは、新規登録ボタン、修正ボタン、削除ボタン、照会ボタンそれぞれにセキュリティが割りついていること(権限が設定されている)が一般的である。直感的ではあるものの、画面毎にUIは異なるため、画面毎に専門の技術者による設定作業が必要となる。すなわち、画面数×権限数の設定作業が必要となる。このように、従来型システムのセキュリティ設定は、システム構築における大きな負担となっていた。Figure 5 is a diagram explaining security settings in conventional systems. For example, on registration screens A and B, security is typically assigned (authorities are set) to each of the new registration button, edit button, delete button, and inquiry button. Although this is intuitive, the UI differs for each screen, so configuration work by specialized engineers is required for each screen. In other words, configuration work is required equal to the number of screens x the number of authorities. In this way, security settings in conventional systems were a heavy burden in system construction.

図6は、ローコード基盤でのセキュリティ設定を説明するための図である。ローコード基盤でのセキュリティ設定では、マスタページ(親画面)で各ロジックに対してセキュリティ設定を行い、マスタページ(親画面)で設定したロジックを子画面で継承させることで、各画面毎にセキュリティ設定を行う必要がなくなる。Figure 6 is a diagram explaining security settings on a low-code platform. With security settings on a low-code platform, security settings are made for each piece of logic on the master page (parent screen), and the logic set on the master page (parent screen) is inherited by the child screens, eliminating the need to make security settings for each screen.

すなわち、全ての子画面でマスタページの同一ロジックを使用することができる。さらに、新たに登録画面を新規追加する場合にも、同じ登録画面のマスタページを継承しさえすれば、開発者は各画面固有の処理をアドオンするだけでよいため、セキュリティを意識することなくシステムの開発が可能になる(具体例1参照)。In other words, the same logic of the master page can be used for all child screens. Furthermore, when adding a new registration screen, as long as it inherits the master page of the same registration screen, the developer only needs to add on the processing specific to each screen, making it possible to develop the system without worrying about security (see Example 1).

開発者の技術レベルにばらつきがあったとしても、この仕組みを用いることで、セキュリティを担保した開発を行うことができる。図6の例では各ボタン(新規登録ボタン、修正ボタン、削除ボタン、照会ボタン)のクリックイベントにセキュリティの付与されたロジックを割り付けているが、セキュリティの観点から割付先のコントロールは制限される必要がある(具体例5参照)。コントロールの制限については、具体例5で詳細に説明する。Even if developers have different technical levels, this mechanism allows development with guaranteed security. In the example in Figure 6, secure logic is assigned to the click event of each button (New Registration button, Edit button, Delete button, Inquiry button), but from a security perspective, the control to which it is assigned must be restricted (see Example 5). Control restrictions will be explained in detail in Example 5.

(具体例3:ローコード基盤におけるセキュリティの設定方法)
図7~図11を参照して、ローコード基盤におけるセキュリティの設定方法を説明する。設定部102bは、マスタページについてのロジック(処理)とユーザ権限の一覧をマトリックス状に表示したセキュリティ設定画面上での開発ユーザ端末300の開発者の操作に応じて、マスタページの各ロジックのセキュリティ情報を設定する。
(Example 3: How to configure security on a low-code platform)
A method for setting security in a low-code platform will be described with reference to Figures 7 to 11. Thesetting unit 102b sets security information for each logic of the master page in response to the operation of the developer of the development user terminal 300 on a security setting screen that displays a list of logic (processing) and user permissions for the master page in a matrix format.

ローコード基盤では、複数の処理をフローチャートとして設定することができる(具体例1参照)。上述したように、このフローチャートで実行される処理内容に応じて、権限を持ったユーザのみが処理を実行できるようにすることが必要とされる。In a low-code platform, multiple processes can be set up as a flowchart (see specific example 1). As mentioned above, depending on the process content to be executed in this flowchart, it is necessary to ensure that only authorized users can execute the process.

ローコード基盤では、この設定したフローチャートを一つの単位としてセキュリティの設定を行うことができる(以降、一連のフローチャートを「ロジック」と呼称する)。With a low-code platform, security can be configured using this configured flowchart as a single unit (hereafter, this series of flowcharts will be referred to as "logic").

図7は、セキュリティ設定画面の一例を示す図である。セキュリティ設定画面では、ロジック(新規登録ロジック、修正ロジック、削除ロジック、照会ロジック、起動時ロジック)を縦軸、ロジック実行に必要なユーザ権限(なし、起動、新規、修正、削除、照会、実行、出力)を横軸とした一覧形式となっており、ボックスをチェックすることで権限を設定することができる。Figure 7 shows an example of a security settings screen. The security settings screen is in a list format with the logic (new registration logic, modification logic, deletion logic, inquiry logic, startup logic) on the vertical axis and the user permissions required to execute the logic (none, startup, new, modification, deletion, inquiry, execution, output) on the horizontal axis, and permissions can be set by checking the boxes.

図7に示す例では、新規登録ロジックに「新規」、修正ロジックに「修正」、削除ロジックに「削除」、照会ロジックに「照会」、起動時ロジックに「起動」の権限が設定されている。In the example shown in Figure 7, the permissions are set to "New" for new registration logic, "Modify" for modification logic, "Delete" for deletion logic, "Query" for inquiry logic, and "Launch" for startup logic.

このように、一覧形式で表示することで、全てのロジックに対してセキュリティを一度に設定することができ、セキュリティの付与忘れを未然に防ぐことができる。By displaying it in a list format like this, you can set security for all logic at once, and prevent forgetting to apply security.

設定されたセキュリティ設定画面は、照会が可能となっており、マスタページ及びその子画面から照会することができる。The configured security settings screen can be viewed from the master page and its child screens.

またロジック及びセキュリティ権限はマスタ上で管理されているため、開発者が自由にデータをカスタマイズすることができる。In addition, logic and security permissions are managed on the master, allowing developers to freely customize data.

図8を参照して、図4と同様に登録画面マスタページの例を説明する。図8の左側は、フロー設定画面(図4(A)と同じ)、右側はセキュリティ設定画面の例を示している。図8では、説明の簡単のために、削除処理のみを示している。As with FIG. 4, an example of a registration screen master page will be described with reference to FIG. 8. The left side of FIG. 8 shows an example of a flow setting screen (same as FIG. 4(A)), and the right side shows an example of a security setting screen. For simplicity of explanation, FIG. 8 only shows the deletion process.

図8において、マスタページで設定されたロジックはマスタページ上でのみセキュリティ設定が可能となっている。マスタページのロジックを継承した子画面側では、セキュリティ設定を変更することができない。子画面では、セキュリティ設定画面の照会のみ可能のため、セキュリティの一貫性が担保される。In Figure 8, the logic set on the master page can only be set as security on the master page. Security settings cannot be changed on child screens that inherit the logic of the master page. On child screens, security settings can only be viewed, ensuring security consistency.

図9及び図10を参照して、登録されるロジック情報を説明する。設定されたロジックはシリアライズ化されてJson形式でデータベース106aに保存される。1つの画面が1行のレコードとして登録され、その中に複数のロジックが1:Nの関係で紐づいて登録される。The logic information to be registered will be described with reference to Figures 9 and 10. The set logic is serialized and saved in thedatabase 106a in Json format. One screen is registered as a one-line record, within which multiple pieces of logic are registered and linked in a 1:N relationship.

ロジック情報の中で、太字で示した部分がセキュリティに関連する情報となる。セキュリティ種別マスタの種別情報がJsonに埋め込まれ、実行環境側でこの情報を元にセキュリティ制御を行う。The parts of the logic information that are in bold are security-related information. The type information of the security type master is embedded in Json, and security control is performed based on this information in the execution environment.

図9は、データベース106aに登録されるロジック情報(図7の一覧表の縦軸部分)の例を示している。図9に示すロジック情報の例では、画面情報、(画面ID、画面名称)、ロジックデータを含んでいる。Figure 9 shows an example of logic information (the vertical axis portion of the table in Figure 7) registered indatabase 106a. The example of logic information shown in Figure 9 includes screen information (screen ID, screen name) and logic data.

図9に示す例では、画面ID「1」は、画面名称「登録画面マスタページ」、画面ID「2」は、画面名称「部門登録画面」、画面ID「3」は、画面名称「取引先登録画面」となっている。また、図9では、ロジックデータの一例を示しており、各画面のロジックデータはJson形式で保存される。In the example shown in FIG. 9, screen ID "1" has the screen name "Registration Screen Master Page," screen ID "2" has the screen name "Department Registration Screen," and screen ID "3" has the screen name "Customer Registration Screen." Also, FIG. 9 shows an example of logic data, and the logic data for each screen is saved in Json format.

図9は、セキュリティ種別マスタ(図7の一覧表の横軸部分)の例を示す図である。セキュリティ種別マスタメンテは、セキュリティ種別とセキュリティ名称を関連づけて登録している。図9に示す例では、セキュリティ種別「0」は、セキュリティ名称「起動」、セキュリティ種別「1」は、セキュリティ名称「新規追加」、セキュリティ種別「2」は、セキュリティ名称「修正」、セキュリティ種別「3」は、セキュリティ名称「削除」、セキュリティ種別「4」は、セキュリティ名称「照会」、セキュリティ種別「5」は、セキュリティ名称「帳票出力」となっている。このセキュリティ種別マスタを使用することで、簡易にセキュリティを設定することができる。Figure 9 is a diagram showing an example of the security type master (the horizontal axis portion of the list in Figure 7). The security type master registers security types and security names in association with each other. In the example shown in Figure 9, security type "0" has the security name "start", security type "1" has the security name "newly added", security type "2" has the security name "modify", security type "3" has the security name "delete", security type "4" has the security name "query", and security type "5" has the security name "report output". Using this security type master makes it easy to set up security.

マスタページのロジック内でセットされたプレースホルダーアクション(具体例1参照)は、子画面上で具体的なロジックとして再定義できる。Placeholder actions set within the logic of the master page (see example 1) can be redefined as specific logic on child screens.

図11は、データベース106aに登録される情報の例を説明するための図であり、左側がフロー設定画面の例、右側がデータベースに登録される情報(Json形式)の例を示している。フロー設定画面は、図4(A)と同様である。図11では、説明の簡単のために、削除処理のみを示している。Figure 11 is a diagram for explaining an example of information registered indatabase 106a, with the left side showing an example of a flow setting screen, and the right side showing an example of information (Json format) registered in the database. The flow setting screen is the same as that shown in Figure 4 (A). For simplicity of explanation, Figure 11 only shows the deletion process.

(具体例3-2:ローコード基盤におけるセキュリティ設定方法(サブフロー使用時))
図12及び図13を参照して、ローコード基盤における、サブフロー使用時のセキュリティ設定方法を説明する。設定部102bは、ロジック情報に含まれる処理フローから別のロジック情報を呼び出すためのサブフローに割り当てられたロジック情報に対してセキュリティ情報を設定し、当該サブフローに割り当てられたロジック情報に設定されたセキュリティ情報を、当該サブフローを含む呼び出し元のロジック情報に継承させる。
(Specific example 3-2: How to set up security in a low-code platform (when using subflows))
A method of setting security when using a subflow in a low-code platform will be described with reference to Figures 12 and 13. Thesetting unit 102b sets security information for logic information assigned to a subflow for calling another logic information from a processing flow included in the logic information, and causes the security information set in the logic information assigned to the subflow to be inherited by the caller's logic information including the subflow.

設定部102bは、ロジックに含まれる処理フローから別のロジックを呼び出すためのサブフローに割り当てられたロジック情報がある場合、セキュリティ設定画面上での開発者の操作に応じて、当該サブフローに割り当てられたロジック情報を一覧で設定してもよい。When there is logic information assigned to a subflow for calling another logic from a processing flow included in the logic, thesetting unit 102b may set a list of the logic information assigned to the subflow in response to the developer's operation on the security setting screen.

画面制御部102aは、サブフローに割り当てられたロジックを、当該サブフローを含む呼び出し元のロジック配下にツリー形式で再帰的に照会(表示)してもよい。Thescreen control unit 102a may recursively query (display) the logic assigned to a subflow in a tree format under the calling logic that includes the subflow.

画面制御部102aは、サブフローに割り当てられたロジックに対して、セキュリティ設定画面上での開発者の操作に応じて設定されたセキュリティに連動して、当該サブフローを含む呼び出し元のロジック配下にツリー表示された対応するロジックに当該設定されたセキュリティと同一内容を照会(表示)してもよい。Thescreen control unit 102a may, in conjunction with the security set for the logic assigned to the subflow in response to the developer's operation on the security setting screen, inquire (display) the same contents as the set security for the corresponding logic displayed in a tree under the calling logic including the subflow.

ロジックの設定フロー(具体例1参照)の中で使用できるアクションの中にはサブフロー呼出アクションという、別のフローチャート自体を呼び出すことができる機能が存在する。これにより、共通部分となるロジックを複数のロジック間で共有することができる。ロジック内でこのサブフローが使用されている場合、セキュリティの設定方法(具体例3参照)が少し変化する。Among the actions that can be used in the logic setting flow (see example 1), there is a function called a subflow call action that can call another flowchart itself. This allows common logic to be shared between multiple logics. If this subflow is used within the logic, the method for setting security (see example 3) changes slightly.

図12は、ローコード基盤におけるセキュリティ設定方法(サブフロー使用時)を説明するための図である。図12に示す例では、メイン処理A1では、サブ処理Bを呼び出し、サブ処理Bでは、サブ処理Cを呼び出す。また、メイン処理A2では、サブ処理Bとサブ処理Dを呼び出す。Figure 12 is a diagram for explaining a method of setting security in a low-code platform (when using subflows). In the example shown in Figure 12, main process A1 calls sub-process B, which calls sub-process C. Main process A2 also calls sub-processes B and D.

図13は、図12のサブフロー使用時のセキュリティ設定を説明するための図である。ロジック内でサブフローを設定している場合、セキュリティに関しては、メイン処理だけでなくサブ処理にもセキュリティを設定することができる。複雑なフローになると、処理が何重にも入れ子になることが考えられるため、セキュリティ設定画面上では、図13に示すように、サブで呼び出される処理を呼び出し側のメイン処理の配下(メイン処理の下位層)に表示する。Figure 13 is a diagram explaining security settings when using the subflow in Figure 12. When a subflow is set within logic, security can be set not only for the main process but also for the subprocess. In complex flows, processes may be nested multiple times, so on the security settings screen, as shown in Figure 13, processes called by subprocesses are displayed under the calling main process (at a lower layer of the main process).

サブ処理のセキュリティ設定を変更すれば、メイン処理配下(メイン処理の下位層)の情報も自動的に変更される。図13に示す例では、サブ処理Bの設定を変更した場合を表記している。処理実行時は、メイン処理とサブ処理に必要な権限を合算し、必要な全ての権限をユーザが持つ場合のみ処理が実行可能となる(それ以外の場合は権限チェックでエラーにする。)。If the security settings of a sub-process are changed, the information under the main process (the layer below the main process) is automatically changed as well. The example shown in Figure 13 shows the case where the settings of sub-process B are changed. When a process is executed, the permissions required for the main process and sub-process are added together, and the process can be executed only if the user has all the required permissions (otherwise, an error occurs during a permission check).

(具体例4:セキュリティ設定に基づく処理実行時の権限チェックフローについて)
図14~図18を参照して、セキュリティ設定に基づく処理実行時の権限チェックフローを説明する。
(Example 4: Authorization check flow when executing a process based on security settings)
The flow of authority checks performed when executing a process based on security settings will be described with reference to FIGS.

業務支援システム200の実行部201aは、業務ユーザ端末400・・・からのアクセスに応じて、業務用アプリ206aを実行して、以下のような権限チェックを行う。The execution unit 201a of thebusiness support system 200 executes thebusiness application 206a in response to access from the business user terminal 400, etc., and performs the following authority check.

セキュリティ設定にて登録されたセキュリティ情報を元に、実行環境ではセキュリティの制御を行う(データベース106aに登録される情報に関しては具体例3参照)。Security is controlled in the execution environment based on the security information registered in the security settings (see example 3 for information registered indatabase 106a).

図15に示す情報は、アプリ開発支援システム(ローコード基盤)100により設定されている情報である。図14は、業務支援システム200(実行環境)の設定状況を示す情報であり、アプリ開発支援システム100とは異なる設定情報である。The information shown in FIG. 15 is information set by the application development support system (low-code platform) 100. FIG. 14 is information showing the setting status of the business support system 200 (execution environment), which is different setting information from the application development support system 100.

図14は、セキュリティ情報の設定例を示す図である。ユーザ権限割り当てマスタは、ユーザ毎にシステム上割り当てられた値(Guid値)と、ジョブ毎にシステム上割り当てられた値(Guid値)と、セキュリティ種別と、権限フラグ(True又はFalse)を関連づけて登録したテーブル等で構成することができる。セキュリティ種別には、セキュリティ種別マスタのデータが適用される。Figure 14 is a diagram showing an example of security information settings. The user authority assignment master can be configured as a table or the like that associates and registers a value (Guid value) assigned by the system for each user, a value (Guid value) assigned by the system for each job, a security type, and a permission flag (True or False). The data in the security type master is applied to the security type.

図15は、ロジック情報の設定例を示す図である。ロジック情報は、画面ID、画面名称、ロジックデータ、ジョブID、ジョブ名を含んでいる。各画面(例:部門マスタメンテ)で使用されているロジックデータは、以下のようにJson形式で保存されている(具体例3参照)。ここからデータを取りだし、セキュリティチェックに使用している。図15の例では、マスタページから継承したマスタページ削除処理→マスタページ修正処理→…の順でセキュリティチェックを行う。ローコード基盤で作成した画面とジョブの情報を紐付けることで、図14のユーザ権限割り当てマスタの情報を取得し、操作オペレータ(ユーザ)に権限があるか否かを判定することができる。すなわち、ロジック情報の対象の画面のジョブIDをキーとして、ユーザ権限割り当てマスタを参照して、操作オペレータ(ユーザ)に対象のセキュリティ種別(起動、削除等)の権限があるか否かを判定する。Figure 15 is a diagram showing an example of logic information settings. Logic information includes a screen ID, a screen name, logic data, a job ID, and a job name. The logic data used in each screen (e.g., department master maintenance) is saved in Json format as follows (see specific example 3). Data is extracted from here and used for security checks. In the example of Figure 15, a security check is performed in the order of master page deletion process inherited from the master page → master page modification process → ... By linking the screen and job information created in the low-code platform, the information of the user authority assignment master in Figure 14 can be obtained and it can be determined whether the operating operator (user) has the authority. In other words, the job ID of the target screen of the logic information is used as a key, and the user authority assignment master is referenced to determine whether the operating operator (user) has the authority for the target security type (launch, delete, etc.).

図14及び図15に示す例では、ユーザ「1111-aaaa-aaaa-aaaa-aaaaaaaaaaaa」については、部門マスタメンテ画面のジョブ「2222-bbbb-bbbb-bbbb-bbbbbbbbbbbb」について、起動、新規追加、修正、照会、帳票出力の権限有り、削除の権限無しが設定されている。In the example shown in Figures 14 and 15, for user "1111-aaaa-aaaa-aaaa-aaaaaaaaaaaa," the authority to start, add new, modify, inquire, and output reports is set for job "2222-bbbb-bbbb-bbbb-bbbbbbbbbbbbbb" on the department master maintenance screen, but the authority to delete is not set.

業務支援システム200の実行部201aにより実行される権限チェック処理を説明する。画面起動時と処理実行時の2段階に分けて権限チェックを行う。画面起動時には、以下の2種類の点からチェック処理を行い、(1)ユーザにジョブ起動権限があるかどうかのチェックと、(2)画面内のコントロールに割り付けられているロジックを実行する権限があるかどうかをチェックする。The authority check process executed by the execution unit 201a of thebusiness support system 200 is explained below. The authority check is performed in two stages: when the screen is launched and when the process is executed. When the screen is launched, the check process is performed from the following two points, (1) checking whether the user has the authority to launch a job, and (2) checking whether the user has the authority to execute the logic assigned to the controls in the screen.

業務支援システム200の実行部201aは、業務用アプリ206aを実行して、例えば、以下のような処理を実行する。ここでは、部門マスタメンテ画面の起動処理の一例を説明する。図16は、部門マスタメンテ登録画面の一例を示している。同図に示す例では、部門マスタの内容が、部門「1」が部門名「営業部」、部門「2」が部門名「経理部」、部門「3」が部門名「総務部」となっており、新規ボタン、修正ボタン、削除ボタン、照会ボタンを表示される。The execution unit 201a of thebusiness support system 200 executes thebusiness application 206a to execute, for example, the following processing. Here, an example of the startup processing of the department master maintenance screen will be described. FIG. 16 shows an example of the department master maintenance registration screen. In the example shown in the figure, the contents of the department master are "Sales Department" for department "1", "Accounting Department" for department "2", and "General Affairs Department" for department "3", and a New button, Modify button, Delete button, and Inquiry button are displayed.

図17は、業務支援システムの実行部により実行される部門マスタメンテ画面の起動処理の一例を示すフロー図である。Figure 17 is a flow diagram showing an example of the department master maintenance screen startup process executed by the execution unit of the business support system.

図17の処理では、(1)起動権限のチェックで権限なしと判定された場合には、ジョブ起動ができず処理を終了する。(2)権限チェックで、各コントロールで実行できないロジックが割りついていると判定された場合には、当該のコントロールがボタンかどうか判定し、ボタンであれば非表示にする。ボタンを非表示にすることによって、権限を持たないユーザにはその画面で削除処理が実行できることを認識できないため、さらに強固なセキュリティを実現できる。ユーザ権限に関しては、図14に示すセキュリティ情報を元にして、ジョブ起動時、処理実行時に権限のチェックを行う。図14の例では、ユーザはあるジョブに対して、削除権限を持たないような設定となっている。起動権限は存在するため、ジョブの起動は可能だが、削除権限が必要なロジックが紐づいたボタンは非表示状態で起動する。In the process of FIG. 17, (1) if the start authority check determines that the user does not have the authority, the job cannot be started and the process is terminated. (2) If the authority check determines that each control has logic that cannot be executed, it is determined whether the control is a button, and if so, it is hidden. By hiding the button, an unauthorized user cannot know that the deletion process can be executed on that screen, thus realizing even stronger security. Regarding user authority, an authority check is performed when a job is started and when processing is executed based on the security information shown in FIG. 14. In the example of FIG. 14, the user is set to not have the deletion authority for a certain job. Since start authority exists, the job can be started, but the button associated with the logic that requires the deletion authority is started in a hidden state.

具体的には、図17において、まず、部門マスタメンテ登録画面を起動させる(ステップS1)。通常の業務チェックによるコントロールの制御を行う(ステップS2)。例えば、業務チェックによるコントロールの制御例としては、伝票の締日を過ぎている場合、締日以前の伝票を修正できないようにボタンにロックをかける制御である。Specifically, in FIG. 17, first, the department master maintenance registration screen is launched (step S1). Normal control is performed by business checks (step S2). For example, one example of control by business checks is to lock a button when the closing date for a voucher has passed, so that vouchers before the closing date cannot be modified.

ロジック情報及びセキュリティ情報を参照して、ユーザに部門マスタメンテ画面のジョブ起動権限があるかをチェックし(ステップS3)、ユーザに起動権限がない場合には(ステップS3の「No」)、ジョブを起動しないで処理を終了し(ステップS7)、権限がないというエラーを通知する。なお、図14及び図15に示す例では、ユーザ「1111-aaaa-aaaa-aaaa-aaaaaaaaaaaa」については、部門マスタメンテ画面のジョブ「2222-bbbb-bbbb-bbbb-bbbbbbbbbbbb」について、起動権限が有りに設定されている。By referring to the logic information and security information, it is checked whether the user has the authority to start a job on the department master maintenance screen (step S3). If the user does not have the authority to start the job (step S3: No), the process ends without starting the job (step S7), and an error is notified that the user does not have the authority. Note that in the example shown in Figs. 14 and 15, for the user "1111-aaaa-aaaa-aaaa-aaaaaaaaaaaa", the user "1111-aaaa-aaaa-aaaaaaaaaaaaaaaa" is set to have the authority to start the job "2222-bbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbbbb" on the department master maintenance screen.

起動権限がある場合には(ステップS3の「Yes」)、セキュリティ情報を参照して、マスタページ削除処理に実行権限は存在するか否かをチェックする(ステップS4)。マスタページ削除処理に実行権限が存在する場合には(ステップS4の「Yes」)、ステップS5に移行する。なお、図14及び図15に示す例では、ユーザ「1111-aaaa-aaaa-aaaa-aaaaaaaaaaaa」については、部門マスタメンテ画面のジョブ「2222-bbbb-bbbb-bbbb-bbbbbbbbbbbb」について、削除権限が無しに設定されている。If there is authorization to start ("Yes" in step S3), the security information is referenced to check whether there is authorization to execute the master page deletion process (step S4). If there is authorization to execute the master page deletion process ("Yes" in step S4), the process proceeds to step S5. Note that in the example shown in Figs. 14 and 15, for the user "1111-aaaa-aaaa-aaaa-aaaaaaaaaaa", deletion authorization is set to none for the job "2222-bbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbbbb" on the department master maintenance screen.

マスタページ削除処理に実行権限が存在しない場合は(ステップS4の「No」)、マスタページ削除処理にボタンが割り付いているか否かを判断する(ステップS8)。マスタページ削除処理にボタンが割り付いていない場合は(ステップS8の「No」)、ステップS5に移行する。マスタページ削除処理にボタンが割り付いている場合は(ステップS8の「Yes」)、マスタページ削除処理に割り付けた削除ボタンを非表示として(ステップS9)、ステップS5に移行する。上記図14の例では、削除についての権限フラグが「false」のため、図16の部門マスタメンテ画面の削除ボタンを非表示とする。If there is no authority to execute the master page deletion process ("No" at step S4), it is determined whether or not a button is assigned to the master page deletion process (step S8). If a button is not assigned to the master page deletion process ("No" at step S8), proceed to step S5. If a button is assigned to the master page deletion process ("Yes" at step S8), the delete button assigned to the master page deletion process is hidden (step S9) and proceed to step S5. In the example of Figure 14 above, since the authority flag for deletion is "false", the delete button on the department master maintenance screen in Figure 16 is hidden.

このように、ボタンを非表示にすることによって、権限を持たないユーザにはその画面で削除処理が実行できることを認識できないため、強固なセキュリティを実現できる。In this way, by hiding the button, unauthorized users cannot know that they can perform the deletion process on that screen, providing strong security.

ステップS5では、以下、画面内のロジックを全てチェックし、ジョブを起動する(ステップS6)。In step S5, all logic on the screen is checked and the job is started (step S6).

ボタン以外のコントロールは起動時チェックで権限がなくても非表示にならないため、処理がリクエストされた後に、業務支援システム200側で処理の実行権限のチェックを行う必要がある。図18は、この場合の実行時ロジックフローの一例を示す図である。具体的には、非表示のボタンであっても、ユーザが直接、業務支援システム200側に処理をPOSTする可能性はあるため、業務支援システム200側でも処理の実行権限チェックを行う必要がある。そのため、業務支援システム200側にポストされた処理については再度チェックを行い、権限チェックを堅牢に行っている。Controls other than buttons are not hidden even if the user does not have the required permissions during the startup check, so thebusiness support system 200 must check the execution permissions for the process after the process is requested. Figure 18 is a diagram showing an example of the execution logic flow in this case. Specifically, even for hidden buttons, there is a possibility that a user may directly POST a process to thebusiness support system 200, so thebusiness support system 200 must also check the execution permissions for the process. For this reason, processes posted to thebusiness support system 200 are checked again to ensure robust permission checks.

図18において、開発ユーザ端末300・・・から処理イベントを発火し(ステップS11)、業務支援システム200側へ処理をPOSTする。業務支援システム200は、マスタページ削除処理に実行権限が存在するか否かをチェックする(ステップS12)。実行権限がない場合には(ステップS12の「No」)、処理を中断し(ステップS13)、エラーを業務支援システム200からクライアントに送信する。実行権限がある場合には(ステップS12の「Yes」)、処理を実行する(ステップS14)。In FIG. 18, a processing event is fired from the development user terminal 300... (step S11), and the processing is POSTed to thebusiness support system 200. Thebusiness support system 200 checks whether or not execution authority exists for the master page deletion process (step S12). If execution authority does not exist ("No" in step S12), the processing is interrupted (step S13), and an error is sent from thebusiness support system 200 to the client. If execution authority exists ("Yes" in step S12), the processing is executed (step S14).

(具体例4-2:サブフロー使用時のセキュリティの設定・判定方法について)
上記図12及び図19を参照して、サブフロー使用時のセキュリティの設定・判定方法を説明する。
(Specific example 4-2: Security settings and assessment method when using subflows)
The method of setting and determining security when a subflow is used will be described with reference to the above-mentioned FIG. 12 and FIG.

上記図12に示すように、ロジックの設定フロー(具体例1参照)の中で使用できるアクションの中にはサブフロー呼出アクションという、別のフローチャート自体を呼び出すことができる機能が存在する。これにより、共通部分となるロジックを複数のロジック間で共有することができる。As shown in Figure 12 above, among the actions that can be used in the logic setting flow (see Example 1), there is a function called a subflow call action that can call another flowchart itself. This allows common parts of logic to be shared between multiple logics.

ロジック内でこのサブフローが使用されている場合、セキュリティの判定方法(具体例4参照)が少し変化するため説明する。サブフローを使用するロジックの場合、各ロジック内のサブフローに実行権限があるかどうかのチェックが必要となる。そのため、セキュリティの判定方法も以下のような制御を行う。When this subflow is used within logic, the security assessment method (see example 4) changes slightly, so we will explain this. For logic that uses subflows, it is necessary to check whether the subflow within each logic has execution permission. Therefore, the security assessment method is also controlled as follows.

図19は、サブフロー使用時のジョブ起動時制御の一例を説明するためのフローを示す図である。図19において、まず、ユーザにジョブ起動権限があるかをチェックし(ステップS21)、ユーザに起動権限がない場合には(ステップS21の「No」)、ジョブを終了し、権限がないというエラーを通知する(ステップS28)。Figure 19 is a diagram showing a flow to explain an example of job start control when using a subflow. In Figure 19, first, it is checked whether the user has the authority to start the job (step S21), and if the user does not have the authority to start the job (step S21: No), the job is terminated and an error is notified that the user does not have the authority (step S28).

起動権限がある場合には(ステップS21の「Yes」)、ロジックAに実行権限は存在するか否かをチェックする(ステップS22)。ロジックAに実行権限が存在する場合には(ステップS22の「Yes」)、ステップS23に移行する。ロジックAに実行権限が存在しない場合は(ステップS22の「No」)、図17と同様な処理を実行する。If there is authorization to start ("Yes" in step S21), a check is made to see if there is authorization to execute logic A (step S22). If there is authorization to execute logic A ("Yes" in step S22), the process moves to step S23. If there is no authorization to execute logic A ("No" in step S22), the same process as in FIG. 17 is executed.

ステップS23では、ロジックAにサブフローが存在するか否かをチェックする(ステップS23)。ロジックAにサブフローが存在しない場合は(ステップS23の「No」)、ステップS26に移行する。ロジックAにサブフローが存在する場合には(ステップS23の「Yes」)、当該サブフローに実行権限が存在するか否かをチェックする(ステップS24)。当該サブフローの実行権限がある場合には(ステップS24の「Yes」)、ステップS25に移行する。他方、当該サブフローの実行権限がない場合には(ステップS24の「No」)、ロジックAにボタンが割り付いているかをチェックする(ステップS30)。割り付いていない場合には(ステップS30の「No」)、ステップS25に移行し、割付いている場合には(ステップS30の「Yes」)、ロジックAに割り付いたボタンを非表示として(ステップS31)、ステップS25に移行する。In step S23, it is checked whether or not a subflow exists in logic A (step S23). If a subflow does not exist in logic A (step S23: No), the process proceeds to step S26. If a subflow exists in logic A (step S23: Yes), the process proceeds to step S24 to check whether or not execution authority exists for the subflow. If execution authority exists for the subflow exists (step S24: Yes), the process proceeds to step S25. On the other hand, if execution authority does not exist for the subflow exists (step S24: No), the process proceeds to step S30 to check whether or not a button is assigned to logic A. If no button is assigned (step S30: No), the process proceeds to step S25. If a button is assigned (step S30: Yes), the process proceeds to step S25. If a button is assigned (step S30: Yes), the button assigned to logic A is hidden (step S31) and the process proceeds to step S25.

ステップS25では、以下、ロジック内のサブフローを全てチェックし、画面内のロジックを全てチェックした後(ステップS26)、ジョブを起動する(ステップS27)。In step S25, all subflows within the logic are checked, and then all logic within the screen is checked (step S26), after which the job is started (step S27).

(具体例5:セキュリティの割付先コントロールの制御について)
図20を参照して、セキュリティの割付先コントロールの制御を説明する。アプリ開発支援システム100の検知部102dは、設定画面において、開発者がコントロールのアクションについてセキュリティを設定する場合に、セキュリティ設定可能マスタ106bを参照して、当該コントロールのアクションの設定が可能か否かを検知する。この場合、検知部102dは、セキュリティ設定可能マスタ106bを参照して、当該コントロールのアクションの可否フラグが設定可能である場合には、設定を許可し、当該コントロールのアクションの可否フラグが設定不可である場合には、エラーを通知することにしてもよい。
(Specific Example 5: Control of security allocation destination control)
The control of the security allocation control will be described with reference to Fig. 20. When a developer sets security for an action of a control on a setting screen, the detection unit 102d of the application development support system 100 refers to the securityconfigurable master 106b to detect whether the action of the control can be set. In this case, the detection unit 102d refers to the securityconfigurable master 106b, and if the flag for the action of the control can be set, permits the setting, and if the flag for the action of the control cannot be set, notifies an error.

図20は、セキュリティの割付先コントロールの制御を説明するための図である。マスタの削除処理や帳票の出力処理など、一般的なシステムにおいてはセキュリティ設定が付与されるようなロジックを紐づけるUIはボタンのクリックイベントが大部分であると考えられる。セキュリティの観点からすると、あらゆるコントロールに対してセキュリティ設定を付与できてしまうことは、意図せずにセキュリティホールを生み出してしまう可能性があり好ましくない。Figure 20 is a diagram for explaining the control of security allocation destination controls. In a typical system, it is thought that the majority of UIs that link logic to which security settings are assigned, such as master deletion processing and report output processing, are button click events. From a security perspective, being able to assign security settings to any control is undesirable, as it could unintentionally create security holes.

特にローコード基盤においては、システム構築時のセキュリティに知見のない開発者が設定を行う場合がある。極端な例では、そういった専門知識のない開発者が、ラジオボタンのチェック処理に削除処理を割り付けてしまう、などの異常な設定を行う事も考えられることから、セキュリティの割付先はローコード基盤側が極力制限する必要がある。Especially with low-code platforms, developers with no knowledge of security may configure the system when building it. In extreme cases, developers without such specialized knowledge may make abnormal settings, such as assigning a delete process to a radio button check process, so the low-code platform needs to limit where security can be assigned as much as possible.

一方で、全てのセキュリティ付ロジックをボタンのクリックイベントのみに割り付けるような強い制限をかけてしまうと、システムの拡張性やユーザビリティを損なうことが懸念される。On the other hand, there is a concern that imposing strict restrictions such as assigning all security logic only to button click events could impair the scalability and usability of the system.

そこで、セキュリティ付ロジックを割り付けられるコントロールの種類を開発者がマスタに登録することにより、任意で制限することができる仕組みを考案した。これにより、複数の開発者がシステム開発を行うような大規模開発においても、各開発者が特に意識することなく、セキュリティ設定に対する一貫性をシステム全体に持たせることができる。Therefore, we devised a mechanism that allows developers to arbitrarily restrict the types of controls to which security logic can be assigned by registering them in the master. This makes it possible to ensure consistency in security settings across the entire system, even in large-scale development where multiple developers are working on a system, without each developer having to be particularly aware of it.

このような例外的なセキュリティ設定をローコード基盤側で制御することはユーザビリティの向上にもつながる。仮に、設定を制限している種類のコントロール(例えば、ラジオボタン)に、セキュリティ付ロジックを付与しようとすると、ローコード基盤でエラーを通知して、開発者が設定を即座に修正することができる。Controlling such exceptional security settings on the low-code platform also leads to improved usability. If an attempt is made to apply security logic to a type of control that has restricted settings (e.g., a radio button), the low-code platform will notify the developer of an error, allowing the developer to immediately correct the settings.

図20(A)は、セキュリティ設定可能マスタ106bの一例を示している。セキュリティ設定可能マスタ106bは、コントロール、アクション、設定可能か否かを示す設定可否フラグを関連づけて登録したテーブル等で構成することができる。同図に示す例では、1行目は、コントロール「ボタン」、アクション「クリック」、設定可否フラグ「1(設定可能)」、2行目は、コントロール「ラジオボタン」、アクション「チェック」、設定可否フラグ「0(設定不可)」、3行目は、コントロール「テーブル」、アクション「クリック」、設定可否フラグ「0(設定不可)」となっている。Figure 20 (A) shows an example of securityconfigurable master 106b. Securityconfigurable master 106b can be configured as a table or the like in which controls, actions, and configurability flags indicating whether or not they can be set are associated and registered. In the example shown in the figure, the first line is the control "button", the action "click", and the configurability flag "1 (configurable)", the second line is the control "radio button", the action "check", and the configurability flag "0 (not configurable)", and the third line is the control "table", the action "click", and the configurability flag "0 (not configurable)".

例えば、図20(B)に示す設定画面で、開発ユーザがラジオボタンの実行時に修正権限が必要なセキュリティを設定しようとすると、セキュリティ設定可能マスタ106bの例では、コントロール「ラジオボタン」は、設定可否フラグ「0(設定不可)」に設定されているので、検知部102dは、エラーを通知する。For example, if a development user attempts to set security that requires modification authority when a radio button is executed on the setting screen shown in FIG. 20(B), the detection unit 102d will notify an error because the setting possibility flag for the control "radio button" is set to "0 (not settable)" in the example of thesecurity setting master 106b.

また、ローコード基盤上でエラーが発生している場合には、図20(C)に示すように、実行環境への変換はできない。このため、セキュリティの堅牢性が担保される。In addition, if an error occurs on the low-code platform, conversion to the execution environment is not possible, as shown in Figure 20 (C). This ensures robust security.

以上説明したように、本実施の形態のアプリ開発支援システムによれば、マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面制御部102aと、セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定部102bと、を備えているので、開発者が実際のアプリケーションにどのような権限制御が行われるかを適切に判断・管理することが可能となる。As described above, the application development support system of this embodiment includes ascreen control unit 102a that displays a security setting screen that displays a matrix of the logic for the master page and a list of its permissions, and asetting unit 102b that sets the security of each logic of the master page in response to the developer's operations on the security setting screen, allowing the developer to appropriately determine and manage what kind of permission control will be applied to the actual application.

[4.国連が主導する持続可能な開発目標(SDGs)への貢献]
本実施形態により、業務効率化や企業の適切な経営判断を推進することに寄与することができるので、SDGsの目標8及び9に貢献することが可能となる。
[4. Contribution to the United Nations-led Sustainable Development Goals (SDGs)]
This embodiment can contribute to improving business efficiency and promoting appropriate management decisions by companies, thereby making it possible to contribute to goals 8 and 9 of the SDGs.

また、本実施形態により、廃棄ロス削減や、ペーパレス・電子化を推進することに寄与することができるので、SDGsの目標12、13及び15に貢献することが可能となる。In addition, this embodiment can contribute to reducing waste and promoting paperless and electronic systems, which can contribute to the achievement of SDGs goals 12, 13, and 15.

また、本実施形態により、統制、ガバナンス強化に寄与することができるので、SDGsの目標16に貢献することが可能となる。In addition, this embodiment can contribute to strengthening control and governance, making it possible to contribute to Goal 16 of the SDGs.

[5.他の実施形態]
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
5. Other embodiments
The present invention may be embodied in various different embodiments other than those described above within the scope of the technical concept set forth in the claims.

例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。For example, among the processes described in the embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using a known method.

また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。In addition, the processing procedures, control procedures, specific names, registered data for each process, information including parameters such as search conditions, screen examples, and database configurations shown in this specification and drawings may be changed as desired unless otherwise specified.

また、アプリ開発支援システム100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。Furthermore, with regard to the application development support system 100, each component shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure.

例えば、アプリ開発支援システム100が備える処理機能、特に制御部102にて行われる各処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じてアプリ開発支援システム100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部106などには、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部102を構成する。For example, the processing functions of the application development support system 100, particularly the processing functions performed by thecontrol unit 102, may be realized in whole or in part by a CPU and a program interpreted and executed by the CPU, or may be realized as hardware using wired logic. The program is recorded on a non-transient computer-readable recording medium that contains programmed instructions for causing the information processing device to execute the processes described in this embodiment, and is mechanically read by the application development support system 100 as necessary. That is, a computer program for giving instructions to the CPU in cooperation with the OS and performing various processes is recorded in thestorage unit 106, such as a ROM or HDD (Hard Disk Drive). This computer program is executed by being loaded into RAM, and cooperates with the CPU to configure thecontrol unit 102.

また、このコンピュータプログラムは、アプリ開発支援システム100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。This computer program may also be stored in an application program server connected to the application development support system 100 via any network, and all or part of it may be downloaded as needed.

また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、フレキシブルディスク、光磁気ディスク、ROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable and Programmable Read Only Memory)、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、および、Blu-ray(登録商標) Disc等の任意の「可搬用の物理媒体」を含むものとする。In addition, the program for executing the processing described in this embodiment may be stored on a non-transitory computer-readable recording medium, and may also be configured as a program product. Here, the term "recording medium" refers to a memory card, a USB (Universal Serial Bus) memory, a SD (Secure Digital) card, a flexible disk, a magneto-optical disk, a ROM, an EPROM (Erasable Programmable Read Only Memory), an EEPROM (registered trademark) (Electrically Erasable and Programmable Read Only Memory), a CD-ROM (Compact Disk Read Only Memory), an MO (Magneto-Optical disk), a DVD (Digital Versatile This includes any "portable physical media" such as a Blu-ray (registered trademark) Disc, and a Blu-ray (registered trademark) Disc.

また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。A "program" is a data processing method written in any language or description method, and may be in any format, such as source code or binary code. Note that a "program" is not necessarily limited to a single configuration, but also includes a distributed configuration consisting of multiple modules or libraries, and a program that works in conjunction with a separate program, such as an OS, to achieve its function. Note that the specific configuration and reading procedure for reading a recording medium in each device shown in the embodiments, as well as the installation procedure after reading, can use well-known configurations and procedures.

記憶部106に格納される各種のデータベース等は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。The various databases stored in thememory unit 106 are storage devices such as memory devices such as RAM and ROM, fixed disk devices such as hard disks, flexible disks, and optical disks, and store various programs, tables, databases, and web page files used for various processes and website provision.

また、アプリ開発支援システム100は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、アプリ開発支援システム100は、当該情報処理装置に本実施形態で説明した処理を実現させるソフトウェア(プログラムまたはデータ等を含む)を実装することにより実現してもよい。The application development support system 100 may be configured as an information processing device such as a known personal computer or workstation, or may be configured as the information processing device to which any peripheral device is connected. The application development support system 100 may be realized by implementing software (including programs or data, etc.) that causes the information processing device to realize the processing described in this embodiment.

更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能付加に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。Furthermore, the specific form of distribution and integration of the devices is not limited to that shown in the figures, and all or part of them can be functionally or physically distributed and integrated in any unit depending on various additions or function additions. In other words, the above-mentioned embodiments can be implemented in any combination, or the embodiments can be implemented selectively.

100 アプリ開発支援システム
102 制御部
102a 画面制御部
102b 設定部
102c 登録部
102d 検知部
102e マスタメンテ部
104 通信インターフェース部
106 記憶部
106a データベース
106b セキュリティ設定可能マスタ
108 入出力インターフェース部
112 入力装置
114 出力装置
200 業務支援システム
202 制御部
202a 実行部
204 通信インターフェース部
206 記憶部
206a 業務用アプリ
208 入出力インターフェース部
212 入力装置
214 出力装置
300 開発ユーザ端末
400 業務ユーザ端末
500 ネットワーク
600 サーバ
700 サーバ
100 Applicationdevelopment support system 102Control unit 102aScreen control unit 102b Setting unit 102c Registration unit102d Detection unit 102eMaster maintenance unit 104Communication interface unit 106Storage unit 106aDatabase 106b Securityconfigurable master 108 Input/output interface unit 112 Input device 114Output device 200 Business support system 202 Control unit 202aExecution unit 204 Communication interface unit 206Storage unit 206aBusiness application 208 Input/output interface unit 212 Input device 214 Output device 300 Development user terminal 400Business user terminal 500Network 600Server 700 Server

Claims (8)

Translated fromJapanese
制御部を備えたアプリ開発支援システムであって、
前記制御部は、
マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面表示制御手段と、
前記セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定手段と、
を備え、
前記マスタページに設定されたセキュリティは、当該マスタページに従属する子画面に継承されることを特徴とするアプリ開発支援システム。
An application development support system including a control unit,
The control unit is
a screen display control means for displaying a security setting screen on which the logic of the master page and a list of its permissions are displayed in a matrix form;
a setting means for setting security for each logic of a master page in response to an operation by a developer on the security setting screen;
Equipped with
The application development support system is characterizedin that security set on the master page is inherited by child screens subordinate to the master page .
画面表示制御手段は、前記マスタページ及び当該マスタページに従属する子画面について、設定されたマスタページのセキュリティを、一覧で照会可能に構成されていることを
特徴とする請求項に記載のアプリ開発支援システム。
The application development support system according to claim1 , characterized in that the screen display control means is configured to be able to inquire in a list about the security of the set master page for the master page and child screens subordinate to the master page.
前記設定手段は、前記ロジックに含まれる処理フローから別のロジックを呼び出すためのサブフローに割り当てられたロジック情報がある場合、前記セキュリティ設定画面上での開発者の操作に応じて、当該サブフローに割り当てられたロジック情報を一覧で設定可能に構成されており、前記表示制御手段は、当該サブフローに割り当てられたロジックを、当該サブフローを含む呼び出し元のロジック配下にツリー形式で再帰的に照会可能に構成されていることを特徴とする請求項1又は2に記載のアプリ開発支援システム。 The application development support system of claim 1 or 2, characterized in that when there is logic information assigned to a subflow for calling another logic from a processing flow included in the logic, the setting means is configured to be able to set a list of the logic information assigned to the subflow in accordance with a developer's operation on the security setting screen,and the display control means is configured to be able to recursively query the logic assigned to the subflow in a tree format under the calling logic including the subflow. 前記画面表示制御手段は、前記サブフローに割り当てられたロジックに対して、前記セキュリティ設定画面上での開発者の操作に応じて設定されたセキュリティに連動して、当該サブフローを含む呼び出し元のロジック配下にツリー表示された対応するロジックに当該設定されたセキュリティと同一内容を照会可能に構成されていることを特徴とする請求項に記載のアプリ開発支援システム。 The application development support system according to claim 3, characterized in that the screen display control means is configured to be able to inquire about the same content as the set security for the corresponding logic displayed in a tree structure under the calling logic including the subflow, in conjunction with the security set in response to a developer's operation on the security settingscreen for the logic assigned to the subflow.前記権限は、新規登録権限、修正権限、削除権限、照会権限、起動時権限の少なくとも1つを含むことを特徴とする請求項1~のいずれか1つに記載のアプリ開発支援システム。5. The application development support system according to claim 1, wherein the authority includes at least one of a new registration authority, a modification authority, a deletion authority, an inquiry authority, and a startup authority . 前記アプリ開発支援システムは、GUI操作の定義でアプリケーションを開発可能なシステムであることを特徴とする請求項1~のいずれか1つに記載のアプリ開発支援システム。6. The application development support system according to claim 1, wherein the application development support system is a system capable of developing an application by defining a GUI operation. 制御部を備えた情報処理装置が実行するアプリ開発支援方法であって、
前記制御部で実行される、
マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面表示制御ステップと、
前記セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定ステップと、
を含み、
前記マスタページに設定されたセキュリティは、当該マスタページに従属する子画面に継承されることを特徴とするアプリ開発支援方法。
An application development support methodexecuted by an information processing device having a control unit,
Executed by the control unit,
a screen display control step of displaying a security setting screen on which the logic for the master page and a list of its permissions are displayed in a matrix form;
a setting step of setting security for each logic of the master page in response to an operation of the developer on the security setting screen;
Including,
The application development support method accordingto the present invention, characterized in that security set on the master page is inherited by child screens subordinate to the master page .
制御部を備えた情報処理装置に実行させるためのアプリ開発支援プログラムであって、
前記制御部に、
マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面表示制御ステップと、
前記セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定ステップと、
を実行させるためのアプリ開発支援プログラムであり、
前記マスタページに設定されたセキュリティは、当該マスタページに従属する子画面に継承されることを特徴とするアプリ開発支援プログラム。
An application development support program to be executed by an information processing device having a control unit,
The control unit,
a screen display control step of displaying a security setting screen on which the logic for the master page and a list of its permissions are displayed in a matrix form;
a setting step of setting security for each logic of the master page in response to an operation of the developer on the security setting screen;
It is an application development support program for executing
An application development support program, characterized in that security set on the master page is inherited by child screens subordinate to the master page.
JP2021175710A2021-02-262021-10-27 App development support system, app development support method, and app development support programActiveJP7600075B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2024210131AJP2025026494A (en)2021-02-262024-12-03 App development support system, app development support method, and app development support program

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
JP20210312492021-02-26
JP20210312492021-02-26

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
JP2024210131ADivisionJP2025026494A (en)2021-02-262024-12-03 App development support system, app development support method, and app development support program

Publications (2)

Publication NumberPublication Date
JP2022132054A JP2022132054A (en)2022-09-07
JP7600075B2true JP7600075B2 (en)2024-12-16

Family

ID=83153268

Family Applications (2)

Application NumberTitlePriority DateFiling Date
JP2021175710AActiveJP7600075B2 (en)2021-02-262021-10-27 App development support system, app development support method, and app development support program
JP2024210131APendingJP2025026494A (en)2021-02-262024-12-03 App development support system, app development support method, and app development support program

Family Applications After (1)

Application NumberTitlePriority DateFiling Date
JP2024210131APendingJP2025026494A (en)2021-02-262024-12-03 App development support system, app development support method, and app development support program

Country Status (1)

CountryLink
JP (2)JP7600075B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
KR20250085710A (en)2022-08-222025-06-12가부시키가이샤 오츠카 세이야쿠 고죠 Carbonated jelly drink
EP4440039A1 (en)*2023-03-282024-10-02Siemens AktiengesellschaftComputer-implemented method for controlling security parameters of a machine in a machine system

Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2005346125A (en)2004-05-312005-12-15Nec Corp Menu processing system and method, and program for menu processing
JP2007233635A (en)2006-02-282007-09-13Fuji Xerox Co LtdInformation management system, information management method, and computer program
JP2008004109A (en)2007-07-302008-01-10Hitachi Ltd Program generation method and apparatus
JP2009093453A (en)2007-10-102009-04-30Obic Business Consultants LtdInformation processor, information processing method, and program
JP2013097717A (en)2011-11-042013-05-20Stnet Co LtdDatabase creation and management system
JP2019523927A (en)2016-05-292019-08-29ウィックス.コム リミテッド. Website construction system and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
KR101566855B1 (en)*2013-11-282015-11-06주식회사 영림원소프트랩Developping method for user screen of new works in enterprise resource planning system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2005346125A (en)2004-05-312005-12-15Nec Corp Menu processing system and method, and program for menu processing
JP2007233635A (en)2006-02-282007-09-13Fuji Xerox Co LtdInformation management system, information management method, and computer program
JP2008004109A (en)2007-07-302008-01-10Hitachi Ltd Program generation method and apparatus
JP2009093453A (en)2007-10-102009-04-30Obic Business Consultants LtdInformation processor, information processing method, and program
JP2013097717A (en)2011-11-042013-05-20Stnet Co LtdDatabase creation and management system
JP2019523927A (en)2016-05-292019-08-29ウィックス.コム リミテッド. Website construction system and method

Also Published As

Publication numberPublication date
JP2025026494A (en)2025-02-21
JP2022132054A (en)2022-09-07

Similar Documents

PublicationPublication DateTitle
JP2025026494A (en) App development support system, app development support method, and app development support program
US10296305B2 (en)Method and device for the automated production and provision of at least one software application
US8806185B2 (en)System and method for automatic configuration of portal composite applications
US20180101371A1 (en)Deployment manager
US9116709B2 (en)Computationally efficient system for developing configurable, extensible GUI for database centric enterprise business applications
CN108351769B (en)Dashboard as a remote computing service
US11900077B2 (en)Systems, methods, user interfaces, and development environments for generating instructions in a computer language
JP2004280830A (en)Extensible customization framework for software system
US20060090130A1 (en)System and method for styling content in a graphical user interface control
US20050188367A1 (en)Executable application configuration system
US20180374015A1 (en)Systems and methods of activity flows in lifecycle models
US20240004874A1 (en)Systems, Methods, Applications, and User Interfaces for Providing Triggers in a System of Record
JP7541965B2 (en) App development support system, app development support method, and app development support program
JP7557452B2 (en) App development support system, app development support method, and app development support program
CN104217145B (en)Limit the method that specific user accesses the predetermined portions of manufacturing execution system screen
US11803553B2 (en)Providing triggers based on one-to-many or many-to-one relationships in a system of record
EP2558930B1 (en)Platform independent presentation composition
JP2011186720A (en)Information processing apparatus, processing method, and computer-readable recording medium with processing program recorded thereon
JP2004272911A (en)Customization of field in object in computing environment
JP2009020624A (en)Management server, control method therefor, program, and recording medium
TWI679580B (en)System and methods for rapid deployment of containerized applications
JP2020190827A (en) Screen creator
JP2017182794A (en) Business data change check device, business data change check method, and business data change check program
JP2024013293A (en) Focus target determination device, focus target determination method, and focus target determination program
JP2025153927A (en) Application providing system, application providing method and application providing program

Legal Events

DateCodeTitleDescription
A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20240517

A871Explanation of circumstances concerning accelerated examination

Free format text:JAPANESE INTERMEDIATE CODE: A871

Effective date:20240517

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20240820

A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20241015

TRDDDecision of grant or rejection written
A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

Effective date:20241105

A61First payment of annual fees (during grant procedure)

Free format text:JAPANESE INTERMEDIATE CODE: A61

Effective date:20241204

R150Certificate of patent or registration of utility model

Ref document number:7600075

Country of ref document:JP

Free format text:JAPANESE INTERMEDIATE CODE: R150


[8]ページ先頭

©2009-2025 Movatter.jp