JP2018101182A - Information processing device, information processing method, and information processing program - Google Patents

Information processing device, information processing method, and information processing program Download PDF

Info

Publication number
JP2018101182A
JP2018101182A JP2016245172A JP2016245172A JP2018101182A JP 2018101182 A JP2018101182 A JP 2018101182A JP 2016245172 A JP2016245172 A JP 2016245172A JP 2016245172 A JP2016245172 A JP 2016245172A JP 2018101182 A JP2018101182 A JP 2018101182A
Authority
JP
Japan
Prior art keywords
application program
program interface
processing
api
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016245172A
Other languages
Japanese (ja)
Other versions
JP6906942B2 (en
Inventor
登 蕪木
Noboru Kaburagi
登 蕪木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Interfactory Inc
Original Assignee
Interfactory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Interfactory Inc filed Critical Interfactory Inc
Priority to JP2016245172A priority Critical patent/JP6906942B2/en
Publication of JP2018101182A publication Critical patent/JP2018101182A/en
Application granted granted Critical
Publication of JP6906942B2 publication Critical patent/JP6906942B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To easily introduce an exceptional processing, in an information processing system for allowing a plurality of customers to use various business programs.SOLUTION: An information processing system comprises: means for determining whether or not description of annotation in which an application program interface name is designated is included in the process of an execution object within a standard program; means for referring to a database linking the application program interface name to a call address of the application program interface, to acquire the call address corresponding to the application program interface name designated by the annotation, when determining that the description of the annotation is included; means for transmitting a processing request to the acquired call address, to receive the processing result; and means for reflecting the received processing result in the processing result of the standard program.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and an information processing program.

各種の業務プログラムを複数の顧客に利用させる形態の情報処理システムが存在する(例えば、特許文献1等を参照)。例えば、電子商取引の仮想店舗を運営するための各種のプログラム(プログラム群)を複数の顧客が共通に利用し、それぞれの顧客が外見上は自前のシステムを運営しているように見せる形態がある。この場合、プログラムの開発側としても、大規模なシステムの開発に要する莫大な開発コストを安定して回収できるメリットがあるとともに、利用側としても、利用の度合いに応じたリーズナブルなコストでシステムを構築することができるというメリットがある。   There is an information processing system in which various business programs are used by a plurality of customers (see, for example, Patent Document 1). For example, there is a form in which a plurality of customers commonly use various programs (program groups) for operating a virtual store for electronic commerce, and each customer appears to operate their own system in appearance. . In this case, the program development side has the advantage of being able to stably recover the enormous development costs required for the development of a large-scale system, and the user side can also install the system at a reasonable cost according to the degree of use. There is an advantage that it can be constructed.

情報処理システムが提供する各種の業務プログラムは、可能な限りそのままの形で利用できるように作られるものではあるが、顧客によっては例外的な処理を望む場合も多い。例えば、商品購入者の電話番号が適切なものであるか否かをチェックするプログラム部分は、市外局番、局番、番号の数字を「−」で区切った形式が一般的であることから、数字と「−」が混在した形式でも許容するように作られるのが一般的である。しかし、顧客によっては、数字以外に「−」が含まれる場合にはエラーにしたいという場合がある。   Various business programs provided by the information processing system are created so that they can be used as they are as much as possible. However, depending on the customer, exceptional processing is often desired. For example, the program part that checks whether or not the telephone number of the product purchaser is appropriate is generally in a format where the area code, area code, and number are separated by "-". Generally, it is made so as to allow even a format in which "-" is mixed. However, some customers may want to make an error when “-” is included in addition to numbers.

従来、このような例外的な処理に対応するには、本体上のプログラムの処理を、新たに定義した処理によりオーバーライドする手法が用いられる。オーバーライドされた処理が実行される場面では、オーバーライドした処理が実際に実行される。ただし、オーバーライドの手法を利用する場合、本体のシステム内にプログラムを記述しなければならない。例えば、本体がJava(登録商標)で記述されている場合、オーバーライドする処理も本体内にJavaで記述する必要がある。   Conventionally, in order to cope with such exceptional processing, a method of overriding the processing of the program on the main body with newly defined processing is used. In the scene where the overridden process is executed, the overridden process is actually executed. However, when using the override method, the program must be written in the main system. For example, when the main body is described in Java (registered trademark), the overriding process needs to be described in Java in the main body.

特開2013−33449号公報JP 2013-33449 A

上述したように、各種の業務プログラムを複数の顧客に利用させる形態の情報処理システムにおいて、本体の標準的な業務プログラムと異なる処理を行わせる場合、処理のオーバーライドを行う必要があり、更に本体と同じプログラミング言語を用いなければならず、自由度が低いという問題があった。顧客によっては、独自に改造を行う場合もあるが、既に所有しているプログラム資産が異なるプログラミング言語によるものであったり、使い慣れたプログラミング言語が異なるものであったりする場合、容易に対応することはできない。   As described above, in an information processing system in which various business programs are used by a plurality of customers, if processing different from the standard business program of the main body is to be performed, it is necessary to perform processing override. There was a problem that the same programming language had to be used and the degree of freedom was low. Some customers may make their own modifications, but if the program assets they already own are in a different programming language or the programming language they are used to is different, it can be easily handled. Can not.

本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、各種の業務プログラムを複数の顧客に利用させる形態の情報処理システムにおいて、例外的な処理を容易に導入できるようにすることにある。   The present invention has been proposed in view of the above-described conventional problems, and an object thereof is to facilitate exceptional processing in an information processing system in which various business programs are used by a plurality of customers. It is to be able to introduce.

上記の課題を解決するため、本発明にあっては、標準プログラム中の実行対象の処理にアプリケーションプログラムインタフェース名を指定したアノテーションの記述が含まれているか否かを判断する手段と、アノテーションの記述が含まれていると判断された場合に、アプリケーションプログラムインタフェース名とアプリケーションプログラムインタフェースの呼び出しアドレスとを対応付けたデータベースを参照し、アノテーションで指定されたアプリケーションプログラムインタフェース名に対応する呼び出しアドレスを取得する手段と、取得した呼び出しアドレスに対して処理要求を送信し、処理結果を受信する手段と、受信した処理結果を前記標準プログラムの処理結果に反映する手段とを備える。   In order to solve the above problems, in the present invention, means for determining whether or not an annotation description specifying an application program interface name is included in the processing to be executed in the standard program, and the annotation description If the application program interface name is determined to be included, the database that associates the application program interface name with the call address of the application program interface is referred to, and the call address corresponding to the application program interface name specified by the annotation is obtained. Means, means for transmitting a processing request to the acquired call address, receiving the processing result, and means for reflecting the received processing result in the processing result of the standard program.

本発明にあっては、各種の業務プログラムを複数の顧客に利用させる形態の情報処理システムにおいて、例外的な処理を容易に導入することができる。   In the present invention, exceptional processing can be easily introduced in an information processing system in which various business programs are used by a plurality of customers.

本発明の一実施形態にかかるシステムの構成例を示す図である。It is a figure which shows the structural example of the system concerning one Embodiment of this invention. 標準プログラムに付加されるAPI用アノテーションの概要を示す図である。It is a figure which shows the outline | summary of the annotation for API added to a standard program. API・OUTテーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of an API * OUT table. 情報処理装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of information processing apparatus. 実施形態の処理例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows the process example of embodiment. 実施形態の処理例を示すフローチャート(その2)である。It is a flowchart (the 2) which shows the process example of embodiment. APIの呼出の例を示す図である。It is a figure which shows the example of the call of API.

以下、本発明の好適な実施形態につき説明する。   Hereinafter, preferred embodiments of the present invention will be described.

<構成>
図1は本発明の一実施形態にかかるシステムの構成例を示す図である。図1において、各種の業務プログラムを複数の顧客にテナントを割り当てて利用させる形態の情報サービスを提供する情報処理装置1は、インターネット等のネットワーク2に接続されている。また、ネットワーク2には、顧客等の管理下にある情報処理装置3や、顧客の運営する電子商取引の仮想店舗等へアクセスする一般ユーザの使用する情報処理装置(端末装置)4も接続される。
<Configuration>
FIG. 1 is a diagram showing a configuration example of a system according to an embodiment of the present invention. In FIG. 1, an information processing apparatus 1 that provides an information service in which various business programs are allocated to a plurality of customers for use by a tenant is connected to a network 2 such as the Internet. The network 2 is also connected to an information processing device 3 under the management of the customer and an information processing device (terminal device) 4 used by a general user who accesses an e-commerce virtual store operated by the customer. .

情報処理装置1には、OS(Operating System)等の基本ソフトのほか、複数の顧客の管理を行う機能を有する基本プログラム11と、EC(Electronic Commerce)ロジック等の標準プログラム(業務プログラム)12とが保持されている。基本プログラム11および標準プログラム12は、Java等のプログラミング言語で記述されており、ソースプログラムとバイナリコードとを含んでいる。標準プログラム12には、処理(function等)を単位に、例外的な処理への代替の可能性があることを示すAPI(Application Program Interface)用アノテーションが付加されている。   In addition to basic software such as an OS (Operating System), the information processing apparatus 1 includes a basic program 11 having a function of managing a plurality of customers, a standard program (business program) 12 such as EC (Electronic Commerce) logic, and the like. Is held. The basic program 11 and the standard program 12 are described in a programming language such as Java, and include a source program and a binary code. In the standard program 12, an API (Application Program Interface) annotation indicating that there is a possibility of substitution for exceptional processing in units of processing (function or the like) is added.

図2は標準プログラム12にAPI用アノテーションが付加された様子を示している。API用アノテーションの実際上の記述形式は、実装されるプログラムにより異なるが、少なくとも、API用アノテーションであることを識別する記述と、呼出先のAPI名とを含んでいる。図2において、@Customizableで囲まれている個所がAPI用アノテーションであり、その下のpublic boolean check() throws SQLExceptionが対象となる処理である。なお、API用アノテーションはソースプログラムに付加するが、そのソースプログラムをコンパイルしたバイナリコードにも、API用アノテーションが含まれることになる。   FIG. 2 shows a state where an API annotation is added to the standard program 12. The actual description format of the API annotation differs depending on the installed program, but includes at least a description for identifying the API annotation and the API name of the call destination. In FIG. 2, the part surrounded by @Customizable is an API annotation, and the process that is subject to public boolean check () throws SQLException below. Note that the API annotation is added to the source program, but the binary code obtained by compiling the source program also includes the API annotation.

図1に戻り、情報処理装置1は、基本プログラム11と標準プログラム12に基づいて本体システムを初期化し、本体システム領域14を構築する本体初期化部13を備えている。本体システム領域14には、本体システムとしての機能を実行する本体システム機能実行部141と、本体システムに固有の本体システムデータ142とが含まれる。   Returning to FIG. 1, the information processing apparatus 1 includes a main body initialization unit 13 that initializes the main body system based on the basic program 11 and the standard program 12 and constructs the main body system area 14. The main system area 14 includes a main system function execution unit 141 that executes a function as the main system, and main system data 142 unique to the main system.

また、情報処理装置1は、基本プログラム11と標準プログラム12に基づいて各テナントシステムを初期化し、テナントシステム領域16を構築するテナント初期化部15を備えている。テナントシステム領域16には、顧客の運営する電子商取引の仮想店舗等への一般ユーザまたは管理者のアクセスに応じて標準プログラム12を呼び出す処理呼出部161と、テナントシステムに固有のテナント固有データ162と、標準プログラム12のAPI用アノテーションに対応するAPI情報を保持するAPI・OUTテーブル163とが含まれる。   The information processing apparatus 1 also includes a tenant initialization unit 15 that initializes each tenant system based on the basic program 11 and the standard program 12 and constructs the tenant system area 16. The tenant system area 16 includes a processing calling unit 161 that calls the standard program 12 in response to a general user or administrator's access to a virtual store for electronic commerce operated by a customer, tenant specific data 162 unique to the tenant system, And an API / OUT table 163 that holds API information corresponding to API annotations of the standard program 12.

図3はAPI・OUTテーブル163のデータ構造例を示す図であり、「名称(NAME)」「アドレス(URL)」「アプリID(APP_ID)」とを含んでいる。「名称(NAME)」は、API名に、事前処理か事後処理かを示す「/before」「/after」が付いたものとなる。例えば、API名が「admin/member/check」である場合、事前処理を行う場合には「admin/member/check/before」となり、事後処理を行う場合、「admin/member/check/after」となる。「アドレス(URL)」は、対応するAPIの呼出先となるURL(Uniform Resource Locator)である。「アプリID(APP_ID)」は、対応するAPIを有するアプリを識別する情報である。ここに登録されるアプリは、情報処理装置1内のアプリ19でもよいし、ネットワーク接続された外部の情報処理装置3等に保持されるアプリでもよい。テナントシステムの運営者は、標準とは異なる処理を行わせたい場合、処理に付されるAPI用アノテーションに対応させて、アプリのAPI情報をAPI・OUTテーブル163に予め登録を行う。   FIG. 3 is a diagram showing an example of the data structure of the API / OUT table 163, which includes “name (NAME)”, “address (URL)”, and “application ID (APP_ID)”. “NAME” is an API name with “/ before” and “/ after” indicating pre-processing or post-processing. For example, when the API name is “admin / member / check”, it becomes “admin / member / check / before” when performing pre-processing, and “admin / member / check / after” when performing post-processing. Become. The “address (URL)” is a URL (Uniform Resource Locator) that is a call destination of the corresponding API. “Application ID (APP_ID)” is information for identifying an application having a corresponding API. The application registered here may be the application 19 in the information processing apparatus 1 or may be an application held in the external information processing apparatus 3 or the like connected to the network. If the operator of the tenant system wants to perform processing different from the standard, the API information of the application is registered in advance in the API / OUT table 163 in correspondence with the API annotation attached to the processing.

図1に戻り、情報処理装置1は、その他に、プログラム実行部17とAPI呼出部18とを備えている。プログラム実行部17は、各テナントシステム領域16の処理呼出部161からの呼出に応じて標準プログラム12を実行する。API呼出部18は、プログラム実行部17によるプログラム実行時に、API用アノテーションが付加された処理を実行する際に、API・OUTテーブル163を参照し、対応するAPI情報が登録されている場合に、該当するAPIを呼び出す機能を有している。   Returning to FIG. 1, the information processing apparatus 1 further includes a program execution unit 17 and an API calling unit 18. The program execution unit 17 executes the standard program 12 in response to a call from the process call unit 161 in each tenant system area 16. The API calling unit 18 refers to the API / OUT table 163 when executing the processing with the API annotation added when executing the program by the program executing unit 17, and when the corresponding API information is registered, It has a function to call the corresponding API.

図4は情報処理装置1、3、4のハードウェア構成例を示す図であり、一般的なコンピュータのハードウェア構成である。図4において、情報処理装置1等は、システムバス101に接続されたCPU(Central Processing Unit)102、ROM(Read Only Memory)103、RAM(Random Access Memory)104、NVRAM(Non-Volatile Random Access Memory)105を備えている。また、情報処理装置1等は、I/F(Interface)106と、I/F106に接続された、I/O(Input/Output Device)107、HDD(Hard Disk Drive)/SSD(Solid State Drive)108、NIC(Network Interface Card)109とを備えている。また、情報処理装置1等は、I/O107に接続されたモニタ110、キーボード111、マウス112等を備えている。I/O107にはCD/DVD(Compact Disk/Digital Versatile Disk)ドライブ等を接続することもできる。   FIG. 4 is a diagram illustrating a hardware configuration example of the information processing apparatuses 1, 3, and 4, and is a general computer hardware configuration. In FIG. 4, the information processing apparatus 1 or the like includes a CPU (Central Processing Unit) 102, a ROM (Read Only Memory) 103, a RAM (Random Access Memory) 104, an NVRAM (Non-Volatile Random Access Memory) connected to a system bus 101. ) 105. The information processing apparatus 1 and the like include an I / F (Interface) 106, an I / O (Input / Output Device) 107, an HDD (Hard Disk Drive) / SSD (Solid State Drive) connected to the I / F 106. 108 and NIC (Network Interface Card) 109. Further, the information processing apparatus 1 and the like include a monitor 110, a keyboard 111, a mouse 112, and the like connected to the I / O 107. A CD / DVD (Compact Disk / Digital Versatile Disk) drive or the like can be connected to the I / O 107.

