JP7787967B2 - 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 programInfo
- Publication number
- JP7787967B2 JP7787967B2 JP2024210131A JP2024210131A JP7787967B2 JP 7787967 B2 JP7787967 B2 JP 7787967B2 JP 2024210131 A JP2024210131 A JP 2024210131A JP 2024210131 A JP2024210131 A JP 2024210131A JP 7787967 B2 JP7787967 B2 JP 7787967B2
- Authority
- JP
- Japan
- Prior art keywords
- security
- logic
- screen
- development support
- 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
Links
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、アプリ開発支援システム、アプリ開発支援方法、及びアプリ開発支援プログラムに関する。 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のユーザが利用する開発環境において利用可能に複製させ、視覚的に表示させるコミュニケーション部と、を有する。 Patent Document 1, for example, is an example of a conventional application development support system. This system includes 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 communication functions between multiple users of the development environment, whereby part or all of the application program generated by the program development unit of a development environment used by a first user is copied and visually displayed so that it can be used in a development environment used by a second user.
しかしながら、特許文献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 light of the above, and aims to provide an application development support system, application development support method, and 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 objectives, the present invention provides an application development support system equipped with a control unit, characterized in that the control unit comprises: a screen display control means for displaying a security settings screen that displays a matrix of master page logic and its permissions; and a setting means for setting the security of each piece of master page logic in response to operations by a developer on the security settings 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.
また、本発明の一態様によれば、画面表示制御手段は、前記マスタページ及び当該マスタページに従属する子画面について、設定されたマスタページのセキュリティを、一覧で照会可能に構成されていることにしてもよい。 Furthermore, according to one aspect of the present invention, the screen display control means may be configured to be able to query, in a list, the master page security that has been set for the master page and child screens subordinate to the master page.
また、本発明の一態様によれば、前記設定手段は、前記ロジックに含まれる処理フローから別のロジックを呼び出すためのサブフローに割り当てられたロジック情報がある場合、前記セキュリティ設定画面上での開発者の操作に応じて、当該サブフローに割り当てられたロジック情報を一覧で設定可能に構成されており、前記表示制御手段は、当該サブフローに割り当てられたロジックを、当該サブフローを含む呼び出し元のロジック配下にツリー形式で再帰的に照会可能に構成されていることにしてもよい。 Furthermore, 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 may be configured to be able to set the logic information assigned to the subflow in a list in response to a developer's operation 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.
また、本発明の一態様によれば、前記画面表示制御手段は、前記サブフローに割り当てられたロジックに対して前記セキュリティ設定画面上での開発者の操作に応じて設定されたセキュリティに連動して、当該サブフローを含む呼び出し元のロジック配下にツリー表示された対応するロジックに当該設定されたセキュリティと同一内容を照会可能に構成されていてもよい。 Furthermore, according to one aspect of the present invention, the screen display control means may be configured to, in conjunction with security set for logic assigned to the subflow in response to a developer's operation on the security setting screen, query the corresponding logic displayed in a tree structure under the calling logic including the subflow for the same security content.
また、本発明の一態様によれば、前記ロジックは、新規登録ロジック、修正ロジック、削除ロジック、照会ロジック、起動時ロジックの少なくとも1つを含むこともしてもよい。 Furthermore, 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操作の定義でアプリケーションを開発可能なシステムであることにしてもよい。 Furthermore, 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.
また、上述した課題を解決し、目的を達成するために、本発明は、制御部を備えた情報処理装置に実行させるためのアプリ開発支援方法であって、前記制御部で実行される、マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面表示制御ステップと、前記セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定ステップと、を含むことを特徴とする。 Furthermore, in order to solve the above-mentioned problems and achieve the objectives, the present invention provides an application development support method for execution by an information processing device equipped with a control unit, characterized by including a screen display control step executed by the control unit to display a security settings 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 piece of logic on the master page in accordance with operations performed by the developer on the security settings 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, wherein the control unit:
The application development support program is characterized by executing a screen display control step for displaying a security setting screen that displays a matrix of logic for a master page and a list of its permissions, and a setting step for setting the security of 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.
以下に、本発明に係るアプリ開発支援システム、アプリ開発支援方法、及びアプリ開発支援プログラムの実施の形態を、図面に基づいて詳細に説明する。なお、本実施形態によりこの発明が限定されるものではない。 Below, embodiments 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 accompanying drawings. Note that the present invention is not limited to these embodiments.
[1.概要]
本発明のアプリ開発支援システムは、ノーコード系/ローコード系、その他を問わず、少なくともアプリケーションの画面レイアウト・イベント・処理フロー及びセキュリティ設定の範囲をGUI操作の定義のみでプログラムソースのコーディングを行わなくてもアプリケーションを開発可能なシステムである。
[1. Overview]
The application development support system of the present invention is a system that allows applications to be developed without coding the program source, regardless of whether it is a no-code system, low-code system, or other system, by defining at least the application's screen layout, events, processing flow, and security settings through GUI operations alone.
ここで、「ノーコード系」とは、ノーコード、コーディングレス、ノンコーディング等をいい、アプリケーション開発者がプログラムのソースコードを一切作成・修正することなくGUI操作等で既存機能・部品等の配置・組合せにより、簡易・定型的なアプリケーションを作成できる仕組みをいう。「ローコード系」とは、ローコード等をいい、基本的にはノーコードと同様であるが、アプリケーションの柔軟性に欠けるため、必要に応じて部分的にプログラムのコーディングや外部APIの利用等を行い、柔軟なカスタマイズまで可能とする仕組みをいう。また、アプリケーション開発支援を行う機能群全般を「基盤、プラットフォーム、又は開発ツール」といい、ここでは、「基盤」の用語を使用する。 Here, "no-code" refers to no-code, coding-less, non-coding, etc., and refers to a system that allows application developers to create simple, standard applications by arranging and combining existing functions and components using GUI operations, etc., without creating or modifying any program source code. "Low-code" refers to low-code, etc., and refers to a system that is basically the same as no-code, but because applications lack flexibility, allows for flexible customization by partially coding the program or using external APIs as needed. Furthermore, the general group of functions that support application development is referred to as a "platform, infrastructure, or development tool," and the term "infrastructure" 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 allow applications to be developed using GUI operation definitions.
例えば、企業がERPシステム等の情報システムに求めるセキュリティ要件の重要性は、近年ますます高まっている。例えば、監査における統制要件では、情報システム内でユーザの権限を適切に管理されているかどうかがチェックの対象となる。また、マイナンバーの管理においては、閲覧/編集などの権限を持つユーザを適切に管理することが法的にも必要とされる。企業が適切に情報を管理し業務を行うためにも、ERPシステム等の情報システムには、ユーザ毎にセキュリティをチェックし、適切なユーザのみが情報にアクセス、編集できるような仕組みが求められる。 For example, the security requirements that companies require of information systems such as ERP systems have become increasingly important in recent years. For example, control requirements in audits include checking whether user privileges are being properly managed within the information system. Furthermore, when it comes to managing My Number, it is also a legal requirement to properly manage users with viewing/editing privileges. In order for companies to properly manage information and carry out their business, 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, because information systems are closely linked to a company's business operations, the cost of updating a system once it has been completed is too high.
こういった問題の一つの解決策として、ローコード基盤(ツール)を用いて、コストを抑えてシステム開発を行う手法が近年注目されている。出願人は、長年にわたり企業に求められるセキュリティ要件を満たすシステム基盤を構築しており、この強みとローコード基盤の特性を生かしてセキュリティ設定を簡易的に行えるような仕組みを考案した。 One solution to these problems has been the use of low-code platforms (tools) to reduce system development costs, a method that has gained 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 system that leverages this strength and the characteristics of low-code platforms to simplify security settings.
ローコード基盤では、ユーザがドラッグ&ドロップでボタンなどのコントロール(以下、UI)を配置し、別で用意したクリックイベント等(以下、ロジック)をUIに割り付けていく。このため、必然的にUIとロジックがそれぞれ独立した構成になっていなければならない。従来のプログラミングによるシステム開発では、UIとロジックが一体化しており、ここを分離するというのはあまり一般的ではなかった。 With a low-code platform, users drag and drop controls such as buttons (hereafter referred to as UI) and assign separately prepared click events (hereafter referred to as logic) to the UI. This inevitably means that the UI and logic must each be configured independently. In traditional 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's consider a case where clicking the delete button (UI) executes the deletion process (logic). To ensure security, users without deletion authority must be prevented from executing the deletion process.
上述したように、従来型システムではUIとロジックの2つが独立していなかったため、セキュリティの設定も削除ボタン(UI)に依存せざるを得なかった。セキュリティ設定がUIに依存してしまうと、システムの各画面のUI毎にセキュリティの設定が必要となり、システムが大規模化すると、セキュリティ設定やそれに伴うテストにも大きなコストがかかる。具体的には、削除ボタンの例で言えば、部門マスタメンテ、事業所マスタメンテの削除ボタンそれぞれ(画面毎)にセキュリティ設定が必要となる。 As mentioned above, in conventional systems, the UI and logic were not independent, so security settings also had to depend on the delete button (UI). If security settings depended on the UI, security settings would need to be configured for each UI on each screen in the system, and as the system became larger, security settings and the associated testing would incur significant costs. Specifically, in the case of the delete button, security settings would need to be configured 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 system changes, only highly skilled personnel are able to make system changes. As a result, there is the problem that it becomes difficult to continuously improve the system after it has been built (the system is prone to becoming rigid). This increased complexity in system settings is also cited as one of the causes of the aforementioned "2025 Cliff" problem.
本発明では、ローコード基盤によってUIとロジックが分離している状態が実現したことで、ロジックに対してセキュリティをかけることが可能になった。これにより、先ほどの削除ボタンと削除処理の関係でいえば、削除処理だけにセキュリティをかけられるようになった。 In this invention, the separation of UI and logic achieved through the low-code platform makes it possible to apply security to the logic. This means that, in the case of the relationship between the delete button and the deletion process mentioned earlier, security can now be applied only to the deletion process.
このUIとロジックの分離と、マスタページからのロジック継承の仕組みを組み合わせることで、ローコード基盤を使って開発を行う際に、セキュリティを極力意識せずにシステム構築を行うことができるようになった。なお、ローコード基盤で作成されるシステム(アプリケーション)のことを、本明細書では、説明上、「実行環境」と呼称する。 By combining this separation of UI and logic with a mechanism for inheriting logic from a master page, it is now possible to build systems using a low-code platform without worrying too much about security. For the purposes of explanation, this specification refers to systems (applications) created using a low-code platform as the "execution environment."
より具体的には、本発明では、以下のことを実現する。従来型のシステムでは、個々のジョブをプログラミングにより開発する手法が一般的であった。そのため、システム全体でセキュリティ設定が正しく行われているかどうかを確認するには、一つ一つのジョブに対して設定の漏れやミスがないかを確認する必要があった。 More specifically, this invention achieves the following: In conventional systems, it was common to develop individual jobs through programming. Therefore, to check whether security settings were configured correctly across the entire system, it was necessary to check each and every job for any omissions or mistakes in the 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 correctly configured across the entire system, it was common to conduct 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 obsolete.
ローコード開発基盤では、ユーザが使用する通常のジョブとは異なり、複数のジョブで共通して使用するような処理を集約したマスタページが存在する。マスタページでは、実行する処理の設定に加えて、実行に必要なユーザ権限のセキュリティを設定することができる。 Unlike the regular jobs used by users, the low-code development platform has master pages that aggregate processes that are commonly used across multiple jobs. In addition to setting the processes to be executed, the master page also allows you to set security for 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 appropriately determine and manage the type of permission control that will be 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 a network 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 developer user terminal 300, and provides a configuration screen (e.g., a web page) for generating business application definition data (including logic information and security information). The definition data is the source data for business applications and is also referred to as "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... are operated, for example, using a browser on a settings screen provided by the application development support system 100.
業務支援システム200は、アプリ開発支援システム100のデータベースから業務用アプリの定義データを取得して、取得した定義データをデータ変換して業務用アプリ206aを生成する。業務支援システム200は、生成した業務用アプリ206aを実行し、業務ユーザ端末400・・・に業務実行画面(例えば、Webページ)を提供する。以下の説明では、アプリ開発支援システム100で作成した定義データに基づく業務用アプリを実行する業務支援システム200を単に「実行環境」と称する場合がある。 The business support system 200 acquires business application definition data from the database of the application development support system 100, converts the acquired definition data, and generates a business application 206a. The business support system 200 executes the generated business application 206a and provides a business execution screen (e.g., a web page) to the business user terminal 400... In the following description, the business support system 200, which 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 referred to as "users") who are responsible for business operations to access the business 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 the business 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 a control unit 102, a communication interface unit 104, a memory 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 that they can communicate with each other via any communication path.
通信インターフェース部104は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、アプリ開発支援システム100をネットワーク500に通信可能に接続する。通信インターフェース部104は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク500は、アプリ開発支援システム100と、開発ユーザ端末300・・・、業務支援システム200、サーバ600等とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。 The communication interface unit 104 communicatively connects the application development support system 100 to the network 500 via a communication device such as a router and a wired or wireless communication line such as a dedicated line. The communication interface unit 104 has the function of communicating data with other devices via the communication line. Here, the network 500 has the function of communicatively connecting the application development support system 100 with the development user terminal 300, the business support system 200, the server 600, etc., 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 functions as a pointing device in conjunction with a mouse. Note that, below, 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. Furthermore, operations performed by a user using the input device 112 on the screen of the output device (monitor) 114 may be simply referred to as "user operations."
記憶部106には、各種のデータベース、テーブル、およびファイルなどが格納される。記憶部106には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部206として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。 The storage unit 106 stores various databases, tables, files, and the like. The storage unit 106 stores computer programs that work in conjunction with the OS (Operating System) to issue commands to the CPU (Central Processing Unit) to perform various processes. The storage unit 206 can be, for example, a memory device such as RAM (Random Access Memory) or ROM (Read Only Memory), a fixed disk device such as a hard disk, a flexible disk, or an optical disk.
記憶部106は、データベース106aと、セキュリティ設定可能マスタ106bと、を備えている。 The storage unit 106 includes a database 106a and a security configurable master 106b.
データベース106aは、業務用アプリの定義データ(ロジック情報、セキュリティ情報等)等のデータを格納するためのものである。データベース106aは外部に設けられていてもよく、例えば、サーバ600に設けられていてもよい。 Database 106a is used to store data such as business application definition data (logic information, security information, etc.). Database 106a may be provided externally, for example, on server 600.
セキュリティ設定可能マスタ106bは、コントロール、アクション、セキュリティ設定可能か否かを示す設定可否フラグを関連づけて登録したテーブル等で構成することができる(図20参照)。セキュリティ設定可能マスタ106bは、設定画面でコントロールのアクションについてセキュリティが設定される場合に参照される。 The security configurable master 106b can be configured as a table that associates and registers controls, actions, and configurable flags that indicate whether security can be configured (see Figure 20). The security configurable master 106b is referenced when security is configured for a control action on the settings screen.
制御部102は、アプリ開発支援システム100を統括的に制御するCPU等である。制御部102は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。制御部102は、機能概念的に、画面制御部102aと、設定部102bと、登録部102cと、検知部102dと、マスタメンテ部102eと、を備えている。 The control unit 102 is a CPU or the like that provides overall control of the application development support system 100. The control unit 102 has internal memory for storing control programs such as an OS, programs that define various processing procedures, and required data, and executes various information processes based on these stored programs. Functionally, the control unit 102 includes a screen control unit 102a, a setting unit 102b, a registration unit 102c, a detection unit 102d, and a master maintenance unit 102e.
画面制御部102aは、開発ユーザ端末300・・・からのアクセスに応じて、開発ユーザ端末300にロジック情報やロジック毎のセキュリティ情報を設定するための各種設定画面を提供する。また、画面制御部102aは、開発ユーザ端末300・・・からのアクセスに応じて、開発ユーザ端末300にマスタページについてのロジック(処理)と権限の一覧をマトリックス状に表示したセキュリティ設定画面を提供してもよい。また、画面制御部102aは、マスタページ及び当該マスタページに従属する子画面について、設定されたマスタページのセキュリティを一覧で照会(表示)してもよい。画面制御部102aは、サブフローに割り当てられたロジックを、当該サブフローを含む呼び出し元のロジック配下にツリー形式で再帰的に照会(表示)してもよい。画面制御部102aは、サブフローに割り当てられたロジックに対してセキュリティ設定画面上での開発者の操作に応じて設定されたセキュリティに連動して、当該サブフローを含む呼び出し元のロジック配下にツリー表示された対応するロジックに当該設定されたセキュリティと同一内容を照会(表示)してもよい。画面制御部102aは、開発ユーザ端末300・・・からのアクセスに応じて、開発ユーザ端末300にコントロールのアクションのセキュリティを設定するための設定画面を提供してもよい。 In response to access from the developer user terminal 300, the screen control unit 102a provides the developer user terminal 300 with various setting screens for setting logic information and security information for each logic. In response to access from the developer user terminal 300, the screen control unit 102a may also provide the developer user terminal 300 with a security setting screen that displays a matrix of master page logic (processing) and permissions. The screen control unit 102a may also query (display) a list of master page security settings for master pages and child screens subordinate to the master page. The screen control unit 102a may recursively query (display) logic assigned to a subflow in a tree format under the calling logic that includes the subflow. In conjunction with security settings set for logic assigned to a subflow in response to developer operations on the security setting screen, the screen control unit 102a may query (display) the same security settings for the corresponding logic displayed in a tree format under the calling logic that includes the subflow. In response to access from a developer user terminal 300, the screen control unit 102a may provide the developer user terminal 300 with a settings screen for setting the security of control actions.
設定部102bは、設定画面上での開発ユーザ端末300の開発者の操作に応じて、マスタページ(親画面)と当該マスタページに従属する子画面のロジック情報及びロジック毎のセキュリティ情報を設定し、その際、マスタページで設定されたロジック情報及びセキュリティ情報を子画面で継承させる。子画面では、マスタページで設定されたセキュリティの変更が不可に構成されていてもよい。設定部102bは、ロジック情報に含まれる処理フローから別のロジック情報を呼び出すためのサブフローに割り当てられたロジック情報に対してセキュリティ情報を設定し、当該サブフローに割り当てられたロジック情報に設定されたセキュリティ情報を、当該サブフローを含む呼び出し元のロジック情報に継承させることにしてもよい。設定部102bは、上述のセキュリティ設定画面上での開発ユーザ端末300の開発者の操作に応じて、マスタページの各ロジックのセキュリティ情報を設定してもよい。設定部102bは、ロジックに含まれる処理フローから別のロジックを呼び出すためのサブフローに割り当てられたロジック情報がある場合、セキュリティ画面上での開発ユーザ端末300の開発者の操作に応じて、当該サブフローに割り当てられたロジック情報を一覧で設定してもよい。 The setting unit 102b sets logic information and security information for each logic for a master page (parent screen) and child screens subordinate to the master page in response to operations on the setting screen by the developer of the developer user terminal 300, and at that time, the child screens inherit the logic information and security information set on the master page. Child screens may be configured so that security set on the master page cannot be changed. The setting unit 102b may set security information for logic information assigned to a subflow that calls other logic information from a processing flow included in the logic information, and may cause the security information set for the logic information assigned to the subflow to be inherited by the calling logic information, including the subflow. The setting unit 102b may set security information for each logic on the master page in response to operations on the security setting screen by the developer of the developer user terminal 300. If there is logic information assigned to a subflow that calls other logic from a processing flow included in the logic, the setting unit 102b may set a list of the logic information assigned to the subflow in response to operations on the security screen by the developer of the developer user terminal 300.
なお、業務支援システム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 permissions 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 specified data format and registers it in the database 106a as business application definition data.
検知部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 security configurable master 106b to detect whether or not the action of the control can be set.
By referring to the security configurable master 106b, if the action flag of the control can be set, the setting is permitted, and if the action flag of the control cannot be set, an error may be notified.
マスタメンテ部102eは、セキュリティ設定可能マスタ106bに対して、データの登録・追加・編集等を行って設定する。 The master maintenance unit 102e registers, adds, edits, and configures data in the security configurable master 106b.
[2-3.業務支援システムの構成例]
図1の業務支援システム(実行環境)200の構成について、図3を参照して説明する。図3は、図1の業務支援システム200の構成の一例を示すブロック図である。
[2-3. Example of business support system configuration]
The configuration of the business 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 the business support system 200 in Fig. 1.
業務支援システム200は、ワークステーションや市販のデスクトップ型やノート型のパーソナルコンピュータ等である。 The business 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, the business support system 200 includes a control unit 103, a communication interface unit 204, a memory unit 206, and an input/output interface unit 208. Each unit included in the business support system 200 is connected to each other so that they can communicate with each other via any communication path.
通信インターフェース部204は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、業務支援システム200をネットワーク500に通信可能に接続する。通信インターフェース部204は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク500は、業務支援システム200と、業務ユーザ端末400・・・、アプリ開発支援システム100、サーバ700等とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。 The communication interface unit 204 communicatively connects the business support system 200 to the network 500 via a communication device such as a router and a wired or wireless communication line such as a dedicated line. The communication interface unit 204 has the function of communicating data with other devices via the communication line. Here, the network 500 has the function of communicatively connecting the business support system 200 with the business user terminal 400, the application development support system 100, the server 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 functions as a pointing device in conjunction with a mouse. Note that, below, 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. Furthermore, operations performed by a user using the input device 212 on the screen of the output device (monitor) 214 may be referred to simply as "user operations."
記憶部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 stores computer programs that work in conjunction with the OS (Operating System) to issue commands to the CPU (Central Processing Unit) to perform various processes. The storage unit 206 can be, for example, a memory device such as RAM (Random Access Memory) or ROM (Read Only Memory), a fixed disk device such as a hard disk, a flexible disk, or an optical disk.
記憶部206は、業務用アプリ206aを格納する。業務用アプリ206aは、上述したように、アプリ開発支援システム100で作成された業務用アプリの定義データをデータ変換したものである。 The memory unit 206 stores a business application 206a. As described above, the business application 206a is a data conversion result of the definition data of a 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 provides overall control of the application development support system 100. The control unit 202 has internal memory for storing control programs such as an OS, programs that define various processing procedures, and required data, and executes various information processes based on these stored programs. Functionally, the control unit 202 is equipped with an execution unit 202a.
実行部202aは、業務ユーザ端末400・・・からのアクセスに応じて、業務用アプリ206aを実行する。具体的には、実行部201aは、業務ユーザ端末400・・・からのアクセスに応じて、業務実行画面を提供して、業務実行画面上での業務ユーザ端末400のユーザ操作に応じて処理を行う。ユーザは、業務支援システム200にアクセスすることで、所定の業務を実行することができる。 The execution unit 202a executes the business 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. Users can execute specified tasks by accessing the business support system 200.
[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 by the control unit 102 of the application development support system 100 and the control unit 201 of the business support system 200 in this embodiment will be described. Figures 4 to 20 are diagrams for explaining a specific example of the processing by the control unit 102 of the application development support system 100 and the control unit 201 of the business support system 200 in this embodiment.
(具体例1:ローコード基盤でのマスタページと子画面の関係性と処理のアドオン方法について)
図4を参照して、ローコード基盤でのマスタページと子画面の関係性と処理のアドオン方法を説明する。アプリ開発支援システム100の設定部102bは、設定画面上での開発ユーザ端末300の開発者の操作に応じて、マスタページ(親画面)と当該マスタページに従属する子画面のロジック情報及びロジック毎のセキュリティ情報を設定し、その際、マスタページで設定されたロジック情報及びセキュリティ情報を子画面で継承させる。子画面では、マスタページから継承したロジックのロジックフロー内の一部(プレースホルダー内)の変更のみが可能となっている。
(Example 1: The relationship between master pages and child screens in a low-code platform and how to add processing)
The relationship between master pages and child screens in a low-code platform and the add-on method for processing will be described with reference to Figure 4. The setting 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 operations on the setting screen by the developer using the development user terminal 300, and then inherits the logic information and security information set in the master page to the child screen. In the child screen, only a portion of the logic flow (within the placeholder) of the logic inherited from the master page can be changed.
システムにおける各画面のテンプレートの役割を果たす画面をマスタページと呼ぶ。登録処理や、帳票の出力処理など、各画面の特性に合うマスタページを利用することで、各画面での開発コストを下げることができる。マスタページは、各子画面のテンプレート機能に相当する。マスタページ(親画面)と各画面(子画面)は、いわば親子関係になっている。マスタページ(親)側には、「プレースホルダー」と呼ばれる一つ又は複数のエリアが配置されており、子画面側は、そのエリアにのみコントロールを配置可能となっている。 A screen that acts as a template for each screen in a system is called a master page. By using a master page that suits the characteristics of each screen, such as for 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 Example 1, security settings are made using 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 explaining the relationship between master pages and child screens, and how to add 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 explanation uses the registration screen master page (a master page referenced from all registration screens) as an example.
登録画面マスタページには、登録系の画面(部門マスタメンテなど)で必要とされる新規登録、修正、削除、照会などの共通的な処理が予め設定されている。図4では、簡略化のため、削除処理のみを表示している。 The registration screen master page is pre-configured with common processes required for registration screens (such as department master maintenance), such as new registration, modification, deletion, and inquiry. For simplicity, Figure 4 shows only the deletion process.
ローコード基盤の特性により、削除ボタン(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 you configure the master page deletion process on the low-code platform, you can connect each process (hereafter referred to as "actions"), such as message display, to configure it as a flowchart (logic flow) that summarizes a series of business processes.
この中でプレースホルダーと書かれたアクションは、マスタページを継承した子画面側で具体的な処理を設定するための特殊なアクションとなる。マスタページを継承する子画面側では、マスタページにある削除処理を呼び出して利用する。 Among these, actions labeled "placeholder" are special actions used to set specific processing on child screens that inherit the master page. Child screens that inherit the master page call and use the deletion processing on the master page.
子画面上で設定できるのは、(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. There is no need to configure the flowchart itself or security settings on child screens. 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 focus solely on the add-ons for each screen process without having to worry about security. Detailed security settings will be explained in Example 3.
図4(A)において、マスタページの権限設定が子画面に継承される。マスタページ及びその子画面では、実行時、削除権限が必要となる。図4(A)に示す例では、マスタページ削除処理設定画面でフローチャートを設定する。この例では、開始、アクション「メッセージを表示し(削除処理を実行します。よろしいですか?)」、「Yes」の場合のアクション「プレースホルダー:子画面削除処理」、「No」の場合のアクション「処理終了」が設定されている。 In Figure 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 runtime. In the example shown in Figure 4(A), a flowchart is set on the master page deletion process settings screen. In this example, the start action is set to "Display a message (Perform deletion process. Are you sure?)", the action for "Yes" is set to "Placeholder: Child screen deletion process", and the action for "No" is set to "End processing".
このフローチャートは、子画面(部門マスタ削除処理設定画面や取引先マスタ削除処理設定画面)に引き継がれる。 This flowchart is carried over to child screens (department master deletion process settings screen and customer master deletion process settings screen).
(具体例2:従来型システム開発とローコード基盤での開発でのセキュリティ設定の違い)
図5及び図6を参照して、従来型システム開発とローコード基盤での開発でのセキュリティ設定の違いを説明する。
(Example 2: Differences in security settings between traditional system development and low-code development)
The differences 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 for conventional systems. For example, on registration screens A and B, security is typically assigned (permissions are set) to each of the new registration button, edit button, delete button, and inquiry button. While 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 permissions. As such, security settings for conventional systems have been a significant burden in system construction.
図6は、ローコード基盤でのセキュリティ設定を説明するための図である。ローコード基盤でのセキュリティ設定では、マスタページ(親画面)で各ロジックに対してセキュリティ設定を行い、マスタページ(親画面)で設定したロジックを子画面で継承させることで、各画面毎にセキュリティ設定を行う必要がなくなる。 Figure 6 is a diagram explaining security settings on a low-code platform. When setting up security 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 child screens, eliminating the need to set security settings for each screen.
すなわち、全ての子画面でマスタページの同一ロジックを使用することができる。さらに、新たに登録画面を新規追加する場合にも、同じ登録画面のマスタページを継承しさえすれば、開発者は各画面固有の処理をアドオンするだけでよいため、セキュリティを意識することなくシステムの開発が可能になる(具体例1参照)。 In other words, the same logic of the master page can be used on all child screens. Furthermore, when adding a new registration screen, as long as it inherits the same registration screen's master page, developers only need 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で詳細に説明する。 By using this mechanism, development can be carried out with security guaranteed, even if the technical levels of developers vary. 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 are 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. The setting unit 102b sets security information for each logic of the master page in response to operations by the developer on the development user terminal 300 on a security setting screen that displays a matrix of logic (processing) for the master page and a list of user permissions.
ローコード基盤では、複数の処理をフローチャートとして設定することができる(具体例1参照)。上述したように、このフローチャートで実行される処理内容に応じて、権限を持ったユーザのみが処理を実行できるようにすることが必要とされる。 With a low-code platform, multiple processes can be configured as flowcharts (see Example 1). As mentioned above, depending on the process content 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 logic (new registration logic, modification logic, deletion logic, query logic, startup logic) on the vertical axis and user permissions required to execute the logic (none, startup, new, modification, deletion, query, execution, output) on the horizontal axis. Permissions can be set by checking the boxes.
図7に示す例では、新規登録ロジックに「新規」、修正ロジックに「修正」、削除ロジックに「削除」、照会ロジックに「照会」、起動時ロジックに「起動」の権限が設定されている。 In the example shown in Figure 7, the following permissions are set: "New" for new registration logic, "Modify" for modification logic, "Delete" for deletion logic, "Query" for query logic, and "Launch" for startup logic.
このように、一覧形式で表示することで、全てのロジックに対してセキュリティを一度に設定することができ、セキュリティの付与忘れを未然に防ぐことができる。 By displaying it in a list format like this, you can set security for all logic at once, preventing you from 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では、説明の簡単のために、削除処理のみを示している。 Referring to Figure 8, an example of the registration screen master page will be explained, similar to Figure 4. The left side of Figure 8 shows an example of the flow setting screen (same as Figure 4(A)), and the right side shows an example of the security setting screen. For simplicity of explanation, Figure 8 only shows the deletion process.
図8において、マスタページで設定されたロジックはマスタページ上でのみセキュリティ設定が可能となっている。マスタページのロジックを継承した子画面側では、セキュリティ設定を変更することができない。子画面では、セキュリティ設定画面の照会のみ可能のため、セキュリティの一貫性が担保される。 In Figure 8, the logic set on the master page can only be configured for security on the master page. Security settings cannot be changed on child screens that inherit the master page's logic. Child screens can only query the security settings screen, ensuring security consistency.
図9及び図10を参照して、登録されるロジック情報を説明する。設定されたロジックはシリアライズ化されてJson形式でデータベース106aに保存される。1つの画面が1行のレコードとして登録され、その中に複数のロジックが1:Nの関係で紐づいて登録される。 The logic information to be registered will be explained with reference to Figures 9 and 10. The set logic is serialized and saved in the database 106a in Json format. One screen is registered as a single row of record, within which multiple pieces of logic are linked in a 1:N relationship and registered.
ロジック情報の中で、太字で示した部分がセキュリティに関連する情報となる。セキュリティ種別マスタの種別情報がJsonに埋め込まれ、実行環境側でこの情報を元にセキュリティ制御を行う。 Among the logic information, the parts in bold are security-related information. The type information in 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 list in Figure 7) registered in database 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 Figure 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." Figure 9 also 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 "Launch", security type "1" has the security name "New Addition", 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 allows for easy security configuration.
マスタページのロジック内でセットされたプレースホルダーアクション(具体例1参照)は、子画面上で具体的なロジックとして再定義できる。 Placeholder actions set within the master page logic (see example 1) can be redefined as specific logic on child screens.
図11は、データベース106aに登録される情報の例を説明するための図であり、左側がフロー設定画面の例、右側がデータベースに登録される情報(Json形式)の例を示している。フロー設定画面は、図4(A)と同様である。図11では、説明の簡単のために、削除処理のみを示している。 Figure 11 is a diagram illustrating an example of information registered in database 106a. The left side shows an example of the flow setting screen, and the right side shows an example of information (Json format) registered in the database. The flow setting screen is the same as Figure 4 (A). For simplicity of explanation, Figure 11 only shows the deletion process.
(具体例3-2:ローコード基盤におけるセキュリティ設定方法(サブフロー使用時))
図12及び図13を参照して、ローコード基盤における、サブフロー使用時のセキュリティ設定方法を説明する。設定部102bは、ロジック情報に含まれる処理フローから別のロジック情報を呼び出すためのサブフローに割り当てられたロジック情報に対してセキュリティ情報を設定し、当該サブフローに割り当てられたロジック情報に設定されたセキュリティ情報を、当該サブフローを含む呼び出し元のロジック情報に継承させる。
(Example 3-2: How to configure security on a low-code platform (when using subflows))
12 and 13, a security setting method when using a subflow in a low-code platform will be described. The setting 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 for the logic information assigned to the subflow to be inherited by the calling logic information including the subflow.
設定部102bは、ロジックに含まれる処理フローから別のロジックを呼び出すためのサブフローに割り当てられたロジック情報がある場合、セキュリティ設定画面上での開発者の操作に応じて、当該サブフローに割り当てられたロジック情報を一覧で設定してもよい。 If there is logic information assigned to a subflow for calling another logic from a processing flow included in the logic, the setting unit 102b may set a list of the logic information assigned to the subflow in response to the developer's operation on the security settings screen.
画面制御部102aは、サブフローに割り当てられたロジックを、当該サブフローを含む呼び出し元のロジック配下にツリー形式で再帰的に照会(表示)してもよい。 The screen 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は、サブフローに割り当てられたロジックに対して、セキュリティ設定画面上での開発者の操作に応じて設定されたセキュリティに連動して、当該サブフローを含む呼び出し元のロジック配下にツリー表示された対応するロジックに当該設定されたセキュリティと同一内容を照会(表示)してもよい。 The screen control unit 102a may, in conjunction with the security set for logic assigned to a subflow in response to a developer's operations on the security settings screen, inquire about (display) the same security content as that set for the corresponding logic displayed in a tree view under the calling logic that includes the subflow.
ロジックの設定フロー(具体例1参照)の中で使用できるアクションの中にはサブフロー呼出アクションという、別のフローチャート自体を呼び出すことができる機能が存在する。これにより、共通部分となるロジックを複数のロジック間で共有することができる。ロジック内でこのサブフローが使用されている場合、セキュリティの設定方法(具体例3参照)が少し変化する。 Among the actions that can be used within a logic configuration flow (see example 1), there is a function called a subflow call action, which allows you to call another flowchart itself. This allows common logic to be shared between multiple logics. If this subflow is used within logic, the method for setting security (see example 3) will change slightly.
図12は、ローコード基盤におけるセキュリティ設定方法(サブフロー使用時)を説明するための図である。図12に示す例では、メイン処理A1では、サブ処理Bを呼び出し、サブ処理Bでは、サブ処理Cを呼び出す。また、メイン処理A2では、サブ処理Bとサブ処理Dを呼び出す。 Figure 12 is a diagram explaining how to configure security on a low-code platform (when using subflows). In the example shown in Figure 12, main process A1 calls subprocess B, which calls subprocess C. Main process A2 also calls subprocesses 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 main process that called them (at a lower level than 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) will also be automatically changed. The example shown in Figure 13 shows what happens when 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 only be executed if the user has all the required permissions (otherwise, an error will occur during the permission check).
(具体例4:セキュリティ設定に基づく処理実行時の権限チェックフローについて)
図14~図18を参照して、セキュリティ設定に基づく処理実行時の権限チェックフローを説明する。
(Example 4: Permission check flow when executing a process based on security settings)
The flow of authority checks when executing processing based on security settings will be described with reference to FIGS.
業務支援システム200の実行部201aは、業務ユーザ端末400・・・からのアクセスに応じて、業務用アプリ206aを実行して、以下のような権限チェックを行う。 The execution unit 201a of the business support system 200 executes the business application 206a in response to access from the business user terminal 400, and performs the following authority checks.
セキュリティ設定にて登録されたセキュリティ情報を元に、実行環境ではセキュリティの制御を行う(データベース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 in database 106a).
図15に示す情報は、アプリ開発支援システム(ローコード基盤)100により設定されている情報である。図14は、業務支援システム200(実行環境)の設定状況を示す情報であり、アプリ開発支援システム100とは異なる設定情報である。 The information shown in Figure 15 is information set by the application development support system (low-code platform) 100. Figure 14 is information showing the setting status of the business support system 200 (execution environment), which is setting information different from that of the application development support system 100.
図14は、セキュリティ情報の設定例を示す図である。ユーザ権限割り当てマスタは、ユーザ毎にシステム上割り当てられた値(Guid値)と、ジョブ毎にシステム上割り当てられた値(Guid値)と、セキュリティ種別と、権限フラグ(True又はFalse)を関連づけて登録したテーブル等で構成することができる。セキュリティ種別には、セキュリティ種別マスタのデータが適用される。 Figure 14 shows an example of security information settings. The user authority assignment master can be configured as a table that associates and registers values (Guid values) assigned by the system for each user, values (Guid values) assigned by the system for each job, security types, and permission flags (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 the screen ID, screen name, logic data, job ID, and job name. The logic data used in each screen (e.g., department master maintenance) is saved in Json format as shown below (see specific example 3). Data is extracted from this and used for security checks. In the example of Figure 15, a security check is performed in the following order: master page deletion process inherited from the master page → master page modification process → ... By linking the screen created on the low-code platform with job information, it is possible to obtain the information in the user authority assignment master in Figure 14 and determine whether the operating operator (user) has the necessary authority. In other words, the user authority assignment master is referenced using the job ID of the target screen in the logic information as a key to determine whether the operating operator (user) has the necessary authority for the security type (launch, deletion, etc.).
図14及び図15に示す例では、ユーザ「1111-aaaa-aaaa-aaaa-aaaaaaaaaaaa」については、部門マスタメンテ画面のジョブ「2222-bbbb-bbbb-bbbb-bbbbbbbbbbbb」について、起動、新規追加、修正、照会、帳票出力の権限有り、削除の権限無しが設定されている。 In the example shown in Figures 14 and 15, user "1111-aaaa-aaaa-aaaa-aaaaaaaaaaaaa" is authorized to start, add new jobs, modify, inquire, and print reports, but not delete jobs, for job "2222-bbbb-bbbb-bbbb-bbbbbbbbbbbbbb" on the department master maintenance screen.
業務支援システム200の実行部201aにより実行される権限チェック処理を説明する。画面起動時と処理実行時の2段階に分けて権限チェックを行う。画面起動時には、以下の2種類の点からチェック処理を行い、(1)ユーザにジョブ起動権限があるかどうかのチェックと、(2)画面内のコントロールに割り付けられているロジックを実行する権限があるかどうかをチェックする。 The following describes the authority check process executed by the execution unit 201a of the business support system 200. Authority checks are performed in two stages: when the screen is launched and when the process is executed. When the screen is launched, the following two checks are performed: (1) whether the user has the authority to launch a job, and (2) whether the user has the authority to execute the logic assigned to the controls on the screen.
業務支援システム200の実行部201aは、業務用アプリ206aを実行して、例えば、以下のような処理を実行する。ここでは、部門マスタメンテ画面の起動処理の一例を説明する。図16は、部門マスタメンテ登録画面の一例を示している。同図に示す例では、部門マスタの内容が、部門「1」が部門名「営業部」、部門「2」が部門名「経理部」、部門「3」が部門名「総務部」となっており、新規ボタン、修正ボタン、削除ボタン、照会ボタンが表示される。 The execution unit 201a of the business support system 200 executes the business application 206a to perform, for example, the following processing. Here, an example of the startup processing of the department master maintenance screen will be described. Figure 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 as follows: Department "1" has the department name "Sales Department", Department "2" has the department name "Accounting Department", and Department "3" has the department name "General Affairs Department", 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 shown in Figure 17, (1) if the launch authority check determines that the user does not have the authority, the job cannot be launched and the process is terminated. (2) If the authority check determines that logic that cannot be executed is assigned to each control, it is determined whether the control in question is a button, and if so, it is hidden. By hiding the button, unauthorized users cannot recognize that they can execute deletion processing on that screen, thereby achieving even stronger security. Regarding user authority, authority checks are performed when a job is launched and when processing is executed based on the security information shown in Figure 14. In the example shown in Figure 14, the user is set to not have deletion authority for a certain job. Because launch authority exists, the job can be launched, but buttons associated with logic that requires deletion authority are launched in a hidden state.
具体的には、図17において、まず、部門マスタメンテ登録画面を起動させる(ステップS1)。通常の業務チェックによるコントロールの制御を行う(ステップS2)。例えば、業務チェックによるコントロールの制御例としては、伝票の締日を過ぎている場合、締日以前の伝票を修正できないようにボタンにロックをかける制御である。 Specifically, in Figure 17, the department master maintenance registration screen is first launched (step S1). Normal business check control is performed (step S2). For example, one example of business check control is to lock a button if the closing date for a voucher has passed, preventing modifications to vouchers made before the closing date.
ロジック情報及びセキュリティ情報を参照して、ユーザに部門マスタメンテ画面のジョブ起動権限があるかをチェックし(ステップS3)、ユーザに起動権限がない場合には(ステップS3の「No」)、ジョブを起動しないで処理を終了し(ステップS7)、権限がないというエラーを通知する。なお、図14及び図15に示す例では、ユーザ「1111-aaaa-aaaa-aaaa-aaaaaaaaaaaa」については、部門マスタメンテ画面のジョブ「2222-bbbb-bbbb-bbbb-bbbbbbbbbbbb」について、起動権限が有りに設定されている。 The logic information and security information are referenced to check whether the user has permission to start a job on the department master maintenance screen (step S3). If the user does not have permission to start a job (step S3: No), the process ends without starting the job (step S7), and an error is notified that the user does not have permission. In the example shown in Figures 14 and 15, user "1111-aaaa-aaaa-aaaa-aaaaaaaaaaaa" is set to have permission to start 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 the user has launch authority ("Yes" in step S3), the security information is referenced to check whether the user has execution authority for the master page deletion process (step S4). If the user has execution authority for the master page deletion process ("Yes" in step S4), the process proceeds to step S5. Note that in the example shown in Figures 14 and 15, the user "1111-aaaa-aaaa-aaaa-aaaaaaaaaaaa" is set to have no deletion authority 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" in step S4), it is determined whether 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" in step S8), proceed to step S5. If a button is assigned to the master page deletion process ("Yes" in 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, the authority flag for deletion is "false," so the delete button on the department master maintenance screen in Figure 16 is hidden.
このように、ボタンを非表示にすることによって、権限を持たないユーザにはその画面で削除処理が実行できることを認識できないため、強固なセキュリティを実現できる。 In this way, by hiding the button, unauthorized users will not be aware that deletion operations can be performed on that screen, providing strong security.
ステップS5では、以下、画面内のロジックを全てチェックし、ジョブを起動する(ステップS6)。 In step S5, all logic on the screen is checked and the job is launched (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 after a process is requested, the business support system 200 must check the execution permissions for the process. 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 the business support system 200, so the business support system 200 must also check the execution permissions for the process. For this reason, processes posted to the business support system 200 are checked again, ensuring 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 the business support system 200. The business support system 200 checks whether 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 the business 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 methods when using subflows)
The method of setting and determining security when using a subflow will be described with reference to the above-mentioned FIGS.
上記図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 subflow call action, which is a function that can call another flowchart itself. This allows common logic to be shared between multiple logics.
ロジック内でこのサブフローが使用されている場合、セキュリティの判定方法(具体例4参照)が少し変化するため説明する。サブフローを使用するロジックの場合、各ロジック内のサブフローに実行権限があるかどうかのチェックが必要となる。そのため、セキュリティの判定方法も以下のような制御を行う。 When this subflow is used within logic, the security assessment method (see Specific Example 4) changes slightly, so we will explain this. When logic 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 flow diagram illustrating an example of job startup control when using a subflow. In Figure 19, first, a check is made to see if the user has job startup authority (step S21). If the user does not have startup authority ("No" in step S21), the job is terminated and an error indicating lack of authority is notified (step S28).
起動権限がある場合には(ステップS21の「Yes」)、ロジックAに実行権限は存在するか否かをチェックする(ステップS22)。ロジックAに実行権限が存在する場合には(ステップS22の「Yes」)、ステップS23に移行する。ロジックAに実行権限が存在しない場合は(ステップS22の「No」)、図17と同様な処理を実行する。 If there is activation authority ("Yes" in step S21), a check is made to see if there is execution authority for Logic A (step S22). If there is execution authority for Logic A ("Yes" in step S22), proceed to step S23. If there is no execution authority for Logic A ("No" in step S22), execute the same process as in Figure 17.
ステップ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 Logic A has a subflow (step S23). If Logic A does not have a subflow (step S23: No), proceed to step S26. If Logic A has a subflow (step S23: Yes), it is checked whether execution authority exists for that subflow (step S24). If execution authority exists for that subflow (step S24: Yes), proceed to step S25. On the other hand, if execution authority does not exist for that subflow (step S24: No), it is checked whether a button has been assigned to Logic A (step S30). If no button has been assigned (step S30: No), proceed to step S25. If an assignment has been made (step S30: Yes), the button assigned to Logic A is hidden (step S31), and proceed 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 launched (step S27).
(具体例5:セキュリティの割付先コントロールの制御について)
図20を参照して、セキュリティの割付先コントロールの制御を説明する。アプリ開発支援システム100の検知部102dは、設定画面において、開発者がコントロールのアクションについてセキュリティを設定する場合に、セキュリティ設定可能マスタ106bを参照して、当該コントロールのアクションの設定が可能か否かを検知する。この場合、検知部102dは、セキュリティ設定可能マスタ106bを参照して、当該コントロールのアクションの可否フラグが設定可能である場合には、設定を許可し、当該コントロールのアクションの可否フラグが設定不可である場合には、エラーを通知することにしてもよい。
(Example 5: Controlling security assignment destinations)
Control of security allocation controls will be described with reference to Figure 20. When a developer sets security for a control action on a setting screen, the detection unit 102d of the application development support system 100 references the security configurable master 106b to detect whether the action of the control can be set. In this case, the detection unit 102d may refer to the security configurable master 106b and, if the permission flag for the action of the control is configurable, permit the setting, but, if the permission flag for the action of the control is not configurable, notify an error.
図20は、セキュリティの割付先コントロールの制御を説明するための図である。マスタの削除処理や帳票の出力処理など、一般的なシステムにおいてはセキュリティ設定が付与されるようなロジックを紐づけるUIはボタンのクリックイベントが大部分であると考えられる。セキュリティの観点からすると、あらゆるコントロールに対してセキュリティ設定を付与できてしまうことは、意図せずにセキュリティホールを生み出してしまう可能性があり好ましくない。 Figure 20 is a diagram 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.
特にローコード基盤においては、システム構築時のセキュリティに知見のない開発者が設定を行う場合がある。極端な例では、そういった専門知識のない開発者が、ラジオボタンのチェック処理に削除処理を割り付けてしまう、などの異常な設定を行う事も考えられることから、セキュリティの割付先はローコード基盤側が極力制限する必要がある。 In particular, with low-code platforms, developers with no security knowledge may be responsible for system configuration. In extreme cases, developers without such specialized knowledge may make abnormal configurations, such as assigning a delete process to a radio button check process. Therefore, the low-code platform must limit the assignment of security as much as possible.
一方で、全てのセキュリティ付ロジックをボタンのクリックイベントのみに割り付けるような強い制限をかけてしまうと、システムの拡張性やユーザビリティを損なうことが懸念される。 On the other hand, imposing strict restrictions such as assigning all security logic to button click events alone raises concerns that this could impair the system's scalability and usability.
そこで、セキュリティ付ロジックを割り付けられるコントロールの種類を開発者がマスタに登録することにより、任意で制限することができる仕組みを考案した。これにより、複数の開発者がシステム開発を行うような大規模開発においても、各開発者が特に意識することなく、セキュリティ設定に対する一貫性をシステム全体に持たせることができる。 We therefore devised a system that allows developers to arbitrarily restrict the types of controls that can be assigned security logic 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 projects 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. For example, if an attempt is made to add security logic to a control type with restricted settings (such as 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 a security configurable master 106b. The security configurable master 106b can be configured as a table or the like that associates and registers controls, actions, and configurability flags that indicate whether or not they can be set. In the example shown in the figure, the first row has the control "button," the action "click," and the configurability flag "1 (configurable)," the second row has the control "radio button," the action "check," and the configurability flag "0 (not configurable)," and the third row has 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 settings screen shown in Figure 20 (B), the detection unit 102d will notify an error because, in the example of the security configurable master 106b, the control "radio button" has its configurability flag set to "0 (not configurable)."
また、ローコード基盤上でエラーが発生している場合には、図20(C)に示すように、実行環境への変換はできない。このため、セキュリティの堅牢性が担保される。 Furthermore, 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 is equipped with a screen control unit 102a that displays a security settings screen that displays a matrix of logic for the master page and a list of its permissions, and a settings unit 102b that sets the security of each piece of logic on the master page in accordance with operations performed by the developer on the security settings 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 contributing to the achievement of SDGs Goals 8 and 9.
また、本実施形態により、廃棄ロス削減や、ペーパレス・電子化を推進することに寄与することができるので、SDGsの目標12、13及び15に貢献することが可能となる。 Furthermore, this embodiment can contribute to reducing waste and promoting paperless and electronic systems, thereby contributing to SDGs goals 12, 13, and 15.
また、本実施形態により、統制、ガバナンス強化に寄与することができるので、SDGsの目標16に貢献することが可能となる。 Furthermore, this embodiment can contribute to strengthening control and governance, thereby contributing to Goal 16 of the SDGs.
[5.他の実施形態]
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
5. Other Embodiments
The present invention may be implemented 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 known methods.
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。 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, the components shown in the figure are functional concepts and do not necessarily have to be physically configured as shown.
例えば、アプリ開発支援システム100が備える処理機能、特に制御部102にて行われる各処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じてアプリ開発支援システム100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部106などには、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部102を構成する。 For example, all or any part of the processing functions of the application development support system 100, particularly the processing functions performed by the control unit 102, may be implemented by a CPU and a program interpreted and executed by the CPU, or may be implemented as hardware using wired logic. The program is recorded on a non-transitory, computer-readable recording medium containing 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 needed. That is, a computer program is recorded on the storage unit 106, such as a ROM or HDD (Hard Disk Drive), for working with the OS to issue commands to the CPU and perform various processes. This computer program is executed by being loaded into RAM, and works with the CPU to configure the control unit 102.
また、このコンピュータプログラムは、アプリ開発支援システム100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。 In addition, this computer program may be stored on 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-temporary computer-readable recording medium, or may be configured as a program product. Here, this "recording medium" includes memory cards, USB (Universal Serial Bus) memories, SD (Secure Digital) cards, flexible disks, magneto-optical disks, ROMs, EPROMs (Erasable Programmable Read Only Memory), EEPROMs (registered trademark) (Electrically Erasable and Programmable Read Only Memory), CD-ROMs (Compact Disk Read Only Memory), MOs (Magneto-Optical disks), DVDs (Digital Versatile Disks), and more. This includes any "portable physical media" such as a Blu-ray Disc (registered trademark) 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. It should be noted that a "program" is not necessarily limited to a single structure, but also includes a distributed structure consisting of multiple modules or libraries, or a structure that achieves its function by working in conjunction with a separate program, such as an OS. The specific structure 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 structures and procedures.
記憶部106に格納される各種のデータベース等は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。 The various databases stored in the memory 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 also be configured as an information processing device such as a known personal computer or workstation, or as an information processing device connected to any peripheral device. The application development support system 100 may also be realized by installing software (including programs, data, etc.) that causes the information processing device to perform 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 functional additions. In other words, the above-mentioned embodiments may be implemented in any combination, or embodiments may 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 Application development support system 102 Control unit 102a Screen control unit 102b Setting unit 102c Registration unit 102d Detection unit 102e Master maintenance unit 104 Communication interface unit 106 Storage unit 106a Database 106b Security configurable master 108 Input/output interface unit 112 Input device 114 Output device 200 Business support system 202 Control unit 202a Execution unit 204 Communication interface unit 206 Storage unit 206a Business application 208 Input/output interface unit 212 Input device 214 Output device 300 Development user terminal 400 Business user terminal 500 Network 600 Server 700 Server
Claims (7)
前記制御部は、
マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面表示制御手段と、
前記セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定手段と、
を備え、
前記画面表示制御手段は、前記マスタページ及び当該マスタページに従属する子画面について、設定されたマスタページのセキュリティを、一覧で照会可能に構成されていることを特徴とするアプリ開発支援システム。 An application development support system including a control unit,
The control unit
a screen display control means for displaying a security setting screen that displays a list of logic and permissions for the master page in a matrix format;
a setting means for setting security for each logic of the master page in response to an operation by a developer on the security setting screen;
Equipped with
The application development support system is characterized in that the screen display control means is configured to be able to query the set master page security in a list for the master page and child screens subordinate to the master page.
前記制御部で実行される、
マスタページについてのロジックとその権限の一覧をマトリックス状に表示したセキュリティ設定画面を表示させる画面表示制御ステップと、
前記セキュリティ設定画面上での開発者の操作に応じて、マスタページの各ロジックのセキュリティを設定する設定ステップと、
を含み、
前記画面表示制御ステップでは、前記マスタページ及び当該マスタページに従属する子画面について、設定されたマスタページのセキュリティを、一覧で照会可能に構成されていることを特徴とするアプリ開発支援方法。 An application development support method executed 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 that displays a list of logic and permissions for the master page in a matrix format;
a setting step of setting security for each logic of the master page in accordance with operations of the developer on the security setting screen;
Including,
The application development support method is characterized in that the screen display control step is configured to enable the security of the set master page to be queried in a list for the master page and 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 that displays a list of logic and permissions for the master page in a matrix format;
a setting step of setting security for each logic of the master page in accordance with operations of the developer on the security setting screen;
It is an application development support program to execute
The application development support program is characterized in that the screen display control step is configured to enable the security of the set master page to be queried in a list for the master page and child screens subordinate to the master page.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021031249 | 2021-02-26 | ||
| JP2021031249 | 2021-02-26 | ||
| JP2021175710A JP7600075B2 (en) | 2021-02-26 | 2021-10-27 | App development support system, app development support method, and app development support program |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021175710A Division JP7600075B2 (en) | 2021-02-26 | 2021-10-27 | App development support system, app development support method, and app development support program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2025026494A JP2025026494A (en) | 2025-02-21 |
| JP7787967B2 true JP7787967B2 (en) | 2025-12-17 |
Family
ID=83153268
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021175710A Active JP7600075B2 (en) | 2021-02-26 | 2021-10-27 | App development support system, app development support method, and app development support program |
| JP2024210131A Active JP7787967B2 (en) | 2021-02-26 | 2024-12-03 | App development support system, app development support method, and app development support program |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021175710A Active JP7600075B2 (en) | 2021-02-26 | 2021-10-27 | App development support system, app development support method, and app development support program |
Country Status (1)
| Country | Link |
|---|---|
| JP (2) | JP7600075B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4578295A1 (en) | 2022-08-22 | 2025-07-02 | Otsuka Pharmaceutical Factory, Inc. | Carbonated jelly beverage |
| EP4440039A1 (en) * | 2023-03-28 | 2024-10-02 | Siemens Aktiengesellschaft | Computer-implemented method for controlling security parameters of a machine in a machine system |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005346125A (en) | 2004-05-31 | 2005-12-15 | Nec Corp | Menu processing system and method, and program for menu processing |
| JP2007233635A (en) | 2006-02-28 | 2007-09-13 | Fuji Xerox Co Ltd | Information management system, information management method, and computer program |
| JP2008004109A (en) | 2007-07-30 | 2008-01-10 | Hitachi Ltd | Program generation method and apparatus |
| JP2009093453A (en) | 2007-10-10 | 2009-04-30 | Obic Business Consultants Ltd | Information processor, information processing method, and program |
| JP2013097717A (en) | 2011-11-04 | 2013-05-20 | Stnet Co Ltd | Database creation and management system |
| JP2019523927A (en) | 2016-05-29 | 2019-08-29 | ウィックス.コム リミテッド. | Website construction system and method |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101566855B1 (en) * | 2013-11-28 | 2015-11-06 | 주식회사 영림원소프트랩 | Developping method for user screen of new works in enterprise resource planning system |
-
2021
- 2021-10-27 JP JP2021175710A patent/JP7600075B2/en active Active
-
2024
- 2024-12-03 JP JP2024210131A patent/JP7787967B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005346125A (en) | 2004-05-31 | 2005-12-15 | Nec Corp | Menu processing system and method, and program for menu processing |
| JP2007233635A (en) | 2006-02-28 | 2007-09-13 | Fuji Xerox Co Ltd | Information management system, information management method, and computer program |
| JP2008004109A (en) | 2007-07-30 | 2008-01-10 | Hitachi Ltd | Program generation method and apparatus |
| JP2009093453A (en) | 2007-10-10 | 2009-04-30 | Obic Business Consultants Ltd | Information processor, information processing method, and program |
| JP2013097717A (en) | 2011-11-04 | 2013-05-20 | Stnet Co Ltd | Database creation and management system |
| JP2019523927A (en) | 2016-05-29 | 2019-08-29 | ウィックス.コム リミテッド. | Website construction system and method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022132054A (en) | 2022-09-07 |
| JP2025026494A (en) | 2025-02-21 |
| JP7600075B2 (en) | 2024-12-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7787967B2 (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 | |
| US8478850B2 (en) | Platform component architecture (PCA)-based system, method and application designer | |
| US8732668B2 (en) | System and method of error handling in a platform as a service environment | |
| JP2004280829A (en) | Customization of metadata describing object in computing environment | |
| JP2004280830A (en) | Extensible customization framework for software system | |
| US20060090130A1 (en) | System and method for styling content in a graphical user interface control | |
| JP2004280814A (en) | Customization method of processing logic in software system | |
| US20190163520A1 (en) | Management system and management method for creating service | |
| CN118511155A (en) | User-defined secure remote code execution from a code-less platform | |
| CN104217145B (en) | Limit the method that specific user accesses the predetermined portions of manufacturing execution system screen | |
| JP7557452B2 (en) | App development support system, app development support method, and app development support program | |
| JP7541965B2 (en) | App development support system, app development support method, and app development support program | |
| US9513882B2 (en) | Platform independent presentation composition | |
| JP2011186720A (en) | Information processing apparatus, processing method, and computer-readable recording medium with processing program recorded thereon | |
| JP2009020624A (en) | Management server, control method therefor, program, and recording medium | |
| JP2004272911A (en) | Customization of field in object in computing environment | |
| CN115222345A (en) | Auditing operation method and device | |
| TWI679580B (en) | System and methods for rapid deployment of containerized applications | |
| US20110191743A1 (en) | Stack macros and project extensibility for project stacking and support system | |
| CN114693275A (en) | Dynamic execution method for service system function | |
| JP7824169B2 (en) | Focus target determination device, focus target determination method, and focus target determination program | |
| JP7801982B2 (en) | Business rule setting device, business rule setting method, and business rule setting program | |
| JP2020190827A (en) | Screen creation device | |
| JP7787857B2 (en) | Rights management device, rights management method, and rights management program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241203 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20251111 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251205 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7787967 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |