Computer system and data provision method
Patent Information
- Application Number
- JP2023029630
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-02-28
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2043-02-28
AI Technical Summary
Existing data search technologies do not consider data requirements in different phases of an application's lifecycle, making it difficult for users with low skill levels to develop and operate efficient applications.
A computer system that connects to a database and manages data catalogs, providing data based on specific search conditions and phase requirements, ensuring data is aligned with the lifecycle stages of application development and operation.
Enables users to access data tailored to each phase of the application lifecycle, improving efficiency in application development and operation by addressing data requirements effectively.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a technology for providing data used in the development and operation of applications. [Background technology]
[0002] In recent years, due to a shortage of digital transformation personnel, there are many cases where employees of an organization develop services. By using a data catalog and an application catalog, service development and operation can be made more efficient. In the following, those who develop and operate services will be referred to as users.
[0003] Users can search for data by referring to the data catalog. However, the data requirements differ for each phase of the application life cycle. If the user's skill level is low, they do not have knowledge of the data requirements for each phase, making it difficult to develop and operate applications efficiently.
[0004] In response to this, a technique described in Patent Document 1 is known. Patent Document 1 describes that "the document management device receives a search keyword input by a user and the user attributes of the user, and searches for document information based on the received search keyword. Then, based on the received user attributes, it detects a project to which the user belongs, acquires a phase of the detected project from the project management device, and extracts document information that has been operated on a threshold number of times or more in the acquired project phase from the searched document information. Finally, it outputs the searched document information and the extracted document information to provide them to the user." [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2009-295008 A Summary of the Invention [Problem to be solved by the invention]
[0006] The technology described in Patent Document 1 is a technology for searching documents, and does not consider the document requirements in each phase. Therefore, even if the technology described in Patent Document 1 is used, it is not possible to obtain data according to the data requirements for each phase.
[0007] The present invention provides a system that provides a user with data according to the phase of an application's life cycle. [Means for solving the problem]
[0008] A representative example of the invention disclosed in the present application is as follows: That is, a computer system connected to a database storing a plurality of types of data, capable of accessing a data catalog that manages items for searching the data stored in the database, holding data requirement management information for managing requirement data associating a phase of an application life cycle with a data requirement, and when a search request including a search condition is received, referring to the data catalog, searching for data that matches the search condition from among the data stored in the database, and presenting the data to a user, and when an output request including information on data selected by the user and the phase is received, referring to the data requirement management information, identifying the requirement data corresponding to the phase included in the output request, and outputting usage data to be used in the phase included in the output request based on the selected data and the identified requirement data. Effect of the Invention
[0009] According to the present invention, data corresponding to the phase of the life cycle of an application can be provided to a user. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 illustrates an example of a system configuration according to a first embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of a configuration of a computer according to a first embodiment. [Diagram 3] FIG. 2 illustrates an example of a software configuration of the service development support system according to the first embodiment. [Figure 4] FIG. 2 is a diagram illustrating an example of a data catalog according to the first embodiment. [Diagram 5] FIG. 2 is a diagram illustrating an example of an application catalog according to the first embodiment. [Figure 6] FIG. 11 is a diagram illustrating an example of user management information according to the first embodiment. [Figure 7] FIG. 11 is a diagram illustrating an example of operation log management information according to the first embodiment. [Figure 8] FIG. 11 is a diagram illustrating an example of data requirement management information according to the first embodiment. [Figure 9] FIG. 11 is a diagram illustrating an example of intermediate data management information according to the first embodiment. [Figure 10A] FIG. 11 is a diagram illustrating an example of error handling information according to the first embodiment. [Figure 10B] FIG. 11 is a diagram illustrating an example of error handling information according to the first embodiment. [Figure 11] FIG. 2 is a sequence diagram illustrating an outline of a process in the system according to the first embodiment. [Figure 12] 11 is a flowchart illustrating an example of a process executed when the service development support system according to the first embodiment receives an application registration notification. [Figure 13] 11 is a flowchart illustrating an example of a data requirement analysis process executed by the service development support system according to the first embodiment. [Figure 14] 11 is a flowchart illustrating an example of an update process of operation log management information executed by the service development support system according to the first embodiment. [Figure 15] 11 is a flowchart illustrating an example of a data requirement management information update process executed by the service development support system according to the first embodiment. [Figure 16]11 is a flowchart illustrating an example of a process executed when the service development support system according to the first embodiment receives a data registration notification. [Figure 17] 11 is a flowchart illustrating an example of an intermediate data analysis process executed by the service development support system according to the first embodiment. [Figure 18] 11 is a flowchart illustrating an example of a process executed when the service development support system according to the first embodiment receives a data search request. [Figure 19] FIG. 2 is a diagram illustrating an example of a screen presented by the service development support system according to the first embodiment. [Figure 20] FIG. 2 is a diagram illustrating an example of a screen presented by the service development support system according to the first embodiment. [Figure 21] 11 is a flowchart illustrating an example of a data search process executed by the service development support system according to the first embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. However, the present invention should not be interpreted as being limited to the description of the embodiment shown below. It will be easily understood by those skilled in the art that the specific configuration can be changed without departing from the concept or purpose of the present invention.
[0012] In the configurations of the invention described below, the same or similar configurations or functions are given the same reference numerals, and duplicated explanations are omitted.
[0013] In this specification, the terms "first," "second," "third," and the like are used to identify components and do not necessarily limit the number or order.
[0014] In order to facilitate understanding of the invention, the position, size, shape, range, etc. of each component shown in the drawings, etc. may not represent the actual position, size, shape, range, etc. Therefore, the present invention is not limited to the position, size, shape, range, etc. disclosed in the drawings, etc. EXAMPLES
[0015] Fig. 1 is a diagram illustrating an example of a system configuration of the first embodiment. Fig. 2 is a diagram illustrating an example of a computer configuration of the first embodiment.
[0016] The system of the first embodiment includes a service development support system 100, a data catalog management system 101, an application catalog management system 102, an application repository 103, a client terminal 104, an execution platform 105, an API-GW 107, and a DBMS 108. Note that the system configuration shown in Fig. 1 is an example, and the connections between the components and the number of components can be changed as desired.
[0017] The client terminal 104 is a terminal operated by a user who develops and operates an application. The client terminal 104 has a development environment tool 120 for developing and operating an application. The execution platform 105 provides an environment for executing an application. A virtual machine or a container runs on the execution platform 105. The API-GW 107 calls an API for using an application.
[0018] The DBMS 106 manages databases. The DBMS 106 in the first embodiment manages a database 110 that stores raw data handled by applications, a database 111 that stores replicated data, and a database 112 that stores data that has been formatted or processed from the raw data or replicated data.
[0019] The data catalog management system 101 manages a data catalog 400 (see FIG. 4). The application catalog management system 102 manages an application catalog 500 (see FIG. 5). The application repository 103 stores the source code of applications.
[0020] The data catalog management system 101, the application catalog management system 102, the application repository 103, and the DBMS 106 each hold an operation log. The client terminal 104 holds an operation log of the development environment tool 120. The execution platform 105 also holds an operation log.
[0021] The service development support system 100 supports the development and operation of an application that realizes an arbitrary service. The service development support system 100 of the first embodiment provides data corresponding to a phase of the life cycle of the application. A user can obtain data corresponding to a phase of the life cycle of the application from the service development support system 100.
[0022] Each of the service development support system 100, the data catalog management system 101, the application catalog management system 102, and the execution platform 105 is configured, for example, by a computer 200 as shown in FIG.
[0023] The computer 200 includes a processor 201, a main memory device 202, a secondary memory device 203, a network interface 204, an input device 205, and an output device 206. The hardware elements are connected to each other via a bus 207. It is noted that the computer 200 does not necessarily have to include the input device 205 and the output device 206.
[0024] The processor 201 executes a program stored in the main memory device 202. The processor 201 functions as a functional unit (module) by executing processing in accordance with the program. In the following description, when processing is described with the functional unit as the subject, this indicates that the processor 201 is executing a program that realizes the functional unit.
[0025] The main storage device 202 is a memory or the like, and stores the programs executed by the processor 201 and information used by the programs. The main storage device 202 also includes a work area that is temporarily used by the programs.
[0026] The secondary storage device 203 is a hard disk drive (HDD) or a solid state drive (SSD), etc., and permanently stores a large amount of data. The programs and information stored in the main storage device 202 may be stored in the secondary storage device 203. In this case, the processor 201 reads the programs and information from the secondary storage device 203 and loads them into the main storage device 202.
[0027] The network interface 204 communicates with external devices via a network. The input device 205 is a keyboard, a mouse, a touch panel, etc. The output device 206 is a display, etc.
[0028] FIG. 3 is a diagram illustrating an example of a software configuration of the service development support system 100 according to the first embodiment.
[0029] The service development support system 100 has a data catalog linking unit 300, an application catalog linking unit 301, a data requirement management unit 302, and a search unit 303. The service development support system 100 also holds user management information 310, operation log management information 311, data requirement management information 312, intermediate data management information 313, and error handling information 314.
[0030] The user management information 310 is information for managing users. The details of the user management information 310 will be described with reference to FIG.
[0031] The operation log management information 311 is information for managing operation logs related to the development and operation of an application. Details of the operation log management information 311 will be described with reference to FIG.
[0032] The data requirement management information 312 is information for managing data requirements for each phase of the life cycle of an application. The details of the data requirement management information 312 will be described with reference to FIG.
[0033] The intermediate data management information 313 is information for managing intermediate data that is generated or used in the development and operation of an application. The intermediate data management information 313 will be described in detail with reference to FIG.
[0034] Error handling information 314 is information for managing a method of handling an error in searching for data used in the development and operation of an application. Details of error handling information 314 will be described with reference to Figs. 10A and 10B.
[0035] The data catalog linking unit 300 links with the data catalog management system 101 to refer to the data catalog 400, update records, acquire records, etc. The application catalog linking unit 301 links with the application catalog management system 102 to refer to the application catalog 500, update records, acquire records, etc.
[0036] The data requirement management unit 302 manages data requirement management information 312. The search unit 303 provides data according to the phase of the life cycle of the application.
[0037] It should be noted that with regard to each functional unit of the service development support system 100, multiple functional units may be integrated into one functional unit, or one functional unit may be divided into multiple functional units.
[0038] FIG. 4 is a diagram illustrating an example of the data catalog 400 according to the first embodiment.
[0039] The data catalog 400 stores records including a data ID 401, metadata 402, and lineage 403. One record exists for one piece of data. Note that the fields included in the record are not limited to those described above. Any of the fields described above may not be included, and other fields may be included. For example, fields storing the name of the data and the quality of the data may be included.
[0040] The data ID 401 is a field for storing an ID for identifying data.
[0041] The metadata 402 is a group of fields that stores metadata of data. The metadata 402 includes, for example, a schema, a field and purpose of a service realized by an application that uses the data, access rights, tags, a storage location, an owner, a registration date, an update date, and a number of uses. In this embodiment, the metadata 402 includes at least the field and purpose.
[0042] The lineage 403 is a field that stores the lineage of the data. The lineage 403 may be included in the metadata 402.
[0043] FIG. 5 is a diagram illustrating an example of the application catalog 500 according to the first embodiment.
[0044] The application catalog 500 stores records including an APP ID 501, metadata 502, and parameters 503. One record exists for one application. Note that the fields included in the record are not limited to those described above. The record may not include any of the fields described above, or may include other fields. For example, the record may include fields for storing the name of the application and information about the tools used to develop the application.
[0045] APP ID 501 is a field for storing an ID for identifying an application.
[0046] The metadata 502 is a group of fields that stores metadata of the application. The metadata 502 includes, for example, a registrant, a registration date, a purpose, and a tag. In this embodiment, the metadata 502 includes the purpose.
[0047] The parameters 503 are a group of fields that store information about parameters of the application. The parameters 503 include, for example, a method, an input, a description, an output, and a number of uses.
[0048] FIG. 6 is a diagram illustrating an example of the user management information 310 according to the first embodiment.
[0049] The user management information 310 stores records including a user ID 601, a user name 602, an affiliation 603, an attribute 604, and an environment 605. One record exists for one user. Note that the fields included in the record are not limited to those described above. Any of the fields described above may not be included, and other fields may be included.
[0050] User ID 601 is a field that stores an ID that identifies a user. User Name 602 is a field that stores the user's name. Department 603 is a field that stores the user's department. Attributes 604 is a field that stores the user's skill level. Environment 605 is a group of fields that stores information about the user's development environment.
[0051] The skill level of a user may be determined based on the user's self-reporting, the number of registered data or applications, or the number of times the registered data or applications are used, or the user's career history.
[0052] FIG. 7 is a diagram illustrating an example of the operation log management information 311 according to the first embodiment.
[0053] The operation log management information 311 stores records including an APP ID 701, a field 702, a purpose 703, a phase 704, a start time 705, an end time 706, a DB name 707, and a query 708. One entry exists for a combination of an application and a phase. Note that the fields included in the record are not limited to those described above. Any of the fields described above may not be included, and other fields may be included.
[0054] The APP ID 701 is the same field as the APP ID 501. The field 702 and the purpose 703 are fields for storing the field and purpose of the service realized by the application.
[0055] Phase 704 is a field for storing a phase of the life cycle of the application. Start time 705 and end time 706 are fields for storing the start time and end time of the period corresponding to the phase.
[0056] The DB name 707 is a field that stores the name of the database used. The query 708 is a field group that stores the contents of the query used during development and operation. The query 708 includes a query statement, access information, conditions, and the like.
[0057] FIG. 8 is a diagram illustrating an example of the data requirement management information 312 according to the first embodiment.
[0058] The data requirement management information 312 stores records including an ID 801, a field 802, a purpose 803, a phase 804, a data requirement 805, and a number of uses 806. Note that the fields included in the records are not limited to those described above. Any of the fields described above may not be included, and other fields may be included.
[0059] The ID 801 is a field for storing an ID for identifying a record.
[0060] The field 802 and the purpose 803 are fields for storing the field and purpose of the service realized by the application. The phase 804 is a field for storing the phase of the life cycle of the application.
[0061] Data requirements 805 are a group of fields that store the data requirements of data used in the development / operation of an application corresponding to a combination of field, purpose, and phase. The data requirements 805 include, for example, data volume, reference data, and example data. Number of uses 806 is a field that stores the number of times the data requirement is used.
[0062] FIG. 9 is a diagram illustrating an example of the intermediate data management information 313 according to the first embodiment.
[0063] The intermediate data management information 313 stores records including ID 901, input data 902, processing 903, output data 904, number of uses 905, registrant 906, and catalog registration 907. Records are generated using the lineage of data. Note that the fields included in the records are not limited to those described above. Any of the fields described above may not be included, and other fields may be included.
[0064] ID 901 is a field that stores an ID for identifying a record.
[0065] Input data 902, process 903, and output data 904 are fields that store input data, processes, and output data in a process that generates new data using data. Number of uses 905 is a field that stores the number of times the process has been used. In the input data 902 and output data 904, intermediate data that is not registered in the data catalog 400 is assigned a temporary data ID.
[0066] Registrant 906 is a field that stores the registrant of the data that uses lineage. Catalog entry 907 is a field that stores registration information of the intermediate data in the data catalog 400. When the intermediate data is registered in the data catalog 400, the catalog entry 907 stores the provisional data ID and the data ID of the intermediate data.
[0067] 10A and 10B are diagrams illustrating an example of the error handling information 314 according to the first embodiment.
[0068] The error handling information 314 includes a table 1000 and a table 1010. The table 1000 is a table for managing the cause of an error. The table 1010 is a table for managing a target method according to the cause of an error.
[0069] The table 1000 stores records including a cause ID 1001 and an error cause 1002. One record exists for one error cause. Note that the fields included in the record are not limited to those described above.
[0070] The cause ID 1001 is a field for storing an ID for identifying the cause of an error. The error cause 1002 is a field for storing the cause of an error.
[0071] The table 1010 stores records including an avoidance ID 1011, a cause ID 1012, avoidance possible / not avoided 1013, and a means 1014. One record exists for one avoidance means. Note that the fields included in the record are not limited to those described above.
[0072] Avoidance ID 1011 is a field for storing an ID for identifying a avoidance measure. Cause ID 1012 is a field for storing the ID of the error cause to which the avoidance measure is applied. Avoidance Possible or Not 1013 is a field for storing a flag indicating whether or not the error is avoidable. Means 1014 is a field for storing the avoidance measure. For records in which Avoidance Possible or Not 1013 is "Not possible", the means 1014 is left blank.
[0073] 11 is a sequence diagram for explaining an outline of the process in the system of the embodiment 1. Three processes are executed in the system of the embodiment 1. Note that the three processes are independent processes.
[0074] (Process 1) When the service development support system 100 receives an application registration notification from the application catalog management system 102 (step S101), it executes a data requirement analysis process (step S102). This is performed to analyze and accumulate data requirements of data used in the development / operation of an application registered by a user with a high skill level.
[0075] (Process 2) When the service development support system 100 receives a data registration notification from the data catalog management system 101 (step S111), it executes an intermediate data analysis process (step S112). This is performed to identify intermediate data related to data registered by a user with a high skill level. The purpose is to make it easier to obtain data by registering intermediate data that is used frequently in the data catalog 400.
[0076] (Process 3) When the service development support system 100 receives a data search request from the user 1100 (step S121), it executes a data search process (step S122). This is performed in order to provide data used for application development / operation.
[0077] The three processes will be described in detail below.
[0078] First, a description will be given of process 1. Fig. 12 is a flowchart illustrating an example of a process executed when the service development support system 100 according to the first embodiment receives an application registration notification.
[0079] The service development support system 100 acquires information about a user who has registered an application (step S201). In the following, the registered application is referred to as a target application, and the user who has registered the application is referred to as a target user.
[0080] Specifically, the service development support system 100 refers to the application catalog 500 and acquires the user ID, name, etc. of the target user from the metadata 502 of the record of the target application.
[0081] The service development support system 100 determines whether the skill level of the target user is high or not (step S202).
[0082] Specifically, the service development support system 100 refers to the user management information 310 and acquires a skill level value from the attribute 604 of the record of the target user. The application catalog linking unit 301 judges whether the target user has a high skill level based on the acquired value. The judgment of whether the skill level is high or low is performed on a rule basis.
[0083] If the skill level of the target user is low, the service development support system 100 ends the process.
[0084] If the target user has a high skill level, the service development support system 100 executes a data requirement analysis process (step S203), and then ends the process.
[0085] FIG. 13 is a flowchart illustrating an example of a data requirement analysis process executed by the service development support system 100 according to the first embodiment.
[0086] The service development support system 100 determines whether or not it is possible to acquire an operation log of the development environment tool 120 used by the target user (step S301). For example, the service development support system 100 transmits an acquisition request to the client terminal 104 and determines whether or not acquisition is permitted.
[0087] If the operation log of the development environment tool 120 can be acquired, the service development support system 100 acquires the operation log (step S302), and identifies the phase using the acquired operation log (step S303).
[0088] For example, the service development support system 100 identifies the start time of the "operation" phase from the operation log related to deployment, and identifies the duration of the "integration test" phase based on the operation log before that time. The service development support system 100 identifies the duration of the "unit test" phase based on the operation log before the start time of the "integration test" phase.
[0089] The service development support system 100 acquires operation logs for each phase related to the target user from the data catalog management system 101 (step S304). After that, the service development support system 100 proceeds to step S308.
[0090] Specifically, the service development support system 100 acquires, from the data catalog management system 101, the operation logs of each identified phase and the operation logs prior to the period of the phase “unit test”.
[0091] If it is determined in step S301 that the operation log of the development environment tool 120 cannot be acquired, the service development support system 100 acquires the registration date and time of the source code of the target application from the application repository 103 (step S305).
[0092] The service development support system 100 acquires, from the data catalog management system 101, operation logs for the target user before the date and time of registration of the source code of the target application, and operation logs for the target user before the date and time of registration of the target application (step S306).
[0093] The service development support system 100 identifies the phase based on the acquired operation log and the operation log of the target application that can be acquired from the execution platform 105 (step S307). After that, the service development support system 100 proceeds to step S308.
[0094] The service development support system 100 extracts operation logs of accesses to the databases 110, 111, and 112 from the operation logs acquired from the data catalog management system 101, and classifies the operation logs by phase (step S308).
[0095] The service development support system 100 executes the update process of the operation log management information 311 (step S309).
[0096] The service development support system 100 executes the update process of the data requirement management information 312 (step S310), and then ends the data requirement analysis process.
[0097] FIG. 14 is a flowchart illustrating an example of the update process of the operation log management information 311 executed by the service development support system 100 according to the first embodiment.
[0098] The service development support system 100 starts loop processing of the operation log (step S401).
[0099] The service development support system 100 analyzes the query included in the operation log (step S402), and determines whether the query includes a condition (step S403). For example, if the query includes a WHERE clause, it is determined that the query includes a condition.
[0100] If the query includes a condition, the service development support system 100 proceeds to step S407.
[0101] If the query does not include a condition, the service development support system 100 determines whether the data catalog 400 includes information regarding the generation of the reference source data (step S404).
[0102] If the data catalog 400 includes information related to the generation of the reference source data, the service development support system 100 analyzes the information and sets the analysis result as a condition (step S405). After that, the service development support system 100 proceeds to step S407.
[0103] If the data catalog 400 does not include information regarding the generation of the reference source data, the service development support system 100 sets no condition (step S406). After that, the service development support system 100 proceeds to step S407.
[0104] In step S407, the service development support system 100 adds a record to the operation log management information 311 (step S407).
[0105] Specifically, the service development support system 100 adds a record to the operation log management information 311, sets the ID of the target application in the APP ID 701 of the record, and sets the field and purpose of the target application in the field 702 and purpose 703. The service development support system 100 sets information on the phase corresponding to the operation log in the phase 704, start time 705, and end time 706 of the added record. The service development support system 100 sets the name of the accessed database in the DB name 707 of the added record, and also sets query information in the query 708. In the field of the condition included in the query 708, one of the conditions included in the query, the analysis result, or no condition is set.
[0106] The service development support system 100 determines whether processing has been completed for all operation logs (step S408).
[0107] If processing has not been completed for all operation logs, the service development support system 100 returns to step S401 and executes the same processing.
[0108] When the processing has been completed for all operation logs, the service development support system 100 ends the update processing of the operation log management information 311.
[0109] FIG. 15 is a flowchart illustrating an example of the update process of the data requirement management information 312 executed by the service development support system 100 according to the first embodiment.
[0110] The service development support system 100 generates a combination of a field and a purpose (step S501).
[0111] The service development support system 100 starts a loop process of combinations of fields and purposes (step S502).
[0112] The service development support system 100 determines whether or not a record with the same combination of field and purpose exists in the data requirement management information 312 (step S503).
[0113] If there is no record with the same combination of field and purpose, the service development support system 100 proceeds to step S506.
[0114] If a record exists with the same combination of field and purpose, the service development support system 100 determines whether there is a correlation between the data requirements extracted from the operation log corresponding to the combination of field and purpose and the data requirements of the record (step S504).
[0115] For example, if the phase of an operation log and the reference data included in the operation log are identical to the value included in the record, it is determined that the data requirements are correlated.
[0116] Data requirements are extracted, for example, as follows. The service development support system 100 obtains the number of rows of data from the operation log, and extracts the number of rows of generated data as a data requirement. When the service development support system 100 obtains a data copy from the operation log, it extracts a snapshot as a data requirement. When the service development support system 100 obtains a data reference range from the operation log, it extracts the data reference range as a data requirement. Note that the above-mentioned extraction methods are merely examples and are not limited to these.
[0117] If there is a correlation, the service development support system 100 increments the value of the number of uses 806 of the record (step S505), and proceeds to step S507.
[0118] If there is no correlation, the service development support system 100 proceeds to step S506.
[0119] In step S506, the service development support system 100 adds a record to the data requirement management information 312 based on the data requirement extracted from the operation log corresponding to the combination of the field and purpose (step S506). After that, the service development support system 100 proceeds to step S507.
[0120] In step S507, the service development support system 100 determines whether or not the processing has been completed for all combinations of fields and purposes (step S507).
[0121] If processing has not been completed for all combinations of fields and purposes, the service development support system 100 returns to step S502.
[0122] When the processing has been completed for all combinations of fields and purposes, the service development support system 100 ends the update processing of the data requirement management information 312.
[0123] Next, a description will be given of the process 2. Fig. 16 is a flowchart illustrating an example of the process executed when the service development support system 100 according to the first embodiment receives a data registration notification.
[0124] The service development support system 100 acquires information about the user who registered the data (step S601). In the following, the registered data is referred to as target data, and the user who registered the data is referred to as target user.
[0125] Specifically, the service development support system 100 refers to the data catalog 400 and acquires the user ID, name, etc. of the target user from the metadata 402 of the record of the target data.
[0126] The service development support system 100 determines whether the skill level of the target user is high (step S602). The process of step S602 is the same as the process of step S202.
[0127] If the skill level of the target user is low, the service development support system 100 ends the process.
[0128] If the target user's skill level is high, the service development support system 100 executes an intermediate data analysis process (step S603).
[0129] The service development support system 100 requests the data catalog management system 101 to assign a tag indicating that the skill level is high to the target data (step S604).
[0130] The service development support system 100 requests the application catalog management system 102 to register an application that executes processing of the target data (step S605), and then ends the processing.
[0131] FIG. 17 is a flowchart illustrating an example of the intermediate data analysis process executed by the service development support system 100 according to the first embodiment.
[0132] The service development support system 100 acquires the lineage of the target data from the data catalog 400, and generates converted data by executing data conversion (step S701).
[0133] Specifically, the service development support system 100 generates conversion data having input data, processing, and output data as items.
[0134] The service development support system 100 analyzes the converted data, and based on the analysis result, refers to the data catalog 400 to identify intermediate data that is not registered in the data catalog 400 (step S702). At this time, the service development support system 100 assigns a provisional data ID to the identified intermediate data.
[0135] When the conversion data includes only information about the process, the data output as the processing result becomes intermediate data.
[0136] The service development support system 100 refers to the intermediate data management information 313 and determines whether or not a record having the same content as the converted data exists (step S703).
[0137] Specifically, it is determined whether or not there is a record in which the combination of values of the input data 902, the process 903, and the output data 904 is the same as the combination of values contained in the converted data.
[0138] If a record with the same content as the converted data does not exist, the service development support system 100 adds a record to the intermediate data management information 313 (step S704), and then ends the intermediate data analysis process.
[0139] Specifically, the service development support system 100 adds a record to the intermediate data management information 313, and sets an ID in the ID 901 of the record. The service development support system 100 also sets values in the input data 902, processing 903, and output data 904 of the added record based on the conversion data. The service development support system 100 sets 1 in the number of uses 905 of the added record.
[0140] If a record with the same contents as the converted data exists, the service development support system 100 increments the number of uses 905 of that record (step S705).
[0141] The service development support system 100 determines whether or not to register the intermediate data in the data catalog 400 (step S706).
[0142] Specifically, the service development support system 100 determines whether the value of the number of uses 905 of the record is greater than a threshold value. If the value of the number of uses 905 of the record is greater than the threshold value, the service development support system 100 determines to register the intermediate data corresponding to the record.
[0143] If the intermediate data is not to be registered in the data catalog 400, the service development support system 100 ends the intermediate data analysis process.
[0144] When registering the intermediate data in the data catalog 400, the service development support system 100 requests the data catalog management system 101 to register the intermediate data (step S707), and then ends the intermediate data analysis process. The service development support system 100 obtains the data ID assigned to the intermediate data from the data catalog management system 101, and sets a pair of the provisional data ID and the data ID in the catalog registration 907 of the record.
[0145] Next, a description will be given of process 3. Fig. 18 is a flowchart illustrating an example of a process executed when the service development support system 100 of the first embodiment receives a data search request. Figs. 19 and 20 are diagrams illustrating an example of a screen presented by the service development support system 100 of the first embodiment.
[0146] When a data search request is received, the service development support system 100 presents a screen 1900 shown in Fig. 19. The screen 1900 includes an input area 1901, a display area 1902, and a selection area 1903.
[0147] The input area 1901 is an area for inputting data search conditions, and includes input fields 1910, 1911, 1912, 1913, and a search button 1914. The input field 1910 is a field for inputting the field of the service. The input field 1911 is a field for inputting the purpose of the service. The input field 1912 is a field for inputting the requirements for the service. The requirements for the service are the requirements included in the metadata 402. The input field 1913 is a field for inputting keywords to be used in searching for data, such as the field name of the data or a value included in the data. The search button 1914 is an operation button for instructing execution of a search.
[0148] When the user operates the search button 1914 , a search execution request including the values entered in the input fields 1910 , 1911 , 1912 , and 1913 is sent to the service development support system 100 .
[0149] Display area 1902 is an area for displaying search results. Display area 1902 displays table 1920, which displays data that satisfies the search conditions input via input area 1901. Table 1920 stores records including selection 1921, data ID 1922, metadata 1923, and lineage 1924. Data ID 1922, metadata 1923, and lineage 1924 are the same fields as data ID 401, metadata 402, and lineage 403. Selection 1921 is an area for displaying radio buttons for selecting data for generating data to be used in application development / operation.
[0150] Selection area 1903 is an area for selecting a phase of the life cycle of the application, and includes phase buttons 1930, 1931, 1932, and 1933. Note that the number and contents of the buttons displayed in selection area 1903 are merely an example and are not limited to this.
[0151] When the user selects one piece of data from table 1920 and operates any of phase buttons 1930, 1931, 1932, and 1933, an output request including the ID, field, purpose, and phase of the selected data is sent to the service development support system 100.
[0152] Returning to the explanation of Fig. 18, the service development support system 100 acquires the search conditions included in the search execution request (step S801), and executes the data search process (step S802). The service development support system 100 displays the results of the data search process in a table 1920.
[0153] The service development support system 100 determines whether the request received from the user is an output request (step S803).
[0154] If the request received from the user is a search execution request, the service development support system 100 returns to step S801.
[0155] If the request received from the user is an output request, the service development support system 100 refers to the data requirement management information 312 to identify the data requirement (step S804).
[0156] Specifically, the service development support system 100 searches for records whose combination of field, purpose, and phase matches the combination of field, purpose, and phase included in the search criteria. The service development support system 100 displays a screen 2000 as shown in Fig. 20. The screen 2000 includes a table 2010 that displays the identified data requirements, an obtain button 2020, and a cancel button 2021.
[0157] When the user operates the acquire button 2020, a data provision request is sent to the service development support system 100. When the user operates the cancel button 2021, a termination request is sent to the service development support system 100.
[0158] The service development support system 100 determines whether the request received from the user is a data provision request (step S805).
[0159] If the request received from the user is an end request, the service development support system 100 ends the process.
[0160] If the request received from the user is a data provision request, the service development support system 100 generates usage data based on the selected data and the specified data requirements and provides the usage data to the user (step S806). After that, the service development support system 100 ends the process.
[0161] Specifically, service development support system 100 acquires data from any one of databases 110, 111, and 112 based on the data requirements, and generates usage data. The acquired data may be generated as usage data as is, or usage data may be generated by performing any processing on the acquired data.
[0162] The service development support system 100 may register the usage data in the data catalog 400 as necessary.
[0163] FIG. 21 is a flowchart illustrating an example of a data search process executed by the service development support system 100 according to the first embodiment.
[0164] The service development support system 100 searches for data from the data catalog 400 based on the search conditions (field, purpose, requirement, keyword) included in the search request (step S901).
[0165] It is also possible to search only data tagged with a high skill level, which allows users to prioritize searches for data that will improve the efficiency of service development / operation.
[0166] The service development support system 100 determines whether or not data that satisfies the search conditions exists (step S902).
[0167] If data that satisfies the search conditions is present, the service development support system 100 determines whether the skill level of the user who requested the search is low (step S903). The method of determining the user's skill level is the same as in step S202, and therefore will not be described here.
[0168] If the skill level of the user who requested the search is high, the service development support system 100 presents the searched data in table 1920 in display area 1902 (step S905), and ends the data search process.
[0169] If the skill level of the user who requested the search is low, the service development support system 100 searches the intermediate data management information 313 for intermediate data related to the searched data and to which a tag indicating a high skill level has been added (step S904). The service development support system 100 presents the searched data and the searched intermediate data in the table 1920 of the display area 1902 (step S905), and ends the data search process.
[0170] If it is determined in step S902 that no data satisfying the search conditions exists, the service development support system 100 identifies the cause of the error that caused the corresponding data not to be found (step S906).
[0171] The service development support system 100 refers to the error handling information 314 and determines whether the identified cause of the error can be avoided (step S907).
[0172] Specifically, the service development support system 100 refers to table 1000 of the error handling information 314 and acquires the ID of the identified error cause. The service development support system 100 refers to table 1010 of the error handling information 314 and searches for a record in which the acquired ID is set in cause ID 1012, and determines whether avoidance possible 1013 of the record is "possible". If the avoidance possible 1013 of the record is "possible", the service development support system 100 determines that the identified error cause can be avoided.
[0173] If the identified error cause cannot be avoided, the service development support system 100 ends the data search process.
[0174] If the identified error cause can be avoided, the service development support system 100 executes the avoidance process (step S908), and then ends the data search process.
[0175] For example, if the error is due to lack of access rights, the service development support system 100 may consider a workaround of granting access rights to the raw data or the duplicated data and performing the search again.
[0176] As described above, the service development support system 100 can provide the user with data according to the phase of the life cycle of the application.
[0177] The present invention is not limited to the above-mentioned embodiment, but includes various modified examples. For example, the above-mentioned embodiment describes the configuration in detail to easily explain the present invention, and the present invention is not necessarily limited to the configuration including all the described configurations. Also, it is possible to add, delete, or replace a part of the configuration of each embodiment with another configuration.
[0178] In addition, each of the above configurations, functions, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that realizes the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-mentioned embodiments, and the program code itself and the storage medium storing it constitute the present invention. Examples of storage media for supplying such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, etc.
[0179] Furthermore, the program code for realizing the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, perl, Shell, PHP, Python, Java (registered trademark), etc.
[0180] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed over a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read out and execute the program code stored in the storage means or storage medium.
[0181] In the above-mentioned embodiment, the control lines and information lines are shown as those considered necessary for the explanation, and not all the control lines and information lines are shown in the product. All the components may be connected to each other. [Explanation of symbols]
[0182] 100 Service development support system 101 Data Catalog Management System 102 Application Catalog Management System 103 Application Repository 104 Client terminals 105 Execution Platform 106 DBMS 107 API-GW 108 DBMS 110, 111, 112 Database 120 Development Environment Tools 200 calculator 201 Processor 202 Main storage 203 Secondary storage device 204 Network Interface 205 Input Device 206 Output Device 207 Bus 300 Data Catalog Collaboration Department 301 Application Catalog Integration Department 302 Data Requirements Management Department 303 Search Department 310 User management information 311 Operation log management information 312 Data Requirements Management Information 313 Intermediate Data Management Information 314 Error handling information 400 Data Catalog 500 Application Catalog 1100 users 1900, 2000 screen
Claims
1. A computer system connected to a database storing multiple types of data, comprising: A data catalog for managing items for searching the data stored in the database is accessible, retaining data requirement management information for managing requirement data associating application life cycle phases with data requirements; When a search request including search conditions is received, the data catalog is referenced to search for data that matches the search conditions from among the data stored in the database, and the data is presented to a user; When an output request including information on the data selected by the user and the phase is received, the data requirement management information is referenced to identify the requirement data corresponding to the phase included in the output request; A computer system which outputs usage data to be used in the phase included in the output request based on the selected data and the specified requirement data.
2. 2. The computer system of claim 1, Acquire an operation log relating to the development or operation of the application by a user with a high skill level; a computer system which generates the requirement data by analyzing the operation log and registers the requirement data in the data requirement management information;
3. 2. The computer system of claim 1, A computer system characterized in that the selected data is obtained from the database based on the specified requirement data, and output as the usage data.
4. 2. The computer system of claim 1, A computer system, characterized in that the selected data is obtained from the database based on the specified requirement data, and processed to generate the usage data.
5. 2. The computer system of claim 1, The data catalog includes information about users who have registered the data; The computer system comprises: Holding user management information for managing the skill levels of users; A computer system characterized in that, using the user management information, the data that satisfies the search conditions is searched for from among the data registered by users with high skill levels.
6. 2. The computer system of claim 1, Holding intermediate data management information for managing intermediate data that is generated or used in processing related to data registered in the data catalog and is not registered in the data catalog; referring to the intermediate data management information to identify the intermediate data related to the data that matches the search criteria; The computer system is characterized in that it presents to the user data that matches the search conditions and the identified intermediate data.
7. A data providing method executed by a computer system, comprising: The computer system comprises: Connect to a database that stores multiple types of data, A data catalog for managing items for searching the data stored in the database is accessible, retaining data requirement management information for managing requirement data associating application life cycle phases with data requirements; The data providing method includes: when the computer system receives a search request including search conditions, the computer system refers to the data catalog, searches for data that matches the search conditions from among the data stored in the database, and presents the data to a user; When the computer system receives an output request including information on the data selected by the user and the phase, the computer system refers to the data requirement management information to identify the requirement data corresponding to the phase included in the output request; A data providing method characterized by including a step in which the computer system outputs usage data to be used in the phase included in the output request based on the selected data and the identified requirement data.