図1で説明した情報処理装置1等の機能は、CPU102において所定のプログラムが実行されることで実現される。プログラムは、記録媒体を経由して取得されるものでもよいし、ネットワークを経由して取得されるものでもよいし、ROM組込でもよい。   The functions of the information processing apparatus 1 and the like described in FIG. 1 are realized by executing a predetermined program in the CPU 102. The program may be acquired via a recording medium, may be acquired via a network, or may be embedded in a ROM.

<動作>
図5および図6は上記の実施形態の処理例を示すフローチャートである。先ず、図5において、いずれかのテナントシステムの処理呼出部161により何らかの処理の呼出が行われて処理を開始すると、API呼出部18は、標準プログラム12における実行対象の処理に所定のAPI用アノテーションが付加されているか否か判断する(ステップS101)。
<Operation>
5 and 6 are flowcharts showing an example of processing of the above embodiment. First, in FIG. 5, when a process is called by the process call unit 161 of any tenant system and the process is started, the API call unit 18 adds a predetermined API annotation to the process to be executed in the standard program 12. Is determined (step S101).

ここで、実行対象の処理にAPI用アノテーションが付加されていないと判断された場合(ステップS101のNo)、プログラム実行部17は、標準プログラム12から対応する処理を実行し(ステップS102)、標準の処理結果を取得し(ステップS103)、処理結果を呼出元に返却し(ステップS104)、処理を終了する。   If it is determined that the API annotation is not added to the process to be executed (No in step S101), the program execution unit 17 executes the corresponding process from the standard program 12 (step S102). Is obtained (step S103), the process result is returned to the caller (step S104), and the process is terminated.

