Financial system
The financial system employs MSA to manage workload and maintain data integrity by segregating functions within and outside transactions, enhancing scalability and maintainability.
Patent Information
- Application Number
- JP2023113361
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-10
- Publication Date
- 2025-01-23
AI Technical Summary
Traditional financial systems implemented in monolithic architectures face challenges in managing workload increases when changing, extracting, or adding functions, as it affects data integrity and transaction validity.
Implementing a financial system using Micro Service Architecture (MSA) where functions operating within the same transaction are deployed in a single execution environment, and those not operating within the same transaction are deployed in separate environments, ensuring data integrity and ease of management.
This approach reduces administrative workload, improves scalability, maintainability, and ensures data integrity while facilitating active maintenance and easy function changes or additions.
Smart Images

Figure 2025011000000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to financial systems. [Background technology]
[0002] Traditionally, financial systems have tended to be realized with monolithic architectures to ensure data integrity. For example, there are architectures that use a single database to package multiple financial functions into a single piece of software to ensure data integrity.
[0003] Prior art includes, for example, a technique in which a funds transfer system connected to settlement systems managed or owned by multiple financial institutions is connected to the Internet, and a funds transfer instruction to a specific financial institution is sent to the funds transfer system over the Internet. Also, for example, there is a technique in which the number of containers to be used for each system is specified based on the operating status of each system virtualized by containers and the processing performance per unit container specified in advance. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2003-317022 A [Patent Document 2] JP 2017-138895 A Summary of the Invention [Problem to be solved by the invention]
[0005] However, the conventional technology has a problem that it is difficult to manage the architecture of a financial system. For example, the workload required to change a specific function of the architecture is likely to increase. For example, the workload required to extract and use a specific function of the architecture is likely to increase.
[0006] In one aspect, the present invention aims to make the architecture more manageable. [Means for solving the problem]
[0007] According to one embodiment, a financial system is proposed which is characterized by having a first execution environment in which two or more functions related to the transfer of funds, among a plurality of financial functions, are deployed which operate within the same transaction, and a second execution environment different from the first execution environment in which functions, among the plurality of functions, which do not operate within the same transaction as other functions, are deployed. Effect of the Invention
[0008] According to one aspect, the architecture is facilitated to be more manageable. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating an example of a financial system according to an embodiment. [Diagram 2] FIG. 2 is an explanatory diagram showing an example of a bank accounting system 200. [Diagram 3] FIG. 3 is a block diagram showing an example of the hardware configuration of the management device 201. As shown in FIG. [Figure 4] FIG. 4 is a block diagram showing an example of the functional configuration of the management device 201. As shown in FIG. [Diagram 5] FIG. 5 is an explanatory diagram showing an example of the concept of MSA in the embodiment. [Figure 6] FIG. 6 is an explanatory diagram showing an example of a bank accounting system 200. [Figure 7] FIG. 7 is an explanatory diagram showing an example of the mechanism of the BFF 610. [Figure 8] FIG. 8 is an explanatory diagram showing an example of the contents of the back-end service. [Figure 9] FIG. 9 is an explanatory diagram showing an example of changing a function for each task. [Figure 10]FIG. 10 is an explanatory diagram showing an example of changing the function on a transaction basis or a service basis. [Figure 11] FIG. 11 is an explanatory diagram showing an example of changing the function of each part. [Figure 12] FIG. 12 is an explanatory diagram showing a specific example of adding a new function. [Figure 13] FIG. 13 is an explanatory diagram showing a specific example of a bank accounting system 200. [Figure 14] FIG. 14 is an explanatory diagram showing an example of a minimum unit of a function to be provided. [Figure 15] FIG. 15 is an explanatory diagram showing an example of the first pattern for linking with a partner bank system. [Figure 16] FIG. 16 is an explanatory diagram showing an example of the second pattern for linking with a partner bank system. [Figure 17] FIG. 17 is an explanatory diagram showing a specific example of modifying a portion of the functions. [Figure 18] FIG. 18 is an explanatory diagram showing a specific example of providing a foreign currency deposit function to an external party. [Figure 19] FIG. 19 is an explanatory diagram showing a specific example of providing a loan function to an external party. [Figure 20] FIG. 20 is an explanatory diagram showing an example of rules for classifying a plurality of functions. [Figure 21] FIG. 21 is an explanatory diagram (part 1) showing a specific example in which a plurality of functions are distributed among a plurality of containers. [Figure 22] FIG. 22 is an explanatory diagram (part 2) showing a specific example in which a plurality of functions are distributed among a plurality of containers. [Diagram 23] FIG. 23 is a flowchart illustrating an example of an overall processing procedure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an embodiment of a financial system according to the present invention will be described in detail with reference to the drawings.
[0011] (An Example of a Financial System According to an Embodiment) FIG. 1 is an explanatory diagram showing an example of a financial system according to an embodiment. The financial system relates to finance. For example, the financial system relates to banking accounting operations in finance. Here, there exists a banking accounting operation in which it is desired to guarantee data consistency and ensure the validity of transactions by synchronously updating data within one transaction.
[0012] For this reason, it has been considered to realize a financial system using a monolithic architecture. For example, there is an architecture that uses a single database to package multiple banking functions into a single piece of software.
[0013] However, when a financial system is realized with a monolithic architecture, there is a problem that it is difficult to manage the architecture, and for example, the workload of the administrator who manages the architecture tends to increase.
[0014] For example, there are cases where it is desired to change a specific function of an architecture. In this case, the administrator must extract the part of the architecture related to the specific function and modify the architecture so that no problems occur in other functions. For this reason, the workload of the administrator when changing a specific function is likely to increase.
[0015] In addition, for example, there are cases where it is desired to extract a specific function from the architecture and provide it to another system. In this case, the administrator will extract the part of the architecture related to the specific function and modify the architecture so that it can be provided to the other system. For this reason, the workload of the administrator is likely to increase when changing a specific function.
[0016] Also, for example, there are cases where it is desired to add a new function to the architecture. In this case, the administrator will add the new function to the architecture so as not to cause a malfunction in the existing functions. For this reason, the workload of the administrator is likely to increase when adding a new function to the architecture. Also, for example, when the processing of a specific function in the architecture fails, the processing of other functions may be affected.
[0017] In response to this, a possible approach would be to realize a financial system using MSA (Micro Service Architecture) to make the architecture easier to manage. MSA is an architecture in which processing and databases are divided into APIs (Application Programming Interfaces) for each function and deployed in individual containers.
[0018] This technique can, for example, improve the scalability or availability of a financial system.This technique can, for example, improve the maintainability of a financial system.This technique can, for example, make it easier to achieve active maintenance of a financial system.This technique can, for example, reduce the workload on an administrator when changing the functions of a financial system or adding new functions to a financial system.
[0019] On the other hand, this method has the problem that it is difficult to guarantee data consistency and the validity of transactions. For example, a developer who designs an MSA must design it to synchronize different functions deployed in different containers. Therefore, when implementing a financial system using an MSA, the workload on the developer tends to increase.
[0020] In this embodiment, therefore, we will explain how to form the architecture of a financial system so as to make it easier to manage. According to this embodiment, for example, it is possible to make the architecture of a financial system easier to manage while guaranteeing the consistency of data and ensuring the legitimacy of transactions.
[0021] In FIG. 1, there is a financial system 100. The financial system 100 includes multiple execution environments 110. The execution environments 110 are, for example, containers. The execution environments 110 may be, for example, virtual machines. In the following description, when distinguishing between the execution environments 110, they may be written as "execution environments 11i", where i is a positive integer. There are multiple functions 120 related to finance.
[0022] The multiple functions 120 include, for example, a yen ordinary savings withdrawal function 121, a foreign currency ordinary savings deposit function 122, a transaction authentication function 123, a code check function 124, a usage time check function 125, and a customer information acquisition function 126.
[0023] (1-1) Among the multiple functions 120, two or more functions 120 that operate within the same transaction regarding the transfer of funds are deployed together in a single execution environment 110 among the multiple execution environments 110. For example, it is conceivable that the yen ordinary deposit withdrawal function 121 and the foreign currency ordinary deposit deposit function 122 operate synchronously in a transaction in which foreign currency is deposited in response to withdrawal of yen. In the example of FIG. 1, specifically, the yen ordinary deposit withdrawal function 121 and the foreign currency ordinary deposit deposit function 122 are deployed together in a single execution environment 111. As a result, the financial system 100 can guarantee the consistency of data in the yen ordinary deposit withdrawal function 121 and the foreign currency ordinary deposit deposit function 122 and ensure the validity of the transaction. The financial system 100 can separate the yen ordinary deposit withdrawal function 121 and the foreign currency ordinary deposit deposit function 122 from other functions, making it easier to manage the yen ordinary deposit withdrawal function 121 and the foreign currency ordinary deposit deposit function 122.
[0024] (1-2) Of the multiple functions 120, one or more functions 120 that do not operate within the same transaction as the other functions 120 are deployed in one of the multiple execution environments 110. One of the execution environments 110 is, for example, another execution environment 110 that is different from a single execution environment 110 in which two or more functions 120 that operate within the same transaction are deployed among the multiple execution environments 110. The one or more functions 120 that do not operate within the same transaction as the other functions 120 are, for example, deployed in different execution environments 110.
[0025] In the example of FIG. 1, specifically, transaction authentication function 123 is deployed in execution environment 112. Also, in the example of FIG. 1, specifically, code check function 124 is deployed in execution environment 113. Also, in the example of FIG. 1, specifically, usage time check function 125 is deployed in execution environment 114. Also, in the example of FIG. 1, specifically, customer information acquisition function 126 is deployed in execution environment 115. This allows financial system 100 to divide one or more functions 120 that do not operate in the same transaction as other functions 120, making it easier to manage those functions 120.
[0026] In this way, the financial system 100 can be realized with an architecture that is easy for administrators to manage and developers to design, while ensuring data consistency and ensuring the validity of transactions. For example, the financial system 100 can be realized so as to improve scalability or availability. For example, the financial system 100 can be realized so as to improve maintainability. For example, the financial system 100 can be realized so as to facilitate active maintenance. For example, the financial system 100 can reduce the workload on an administrator when changing existing functions or adding new functions.
[0027] Here, a case has been described in which one or more functions 120 that do not operate within the same transaction as other functions 120 are deployed in different execution environments 110, but this is not limiting. For example, one or more functions 120 that do not operate within the same transaction as other functions 120 may be deployed in the same execution environment 110.
[0028] (An example of a bank accounting system 200) Next, an example of a bank accounting system 200 to which the financial system 100 shown in FIG. 1 is applied will be described with reference to FIG.
[0029] 2 is an explanatory diagram showing an example of a bank accounting system 200. In FIG. 2, the bank accounting system 200 includes a management device 201, a plurality of information processing devices 202, a plurality of information storage devices 203, and one or more client devices 204.
[0030] In the bank accounting system 200, the information processing device 202 and the information storage device 203 are connected via a wired or wireless network 210. The network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, etc. In the bank accounting system 200, the information processing device 202 and the client device 204 are connected via the wired or wireless network 210.
[0031] The management device 201 is a computer that controls the information processing device 202 and the information storage device 203. The management device 201 is used by, for example, an administrator who manages the bank accounting system 200. The management device 201 controls the information processing device 202 so that the information processing device 202 generates a container based on the administrator's operational input. The management device 201 deploys functions related to the bank accounting system in a container realized by any of the information processing devices 202 based on the administrator's operational input. The management device 201 controls the information storage device 203 so that the information storage device 203 generates a database used by the functions related to the bank accounting system based on the administrator's operational input. The management device 201 is, for example, a PC (Personal Computer), a tablet terminal, or a smartphone.
[0032] The information processing device 202 is a computer that realizes a container equipped with functions related to a bank accounting system. The information processing device 202 is, for example, a server or a PC. The information storage device 203 is a computer that realizes a database that stores data used in the functions related to the bank accounting system. The information storage device 203 is, for example, a server or a PC.
[0033] The client device 204 is a computer for using functions related to a bank accounting system. The client device 204 is used by a user who uses functions related to a bank accounting system. The client device 204 communicates with a container realized by any of the information processing devices 202, thereby using functions related to a bank accounting system deployed in the container. The client device 204 is, for example, a PC, a tablet terminal, or a smartphone.
[0034] Here, the case where the management device 201 is a device different from the information processing device 202 has been described, but is not limited to this. For example, the management device 201 may have the function of the information processing device 202 and realize a database. The case where the management device 201 is a device different from the information storage device 203 has been described, but is not limited to this. For example, the management device 201 may have the function of the information storage device 203 and realize a database.
[0035] In addition, the case where the information processing device 202 is a device different from the information storage device 203 has been described, but the present invention is not limited to this. For example, the information processing device 202 may have the function of the information storage device 203 and realize a database. In addition, the case where the information processing device 202 is a device different from the client device 204 has been described, but the present invention is not limited to this. For example, the information processing device 202 may have the function of the client device 204 and realize a database.
[0036] Here, the case where the management device 201 controls the information processing device 202 so that the information processing device 202 generates a container has been described, but the present invention is not limited thereto. For example, the information processing device 202 may generate a container based on an operational input by an administrator. In addition, the case where the management device 201 deploys a function related to the bank accounting system in a container realized by any of the information processing devices 202 has been described, but the present invention is not limited thereto. For example, the information processing device 202 may deploy a function related to the bank accounting system in a container realized by its own device based on an operational input by an administrator. In addition, the case where the management device 201 controls the information storage device 203 so that the information storage device 203 generates a database used by the function related to the bank accounting system, but the present invention is not limited thereto. For example, the information storage device 203 may generate a database used by the function related to the bank accounting system based on an operational input by an administrator.
[0037] (Example of Hardware Configuration of Management Device 201) Next, an example of the hardware configuration of the management device 201 will be described with reference to FIG.
[0038] Fig. 3 is a block diagram showing an example of the hardware configuration of the management device 201. In Fig. 3, the management device 201 has a CPU (Central Processing Unit) 301, a memory 302, a network I / F (Interface) 303, a recording medium I / F 304, and a recording medium 305. In addition, each component is connected to each other via a bus 300.
[0039] Here, CPU 301 is responsible for the overall control of management device 201. Memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), and a flash ROM. Specifically, for example, the flash ROM and ROM store various programs, and the RAM is used as a work area for CPU 301. The programs stored in memory 302 are loaded into CPU 301 to cause CPU 301 to execute the coded processes.
[0040] The network I / F 303 is connected to the network 210 through a communication line, and is connected to other computers via the network 210. The network I / F 303 manages an internal interface with the network 210, and controls input and output of data from other computers. The network I / F 303 is, for example, a modem or a LAN adapter.
[0041] The recording medium I / F 304 controls reading / writing data from / to the recording medium 305 under the control of the CPU 301. The recording medium I / F 304 is, for example, a disk drive, a solid state drive (SSD), a universal serial bus (USB) port, etc. The recording medium 305 is a non-volatile memory that stores data written under the control of the recording medium I / F 304. The recording medium 305 is, for example, a disk, a semiconductor memory, a USB memory, etc. The recording medium 305 may be detachable from the management device 201.
[0042] In addition to the above-mentioned components, the management device 201 may have, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, etc. Furthermore, the management device 201 may have a plurality of recording medium I / Fs 304 and recording media 305. Furthermore, the management device 201 may not have the recording medium I / Fs 304 and recording media 305.
[0043] (Example of hardware configuration of information processing device 202) Specifically, an example of the hardware configuration of the information processing device 202 is similar to the example of the hardware configuration of the management device 201 shown in FIG. 3, and therefore a description thereof will be omitted.
[0044] (Example of Hardware Configuration of Information Storage Device 203) A specific example of the hardware configuration of the information storage device 203 is similar to the example of the hardware configuration of the management device 201 shown in FIG. 3, and therefore a description thereof will be omitted.
[0045] (Example of Hardware Configuration of Client Device 204) Specifically, an example of the hardware configuration of the client device 204 is similar to the example of the hardware configuration of the management device 201 shown in FIG. 3, and therefore a description thereof will be omitted.
[0046] (Example of Functional Configuration of Management Device 201) Next, an example of the functional configuration of the management device 201 will be described with reference to FIG.
[0047] 4 is a block diagram showing an example of the functional configuration of the management device 201. The management device 201 includes a storage unit 400, an acquisition unit 401, a generation unit 402, a deployment unit 403, and an output unit 404.
[0048] The storage unit 400 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 shown in Fig. 3. In the following, a case where the storage unit 400 is included in the management device 201 will be described, but this is not limiting. For example, the storage unit 400 may be included in a device different from the management device 201, and the stored contents of the storage unit 400 may be accessible from the management device 201.
[0049] The acquiring unit 401 to the output unit 404 function as an example of a control unit. Specifically, the acquiring unit 401 to the output unit 404 realize their functions by, for example, causing the CPU 301 to execute a program stored in a storage area such as the memory 302 or the recording medium 305 shown in Fig. 3, or by the network I / F 303. The processing results of each functional unit are stored in, for example, a storage area such as the memory 302 or the recording medium 305 shown in Fig. 3.
[0050] The storage unit 400 stores various information that is referenced or updated in the processing of each functional unit. The storage unit 400 stores, for example, a plurality of functions related to a bank accounting system. The plurality of functions include, for example, transaction authentication, code check, usage time check, customer information acquisition, yen ordinary deposit withdrawal, and foreign currency ordinary deposit deposit. The storage unit 400 may store, for example, software that realizes each of the plurality of functions related to the bank accounting system. The software is acquired, for example, by the acquisition unit 401.
[0051] The acquisition unit 401 acquires various information used for processing by each functional unit. The acquisition unit 401 stores the acquired various information in the storage unit 400 or outputs it to each functional unit. The acquisition unit 401 may also output the various information stored in the storage unit 400 to each functional unit. The acquisition unit 401 acquires various information based on, for example, an operation input by an administrator. The acquisition unit 401 may receive various information from, for example, a device different from the management device 201.
[0052] The acquisition unit 401 acquires, for example, software for realizing each of a plurality of functions related to a bank accounting system. Specifically, the acquisition unit 401 acquires the software by accepting input of the software based on an operational input by an administrator. Specifically, the acquisition unit 401 may acquire the software by receiving it from another computer.
[0053] The acquiring unit 401 acquires, for example, a generation request for requesting generation of a container. The generation request includes, for example, information for designating the information processing device 202 that generates the container. Specifically, the acquiring unit 401 acquires the generation request by accepting input of the generation request based on an operation input by an administrator. Specifically, the acquiring unit 401 may acquire the generation request by receiving it from another computer.
[0054] The acquiring unit 401, for example, acquires a deployment request requesting that a function be deployed in a container. The deployment request includes, for example, information specifying a container in which to deploy the function. The deployment request includes, for example, information specifying a function to be deployed. Specifically, the acquiring unit 401 acquires the deployment request by accepting an input of the deployment request based on an operation input by an administrator. Specifically, the acquiring unit 401 may acquire the deployment request by receiving it from another computer.
[0055] The deployment request specifically requests that two or more functions that operate within the same transaction regarding the transfer of funds be deployed together in a single container. The deployment request specifically requests that one or more functions that do not operate within the same transaction regarding the transfer of funds be deployed in a container other than the container in which the two or more functions that operate within the same transaction regarding the transfer of funds are deployed.
[0056] The acquisition unit 401 may receive a start trigger for starting processing of any of the functional units. The start trigger may be, for example, a predetermined operational input by an administrator. The start trigger may be, for example, reception of predetermined information from another computer. The start trigger may be, for example, output of predetermined information by any of the functional units. The acquisition unit 401 receives, for example, the acquisition of a generation request as a start trigger for starting processing of the generation unit 402. The acquisition unit 401 receives, for example, the acquisition of a deployment request as a start trigger for starting processing of the deployment unit 403.
[0057] For example, in response to the acquisition unit 401 acquiring a generation request, the generation unit 402 controls the specified information processing device 202 to generate a container in the specified information processing device 202. Specifically, the generation unit 402 transmits a generation request requesting the specified information processing device 202 to generate a container. This allows the generation unit 402 to prepare a container in which a function is deployed. For example, the generation unit 402 can prepare one or more containers corresponding to each of a plurality of categories into which a plurality of functions are classified.
[0058] The deployment unit 403 deploys a specified function in a specified container, for example, in response to acquisition of a deployment request by the acquisition unit 401. Specifically, the deployment unit 403 transmits an execution request to the information processing device 202 that realizes the specified container, requesting that software that realizes the specified function be executed in the specified container. This allows the deployment unit 403 to collectively deploy, in a single container, two or more functions that operate within the same transaction, for example, regarding the transfer of funds.
[0059] The deployment unit 403 can deploy, for example, one or more functions that do not operate in the same transaction as other functions in a container different from a container in which two or more functions that operate in the same transaction regarding the transfer of funds are deployed. The deployment unit 403 can distribute, for example, one or more functions that do not operate in the same transaction as other functions to one or more containers according to the affinity between the functions.
[0060] The output unit 404 outputs the processing result of at least one of the functional units. The output format is, for example, display on a display, printout on a printer, transmission to an external device via the network I / F 303, or storage in a storage area such as the memory 302 or the recording medium 305. This allows the output unit 404 to notify the administrator of the processing result of at least one of the functional units.
[0061] (Example of bank accounting system 200) Next, an embodiment of the bank accounting system 200 will be described with reference to Fig. 5 to Fig. 20. First, an example of the MSA concept in the embodiment in which multiple functions related to the bank accounting system are distributed to multiple containers will be described with reference to Fig. 5, for example.
[0062] Fig. 5 is an explanatory diagram showing an example of the concept of MSA in the embodiment. In Fig. 5, there are a reception function 511, a regular withdrawal function 521, a regular deposit function 522, and an accounting journal function 531. The regular withdrawal function 521 and the regular deposit function 522 are a combination of synchronized functions and operate within the same transaction.
[0063] In the MSA, for example, a service 510 including a reception function 511 that operates without synchronization with other functions is a unit that is deployed in one container separately from other functions. The service 510 includes, for example, data 512 used by the reception function 511.
[0064] In addition, in the MSA, for example, a service 520 including a regular withdrawal function 521 and a regular deposit function 522 synchronized with the regular withdrawal function 521 is a unit to be deployed in one container separately from other functions. The service 520 includes, for example, data 523 used in the regular withdrawal function 521 and data 524 used in the regular deposit function 522.
[0065] In addition, in the MSA, for example, a service 530 including an accounting journal entry function 531 that operates without synchronization with other functions is a unit that is deployed in one container separately from other functions. The service 530 includes, for example, data 532 used in the accounting journal entry function 531.
[0066] In this way, MSA is formed by placing synchronous functions in a single container and non-synchronous functions in different containers. Therefore, MSA is an architecture that can guarantee data consistency and ensure the validity of transactions, for example. MSA is also an architecture that is easy for administrators to manage and developers to design.
[0067] MSA is an architecture that can, for example, improve scalability or availability. MSA is an architecture that can, for example, improve maintainability. MSA is an architecture that can, for example, make it easier to achieve active maintenance. MSA is an architecture that can, for example, reduce the workload on an administrator when changing existing functions or adding new functions.
[0068] Next, for example, an example of a bank accounting system 200 to which the concept of MSA shown in FIG. 5 is applied will be described with reference to FIG.
[0069] Fig. 6 is an explanatory diagram showing an example of a bank accounting system 200. In Fig. 6, a client device 204, which is a PC installed on the customer side, has a customer web 601. The customer web 601 is the web environment when the client device 204 uses the bank accounting system 200. The client device 204, which is a PC installed on the bank side, has an in-bank web 602. The in-bank web 602 is the web environment when the client device 204 uses the bank accounting system 200.
[0070] The client device 204, which is a smartphone provided on the customer side, has a smartphone web 603. The smartphone web 603 is a web environment when the client device 204 uses the bank accounting system 200. The customer web 601 and the in-bank web 602 are web environments with a larger display area than the smartphone web 603.
[0071] The bank accounting system 200 includes a BFF (Backend For Frontend) 610. The bank accounting system 200 includes a container in which an authentication service 620 including a transaction authentication function 621 is deployed, for example. The bank accounting system 200 includes a container in which a transaction restriction service 630 including an accident caution code check function 631 is deployed, for example. The bank accounting system 200 includes a container in which an operation management service 640 including a service usage time check function 641 is deployed, for example.
[0072] The bank accounting system 200 includes, for example, a container equipped with a customer information management service 650 including a customer information acquisition function 651. The bank accounting system 200 includes, for example, a container equipped with a foreign currency service 670 including a yen ordinary deposit withdrawal check function 671, a yen ordinary deposit withdrawal function 672, a foreign currency ordinary deposit deposit check function 673, and a foreign currency ordinary deposit deposit function 674. The bank accounting system 200 includes, for example, a container equipped with a daily accounting service 680 including an accounting journal entry recording API function 681. The bank accounting system 200 includes, for example, a container equipped with an email service 690 including an email sending API function 691.
[0073] The various services are also called back-end services. Functions 671 to 674 are deployed in a single container since they are a group of functions that operate and synchronize within the same transaction. The foreign currency service 670 may operate asynchronously with the daily accounting service 680. The foreign currency service 670 may operate asynchronously with the email service 690. The BFF 610 relays between various web environments and various services. The various web environments are a customer web 601, an in-bank web 602, and a smartphone web 603.
[0074] Next, an example of the mechanism of the BFF 610 will be described with reference to FIG.
[0075] Fig. 7 is an explanatory diagram showing an example of the mechanism of the BFF 610. In Fig. 7, the BFF 610 relays various web environments and various services. The BFF 610 changes how to call the backend service depending on the difference between the various web environments.
[0076] 7, the back-end services are service A 741, service B 742, service C 743, and service D 744 included in the OO business container 740 related to the business 700. The back-end services are service A 741, service C 743, and service E 751 included in the △△ business container 750 related to the business 700. The back-end services are service Y 761 and service Z 762 included in the in-bank business container 760 related to the business 700. There are databases for a table 771 common to all businesses and a table 772 for each business.
[0077] The BFF 610 has a BFF container 710 for customer web including a customer web service 711 corresponding to the customer web 601, for example. The BFF 610 has a BFF container 720 for in-line web including an in-line web service 721 corresponding to the in-line web 602, for example. The BFF 610 has a BFF container 730 for smartphone web including a smartphone web service 731 corresponding to the smartphone web 603, for example.
[0078] For example, for the customer web 601 having a relatively large display area, the BFF 610 accepts all inputs for the back-end services on one screen and calls the back-end services via the customer web service 711. For example, for the customer web 601 having a relatively large display area, the BFF 610 calls the service A 741 of the XX business container 740 via the customer web service 711.
[0079] For example, for the in-line web 602, which has a relatively large display area, the BFF 610 accepts all inputs to the back-end service on one screen and calls the back-end service via the in-line web service 721. For example, for the in-line web 602, which has a relatively large display area, the BFF 610 calls service Y 761 of the in-line business container 760 via the in-line web service 721.
[0080] For example, the BFF 610 accepts inputs for the backend service across multiple screens for the smartphone web 603 having a relatively narrow display area via the smartphone web service 731. For example, the BFF 610 holds the inputs for the backend service accepted on each screen for the smartphone web 603 having a relatively narrow display area via the smartphone web service 731. For example, the BFF 610 calls the backend service via the smartphone web service 731 in response to all inputs for the backend service being collected. For example, the BFF 610 calls the service A 741 of the XX business container 740 via the smartphone web service 731 for the smartphone web 603 having a relatively narrow display area. This allows the BFF 610 to improve the reusability and productivity of the backend service.
[0081] Next, an example of the contents of the back-end service will be described with reference to FIG.
[0082] Fig. 8 is an explanatory diagram showing an example of the contents of a back-end service. In Fig. 8, the back-end service is formed by one or more components called domains. The back-end service, for example, calls one or more domains and responds to requests from the front-end side. For example, a domain is responsible for processing that uses a database among multiple functions related to a bank accounting system.
[0083] For example, service A 741 calls domain a 801, domain b 802, and domain c 803. For example, service B 742 calls domain a 801 and domain d 804. For example, service C 743 calls domain b 802. For example, service D 744 calls domain c 803 and domain e 805.
[0084] For example, service E calls domain i 806. For example, service Y calls domain x 807 and domain y 808. For example, service Z calls domain x 807 and domain z 809. In this way, backend services can call the same domain, thereby improving the reusability and productivity of the domain.
[0085] Next, an example of changing the functions provided by the bank accounting system 200 will be described with reference to Fig. 9 to Fig. 12. Specifically, an example of changing the functions on a business unit basis in the bank accounting system 200 will be described with reference to Fig. 9.
[0086] Fig. 9 is an explanatory diagram showing an example of changing a function per business unit. In Fig. 9, a case can be considered in which a new function per business unit independent of existing functions is added to the bank accounting system 200. For example, when the bank accounting system 200 has business unit functions such as deposits, foreign exchange, and mortgages, a new function per business unit such as securities linkage or lottery linkage can be added. In this case, a container that realizes the new function per business unit is added to the bank accounting system 200.
[0087] In the example of Fig. 9, a container D904 is added to a bank accounting system 200 in which container A901, container B902, and container C903 exist. Container A901, container B902, container C903, and container D904 each operate independently. For this reason, adding container D904 to the bank accounting system 200 does not interfere with container A901, container B902, and container C903.
[0088] Next, specifically, an example of changing the function on a transaction basis or service basis in the bank accounting system 200 will be described with reference to FIG.
[0089] Fig. 10 is an explanatory diagram showing an example of changing a function on a transaction basis or a service basis. In Fig. 10, a case can be considered in which a new transaction-based function related to an existing function is added to the bank accounting system 200. For example, when a container in which a deposit business function is deployed exists in the bank accounting system 200, a new transaction-based function for structured deposits can be added to the container. In this case, a back-end service is changed or added to the container in the bank accounting system 200 in which the deposit business function is deployed.
[0090] 10, in the bank accounting system 200, in a container A1000 in which a service a1001, a service b1002, a service c1003, and a service d1004 exist, the service d1004 is replaced with a service e1005. In the container A1000, a service e1005 may be added.
[0091] Next, specifically, an example of changing the function of each component in the bank accounting system 200 will be described with reference to FIG.
[0092] Fig. 11 is an explanatory diagram showing an example of changing a function on a component basis. In Fig. 11, it is possible to change the function on a component basis in the bank accounting system 200. For example, it is possible to change some of the domains that form the back-end service. Specifically, it is possible to change some of the domains that form the back-end service to accommodate a new bank that uses the bank accounting system 200.
[0093] In the example of Figure 11, service a 1101, which includes domains 1111, 1112, and 1113 in bank accounting system 200, is changed to service a' 1102 by adding domain 1114. In this way, bank accounting system 200 can make it easy to change functions as a whole. Bank accounting system 200 can make it easy to change functions on a business basis, transaction basis, service basis, or component basis, for example. For this reason, bank accounting system 200 can have an architecture that is easy for the administrator to manage.
[0094] Next, specifically, a specific example of adding a new function to the bank accounting system 200 without interfering with the existing functions will be described with reference to FIG.
[0095] Fig. 12 is an explanatory diagram showing a specific example of adding a new function. In Fig. 12, the bank accounting system 200 includes a call source program 1210, a program A 1220, a program B 1230, an interface C 1240, and a program C 1250. The call source program 1210, the program A 1220, the program B 1230, the interface C 1240, and the program C 1250 correspond to back-end services.
[0096] Here, there are cases where the functions realized by the bank accounting system 200 are provided to Bank B via program C'1260 of Bank B's proprietary specifications instead of program C1250. In this case, in the bank accounting system 200, without deleting program C1250, interface C1240 calls program C'1260 of Bank B's proprietary specifications, thereby providing Bank B with the functions realized by the bank accounting system 200. This allows the bank accounting system 200 to suppress any decline in readability or productivity compared to a case in which program C1250 is changed to match Bank B's proprietary specifications.
[0097] Next, for example, with reference to FIG. 13, it will be explained how an administrator distributes a plurality of functions relating to a bank accounting system among a plurality of containers, and a specific example of a bank accounting system 200 will be explained.
[0098] FIG. 13 is an explanatory diagram showing a specific example of a bank accounting system 200. In FIG. 13, an administrator specifies a combination of functions to be deployed collectively in a single container from among a plurality of bank accounting functions. The functions belong to, for example, one of a plurality of categories. The categories are, for example, customer, authentication, notification, loan, foreign exchange, settlement, financial product, administration, and subsystem linkage. Functions such as transfer, outgoing exchange, incoming exchange, total payment, fixed-amount automatic transfer, relationship management, exchange settlement, MT (Magnetic Tape) exchange, new file transfer, yen fixed term deposit, foreign currency fixed term deposit, and installment fixed term deposit belong to, for example, the deposit / exchange category.
[0099] The administrator, for example, identifies a combination of functions that belong to the same category, operate within the same transaction regarding the transfer of funds, and are synchronized with each other as a combination of functions to be deployed together in a single container. In the example of Fig. 13, the administrator specifically identifies a combination of the functions of transfer, outgoing exchange, incoming exchange, total transfer, and fixed-amount automatic transfer. Specifically, the administrator identifies a combination of the functions of yen time deposit, foreign currency time deposit, and installment time deposit.
[0100] The administrator may specify a combination of functions to be deployed together in a single container, for example, a combination of functions that belong to the same category and are not synchronized with each other based on the affinity between the functions. In the example of Figure 13, the administrator specifically specifies a combination of functions such as login password, transaction authentication, and reset code.
[0101] The administrator may add, for example, a function that is not synchronized with other functions and has affinity with the identified combination of functions to the combination. The affinity means, for example, that functions are used in the same transaction. The administrator controls, for example, the information processing device 202 via the management device 201 so as to generate a single container in which the identified combination of functions is deployed. Based on the operation input of the administrator, the management device 201 transmits a generation request to the information processing device 202 requesting that a container be generated, and transmits a deployment request to the information processing device 202 requesting that the combination of functions be deployed in the container. In this way, the management device 201 generates the bank accounting system 200.
[0102] In the example of FIG. 13, the bank accounting system 200 includes an account opening container 1301. The account opening container 1301 is equipped with functions of, for example, account opening, numbering management, and introducer. The bank accounting system 200 includes a customer contract container 1302. The customer contract container 1302 is equipped with functions of, for example, balance certification contract, statement contract, account transfer, fixed amount automatic deposit, and automatic transfer. The bank accounting system 200 includes, for example, a foreign currency container 1303. The foreign currency container 1303 is equipped with functions of, for example, foreign currency savings and foreign currency limit price.
[0103] The bank accounting system 200 includes, for example, an examination container 1304. The examination container 1304 is equipped with, for example, an examination function. The bank accounting system 200 includes, for example, a fixed term deposit container 1305. The fixed term deposit container 1305 is equipped with, for example, yen fixed term deposit, foreign currency fixed term deposit, and savings fixed term deposit functions. The bank accounting system 200 includes, for example, a loan container 1306. The loan container 1306 is equipped with, for example, card loan, housing loan, and purpose loan functions.
[0104] The bank accounting system 200 includes, for example, a mail message management container 1307. The mail message management container 1307 is equipped with, for example, mail and message box functions. The bank accounting system 200 includes, for example, a CAFIS (Credit And Finance Information Switching system) / integrated ATM (Automatic Teller Machine) container 1308. The CAFIS / integrated ATM container 1308 is equipped with, for example, CAFIS, integrated ATM, and payment management functions.
[0105] The bank accounting system 200 includes, for example, an account management container 1309. The account management container 1309 is equipped with functions of account journalization and balance reconciliation. The bank accounting system 200 includes, for example, a foreign currency remittance container 1310. The foreign currency remittance container 1310 is equipped with functions of foreign currency remittance and GP (Gross Operating Profit) management. The bank accounting system 200 includes, for example, a domestic exchange container 1311. The domestic exchange container 1311 is equipped with functions of transfer, outgoing exchange, incoming exchange, total payment, fixed-amount automatic transfer, relationship management, exchange settlement, MT exchange, and new file transfer.
[0106] The bank accounting system 200 includes, for example, a debit container 1312. The debit container 1312 is equipped with, for example, contract management, debit settlement, and inter-company collaboration functions. The bank accounting system 200 includes, for example, an authentication container 1313. The authentication container 1313 is equipped with, for example, login password, transaction authentication, and reset code functions. The bank accounting system 200 includes, for example, a My Number container 1314. The My Number container 1314 is equipped with, for example, My Number functions.
[0107] The bank accounting system 200 includes, for example, an investment trust container 1315. The investment trust container 1315 is equipped with account management and settlement management functions. The bank accounting system 200 includes, for example, an event management container 1316. The event management container 1316 is equipped with, for example, an event management function. The bank accounting system 200 includes, for example, an in-house affairs container 1317. The in-house affairs container 1317 is equipped with, for example, employee authority and transaction approval functions. The bank accounting system 200 includes, for example, a crime detection container 1318. The crime detection container 1318 is equipped with, for example, fraudulent account and reverse detection functions.
[0108] The bank accounting system 200 includes, for example, an FX (Foreign Exchange) container 1319. The FX container 1319 is equipped with, for example, FX account management and foreign currency cover transaction functions. The bank accounting system 200 includes, for example, a crowdfund container 1320. The crowdfund container 1320 is equipped with, for example, fund products and supporter management functions.
[0109] The bank accounting system 200 includes, for example, a securities brokerage container 1321. The securities brokerage container 1321 is deployed with, for example, a securities brokerage function. The bank accounting system 200 includes, for example, a business outsourcing container 1322. The business outsourcing container 1322 is deployed with, for example, an outsourcing request and an outsourcing result function. The bank accounting system 200 includes, for example, a CRM (Customer Relationship Management) linkage container 1323. The CRM linkage container 1323 is deployed with, for example, an on-demand function.
[0110] The bank accounting system 200 includes, for example, an account batch container 1324. The account batch container 1324 is equipped with functions for pre- and post-centercut, forms, guarantee companies, credit information, and the Deposit Insurance Corporation. The bank accounting system 200 includes, for example, an information batch container 1325. The information batch container 1325 is equipped with functions for AML (Anti Money Laundering), position, and various data collection.
[0111] The bank accounting system 200 includes, for example, a customer database 1331, an authentication database 1332, and a preferential treatment database 1333. The bank accounting system 200 includes, for example, a current deposit database 1334, a fixed term deposit database 1335, a foreign currency deposit database 1336, and a domestic exchange database 1337. The bank accounting system 200 includes, for example, a card loan database 1338, and a housing loan database 1339. The bank accounting system 200 includes, for example, a debit database 1340.
[0112] This allows the management device 201 to form a bank accounting system 200 in which synchronized functions are arranged in a single container and unsynchronized functions are arranged in different containers. Therefore, the management device 201 can form the bank accounting system 200 such that, for example, data consistency can be guaranteed and the validity of transactions can be guaranteed. The management device 201 can form, for example, a bank accounting system 200 that is easy for an administrator to manage and easy for a developer to design.
[0113] The management device 201 can, for example, improve the scalability or availability in the bank accounting system 200. The management device 201 can, for example, improve the maintainability in the bank accounting system 200. The management device 201 can, for example, make it easier to realize active maintenance in the bank accounting system 200.
[0114] The management device 201 can reduce the workload of an administrator when, for example, changing an existing function or adding a new function to the bank accounting system 200. The management device 201 can distribute a plurality of functions to a plurality of containers based on, for example, the relationships between the functions, and therefore can form the bank accounting system 200 in such a way that some of the functions of the bank accounting system 200 can be easily extracted and provided to the outside.
[0115] Next, an example of providing some of the functions realized by the bank accounting system 200 to the outside will be described with reference to Fig. 14 to Fig. 19. First, specifically, an example of the minimum unit of the function to be provided will be described with reference to Fig. 14.
[0116] Fig. 14 is an explanatory diagram showing an example of the minimum unit of a function to be provided. In Fig. 14, the minimum unit is a combination of a back-end container in which one or more functions are deployed, a BFF container corresponding to the back-end container, and a database corresponding to the back-end container in the bank accounting system 200. The minimum unit may include, for example, a display screen to be displayed in various web environments.
[0117] 14, the minimum unit 1400 includes, for example, a customer web screen 1401, an in-line web screen 1402, and a customer smartphone screen 1403. The customer web screen 1401 is a template for a display screen. The customer smartphone screen 1403 is a template for a display screen. The minimum unit 1400 includes, for example, a customer webBFF1411, an in-line webBFF1412, and a customer smartphone webBFF1413. The customer webBFF1411, the in-line webBFF1412, and the customer smartphone webBFF1413 are BFF side containers.
[0118] The minimum unit 1400 includes, for example, a △△ container 1420. The △△ container 1420 is a back-end container. The △△ container 1420 includes, for example, a service F 1421, a service G 1422, a service H 1423, and a service I 1424. The service F 1421 includes a domain. The service H 1423 includes a domain. The minimum unit 1400 includes, for example, a common table 1430, a task-specific table O 1431, a task-specific table P 1432, and a task-specific table Q 1433.
[0119] Next, specifically, an example of the first pattern in which bank accounting system 200 cooperates with a counterpart bank system by providing some of its functions to the counterpart bank system will be described with reference to Fig. 15. The counterpart bank system is, for example, a front system 1540 and an accounting system 1550 at the counterpart bank. In the example of Fig. 15, the counterpart bank system uses some of the functions of bank accounting system 200 related to foreign currency deposits.
[0120] Fig. 15 is an explanatory diagram showing an example of a first pattern of linking with a counterpart bank system. In Fig. 15, the bank accounting system 200 provides the function of a foreign currency deposit container 1500 to the counterpart bank system. The foreign currency deposit container 1500 includes a foreign currency balance inquiry service 1510, a foreign currency purchase service 1520, and a cover transaction linkage service 1530. The foreign currency purchase service 1520 includes a foreign currency yen conversion function 1521, a yen balance inquiry function 1522, a yen withdrawal linkage function 1523, and a foreign currency purchase function 1524.
[0121] The counterparty bank's front system 1540 includes a login screen function 1541, a balance display screen function 1542, and a foreign currency purchase screen function 1543. The counterparty bank's accounting system 1550 includes a login screen function 1551, a customer balance inquiry function 1552, a yen balance inquiry function 1553, and a yen withdrawal function 1554. There is also another company 1560 that is different from the counterparty bank. The other company 1560 includes a cover transaction function 1561.
[0122] Each time a transaction is made with a counterpart bank, the bank accounting system 200 cooperates with the counterpart bank's accounting system 1550. Here, for example, the function of the counterpart bank's accounting system 1550 that communicates with the bank accounting system 200 is modified. For example, the function of the bank accounting system 200 that cooperates with the counterpart bank's accounting system 1550 is modified. This enables the bank accounting system 200 to cooperate with the counterpart bank's system.
[0123] Next, specifically, an example of the second pattern in which the bank accounting system 200 cooperates with the counterpart bank system by providing some of its functions to the counterpart bank system will be described with reference to Fig. 16. The counterpart bank system is, for example, a front system 1630 and an accounting system 1640 at the counterpart bank. In the example of Fig. 15, the counterpart bank system uses some of the functions of the bank accounting system 200 related to foreign currency deposits.
[0124] Fig. 16 is an explanatory diagram showing an example of the second pattern of cooperation with a counterpart bank system. In Fig. 16, the bank accounting system 200 provides the function of a foreign currency deposit container 1600 to the counterpart bank system. The foreign currency deposit container 1600 includes a common function 1610 and a foreign currency purchase service 1620. The foreign currency purchase service 1620 includes a foreign currency yen conversion function 1621 and a foreign currency purchase function 1622.
[0125] The counterpart bank's front system 1630 includes a login screen function 1631, a balance display screen function 1632, and a foreign currency purchase screen function 1633. The foreign currency purchase screen function 1633 includes a funds transfer function 1634 and a foreign currency purchase function 1635. The counterpart bank's accounting system 1640 includes a login screen function 1641, a customer balance inquiry function 1642, and a funds transfer function 1643. The counterpart bank's accounting system 1640 links with the funds transfer function 1611, and does not link with the foreign currency purchase service 1620.
[0126] The counterpart bank system uses bank accounting system 200 via front system 1630 at a timing different from the timing of linking with bank accounting system 200 via accounting system 1640. Of bank accounting system 200, fund transfer function 1634 operates in linkage with the counterpart bank's accounting system 1640. Of bank accounting system 200, foreign currency purchase service 1620 operates independently according to the counterpart bank's front system 1630, without linking with the counterpart bank's accounting system 1640.
[0127] Each time a transaction is made with a counterpart bank, the bank accounting system 200 cooperates with the counterpart bank's accounting system 1640. Here, for example, the function of the counterpart bank's accounting system 1640 that communicates with the bank accounting system 200 is modified. For example, the function of the bank accounting system 200 that cooperates with the counterpart bank's accounting system 1640 is modified. This enables the bank accounting system 200 to cooperate with the counterpart bank's system.
[0128] Next, specifically, with reference to FIG. 17, a specific example will be described in which some functions of the bank accounting system 200 are modified when the bank accounting system 200 provides some functions to an external party.
[0129] Fig. 17 is an explanatory diagram showing a specific example of modifying some functions. In Fig. 17, bank accounting system 200 includes service class 1700 and domain class 1730. Service class 1700 includes, for example, foreign currency purchase API function 1710 and account posting API function 1720. Foreign currency purchase API function 1710 and account posting API function 1720 run in different transactions.
[0130] The foreign currency purchase API function 1710 includes a transaction qualification acquisition function 1711, a regular deposit (¥) account withdrawal function 1712, a regular deposit ($) account deposit function 1713, and an account journal pattern setting function 1714. The account posting API function 1720 includes a journal data creation function 1721. The domain class 1730 includes a common function class 1731, a regular deposit (yen) class 1732, a regular deposit (foreign currency) class 1733, and a purpose-specific class 1734.
[0131] Before the modification, the foreign currency purchase API function 1710 of the service class 1700 calls a common function class 1731, a regular deposit (yen) class 1732, and a regular deposit (foreign currency) class 1733. Here, it is conceivable that the counterpart bank system uses the purpose-specific special class 1734 instead of the regular deposit (yen) class 1732.
[0132] In this case, the foreign currency purchase API function 1710 is modified so that a purpose-specific separate deposit withdrawal function 1715 is added to the foreign currency purchase API function 1710 of the service class 1700. After the modification, the foreign currency purchase API function 1710 of the service class 1700 calls a common function class 1731, a normal deposit (foreign currency) class 1733, and a purpose-specific separate deposit class 1734.
[0133] This allows the bank accounting system 200 to provide some of its functions to the outside without changing the domain class 1730. The bank accounting system 200 does not generate, for example, a business-specific domain class 1730 tailored to a specific bank. The bank accounting system 200 can prepare, for example, a common function class 1731, an ordinary deposit (yen) class 1732, an ordinary deposit (foreign currency) class 1733, and a purpose-specific class 1734, to which a plurality of functions are allocated in advance. This allows the administrator to relatively easily modify the bank accounting system 200 when the bank accounting system 200 provides some of its functions to the outside. The administrator can, for example, appropriately modify the bank accounting system 200 without changing the domain class 1730.
[0134] Next, specifically, a specific example in which the bank accounting system 200 provides a foreign currency deposit function to an external party will be described with reference to FIG.
[0135] Fig. 18 is an explanatory diagram showing a specific example of providing a foreign currency deposit function to an external party. In Fig. 18, when the bank accounting system 200 provides the foreign currency deposit function to an external party, specifically, it provides containers 1301, 1304, 1306, 1308, 1311, 1312, 1314-1316, 1318-1323, and 1325 to the external party. Furthermore, when the bank accounting system 200 provides the foreign currency deposit function to an external party, specifically, it uses databases 1333, 1334, and 1337-1340. This allows the bank accounting system 200 to provide the foreign currency deposit function to an external party.
[0136] Next, specifically, a specific example in which the bank accounting system 200 provides a loan function to an external party will be described with reference to FIG.
[0137] Fig. 19 is an explanatory diagram showing a specific example of providing a loan function to an external party. In Fig. 19, when providing a loan function to an external party, the bank accounting system 200 specifically provides containers 1301, 1303, 1305, 1308, 1310-1312, 1314-1316, 1318-1323, and 1325 to the external party. Furthermore, when providing a loan function to an external party, the bank accounting system 200 specifically uses databases 1333-1337, and 1340. This enables the bank accounting system 200 to provide a loan function to an external party.
[0138] Next, a specific example of distributing multiple functions related to a banking system to multiple containers will be described with reference to Figures 20 to 22. First, specifically, an example of a rule for classifying multiple functions related to a banking system will be described with reference to Figure 20.
[0139] 20 is an explanatory diagram showing an example of rules for classifying a plurality of functions. The administrator selects each of the plurality of functions, and classifies the selected functions according to the flow shown in FIG.
[0140] The administrator determines whether the selected function is a function responsible for fund transfer (step S2001). If the selected function is a function responsible for fund transfer (step S2001: Yes), the administrator proceeds to the process of step S2004. On the other hand, if the selected function is not a function responsible for fund transfer (step S2001: No), the administrator proceeds to the process of step S2002.
[0141] In step S2002, the administrator determines whether the selected function is a function that operates within the same transaction as the function responsible for the fund transfer (step S2002). If the selected function is not a function that operates within the same transaction (step S2002: No), the administrator classifies the selected function as an individual function (step S2003). On the other hand, if the selected function is a function that operates within the same transaction (step S2002: Yes), the administrator proceeds to the processing of step S2004.
[0142] In step S2004, the administrator determines whether the selected function is a function common to multiple businesses or multiple categories (step S2004). If the selected function is not a common function (step S2004: No), the administrator classifies the selected function as an account-specific function (step S2005). On the other hand, if the selected function is a common function (step S2004: Yes), the administrator classifies the selected function as an account-common function (step S2006). This allows the administrator to classify multiple functions.
[0143] The administrator divides the classified multiple account individual functions into combinations of account individual functions to be deployed together in one container, and deploys them in the container. The administrator, for example, identifies one or more combinations of account individual functions that operate within the same transaction from among the multiple account individual functions. The administrator, for example, in the management device 201, sets each of the one or more identified combinations of account individual functions as a combination of account individual functions to be deployed together in one container. The management device 201 generates a container in which to deploy the combination of account individual functions for each combination of account individual functions that has been set, and controls the information processing device 202 to deploy the combination of account individual functions in the container. In this way, the management device 201 can generate a container in which an appropriate combination of account individual functions is deployed so as to ensure data consistency and make it easier to guarantee the legitimacy of transactions.
[0144] The administrator deploys the classified account common functions in one of the generated containers according to their affinity with the account individual functions. Affinity, for example, refers to whether or not the functions are related to a transaction realized by the account individual function. For example, in the management device 201, the administrator sets, as a target for deployment to one of the containers, an account common function that is used in a transaction realized by an account individual function deployed to one of the containers, out of the multiple classified account common functions. The management device 201 controls the information processing device 202 to deploy the set account common function to one of the containers. In this way, the management device 201 can deploy an appropriate account common function to the container and put the container into an appropriate state.
[0145] The administrator divides the classified multiple account common functions into combinations of account common functions to be deployed together in one container according to the affinity between the account common functions, and deploys them in the container. The affinity is, for example, whether the account common functions are related to the same business or the same category. For example, in the management device 201, the administrator sets a combination of account common functions having affinity as a combination of account common functions to be deployed together in one container. The management device 201 generates a container in which the combination of account common functions is deployed for each combination of account common functions set, and controls the information processing device 202 to deploy the combination of account individual functions in the container. In this way, the management device 201 can generate a container in which an appropriate combination of account common functions is deployed so that the combination of account common functions can be easily used alone. The administrator can make it possible to independently manage account common functions that do not have affinity, making it easier to manage the bank accounting system 200.
[0146] The administrator deploys the classified individual functions in one of the already generated containers according to their affinity with the account individual functions. The affinity is, for example, whether or not the individual functions are related to a transaction realized by the account individual function. For example, in the management device 201, the administrator sets, as a target for deployment in one of the containers, an individual function that is used in a transaction realized by an account individual function deployed in one of the containers, out of the multiple classified individual functions. The management device 201 controls the information processing device 202 to deploy the set individual function in one of the containers. In this way, the management device 201 can deploy an appropriate individual function in the container and put the container in an appropriate state.
[0147] The administrator divides the classified individual functions into combinations of individual functions to be deployed together in one container according to the affinity between the individual functions, and deploys them in the container. The affinity is, for example, whether the individual functions are related to the same business or the same category. For example, in the management device 201, the administrator sets combinations of individual functions having affinity as combinations of individual functions to be deployed together in one container. The management device 201 generates a container in which the combination of individual functions is deployed for each combination of the set individual functions, and controls the information processing device 202 to deploy the combination of account individual functions in the container. In this way, the management device 201 can generate a container in which an appropriate combination of individual functions is deployed so that the combination of individual functions can be easily used alone. The administrator can make it possible to independently manage individual functions that do not have affinity with each other, making it easier to manage the bank accounting system 200.
[0148] Here, a case has been described in which an administrator classifies a plurality of functions into account-individual functions, account-common functions, and individual functions in accordance with the above-mentioned rules, and distributes the plurality of functions to a plurality of containers based on the classification results, but this is not limited to the above. For example, the management device may classify a plurality of functions into account-individual functions, account-common functions, and individual functions based on the above-mentioned rules and information indicating the attributes of each of the plurality of functions. Then, for example, the management device may distribute the plurality of functions to a plurality of containers based on the classification results.
[0149] Next, a specific example in which a plurality of functions are distributed among a plurality of containers will be described with reference to FIGS.
[0150] Figures 21 and 22 are explanatory diagrams showing a specific example in which multiple functions are distributed to multiple containers. Table 2100 shown in Figures 21 and 22 shows to which containers the functions belonging to each category are distributed. Table 2100 has fields for category, container, and function.
[0151] The category field indicates a category into which the functions are classified. The container field indicates a combination of a number for identifying a container and a name for identifying a container. The function field indicates a list of functions that belong to the above category and that are deployed in the above container.
[0152] For example, the container with authentication number 5 is equipped with a combination of the individual functions of login authentication and transaction authentication. For example, the container with authentication number 8 is equipped with a combination of the individual account functions of domestic exchange, total transfer / disbursement, and fixed-amount automatic transfer.
[0153] Each container shown in table 2100 may further be equipped with an account common function or a common function. Specifically, each container shown in table 2100 may be equipped with a function such as deposit, card loan, customer, common, foreign exchange, or mailing consignment.
[0154] In this way, the management device 201 can distribute multiple functions to multiple containers based on the relationship between the functions in response to operational inputs from the administrator, and form the bank accounting system 200. The relationship is, for example, whether or not the functions are operated within the same transaction. The relationship may also be, for example, affinity.
[0155] The management device 201 can form the bank accounting system 200 so that functions are easier to manage and use than when multiple functions are distributed among multiple containers based only on the viewpoint of business or category. The management device 201 can form the bank accounting system 200 so that, for example, in each category, each combination of functions to be synchronized is grouped into one container.
[0156] Therefore, the management device 201 can guarantee data consistency and ensure the legitimacy of transactions. The management device 201 can collect a combination of functions to be synchronized into one container, eliminating the need for synchronization between functions of different containers and ensuring data consistency. Since the management device 201 distributes multiple functions to multiple containers, when changing the function of one of the containers, it is possible to suppress the impact on the functions of the other containers. Since the management device 201 distributes multiple functions to multiple containers, it is possible to provide functions to the outside on a container-by-container basis, and to provide functions to the outside within an appropriate range.
[0157] The management device 201 can improve fault tolerance. For example, since the management device 201 distributes a plurality of functions among a plurality of containers, it is possible to suppress the influence of a failure in any one of the containers on the other containers. The management device 201 can realize active maintenance. For example, since the management device 201 distributes a plurality of functions among a plurality of containers, even if any one of the containers is stopped for inspection, the other containers can continue to operate.
[0158] (Overall processing procedure) Next, an example of an overall processing procedure executed by the management device 201 will be described with reference to Fig. 23. The overall processing is realized by, for example, the CPU 301, storage areas such as the memory 302 and the recording medium 305, and the network I / F 303 shown in Fig. 3.
[0159] Fig. 23 is a flowchart showing an example of the overall processing procedure. In Fig. 23, the management device 201 controls the information processing device 202 to generate a container based on the operational input of the administrator (step S2301). Next, the management device 201 controls the information storage device 203 to generate a database based on the operational input of the administrator (step S2302). Then, the management device 201 controls the information processing device 202 to deploy a function in the container based on the operational input of the administrator (step S2303). After that, the management device 201 ends the overall processing.
[0160] As described above, management device 201 can form a financial system in which, among a plurality of functions related to finance, two or more functions that operate within the same transaction in relation to the transfer of funds are deployed in a single execution environment among a plurality of execution environments. Management device 201 can form a financial system in which, among a plurality of functions, one or more functions that do not operate within the same transaction as other functions are deployed in another execution environment among a plurality of execution environments that is different from the single execution environment. In this way, management device 201 can realize a financial system with an architecture that is easy to manage.
[0161] According to the management device 201, it is possible to form a financial system in which one or more functions different from the two or more functions forming a service including two or more functions among the multiple functions are deployed in a single execution environment in which the two or more functions are deployed. This allows the management device 201 to comprehensively deploy the functions forming the service in the execution environment, making it easier to provide the service.
[0162] According to the management device 201, a financial system can be formed in which two or more functions, including a function related to domestic withdrawal of funds and a function related to foreign deposit of funds, are deployed in a single execution environment out of a plurality of execution environments. This makes it easier for the management device 201 to provide foreign currency transaction services.
[0163] According to the management device 201, a financial system can be formed in which a function for relaying between a single execution environment and a type of user environment is deployed in an execution environment different from the single execution environment among a plurality of execution environments for each type of user environment. This allows the management device 201 to make a single execution environment available regardless of differences in user environments.
[0164] According to the management device 201, each of the multiple execution environments can be a container, which enables the management device 201 to realize a financial system by using the container.
[0165] The following supplementary notes are further disclosed regarding the above-described embodiment.
[0166] (Appendix 1) A first execution environment in which two or more functions related to the transfer of funds, among a plurality of functions related to finance, are deployed and which operate within the same transaction; a second execution environment different from the first execution environment, in which a function that does not operate within the same transaction as other functions is deployed among the plurality of functions; A financial system comprising:
[0167] (Additional Note 2) The first execution environment is provided with one or more functions that are different from the two or more functions and form a service including the two or more functions among the plurality of functions; 2. The financial system according to claim 1,
[0168] (Appendix 3) The two or more functions mentioned above include a function related to the withdrawal of domestic funds and a function related to the receipt of foreign funds. 2. The financial system according to claim 1,
[0169] (Appendix 4) The second execution environment is provided with a function for relaying between the first execution environment and the user environment for each type of user environment that uses a service including the two or more functions. 2. The financial system according to claim 1,
[0170] (Appendix 5) The function that does not operate within the same transaction as the other function is not a function that handles fund transfers, and is not a function that operates within the same transaction as the function that handles fund transfers. 5. A financial system according to any one of claims 1 to 4.
[0171] (Supplementary Note 6) The first execution environment is a container, The second execution environment is a container. 6. A financial system according to any one of claims 1 to 5. [Explanation of symbols]
[0172] 110~115 Execution environment 100 Financial System 120,121~126,511,521,522,531,621,631,641,651,671~674,681,691,1521~1524,1541~1543,1551~1554,1561,1611,1621,1622,1631~1635,1641~1643,1710~1715,1720,1721 Function 200 Bank accounting systems 201 Management device 202 Information processing device 203 Information storage device 204 Client device 210 Network 300 Bus 301 CPU 302 Memory 303 Network Interface 304 Recording media I / F 305 Recording media 400 Storage section 401 Acquisition Department 402 Generator 403 Deployment Department 404 Output section 510,520,530 Services 512,523,524,532 Data 601 Customer Web 602 Internal web 603 Smartphone web 610 BFF 620 Authentication Services 630 Trade Restriction Service 640 Operational Management Services 650 Customer Information Management Service 670 Foreign Currency Services 680 Daily Service 690 Mail Service 700 Business 710 BFF Container for Customer Web 711 Customer Web Services 720 BFF container for inline web 721 In-house web services 730 Smartphone Web BFF Container 731 Smartphone web services 740 ○○ Commercial Container 750 △△Business container 741 Service A 742 Service B 743 Service C 744 Service D 751 Service E 760 Internal business container 761 Service Y 762 Service Z 771 All-business common table 772 Business Table 801 Domain A 802 domain b 803 Domain C 804 Domain d 805 Domain e 806 Domain i 807 domain x 808 domain y 809 Domain z 901,1000 Container A 902 Container B 903 Container C 904 Container D 1001,1101 Service A 1002 Service B 1003 Service C 1004 Service d 1005 Service e 1111~1114 domain 1210 Calling Program 1220 Program A 1230 Program B 1240 Interface C 1250 Program C 1301~1325 Container 1331~1340 Database 1400 Minimum Unit 1401 Customer web page 1402 Bank web screen 1403 Customer smartphone screen 1411 WebBFF 1412 In-line webBFF 1413 Customer Smartphone WebBFF 1420 △△Container 1421 Service F 1422 Service G 1423 Service H 1424 Service I 1430 Common Table 1431 Business Table O 1432 Business Table P 1433 Business Table Q 1500,1600 Foreign currency deposit container 1510 Foreign currency balance inquiry service 1520,1620 Foreign currency purchase service 1530 Cover trading collaboration service 1540,1630 Front system 1550,1640 Accounting system 1560 Other companies 1610 Common Features 1700 Class of Service 1730 Domain Classes 1731 Common Functionality Class 1732,1733 class 1734 Purpose-specific classes 2100 table
Claims
1. a first execution environment in which two or more functions related to the transfer of funds are deployed among a plurality of financial functions, the functions operating within the same transaction; a second execution environment different from the first execution environment, in which a function that does not operate within the same transaction as other functions is deployed among the plurality of functions; A financial system comprising:
2. The first execution environment is provided with one or more functions that are different from the two or more functions and form a service including the two or more functions among the plurality of functions.
2. The financial system according to claim 1.
3. The two or more functions include a function related to the withdrawal of domestic funds and a function related to the receipt of foreign funds, 2. The financial system according to claim 1.
4. the second execution environment is provided with a function for relaying between the first execution environment and the user environment for each type of user environment that uses a service including the two or more functions; 2. The financial system according to claim 1.
Citation Information
Patent Citations
Method and system for associating business application and fund movement processing
JP2003317022A
Virtualization environment management system and virtualization environment management method
JP2017138895A