また、実行対象の処理にAPI用アノテーションが付加されていると判断された場合(ステップS101のYes)、API呼出部18は、API用アノテーションからアノテーション情報を解析し、API名を抽出する(ステップS105)。   If it is determined that an API annotation has been added to the process to be executed (Yes in step S101), the API calling unit 18 analyzes the annotation information from the API annotation and extracts an API name (step S101). S105).

次いで、API呼出部18は、抽出したAPI名がデータベースとしてのAPI・OUTテーブル163に事前API呼出として登録されているか否か判断する(ステップS106)。すなわち、図3に示したAPI・OUTテーブル163の「名称(NAME)」に、抽出したAPI名に「/before」を加えた文字列から始まるものが登録されているか否か判断する。   Next, the API calling unit 18 determines whether or not the extracted API name is registered as a prior API call in the API / OUT table 163 as a database (step S106). That is, it is determined whether or not a name starting with a character string obtained by adding “/ before” to the extracted API name in “NAME” of the API / OUT table 163 shown in FIG.

API名がAPI・OUTテーブル163に事前API呼出として登録されていると判断された場合(ステップS106のYes)、API呼出部18は、API・OUTテーブル163からアプリ情報、すなわちアドレス(URL)等を取得し(ステップS107)、APIを呼び出し、レスポンスを取得する(ステップS108)。   If it is determined that the API name is registered in the API / OUT table 163 as a pre-API call (Yes in step S106), the API calling unit 18 reads application information from the API / OUT table 163, that is, an address (URL) or the like. Is acquired (step S107), the API is called, and a response is acquired (step S108).

次いで、API呼出部18は、APIのレスポンスを解析し(ステップS109)、APIのレスポンスに処理結果が存在するか否か判断する(ステップS110)。   Next, the API calling unit 18 analyzes the API response (step S109), and determines whether or not a processing result exists in the API response (step S110).

APIのレスポンスに処理結果が存在すると判断された場合(ステップS110のYes)、API呼出部18は、APIから取得した処理結果を標準プログラム12の処理結果として出力し(ステップS111)、処理結果を呼出元の処理呼出部161に返却し(ステップS112)、処理を終了する。すなわち、事前処理のAPIで処理結果が得られた場合には、事前処理のAPIだけを実行して終了する。   When it is determined that the processing result exists in the API response (Yes in step S110), the API calling unit 18 outputs the processing result acquired from the API as the processing result of the standard program 12 (step S111). The process is returned to the caller process call unit 161 (step S112), and the process ends. That is, when the processing result is obtained by the pre-processing API, only the pre-processing API is executed and the process is terminated.

一方、API名がAPI・OUTテーブル163に事前API呼出として登録されていないと判断された場合(ステップS106のNo)またはAPIのレスポンスに処理結果が存在しないと判断された場合(ステップS110のNo)は、図6の処理に移行する。すなわち、プログラム実行部17は、標準プログラム12から対応する処理を実行し(ステップS113)、標準の処理結果を取得する(ステップS114)。   On the other hand, when it is determined that the API name is not registered as a pre-API call in the API / OUT table 163 (No in step S106), or when it is determined that there is no processing result in the API response (No in step S110). ) Shifts to the processing of FIG. That is, the program execution unit 17 executes a corresponding process from the standard program 12 (step S113) and acquires a standard process result (step S114).

次いで、API呼出部18は、API用アノテーションから抽出したAPI名がデータベースとしてのAPI・OUTテーブル163に事後API呼出として登録されているか否か判断する(ステップS115)。すなわち、図3に示したAPI・OUTテーブル163の「名称(NAME)」に、抽出したAPI名に「/after」を加えた文字列から始まるものが登録されているか否か判断する。   Next, the API calling unit 18 determines whether or not the API name extracted from the API annotation is registered as a post API call in the API / OUT table 163 as a database (step S115). That is, it is determined whether or not a name starting with a character string obtained by adding “/ after” to the extracted API name in “NAME” of the API / OUT table 163 shown in FIG.

API名がAPI・OUTテーブル163に事後API呼出として登録されていると判断された場合(ステップS115のYes)、API呼出部18は、API・OUTテーブル163からアプリ情報、すなわちアドレス(URL)等を取得し(ステップS116)、APIを呼び出し、レスポンスを取得する(ステップS117)。   If it is determined that the API name is registered as a post API call in the API / OUT table 163 (Yes in step S115), the API call unit 18 reads application information from the API / OUT table 163, that is, an address (URL) or the like. Is acquired (step S116), the API is called, and a response is acquired (step S117).

次いで、API呼出部18は、APIのレスポンスを解析し(ステップS118)、APIのレスポンスに処理結果が存在するか否か判断する(ステップS119)。   Next, the API calling unit 18 analyzes the API response (step S118), and determines whether or not a processing result exists in the API response (step S119).

APIのレスポンスに処理結果が存在すると判断された場合(ステップS119のYes)、API呼出部18は、APIから取得した処理結果を標準プログラム12の処理結果に上書きし(ステップS120)、処理結果を呼出元の処理呼出部161に返却し(ステップS121)、処理を終了する。   When it is determined that the processing result exists in the API response (Yes in step S119), the API calling unit 18 overwrites the processing result acquired from the API with the processing result of the standard program 12 (step S120), and the processing result is displayed. The process is returned to the caller process call unit 161 (step S121), and the process ends.

一方、API名がAPI・OUTテーブル163に事後API呼出として登録されていないと判断された場合(ステップS115のNo)またはAPIのレスポンスに処理結果が存在しないと判断された場合(ステップS119のNo)は、標準プログラム12の処理結果を呼出元に返却し(ステップS122)、処理を終了する。   On the other hand, if it is determined that the API name is not registered in the API / OUT table 163 as a post API call (No in step S115), or if it is determined that there is no processing result in the API response (No in step S119) ) Returns the processing result of the standard program 12 to the caller (step S122), and ends the processing.

図7はAPIの呼出の例を示す図であり、商品購入者の情報の登録可否をチェックする処理の例を示している。前提として、標準プログラム12による対応する処理では、電話番号について数字と「−」が混在した形式でも許容するものとしているのに対し、代替させるAPIでは数字以外に「−」が含まれる場合を許可しないものとしている。   FIG. 7 is a diagram illustrating an example of calling an API, and illustrates an example of processing for checking whether or not registration of product buyer information is possible. As a premise, the corresponding processing by the standard program 12 allows a format in which numbers and “-” are mixed for a telephone number, whereas the API to be replaced allows a case where “-” is included in addition to numbers. Not to do.

図7(a)はチェック対象となる商品購入者の情報の例を示しており、最後から3行目〜4行目の「TEL」は「090-1111-1111」となっており、「−」が含まれている。図7(b)は標準プログラム12による処理結果を示しており、「TRUE」(登録可)が返される。これに対し、図7(c)はAPI呼出による処理結果の例を示しており、メッセージとして「電話番号には−は入力できません。」とされ、チェック結果として「FALSE」(登録否)が返されている。   FIG. 7A shows an example of information of the purchaser of the product to be checked. “TEL” in the third to fourth lines from the last is “090-1111-1111”, and “− "It is included. FIG. 7B shows a processing result by the standard program 12, and “TRUE” (registration is possible) is returned. On the other hand, FIG. 7C shows an example of the processing result by the API call. The message “-cannot be entered in the telephone number” is returned, and “FALSE” (registration rejected) is returned as the check result. Has been.

このAPIによる処理は、標準プログラム12による処理よりも前に行ってもよいし、後に行ってもよい。前に行う場合には、標準プログラム12による処理は行われない。後に行う場合には、標準プログラム12による処理結果がAPIによる処理結果により上書きされる。   This API process may be performed before or after the standard program 12. If it is performed before, processing by the standard program 12 is not performed. When performing later, the processing result by the standard program 12 is overwritten by the processing result by the API.

なお、処理結果を返すAPIの例について説明したが、処理結果を返さないAPIについては、APIにより呼び出された処理の中でテナントシステムの状態等を変更することができ、対象となる処理の前または後(前と後の両方も可)に実行することで、その後の処理の挙動を修正することができる。   Although an example of an API that returns a processing result has been described, for an API that does not return a processing result, the state of the tenant system or the like can be changed in the process called by the API, and before the target process Alternatively, by executing it later (both before and after), the behavior of the subsequent processing can be corrected.

<総括>
以上説明したように、本実施形態によれば、各種の業務プログラムを複数の顧客に利用させる形態の情報処理システムにおいて、例外的な処理を容易に導入することができる。
<Summary>
As described above, according to the present embodiment, exceptional processing can be easily introduced in an information processing system in which various business programs are used by a plurality of customers.

以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。   The present invention has been described above by the preferred embodiments of the present invention. While the invention has been described with reference to specific embodiments, various modifications and changes may be made to the embodiments without departing from the broad spirit and scope of the invention as defined in the claims. Obviously you can. In other words, the present invention should not be construed as being limited by the details of the specific examples and the accompanying drawings.

1 情報処理装置
11 基本プログラム
12 標準プログラム
13 本体初期化部
14 本体システム領域
141 本体システム機能実行部
142 本体システムデータ
15 テナント初期化部
16 テナントシステム領域
161 処理呼出部
162 テナント固有データ
163 API・OUTテーブル
17 プログラム実行部
18 API呼出部
19 アプリ
2 ネットワーク
3、4 情報処理装置
DESCRIPTION OF SYMBOLS 1 Information processing apparatus 11 Basic program 12 Standard program 13 Main body initialization part 14 Main body system area 141 Main body system function execution part 142 Main body system data 15 Tenant initialization part 16 Tenant system area 161 Process call part 162 Tenant specific data 163 API / OUT Table 17 Program execution unit 18 API calling unit 19 Application 2 Network 3, 4 Information processing device

Claims (6)

標準プログラム中の実行対象の処理にアプリケーションプログラムインタフェース名を指定したアノテーションの記述が含まれているか否かを判断する手段と、
アノテーションの記述が含まれていると判断された場合に、アプリケーションプログラムインタフェース名とアプリケーションプログラムインタフェースの呼び出しアドレスとを対応付けたデータベースを参照し、アノテーションで指定されたアプリケーションプログラムインタフェース名に対応する呼び出しアドレスを取得する手段と、
取得した呼び出しアドレスに対して処理要求を送信し、処理結果を受信する手段と、
受信した処理結果を前記標準プログラムの処理結果に反映する手段と
を備えたことを特徴とする情報処理装置。
Means for determining whether or not the description of the annotation specifying the application program interface name is included in the processing to be executed in the standard program;
If it is determined that an annotation description is included, the call address corresponding to the application program interface name specified by the annotation is referenced by referring to the database that associates the application program interface name with the call address of the application program interface. Means for obtaining
Means for sending a processing request to the acquired call address and receiving the processing result;
An information processing apparatus comprising: means for reflecting the received processing result in the processing result of the standard program.
前記データベースは、前記アプリケーションプログラムインタフェースによる処理を前記標準プログラム中の実行対象の処理の前または後のいずれにおいて実行するかを区別して前記呼び出しアドレスを保持する
ことを特徴とする請求項1に記載の情報処理装置。
2. The database according to claim 1, wherein the call address is stored by distinguishing whether the process by the application program interface is executed before or after the process to be executed in the standard program. Information processing device.
前記アプリケーションプログラムインタフェースによる処理を前記標準プログラム中の実行対象の処理の前に実行した場合、
前記アプリケーションプログラムインタフェースによる処理の結果が得られた場合は、前記標準プログラム中の実行対象の処理を実行せず、前記アプリケーションプログラムインタフェースによる処理の結果を返却し、
前記アプリケーションプログラムインタフェースによる処理により結果が得られなかった場合は、前記標準プログラム中の実行対象の処理を実行する
ことを特徴とする請求項2に記載の情報処理装置。
When the process by the application program interface is executed before the process to be executed in the standard program,
When the result of the process by the application program interface is obtained, the process to be executed in the standard program is not executed, the result of the process by the application program interface is returned,
The information processing apparatus according to claim 2, wherein when a result is not obtained by the process by the application program interface, the process to be executed in the standard program is executed.
前記アプリケーションプログラムインタフェースによる処理を前記標準プログラム中の実行対象の処理の後に実行した場合、
前記アプリケーションプログラムインタフェースによる処理の結果が得られた場合は、前記標準プログラム中の実行対象の処理の結果を前記アプリケーションプログラムインタフェースによる処理の結果で上書きし、上書きされた結果を返却し、
前記アプリケーションプログラムインタフェースによる処理により結果が得られなかった場合は、前記標準プログラム中の実行対象の処理の結果を返却する
ことを特徴とする請求項2または3に記載の情報処理装置。
When the process by the application program interface is executed after the process to be executed in the standard program,
When the result of the process by the application program interface is obtained, the result of the process to be executed in the standard program is overwritten with the result of the process by the application program interface, and the overwritten result is returned.
4. The information processing apparatus according to claim 2, wherein when a result is not obtained by the process by the application program interface, the result of the process to be executed in the standard program is returned.
標準プログラム中の実行対象の処理にアプリケーションプログラムインタフェース名を指定したアノテーションの記述が含まれているか否かを判断し、
アノテーションの記述が含まれていると判断された場合に、アプリケーションプログラムインタフェース名とアプリケーションプログラムインタフェースの呼び出しアドレスとを対応付けたデータベースを参照し、アノテーションで指定されたアプリケーションプログラムインタフェース名に対応する呼び出しアドレスを取得し、
取得した呼び出しアドレスに対して処理要求を送信し、処理結果を受信し、
受信した処理結果を前記標準プログラムの処理結果に反映する、
処理をコンピュータが実行することを特徴とする情報処理方法。
Determine whether the description of the annotation specifying the application program interface name is included in the processing to be executed in the standard program,
If it is determined that an annotation description is included, the call address corresponding to the application program interface name specified by the annotation is referenced by referring to the database that associates the application program interface name with the call address of the application program interface. Get
Send a processing request to the obtained call address, receive the processing result,
Reflect the received processing result in the processing result of the standard program.
An information processing method, wherein a computer executes a process.
標準プログラム中の実行対象の処理にアプリケーションプログラムインタフェース名を指定したアノテーションの記述が含まれているか否かを判断し、
アノテーションの記述が含まれていると判断された場合に、アプリケーションプログラムインタフェース名とアプリケーションプログラムインタフェースの呼び出しアドレスとを対応付けたデータベースを参照し、アノテーションで指定されたアプリケーションプログラムインタフェース名に対応する呼び出しアドレスを取得し、
取得した呼び出しアドレスに対して処理要求を送信し、処理結果を受信し、
受信した処理結果を前記標準プログラムの処理結果に反映する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
Determine whether the description of the annotation specifying the application program interface name is included in the processing to be executed in the standard program,
If it is determined that an annotation description is included, the call address corresponding to the application program interface name specified by the annotation is referenced by referring to the database that associates the application program interface name with the call address of the application program interface. Get
Send a processing request to the obtained call address, receive the processing result,
Reflect the received processing result in the processing result of the standard program.
An information processing program for causing a computer to execute processing.
JP2016245172A 2016-12-19 2016-12-19 Information processing equipment, information processing methods and information processing programs Active JP6906942B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016245172A JP6906942B2 (en) 2016-12-19 2016-12-19 Information processing equipment, information processing methods and information processing programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016245172A JP6906942B2 (en) 2016-12-19 2016-12-19 Information processing equipment, information processing methods and information processing programs

Publications (2)

Publication Number Publication Date
JP2018101182A true JP2018101182A (en) 2018-06-28
JP6906942B2 JP6906942B2 (en) 2021-07-21

Family

ID=62714357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016245172A Active JP6906942B2 (en) 2016-12-19 2016-12-19 Information processing equipment, information processing methods and information processing programs

Country Status (1)

Country Link
JP (1) JP6906942B2 (en)

Also Published As

Publication number Publication date
JP6906942B2 (en) 2021-07-21

Similar Documents

Publication Publication Date Title
AU2020273341C1 (en) Telecommunications product defining and provisioning
WO2021184725A1 (en) User interface test method and apparatus, storage medium, and computer device
JP7097958B2 (en) Systems and methods for integrating cloud applications into cloud service broker platforms using the Automatic Universal Connector Package
JP2012213195A (en) Hover to call
CN109947408B (en) Message pushing method and device, storage medium and electronic equipment
CN108650519A (en) The method and device to release news based on block chain
US9336674B1 (en) Notifying a user utilizing smart alerting techniques
US10262155B1 (en) Disabling features using feature toggle
US8539474B2 (en) Method and system for management of interim software fixes
US10630399B2 (en) Testing distributed applications that have an established exchange in an advanced message queuing protocol (AMQP) message broker
US9026612B2 (en) Generating a custom parameter rule based on a comparison of a run-time value to a request URL
US20140319206A1 (en) Accessing transaction documents
US10721331B2 (en) Using an integration service to facilitate interactions between software systems
CN110244963B (en) Data updating method and device and terminal equipment
US20150113376A1 (en) Document revision via social media
US11256501B2 (en) Federated extensibility workbench
JP6906942B2 (en) Information processing equipment, information processing methods and information processing programs
TW201905669A (en) APP application display interface method, device and electronic device
US11093292B2 (en) Identifying recurring actions in a hybrid integration platform to control resource usage
CN112583891A (en) Interface document acquisition method and device and server
US20150310449A1 (en) Management system and control method
CN112261072A (en) Service calling method, device, equipment and storage medium
JP5728138B1 (en) Mail transmitting apparatus, mail transmitting method, recording medium, and program
CN114301893B (en) Log management method, system and readable storage medium
US20230067891A1 (en) Service virtualization platform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210323

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210630

R150 Certificate of patent or registration of utility model

Ref document number: 6906942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150