Information processing system, and method or program

The information processing system automates the generation of service data models using templates and ETL processing, addressing high development costs and system integration challenges by reducing the need for manual customization and efficiently handling diverse introduction systems.

JP2025017269APending Publication Date: 2025-02-05HITACHI LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023120317
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-24
Publication Date
2025-02-05

Smart Images

  • Figure 2025017269000001_ABST
    Figure 2025017269000001_ABST
Patent Text Reader

Abstract

To reduce cost of generating various information related to a service-oriented data model, which may be one of the objectives of the present invention.SOLUTION: An intermediate data model construction unit 102 generates intermediate data model information 121 and intermediate data model ETL processing information 122 for each system classification of an installed system to be accessed, based on two types of templates 111 and 112 corresponding to the system classification and an installed system 162 included in the system classification. A service-oriented data model construction unit 103 generates service-oriented data model information 141 and service-oriented data model ETL processing information 142 for constructing a service-oriented database, based on the intermediate data model information 121 and intermediate data model ETL processing information 122 for each system classification, and two types of templates 131 and 132 for the service-oriented data model.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a technique for generating various information related to a service data model for constructing a service database. [Background technology]

[0002] FIG. 22 shows a conventional example related to a service-oriented database 814 (in the drawings, the term database is abbreviated to "DB"). For example, by using microservices techniques, it is possible to add new functions to an entire group of systems currently in operation (or to be introduced) without making large-scale modifications to the entire group of systems currently in operation. Here, when using the microservice 2201 in FIG. 22 to link and utilize information held by multiple introduced systems 162 among the introduced systems 162 that are in operation (or are scheduled to be introduced), it may become necessary to reconfigure the service-oriented data model 201 that should be embodied by the service-oriented database 814 in the service-oriented data warehouse 813 (the term data warehouse is abbreviated to "DWH" in the drawings), and then reconstruct the service-oriented database 814. In the conventional example, a developer 2202 individually and specifically executes system integration (SI) in response to the contents of a data model 201 for a service to be realized and the actual state of an introduction system 162 currently in operation (or to be introduced). Specifically, in step 2211 (the term step is abbreviated as "S" in the drawings), the developer 2202 grasps the specifications and data structure of each of the introduced systems 162 in operation (or to be introduced). In step 2212, the developer 2202 compares the service-oriented data model 201 to be realized with the data models that can be realized by each of the introduced systems 162 in operation (or to be introduced) to consider whether the service-oriented data model 201 can be realized. If it is determined that it can be realized, the developer 2202 determines how to realize the service-oriented data model 201 by using the information that can be provided by each of the introduced systems 162 in operation (or to be introduced). In step 2213, the developer performs development work for building the service-oriented data warehouse 813. This work includes code development for ETL processing 2203, which is processing for performing one or more of an extract process, a transform process, and a load process on information (for example, attribute information of records included in table 211) held by each of the currently operating (or planned to be introduced) introduced systems 162. Once the development is completed, the ETL processing 2203 is executed, and further, a process for implementing a database using the service-oriented data model 201 is performed, thereby making it possible to construct the service-oriented database 814.

[0003] Patent Document 1 discloses a prior art related to reducing the burden of designing a data model. The prior art disclosed in Patent Document 1 is premised on designing a data model by a method of preparing a standard data model in advance and then customizing the standard data model to create a customized model. The prior art updates the standard data model so that the difference between the multiple customized models already created and the standard data model becomes small. It is expected that the effort required to customize the updated standard data model will be less than the effort required to customize the standard data model before the update. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2023-3609 A Summary of the Invention [Problem to be solved by the invention]

[0005] As in the conventional example shown in FIG. 22, if a developer 2202 executes system integration (SI) individually and specifically in response to the contents of the service-oriented data model 201 to be realized and the actual state of the introduction system 162 currently in operation (or to be introduced), the costs associated with development (system integration (SI)) will be high every time the service-oriented data model 201 or the service-oriented database 814 is constructed. In the prior art disclosed in Patent Document 1, the developer must individually and specifically customize the difference between the desired data model (customized model) and the standard data model, which may increase the cost of development (system integration). In addition, the prior art has a problem in dealing with the diversity of the introduced system 162 in operation (or to be introduced) in the conventional example shown in FIG. 22.

[0006] In view of the above, one of the objectives of the present disclosure may be to reduce the cost of generating various information related to a service data model for constructing a service-oriented database. Another objective of the present disclosure may be to reduce the cost of generating various information related to a service data model for constructing a service-oriented database while dealing with the diversity of systems currently in operation (or to be introduced). [Means for solving the problem]

[0007] In order to achieve at least one of the above objects, the present disclosure may have the following features, for example. One aspect of the present disclosure is an information processing system. The information processing system includes an intermediate data model construction unit, a service-oriented data model construction unit, an intermediate data model template for each system classification of an introduced system, an intermediate data model ETL processing template for each system classification, a service-oriented data model template, and a service-oriented data model ETL processing template. The intermediate data model construction unit generates, for each system classification of the introduced systems accessed to obtain information for constructing a service-oriented database, intermediate data model information and intermediate data model ETL processing information corresponding to the system classification, based on an intermediate data model template and an intermediate data model ETL processing template corresponding to the system classification, and the introduced systems included in the system classification or information about the introduced systems, in order to realize an intermediate data model corresponding to the system classification. The service-oriented data model construction unit generates service-oriented data model information and service-oriented data model ETL processing information for constructing a service-oriented database based on the intermediate data model information and intermediate data model ETL processing information for each system classification, and the service-oriented data model template and service-oriented data model ETL processing template. Effect of the Invention

[0008] As described above, the present disclosure increases the degree of automation of the generation of service-oriented data model information and service-oriented data model ETL processing information by the functions of the intermediate data model construction unit and the service-oriented data model construction unit while taking into account the actual state of the introduced system, and therefore can reduce the cost of generating various information related to the service-oriented data model for constructing a service-oriented database. Also, as described above, the present disclosure handles intermediate data models for each system classification of the introduced system, and can reduce the cost of generating various information related to the service-oriented data model for constructing a service-oriented database while responding to the diversity of the introduced systems currently in operation (or to be introduced).

[0009] A method or program for implementing the same processing as that implemented by the above-mentioned information processing system can also achieve the same effects as the above-mentioned information processing system. Furthermore, if implemented in the form of a program, costs can be reduced in many cases. With a program, design changes regarding processing can be easily made. Other features that the present disclosure may have and the effects corresponding to these features will be disclosed in this specification, the claims, or the drawings. [Brief description of the drawings]

[0010] [Figure 1] 1 illustrates a functional configuration of an embodiment of the present disclosure. [Diagram 2] 1 shows an example of a service-oriented data model and an intermediate data model. [Diagram 3] 1 shows an example of a table structure indicated by a data model. [Figure 4] An example is shown in which some tables shown in the data model cannot be realized. [Diagram 5] 1 illustrates a computer architecture for implementing an embodiment of the present disclosure. [Figure 6] A simple example of a data model to be used in the explanation using FIGS. [Figure 7] 7 illustrates a functional configuration of an embodiment of the present disclosure when handling the data model of FIG. 6. [Figure 8] The functional configuration for constructing a database for services is shown below. [Figure 9] 4 shows a flowchart relating to the overall control unit. [Figure 10] 13 shows a flowchart relating to an intermediate data model construction unit. [Figure 11] Intermediate data model templates, etc. are shown. [Figure 12] Shows intermediate data model ETL processing templates, etc. [Figure 13] The flowchart for handling non-optional information is shown below. [Figure 14] 13 shows a flowchart relating to a service-oriented data model construction unit. [Figure 15] This section shows data model templates for services. [Figure 16] This shows data model ETL processing templates for services. [Figure 17] The structure of ETL processing information (program) is shown. [Figure 18] This shows the service-oriented data model information after DDL conversion. [Figure 19] 13 shows a flowchart of a modified example of reconstructing a data model. [Figure 20] 13 shows a variant having variant ETL processing information (programs). [Figure 21] 13 shows a flowchart relating to a modified example using attribute synonyms, etc. [Figure 22] 1 shows a conventional example of a service-oriented database. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, the embodiments of the present disclosure will be described in detail with reference to the drawings. Note that the embodiments described below do not limit the disclosure according to the claims, and all of the elements and combinations thereof described in the embodiments are not necessarily essential to the solution of the present disclosure. The following description and drawings are examples for explaining the present disclosure, and are omitted and simplified as appropriate for clarity of explanation. The present disclosure can be implemented in various other forms. Unless otherwise limited, each component may be singular or plural. The position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc. in order to facilitate understanding of the invention. For this reason, the present disclosure is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings. Each of the systems, devices, databases, data warehouses, or units of the present disclosure may be integrated as a single piece of hardware, or may be divided into multiple parts that work together to fulfill their roles. Several systems, devices, models, databases, data warehouses, or units may be integrated as hardware. Each of the systems, devices, or units may be realized by having a computer execute software (programs) (as in FIG. 5). Some of the functions of the system, device, or unit may be realized by hardware (e.g., hardwired logic or FPGA), and the remaining functions may be realized by executing software (programs). All of the functions of the system, device, model, or unit may be realized by hardware. Some or all of the steps of the processes shown in the flowcharts, etc. described in the present disclosure may be realized by hardware. One or more systems, devices, or units of the present disclosure may be realized using one or more hardware resources. For this purpose, each of the systems, devices, or units of the present disclosure may be realized virtually. For example, a virtual computer or container technique may be used. The program of the present disclosure may be included in the concept that generally includes software that constitutes a specific information processing system or its operating method according to the purpose of use by cooperation between software and hardware resources. In other words, the program of the present disclosure is not limited to a specific type or form of program. In addition, the program may be initially recorded in a compressed format. The use of the same reference numerals in multiple drawings indicates similar things. In the drawings showing the flowcharts described below, rectangular boxes indicate processing steps, and hexagonal boxes indicate conditional branch steps. In the drawings showing the flowcharts, "step" is abbreviated as "S".

[0012] 1. Functional configuration of the embodiment of the present disclosure Fig. 1 shows a functional configuration of an embodiment of the present disclosure. Note that not all of the functional configurations shown in Fig. 1 are essential. 1.1 Overview of Functional Configuration 1 shows an information processing system 100 according to the present disclosure. The information processing system 100 is for generating service-oriented data model information 141 and service-oriented data model ETL processing information 142 for constructing a service-oriented database 814 (that is, the service-oriented data model 201) based on the actual state of an introduction system 162 in operation (or to be introduced) and a service-oriented database 814 (that is, the service-oriented data model 201) to be realized. The information processing system 100 includes an intermediate data model construction unit 102 and a service-oriented data model construction unit 103. As already pointed out, these functional units may be realized by the information processing system 100 executing a program, or some or all of the functions may be realized by hardware. The information processing system 100 may include various templates. The information processing system 100 may include an intermediate data model template 111 for each system classification of the introduced system 162, and an intermediate data model ETL processing template 112 for each system classification of the introduced system 162. The information processing system 100 may include a service-oriented data model template 131 and a service-oriented data model ETL processing template 132. The above-mentioned various templates may be stored in various databases possessed by the information processing system 100, or may be stored in some kind of storage device even if not in the form of a database. The above-mentioned various templates may be stored in an external database or storage device with which the information processing system 100 can communicate. The introduced system 162 is a system that is an information source that acquires each piece of information shown in the service-oriented data model 201 in order to construct the service-oriented database 814 (that is, the service-oriented data model 201), and is either a system that has been introduced and is currently in operation, or a system that is scheduled to be introduced. In Fig. 22, the integrated core business system SAP (System Analyse und Programmentwicklung, a type of enterprise resource planning system ERP (Enterprise Resource Planning) developed by SAP SE, a company in the Federal Republic of Germany) and the integrated manufacturing execution management system FactRiSM (a type of manufacturing execution system MES (Manufacturing Execution System) developed by Hitachi, Ltd.) are examples of the introduced system 162. The system classification mentioned above refers to a classification of systems that can be the introduced system 162. An enterprise resource planning system ERP, a manufacturing execution system MES, and a system for performing supervisory control and data acquisition SCADA (Supervisory Control And Data Acquisition) shown in FIG. 22 are examples of the system classification.

[0013] 1.2. Overview of various templates 1.2.1. Overview of two templates for intermediate data models The intermediate data model template 111 corresponding to the system classification indicates a template of an intermediate data model realized by performing the ETL process 2203 on information held by a system (a system that can become the introduced system 162) included in the system classification. There may be differences in the intermediate data model that can be realized for each system included in the system classification. Therefore, in order to deal with these differences, the intermediate data model template 111 corresponding to the system classification may be a template including a part (e.g., table 211) that can be realized by any of the systems included in the system classification. In other words, the intermediate data model template 111 corresponding to the system classification may be a union template. Alternatively, the intermediate data model template 111 corresponding to the system classification may indicate an intermediate data model that can be realized by a specific system (e.g., a system with a large market share) in the system classification. A specific example of the intermediate data model template 111 is the common part 1101 in FIG. 11, and this specific example will be described later. The intermediate data model ETL processing template 112 corresponding to the system classification indicates a template of information that specifies the ETL processing 2203 that can be performed on information held by a system (a system that can become the introduced system 162) included in the system classification. There may be differences in the ETL processing specifications for each system included in the system classification. Therefore, in order to accommodate these differences, the intermediate data model ETL processing template 112 corresponding to the system classification may be a template including information that specifies the ETL processing (e.g., an ETL program) executed by one of the systems included in the system classification. In other words, the intermediate data model ETL processing template 112 corresponding to the system classification may be a union-like template. Alternatively, the intermediate data model ETL processing template 112 corresponding to a system classification may indicate information that specifies ETL processing for information held by a specific system (e.g., a system with a large market share) in the system classification. When an ETL program is implemented as information that specifies ETL processing, it is possible to reduce development costs by developing an ETL program corresponding to a specific system rather than developing a group of ETL programs to become the above-mentioned union-like template. If a system with a large market share is selected as the specific system, it is expected that even the intermediate data model ETL processing template 112 based on an ETL program corresponding to the specific system can realize an intermediate data model with a high probability. A specific example of the intermediate data model ETL processing template 112 is shown in FIG. 12, which will be described later. The intermediate data model template 111 and the intermediate data model ETL processing template 112 described above may exist for each system classification of a system that can become the introduced system 162. In the example of Fig. 22, there may be the intermediate data model template 111 and the intermediate data model ETL processing template 112 corresponding to each system classification including an enterprise resource planning system ERP, a manufacturing execution system MES, and a system SCADA that performs supervisory control and data acquisition. For example, if the system classification for which the intermediate data model template 111 and the intermediate data model ETL processing template 112 are to be provided is a system classification in which the systems included in the system classification are often actually the introduced systems 162, then the intermediate data model template 111 and the intermediate data model ETL processing template 112 developed in advance can be effectively utilized.

[0014] 1.2.2. Overview of two templates for service data models The service-oriented data model template 131 indicates a model (template) of the service-oriented data model 201. The service-oriented database 814 (that is, the service-oriented data model 201) to be realized may have a certain degree of breadth of specifications. Therefore, in order to accommodate the breadth of specifications, the service-oriented data model template 131 may be a template including any part (e.g., table 211) included in any of the assumed service-oriented data models 201. In other words, the service-oriented data model template 131 may be a union-like template. A specific example of the service-oriented data model template 131 is the common part 1501 in FIG. 15, and this specific example will be described later. The service-oriented data model ETL processing template 132 indicates a template of information that specifies ETL processing to be performed on information indicated by the intermediate data model for each system classification in order to construct a service-oriented database 814 (i.e., the service-oriented data model 201). The service-oriented database 814 (i.e., the service-oriented data model 201) to be realized may have a certain degree of specification range, and therefore there may be a range in which information indicated by the intermediate data model requires ETL processing. Therefore, the service-oriented data model ETL processing template 132 may have information that specifies ETL processing for any information indicated by the intermediate data model in order to accommodate the specification range. Alternatively, when the service-oriented data model template 131 is the above-mentioned union-like template, the service-oriented data model ETL processing template 132 may have information that specifies ETL processing for each piece of information indicated by the service-oriented data model template 131, using the intermediate data model as an information source. A specific example of the service-oriented data model ETL processing template 132 is shown in FIG. 16, which will be described later. By using the above-described service-oriented data model template 131 and service-oriented data model ETL processing template 132, the embodiment of the present disclosure can target as wide a range of service-oriented databases 814 (i.e., service-oriented data models 201) as possible to be realized.

[0015] 1.3. Overview of intermediate data model construction The intermediate data model construction unit 102 generates intermediate data model information and intermediate data model ETL processing information for realizing an intermediate data model corresponding to each system classification of the introduced system 162 that is accessed to obtain information for constructing the service-oriented database 814 (i.e., the service-oriented data model 201).

[0016] 1.3.1. Relationship between service-oriented data model and intermediate data model for each system classification Fig. 2 shows an example of the relationship between a service-oriented data model 201 and intermediate data models for each system classification. Fig. 2 shows an example in which the service-oriented data model 201 can be realized by performing ETL processing on the information indicated by an ERP intermediate data model 202 and an MES intermediate data model 203 as information sources. In the example of FIG. 2, the data model 201 for a service to be realized shows six tables 211 consisting of an item table, a production plan table, a sales table, a design table, an instruction table, and an inventory table, and shows that some of these tables have mutual relationships. In the example of FIG. 2, the ERP intermediate data model 202 shows a data model realized by performing ETL processing on information using the integrated enterprise resource planning system SAP as the introduced system 162 included in the enterprise resource planning system ERP as a system classification as an information source. In the example of FIG. 2, the ERP intermediate data model 202 shows three tables 211 consisting of an item table, a production plan table, and a sales table, and shows that some of these tables have mutual relationships. In the example of FIG. 2, the MES intermediate data model 203 shows a data model realized by performing ETL processing on information using the integrated manufacturing execution management system FactRiSM as the introduced system 162 included in the manufacturing execution system MES as a system classification as an information source. In the example of FIG. 2, the MES intermediate data model 203 shows four tables 211, consisting of a short schedule table, a design table, an instruction table, and an inventory table, and also shows that there are interrelationships between some of these tables. 2, each of the tables 211 indicated by the service-oriented data model 201 is either the table 211 indicated by the ERP intermediate data model 202 or the table 211 indicated by the MES intermediate data model 203. Any of the attributes of the records included in the short schedule table indicated by the MES intermediate data model 203 can be associated with any of the attributes of the records included in the production plan table.

[0017] 1.3.2. Table structure shown in the data model FIG. 3 shows examples of table structures indicated by various data models. The example of FIG. 3 corresponds to the example of the service-oriented data model 201 of FIG. 2. In the example of FIG. 3, each of the tables 211 includes records (or rows). Each of the records (rows) has information of one or more attributes 311 (or columns). In the example of FIG. 3, the records included in the item table 301 have information of four or more attributes 311 including an item ID, an item name, a price, and a design ID. The records included in the production plan table 302 have information of four or more attributes 311 including a plan ID, an item ID, a manufacturing period, and a delivery destination. The sales table 303 has information of three or more attributes 311 including a sales ID, a plan ID, and a sales record. The design table 304 has information of four or more attributes 311 including a design ID, a design name, (a pointer to) design document data, and (a pointer to) BOM (Bill Of Materials). The instruction table 305 has information on four or more attributes 311 including an instruction ID, a plan ID, a part ID, and a production period. The inventory table 306 has information on three or more attributes 311 including a part ID, a part name, and an inventory quantity. For any of the tables 211 shown in the data model, any of the attributes of the records included in the table 211 is a foreign key. In the example of FIG. 3, the design ID attribute in the item table 301, the item ID attribute in the production plan table 302, the plan ID attribute in the sales table 303, and the plan ID attribute and the part ID attribute in the instruction table 305 are foreign keys FK. If an attribute of a record included in a certain table is a foreign key and an attribute of a record included in another table is a primary key (corresponding to the foreign key), the value of the foreign key in the certain table may be any of the values ​​existing as a primary key in the other table. By setting the value of the foreign key as described above, it is possible to associate the tables. In FIG. 3, the open arrow indicates the relationship between the foreign key FK and the primary key. In the case of the table structure shown in the data model in FIG. 3, the data model can be realized by performing ETL processing on the information of each of the attributes 311 included in each of the tables 211 shown in the data model, using the introduced system 162 as a direct or indirect information source, and then setting a foreign key FK as necessary. The information of the foreign key FK may be obtained by ETL processing of information held by any of the information sources, or may be created appropriately when the data model is realized.

[0018] 1.3.3. Identify the system classification of the installed system to be accessed When the intermediate data model construction unit 102 generates intermediate data model information and intermediate data model ETL processing information for realizing an intermediate data model corresponding to each system classification of the introduced system 162, it may first determine which of the system classifications is to be processed by the intermediate data model construction unit 102. The decision-making entity that makes this decision may be the intermediate data model construction unit 102, or may be a functional unit other than the intermediate data model construction unit 102 (for example, the overall control unit 701 in FIG. 7 and FIG. 9). The decision-making entity may compare information (for example, the table 211 and the attribute 311) indicated by the service-oriented database 814 (that is, the service-oriented data model 201) to be realized with the intermediate data model templates 111 of the system classifications of the introduced system 162 in operation (or to be introduced), and determine what kind of combination of system classifications is expected to realize the service-oriented data model 201 by the intermediate data model templates 111 corresponding to the system classifications included in the combination. 2 will be used as an example to explain, if the service-oriented data model 201 to be realized is the service-oriented data model 201 shown in Fig. 2, the intermediate data model template 111 corresponding to the system classification of the enterprise resource planning system ERP has the same content as the ERP intermediate data model 202 shown in Fig. 2, and the intermediate data model template 111 corresponding to the system classification of the manufacturing execution system MES has the same content as the MES intermediate data model 203 shown in Fig. 2, the decision-making body may determine that the system classification of the enterprise resource planning system ERP and the system classification of the manufacturing execution system MES are targets for processing by the intermediate data model construction unit 102 in order to realize the service-oriented data model 201 to be realized. This is because each of the pieces of information (e.g., table 211 and attribute 311) indicated by the service-oriented data model 201 to be realized exists in either the intermediate data model template 111 corresponding to the system classification of the enterprise resource planning system ERP or the intermediate data model template 111 corresponding to the system classification of the manufacturing execution system MES. Incidentally, all of the system classifications of the introduced system 162 in operation (or to be introduced) may be subject to processing by the intermediate data model construction unit 102 without making the above-mentioned judgment itself. In this case, it is possible to eliminate the cost required for the above-mentioned judgment processing. (Instead, even if a system classification is subject to processing by the intermediate data model construction unit 102, there may be a case where the intermediate data model information 121 and intermediate data model ETL processing information 122 corresponding to that system classification are not used by the service-oriented data model construction unit 103.)

[0019] 1.3.4. Determine whether ETL processing is possible for information from the installed system For each system classification to be processed, the intermediate data model construction unit 102 determines whether or not ETL processing can be performed on the information indicated by the intermediate data model template 111 corresponding to that system classification, using an introduction system 162 currently in operation (or scheduled for introduction) included in that system classification as an information source. 2 as an example, the intermediate data model construction unit 102 determines whether or not ETL processing is possible for each piece of information indicated by the intermediate data model template 111 (same content as the ERP intermediate data model 202 in FIG. 2) corresponding to the enterprise resource planning system ERP as a system classification, using the introduced system 162 included in the enterprise resource planning system ERP as a system classification as an information source. Similarly, the intermediate data model construction unit 102 determines whether or not ETL processing is possible for each piece of information indicated by the intermediate data model template 111 (same content as the MES intermediate data model 203 in FIG. 2) corresponding to the manufacturing execution system MES as a system classification, using the introduced system 162 included in the manufacturing execution system MES as an information source. For example, assuming that the information to be subjected to ETL processing is the attribute 311 (column) of the record included in the table 211, and the introduced system 162 is the integrated enterprise resource planning system SAP included in the enterprise resource planning system ERP as a system classification, the intermediate data model construction unit 102 judges whether or not ETL processing can be performed on the information of the attribute 311 with the integrated enterprise resource planning system SAP as an information source for each of the attributes 311 of the record included in the table indicated by the intermediate data model template 111 corresponding to the enterprise resource planning system ERP. For example, assuming that the information to be subjected to ETL processing is the attribute 311 (column) of the record included in the table 211, and the introduced system 162 is the integrated manufacturing execution management system FactRiSM included in the manufacturing execution system MES as a system classification, the intermediate data model construction unit 102 judges whether or not ETL processing can be performed on the information of the attribute 311 with the integrated enterprise resource planning system FactRiSM as an information source for each of the attributes 311 of the record included in the table indicated by the intermediate data model template 111 corresponding to the manufacturing execution system MES. In order to determine whether or not ETL processing can be performed on information using the introduced system 162 as an information source, the intermediate data model construction unit 102 may actually access the introduced system 162 in operation and attempt ETL processing. For this attempt, the intermediate data model construction unit 102 may use the intermediate data model ETL processing template 112 corresponding to the system classification that includes the introduced system 162 to be used as the information source. For example, if the intermediate data model ETL processing template 112 has an ETL program for each piece of information (e.g., information of the attribute 311) to be subjected to ETL processing, the intermediate data model construction unit 102 may attempt to access the introduced system 162 using the ETL program. In order to determine whether or not ETL processing can be performed on information using the introduction system 162 as an information source, the intermediate data model construction unit 102 may determine whether or not ETL processing can be performed by referring to the information 161 related to the introduction system to be introduced. For example, if the intermediate data model ETL processing template 112 has an ETL program for each piece of information (e.g., information of the attribute 311) to be subjected to ETL processing, the intermediate data model construction unit 102 may determine whether or not ETL processing can be performed on information (e.g., information of the attribute 311) by referring to the ETL program and the information 161 related to the introduction system. If such a determination is made, the intermediate data model construction unit 102 can also determine whether or not ETL processing can be performed on information indicated by the intermediate data model ETL processing template 112 using the introduction system as an information source for an introduction system that is not yet in operation but is to be introduced. 2, the information to be subjected to the ETL process is the attribute 311 (column) of the record included in the table 211, and the introduced system 162 is the integrated enterprise resource planning system SAP included in the enterprise resource planning system ERP as a system classification, and the integrated manufacturing execution management system FactRiSM included in the manufacturing execution system MES as a system classification. Under this assumption, if the intermediate data model construction unit 102 can determine that the ETL process is possible for all the attributes 311 to be subjected to the ETL process, the intermediate data model construction unit 102 may include information (e.g., information on the table 211 and the attribute 311) shown in the intermediate data model template 111 corresponding to each of the system classifications to be processed, as it is, in the intermediate data model information 121 corresponding to the system classification. In this case, the intermediate data model construction unit 102 may include the information indicated in the intermediate data model ETL processing template 112 corresponding to each of the system classifications targeted for processing (for example, information regarding ETL processing for the information of attribute 311 (for example, an ETL program)) directly in the intermediate data model ETL processing information 122 corresponding to the system classification.

[0020] 1.3.5. What to do if ETL processing using the installed system as the information source is not possible Fig. 4 shows an example in which the intermediate data model construction unit 102 has determined that ETL processing is not possible for any information (for example, information of attribute 311). The example of Fig. 4 has roughly the same premise as the example of Fig. 2. However, the example of Fig. 4 has a premise that the introduced system 162 included in the manufacturing execution system MES as a system classification is another system other than the integrated manufacturing execution control system FactRiSM, and that ETL processing is not possible for any information of attribute 311 of a record included in an inventory table that uses the other system as an information source. For example, it may be assumed that the other system does not have inventory information. Under the above-mentioned premise, the intermediate data model construction unit 102 judges whether or not ETL processing is possible for the information of the attribute 311 with the other system as the information source for each attribute 311 of the record included in the table indicated by the intermediate data model template 111 corresponding to the manufacturing execution system MES as the system classification. Then, the intermediate data model construction unit 102 judges that ETL processing is not possible for the information of the attribute 311 for any of the attributes 311 included in the inventory table. The intermediate data model construction unit 102 may include a judgment result regarding the possibility of ETL processing for each piece of information (for example, the information of the attribute 311 or the table 211) in the intermediate data model information 121 as ETL possibility information 411 described later. By including such ETL possibility information 411 in the intermediate data model information 121, the possibility of ETL processing for the information with the introduced system 162 as the information source can be grasped for each piece of information (for example, the information of the attribute 311 or the table 211). In addition, when information for which ETL processing is not possible exists among the information included in table 211, it generally becomes impossible to realize the table 211 (except for cases where the function to be performed by table 211 is not a problem even if the information of attribute 311 for which ETL processing is not possible is removed.) When an unrealizable table 211 exists, it may be determined at that point that the intermediate data model or the service-oriented data model cannot be realized, and the processing of the entire information processing system 100 may be terminated. Alternatively, when an unrealizable table 211 exists, the intermediate data model 403 may be left to the service-oriented data model construction unit 103 for judgment while retaining the ETL feasibility information 411 indicating the existence of the unrealizable table 211 (or, in some cases, after deleting the unrealizable table 211 to create an intermediate data model 403). In this case, the intermediate data model construction unit 102 may include, in the intermediate data model ETL processing information 122, only information (e.g., ETL program) on the ETL processing for information that is determined to be capable of ETL processing, with the introduction system 162 as the information source, out of the information on the ETL processing (e.g., ETL program) included in the intermediate data model ETL processing template 112.

[0021] 1-3-6. Product of intermediate data model construction unit 102 By performing the above-mentioned processing, the intermediate data model construction unit 102 generates intermediate data model information 121 and intermediate data model ETL processing information 122 for realizing intermediate data models 202 and 203 corresponding to each system classification of the introduced system 162 accessed to obtain information for constructing the service-oriented database 814 (i.e., the service-oriented data model 201). To summarize the product again, the intermediate data model information 121 corresponding to the system classification has information on the intermediate data models 202 and 203 realized by ETL processing of the information, using the introduced system 162 included in the system classification as an information source. The intermediate data model information 121 may include ETL feasibility information 411 that is the result of the ETL processing feasibility judgment for each piece of information indicated by the intermediate data model template 111 (for example, information of the attribute 311 included in the table 211). Furthermore, the intermediate data model information 121 may have information on the data model after deleting a part (for example, the table 211) that is determined to be impossible to realize in accordance with the ETL processing feasibility judgment from the data model indicated by the intermediate data model template 111. The intermediate data model ETL processing information 122 corresponding to the system classification has information (e.g., an ETL program) that specifies ETL processing for information, with the introduction system 162 included in the system classification as an information source, when realizing the intermediate data models 202 and 203. The intermediate data model ETL processing information 122 corresponding to the system classification may have information (e.g., an ETL program) on ETL processing corresponding to information determined to be ETL processing possible (e.g., information of the attribute 311) in accordance with the determination of whether or not ETL processing is possible, among the information on ETL processing possessed by the intermediate data model ETL processing template 112, but may not have ETL processing (e.g., an ETL program) corresponding to information determined to be ETL processing impossible (e.g., information of the attribute 311). Since the intermediate data model construction unit 102 generates the above, it can accurately represent an intermediate data model that can be realized by performing ETL processing on information using the introduction system 162 as an information source, in line with the actual state of the introduction system 162 currently in operation (or to be introduced), and can provide information (ETL program) regarding the ETL processing used to realize the intermediate data model.

[0022] 1-4. Overview of the Service Data Model Construction Department The service-oriented data model construction unit 103 generates service-oriented data model information 141 and service-oriented data model ETL processing information 142 for constructing a service-oriented database 814 (that is, a service-oriented data model 201). To perform the above-mentioned generation processing, the service-oriented data model construction unit 103 uses a service-oriented data model template 131 and a service-oriented data model ETL processing template 132 in addition to intermediate data model information 121 and intermediate data model ETL processing information 122 for each system classification of the introduced system 162. Furthermore, the service-oriented data model construction unit 103 may use definition information 151 related to the service-oriented database.

[0023] 1.4.1. Determine whether to perform ETL processing on the information based on the intermediate data model The service-oriented data model construction unit 103 determines whether or not ETL processing can be performed on each piece of information indicated by the service-oriented data model template 131, using the intermediate data model for each system classification as an information source. The service-oriented data model construction unit 103 may perform the above-mentioned determination on the information indicated by the definition information 151 related to the service-oriented database to be realized, among the information indicated by the service-oriented data model template 131. A case will be described where the information indicated by the service-oriented data model template 131, or the information indicated by definition information 151 relating to a service-oriented database to be realized among the information indicated by the service-oriented data model template 131, is the service-oriented data model 201 in Fig. 2. The service-oriented data model construction unit 103 determines, for each piece of information indicated by the service-oriented data model 201, whether or not ETL processing can be performed on the information using either the ERP intermediate data model 202 or the MES intermediate data model 203 (these are data models indicated by the intermediate data model information 121 for each system classification) as an information source. For example, if the target of ETL processing is an attribute 311 (column) of a record included in table 211, the service-oriented data model construction unit 103 determines, for each attribute 311 of a record included in the table indicated by the service-oriented data model 201, whether or not ETL processing can be performed on the information of the attribute 311, using either the ERP intermediate data model 202 or the MES intermediate data model 203 as the information source. In order to determine whether or not ETL processing can be performed on information using the intermediate data model as an information source, the service-oriented data model construction unit 103 may actually access the intermediate data model that has been experimentally realized by the intermediate data model construction unit 102 and perform an ETL processing trial. For this trial, the service-oriented data model construction unit 103 may use the service-oriented data model ETL processing template 132. For example, if the service-oriented data model ETL processing template 132 has an ETL program (using the intermediate data model as an information source) for each piece of information (e.g., information of the attribute 311) that is the target of the ETL processing, the service-oriented data model construction unit 103 may use the ETL program to attempt to access the intermediate data model. In order to determine whether or not ETL processing can be performed on information using the intermediate data model as an information source, the service-oriented data model construction unit 103 may determine whether or not ETL processing can be performed by referring to the ETL feasibility information 411 that the intermediate data model information 121 may have and information on the feasible table 211 indicated by the intermediate data model information 121. For example, if the service-oriented data model ETL processing template 132 has an ETL program (using the intermediate data model as an information source) for each piece of information (e.g., information of the attribute 311) to be subjected to ETL processing, the service-oriented data model construction unit 103 may determine whether or not ETL processing can be performed on information (e.g., information of the attribute 311) by referring to the ETL program and the intermediate data model information 121 (and, in some cases, even the intermediate data model ETL processing information 122). By making such a judgment, even if the intermediate data model construction unit 102 does not attempt to realize the intermediate data model, the service-oriented data model construction unit 103 can determine whether or not to perform ETL processing on the information indicated by the service-oriented data model 201 (or the service-oriented data model template 131) using the intermediate data model as an information source. In the example of FIG. 2, when the service-oriented data model construction unit 103 determines that the ETL processing can be performed for all attributes 311 to be the targets of the ETL processing, the service-oriented data model construction unit 103 can determine that the entire service-oriented data model 201 to be realized can be realized. In this case, information indicated in the service-oriented data model 201 to be realized (e.g., information on the table 211 and the attributes 311) may be included as is in the service-oriented data model information 141. In this case, the service-oriented data model construction unit 103 may include information indicated in the service-oriented data model ETL processing template 132 (e.g., information on the ETL processing (using the intermediate data model as an information source) for the information on the attribute 311 (e.g., an ETL program)) that corresponds to information indicated in the service-oriented data model 201 to be realized (e.g., information on the attribute 311) in the service-oriented data model ETL processing information 142.

[0024] 1.4.2. What to do if ETL processing using an intermediate data model as the source of information is not possible A case where the service-oriented data model construction unit 103 determines that RTL processing (using the intermediate data model as an information source) is not possible for any of the information (e.g., information of attribute 311) indicated by the service-oriented data model 401 (or the data model indicated by the service-oriented data model template 131) will be described with reference to FIG. 4. 4 shows an example in which the service-oriented data model construction unit 103 determines that ETL processing (using the intermediate data model as an information source) for information of the attribute 311 included in the inventory table among the tables indicated by the service-oriented data model 401 (or the data model indicated by the service-oriented data model template 131) is not possible. In the example of Fig. 4, since it has already been determined that the inventory table indicated by the MES intermediate data model 403 (the intermediate data model indicated by the intermediate data model information 121 corresponding to the manufacturing execution system MES as a system classification) is not possible to realize, the service-oriented data model construction unit 103 also determines that the ETL processing for the information of the attribute 311 included in the inventory table, using the MES intermediate data model 403 as an information source, is not possible. In the example of Figure 4, the method by which the service-oriented data model construction unit 103 recognizes that the inventory table has not been realized in the MES intermediate data model 403 may be (1) accessing the intermediate data model that has been realized on a trial basis and recognizing that ETL processing cannot be performed on the information of attribute 311 included in the inventory table, (2) confirming that information that the inventory table has not been realized is recorded in the intermediate data model information 121 that represents the MES intermediate data model 403, or (3) confirming that the ETL feasibility information 411 recorded in the intermediate data model information 121 that represents the MES intermediate data model 403 indicates "ETL not possible" for the information of attribute 311 included in the inventory table, etc. The service-oriented data model construction unit 103 may include a determination result regarding the feasibility of ETL processing (using the intermediate data model as an information source) for each piece of information (for example, the information of attribute 311 or table 211) as later-described ETL feasibility information 411 in the service-oriented data model information 141. By including the ETL feasibility information 411 in the service-oriented data model information 141, it is possible to grasp, for each piece of information (for example, the information of attribute 311 or table 211), whether ETL processing for information using the intermediate data model as an information source is possible. Incidentally, when information contained in table 211 includes information for which ETL processing (using the intermediate data model as an information source) is not possible, it generally becomes impossible to realize the table 211 (except for cases where removing the information of attribute 311 for which ETL processing is not possible does not pose a problem in terms of the function that table 211 should fulfill). When an unrealizable table 211 exists, it may be determined at that point that the service-oriented data model cannot be realized and the processing of the entire information processing system 100 may be terminated. Alternatively, when an unrealizable table 211 exists, the service-oriented data model 401 may retain the ETL feasibility information 411 indicating the existence of the unrealizable table 211 (or, in some cases, may delete the unrealizable table 211 to create a service-oriented data model 401), and leave the decision to another functional unit (e.g., the overall control unit 701). In this case, the service-oriented data model construction unit 103 may include, in the service-oriented data model ETL processing information 142, only information (e.g., ETL program) on ETL processing for information that is determined to be capable of ETL processing, using the intermediate data model as an information source, out of information (e.g., ETL program) on ETL processing (using the intermediate data model as an information source) included in the service-oriented data model ETL processing template 132.

[0025] 1-4-3. Product of the service-oriented data model construction unit 103 By performing the above-mentioned processing, the service-oriented data model construction unit 103 generates service-oriented data model information 141 and service-oriented data model ETL processing information 142 for constructing the service-oriented database 814 (i.e., the service-oriented data model 201). Here, to summarize the product, the service-oriented data model information 141 has information on the service-oriented data model 201 realized by performing ETL processing on information with the intermediate data model for each system classification as an information source. The service-oriented data model information 141 may include ETL feasibility information 411, which is the result of determining whether or not ETL processing (with the intermediate data model as an information source) can be performed on the information, for each piece of information (for example, information on the attribute 311) indicated by the service-oriented data model 201 (or the service-oriented data model template 131). Furthermore, the service-oriented data model information 141 may have information on the data model after deleting a part (for example, table 211) determined to be impossible to realize in accordance with the determination of whether or not ETL processing (with the intermediate data model as an information source) can be performed from the data model indicated by the service-oriented data model 201 (or the service-oriented data model template 131). The service-oriented data model ETL processing information 142 has information (e.g., ETL program) that specifies ETL processing for information with the intermediate data model as an information source when constructing the service-oriented database 814 (that is, the service-oriented data model 201). The service-oriented data model ETL processing information 142 may have information (e.g., ETL program) on ETL processing (with the intermediate data model as an information source) corresponding to information (e.g., information of the attribute 311) for which it is determined that the ETL processing (with the intermediate data model as an information source) is possible, among information on ETL processing that the service-oriented data model ETL processing template 132 has, but may not have ETL processing (e.g., ETL program) (with the intermediate data model as an information source) corresponding to information (e.g., information of the attribute 311) for which it is determined that the ETL processing (with the intermediate data model as an information source) is impossible, in accordance with the determination of whether the ETL processing is possible or not. In this way, the service-oriented data model construction unit 103 can accurately represent a service-oriented data model that can be realized by performing ETL processing on information (using the intermediate data model as an information source) in accordance with the actual state of the introduction system 162 currently in operation (or to be introduced), and can provide information (ETL program) regarding the ETL processing (using the intermediate data model as an information source) used to realize the service-oriented data model.

[0026] The information processing system 100 according to the present disclosure has the above-described functional configuration, and therefore can provide the effects described in the above-described [Effects of the Invention]. The information processing system 100 of the present disclosure can appropriately handle various combinations of system classifications in one or more introduced systems 162 that are in operation (or are scheduled to be introduced). Furthermore, the information processing system 100 of the present disclosure is highly likely to be able to appropriately handle any of the systems included in the same system classification that are considered to be the introduced system 162. The information processing system 100 according to the present disclosure is provided with the service-oriented data model ETL processing template 132 in advance, and thus can provide information (e.g., an ETL program) related to ETL processing using the intermediate data model for each system classification as an information source for combinations of system classifications that are likely to occur in one or more introduced systems 162 in operation (or to be introduced). Therefore, the information processing system 100 according to the present disclosure can reduce the possibility that it will be necessary to develop information (e.g., an ETL program) related to ETL processing after the service-oriented database 814 (or the service-oriented data model 201) is constructed.

[0027] 2. Computer architecture for implementing embodiments of the present disclosure FIG. 5 illustrates a computer architecture for implementing an embodiment of the present disclosure. To realize the information processing system 100, an information processing device (e.g., a CPU, which may be one or more microprocessors) 501, a storage device (e.g., a memory) 502, a non-volatile recording medium (e.g., a non-volatile memory (e.g., a flash memory), a non-volatile disk device) 503, a drive for an external recording medium (e.g., a disk drive) 504, a display or output device (e.g., a display, a printer, a speaker) 506, an input device (e.g., a mouse, a keyboard, an imaging device, a sensor, a touch panel, a pointing device) 507, a communication device (e.g., a communication device for wired communication, a communication device for wireless communication, which may be a network interface device (NIC) that controls communication with other systems, devices or servers according to a predetermined protocol) 508, and some or all of an external input / output port 509 may be interconnected by an interconnection unit (e.g., a bus, a crossbar switch) 510. A program 520a (e.g., a program for realizing the functional configuration according to the present disclosure) and various information may be recorded in the non-volatile recording medium 503. As the various information, for example, various databases 521 or various information 522 may be recorded in the non-volatile recording medium 503. Alternatively, a part or all of the above-mentioned program or various information may be acquired (accessed) from outside of FIG. The external recording medium drive 504 can connect to an external recording medium (for example, a portable recording disk (DVD, etc.), an IC card, an SD card, a non-volatile memory (for example, a flash memory), a portable hard disk) 505. Note that a program 520a (for example, a program for realizing the functional configuration according to the present disclosure) and the above-mentioned various information may be transferred and stored from this external recording medium 505 to the non-volatile recording medium 503 or the storage device 502. The external recording medium 505 may be used to record programs and data handled in the information processing system 100. The external recording medium drive 504 and the external recording medium 505 may be connected to the information processing system 100 via a network. The program 520a (e.g., a program for realizing the functional configuration related to the present disclosure) and the various information described above may be provided via the communication device 508, the external input / output port 509 or the input device 507, and stored in the non-volatile recording medium 503 or the memory device 502. In order for the architecture of FIG. 5 to function as the information processing system 100, or each unit or part of each unit in the information processing system 100 (to execute one or a series of processes (steps)), the program 520a may be loaded into the storage device 502 (for example, from the non-volatile recording medium 503). The loaded program is indicated by 520b in FIG. 5. The information processing device 501 may then execute the program 520b (using various information present in the non-volatile recording medium 503, etc., as necessary). By executing the program 520b, the functions of the information processing system 100, or each unit or part of each unit in the information processing system 100 are realized (one or a series of processes (steps) are executed). At this time, various buffers 523 temporarily formed in the storage device 502 may also be used as appropriate.

[0028] The introduction system 162 in the present disclosure may be realized by the computer architecture shown in FIG. 5 or a variation thereof. Furthermore, the introduction system 162 in the present disclosure may be external to the computer architecture shown in Fig. 5 and may be capable of communicating with the computer architecture shown in Fig. 5. In this case, the computer architecture and the introduction system 162 shown in Fig. 5 may transmit and receive data via, for example, the communication device 508, the external input / output port 509, or the external recording medium drive 504 in Fig. 5.

[0029] 3. Detailed Description of an Embodiment of the Present Disclosure Using a Simple Example of a Data Model In the following, an embodiment of the present disclosure will be described in detail using a simple example of a data model. Note that it is not essential to realize all of the functional configurations described below and perform all of the processes, and an information processing system, method, or program may be used that realizes a part of the functional configurations described below and performs a part of the processes.

[0030] 3.1. Simple example of data model for explanation FIG. 6 shows a simple example of a data model that will be used to explain the embodiments of the present disclosure in detail below with reference to FIGS. In the following, we will take up an example where a service-oriented data model 601 to be realized is expressed only by an item table 611. As shown in Fig. 3, even in the case of a service-oriented data model consisting of multiple tables 211, realizing the data model basically boils down to performing ETL processing on the information of the attributes 311, with the introduction system 162 and the intermediate data model as information sources, for the attributes 311 of the records contained in each of the tables 211. Therefore, it is quite meaningful to consider the service-oriented data model consisting of one table 211 shown in Fig. 6. The item table 611, which is the only table included in the service-oriented data model 601 in Fig. 6, contains one or more records. Assume that the record has three attributes 311 (columns): item ID, price, and quantity in production. It is assumed that the introduced system 162 in operation, which is the information source of the information of these three attributes 311, is an integrated enterprise resource planning system SAP and an integrated manufacturing execution control system FactRiSM. The integrated enterprise resource planning system SAP is included in the system classification of an enterprise resource planning system ERP. The integrated manufacturing execution control system FactRiSM is included in the system classification of a manufacturing execution system MES. Therefore, in this example, as intermediate models for each system classification, an ERP intermediate data model 602, which is an intermediate data model corresponding to the enterprise resource planning system ERP, and an MES intermediate data model 603, which is an intermediate data model corresponding to the manufacturing execution system MES, are processed by the intermediate data model construction unit 102. In the example of Fig. 6, the ERP intermediate data model 602 consists of only one table, an ERP item table 612. It is assumed that the records included in the ERP item table 612 have two attributes 311 (columns) consisting of an item ID and a price. Also, in the example of Fig. 6, the MES intermediate data model 603 consists of only one table, an MES item table 613. It is assumed that the records included in the MES item table 613 have two attributes 311 (columns) consisting of an item ID and a quantity being manufactured. In the following, an embodiment of the present disclosure will be described in detail using a simple example shown in FIG.

[0031] 3.2. Functional configuration based on a simple example FIG. 7 shows the functional configuration of the embodiment of the present disclosure shown in FIG. 1 expressed according to the simple example shown in FIG. In the simple example shown in Fig. 6, the intermediate data model template 111, intermediate data model ETL processing template 112, intermediate data model information 121, and intermediate data model ETL processing information 122 are sufficient if they handle the one corresponding to the enterprise resource planning system ERP as a system classification and the one corresponding to the manufacturing execution system MES as a system classification. However, in Fig. 7, the intermediate data model ETL processing template 112 is prepared in advance for the integrated enterprise resource planning system SAP and the one corresponding to the integrated manufacturing execution management system FactRiSM. As already pointed out in the section "1. Outline of two types of templates related to intermediate data models in 1.2.1", the intermediate data model ETL processing template 112 corresponding to a system classification may be made to suit a specific system included in the system classification. 7 shows two data (files) as the service-oriented data model information 141. The reason why these two data (files) are shown is that, for convenience of explanation, in the embodiment of the present disclosure, the intermediate data model template 111, the intermediate data model information 121, and the service-oriented data model template 131 are in JSON format, whereas the table definition document obtained as the service-oriented data model information 141 is in DDL format. Therefore, in FIG. 7, it is shown that format conversion is performed from JSON format to DDL format at the stage of obtaining the service-oriented data model information 141. 7 shows an overall control unit 701 as a functional unit included in the information processing system 100, in addition to the intermediate data model construction unit 102 and the service-oriented data model construction unit 103. The processing performed by this overall control unit 701 will be described later.

[0032] 3.3. Building a database for services Fig. 8 shows a functional configuration for constructing a service-oriented database 814. The functional configuration shown in Fig. 8 may be realized by an information processing system 100 that realizes the functional configurations shown in Fig. 1 and Fig. 7. Alternatively, the functional configuration shown in Fig. 8 may be realized by an information processing system that is separate from the information processing system 100 that realizes the functional configurations shown in Fig. 1 and Fig. 7. This separate information processing system is referred to as a database construction information processing system 800 here. The database construction information processing system 800 constructs the service-oriented database 814 using, for example, the service-oriented data model information 141, the service-oriented data model ETL processing information 142, and the intermediate data model ETL processing information 122 for each service classification that are generated by the information processing system 100. 8, the information processing system 100 or the database construction information processing system 800 includes a service-oriented database construction unit 804. The service-oriented database construction unit 804 executes ETL processing on information using one or a plurality of introduced systems 162 as information sources, and constructs a service-oriented database 814. When constructing the service-oriented database 814, the service-oriented database construction unit 804 refers to the service-oriented data model information 141, the service-oriented data model ETL processing information 142, and the intermediate data model ETL processing information 122 for each system classification of the introduced systems 162. In the simple example shown in FIG. 6, the service-oriented database construction unit 804 refers to service-oriented data model information 141 (which is a table definition document) and service-oriented data model ETL processing information 142, and performs processing equivalent to ETL processing on information in which the attribute 311 is an item ID, information in which the attribute 311 is a price, and information in which the attribute 311 is the quantity being manufactured, with the ERP intermediate data model 602 and the MES intermediate data model 603 as information sources, to construct the service-oriented data model 601 (service-oriented database 814). Here, in order to realize processing equivalent to the ETL processing using the ERP intermediate data model 602 as an information source, the service-oriented database construction unit 804 performs ETL processing on information whose attribute 311 is an item ID and information whose attribute 311 is a price, using the integrated enterprise resource planning system SAP811 (database 821 therein), which is the introduced system 162, as an information source, while referring to the intermediate data model ETL processing information 122 corresponding to the enterprise resource planning system ERP as a system classification. Similarly, in order to realize processing equivalent to the ETL processing using the MES intermediate data model 603 as an information source, the service-oriented database construction unit 804 performs ETL processing on information whose attribute 311 is an item ID and information whose attribute 311 is the quantity being manufactured, using the integrated manufacturing execution management system FactRiSM 812 (database 822 therein), which is the introduced system 162, as an information source, while referring to the intermediate data model ETL processing information 122 corresponding to the manufacturing execution system MES as a system classification. Incidentally, since it is sufficient for the service-oriented database construction unit 804 to construct the service-oriented data model 601 (that is, the service-oriented database 814) as a product, the service-oriented database construction unit 804 does not need to actually realize the ERP intermediate data model 602 and the MES intermediate data model 603. As described later, if the service-oriented data model ETL processing information 142 contains import instruction information 1601, the service-oriented database construction unit 804 may perform processing by referring to the imported intermediate data model ETL processing information 122 while proceeding with the processing while referring to the service-oriented data model ETL processing information 142. As described above, the service-oriented database construction unit 804 can construct the service-oriented database 814 by appropriately utilizing the service-oriented data model information 141, the service-oriented data model ETL processing information 142, and the intermediate data model ETL processing information for each system classification 122. In addition, since the database construction information processing system 800, which is an information processing system for constructing this service-oriented database 814, can be separate from the information processing system 100 that generates various information for executing the construction of the service-oriented database 814, for example, the process of generating various information for executing the construction of the service-oriented database 814 can be executed in advance on the vendor side, and the various information can be distributed from the vendor side to the user side of the introduction system 162. In this way, the process and work modes leading up to the construction of the service-oriented database 814 can be flexibly determined. If the database construction information processing system that constructs this service-oriented database 814 is the same as the information processing system 100 that generates various information for executing the construction of the service-oriented database 814, it becomes possible to reconstruct the data model and database in accordance with the change in the configuration of the introduced system 162, as shown in the modified example (α) described later. In other words, the possibility of the continuous operation of the service-oriented database 814 is increased.

[0033] 3.4. Overall Control Unit Processing Fig. 9 shows a flowchart of the processing of the overall control unit 701 shown in Fig. 7. This flowchart can also be said to show a main routine of the processing of the embodiment of the present disclosure. In step 901 of FIG. 9, the overall control unit 701 acquires the definition information 151 relating to the service-oriented database 814 to be realized (constructed). 9, the overall control unit 701 judges whether the service-oriented data model template 131 is compatible with the service-oriented data model 601 embodied by the service-oriented database 814 indicated by the definition information 151. When making this judgment, the overall control unit 701 judges, for example, whether the service-oriented data model 601 (in the simple example of FIG. 6, a data model consisting of only an item table 611) is included in the data model indicated by the service-oriented data model template 131 (for example, whether an inclusion relationship is established for the types of tables and whether an inclusion relationship is also established for the interrelationships between the tables). If the judgment result of step 902 is positive, control proceeds to step 903. 9, the overall control unit 701 judges whether the intermediate data model template 111 for each system classification is compatible with the service-oriented data model 601 embodied by the service-oriented database 814 indicated by the definition information 151. When making this judgment, the overall control unit judges, for example, whether each of the pieces of information indicated by the service-oriented data model 601 (in the simple example of FIG. 6, a data model consisting only of the item table 611) (for example, information of the attribute 311. In the simple example of FIG. 6, the information of the attribute 311 of the record included in the item table 611, such as information of the item ID, information of the price, and information of the number of items being manufactured) can be associated with information indicated by the intermediate data model template 111 corresponding to any of the system classifications. In the simple example of FIG. 6, among the information of the attribute 311 indicated by the service-oriented data model 601, the information of the item ID is associated with both the information of the item ID indicated by the intermediate data model template 111 corresponding to the enterprise resource planning system ERP as a system classification and the information of the item ID indicated by the intermediate data model template 111 corresponding to the manufacturing execution system MES as a system classification. Similarly, the information of the price is associated with the information of the item indicated by the intermediate data model template 111 corresponding to the enterprise resource planning system ERP as a system classification. Furthermore, the information of the number of pieces being manufactured is associated with the information of the number of pieces being manufactured indicated by the intermediate data model template 111 corresponding to the manufacturing execution system MES as a system classification. If the determination result of step 903 is positive, the control proceeds to 904. If the determination result of step 902 is negative or the determination result of step 903 is negative, the overall control unit 701 determines that the service-oriented data model to be realized cannot be realized using the various existing templates, and ends the process by treating it as an error state. In step 904 of FIG. 9, the overall control unit 701 determines which system classification-corresponding intermediate data model template 111 is to be used to build a service-oriented data model. In other words, the overall control unit 701 selects which system classification-containing introduced system 162 is to be used as an information source for building a service-oriented data model (service-oriented database). The overall control unit 701 determines (selects) the system classification so that each piece of information indicated by the service-oriented data model (for example, information of attribute 311) corresponds to information indicated by one of the intermediate data model templates 111 of the selected system classification. In the simple example of FIG. 6, an enterprise resource planning system ERP and a manufacturing execution system MES are selected as system classifications, and it is determined that the intermediate data model templates 111 corresponding to these system classifications are to be used. 9, the overall control unit 701 operates the intermediate data model construction unit 102. The process performed by the intermediate data model construction unit 102 has already been described, but will be described again with reference to the flowchart of FIG. 9, the overall control unit 701 operates the service-oriented data model construction unit 103. The process performed by the service-oriented data model construction unit 103 has already been described, but will be described again using the flowchart in FIG. The process of step 907 in FIG. 9 may be performed immediately after the process of step 906 is completed, or may be performed some time after the process of step 906 is completed. 9, the overall control unit 701 (or the overall control unit 701 of the database construction information processing system 800 separate from the information processing system 100) operates the service-oriented database construction unit 804. The process performed by the service-oriented database construction unit 804 has already been described using FIG.

[0034] 3.5. Processing of intermediate data model construction part 10 shows a flowchart of the process of the intermediate data model constructor 102. The process of this flowchart may be started by step 905 in FIG. Below, we will explain each of the intermediate data model template 111, intermediate data model ETL processing template 112, intermediate data model information 121, and intermediate data model ETL processing information 122 dealt with in the flowchart using the simple example in Figure 6, and then explain each of the steps included in the flowchart shown in Figure 10.

[0035] 1. Examples of intermediate data model templates 11 shows an example of the intermediate data model template 111 and the intermediate data model information 121. Note that a common part 1101 is a part that can be included in both the intermediate data model template 111 and the intermediate data model information 121, and the remaining parts are parts that can be included only in the intermediate data model information 121. The example of FIG. 11 corresponds to the enterprise resource planning system ERP as a system classification in the simple example of FIG. 6. In the simple example of FIG. 6, the data models indicated by both the intermediate data model template 111 and the intermediate data model information 121 corresponding to the enterprise resource planning system ERP as a system classification indicate an ERP item table 612, which is a single table 211. The records included in the ERP item table 612 have attribute 311 information of item ID and attribute 311 information of price. Correspondingly, in FIG. 11, two attribute explanatory information 1102 (column explanatory information) are shown for the item table. One attribute explanatory information 1102 explains the attribute 311 (column) called item ID, and the other attribute explanatory information 1102 explains the attribute 311 (column) called price. The attribute description information 1102 may have the terms "name" indicating the name of the attribute, "type" indicating the variable type of the attribute, "options" indicating options, and "etl" indicating ETL processing for attribute information. The "etl" term is associated with the ETL processing information 1202 (ETL program) in the intermediate data model ETL processing template 112 or the intermediate data model ETL processing information 122. The common part 1101 may have optioning availability information 1103 corresponding to each table. The optioning availability information 1103 indicates whether or not a table corresponding to the optioning availability information 1103 (ERP product table 612 in Figs. 6 and 11) does not need to be included in the intermediate data model (ERP intermediate data model 602 in Figs. 6 and 11). When the table cannot be realized because ETL processing is not possible for any information of attributes 311 of a record included in the table corresponding to the optioning availability information 1103, the optioning availability information 1103 indicates whether or not it is permitted to continue processing using the intermediate data model without including the table in the intermediate data model. When the optioning availability information 1103 indicates that it is not permitted ("false" in Fig. 11), the inability to realize the table corresponding to the optioning availability information 110 indicates that the entire intermediate data model including the table cannot be realized, that is, processing using the intermediate data model cannot be continued. The option availability information 1103 may be provided for each attribute 311. In this case, if an attribute 311 in a table can be made optional, it is permissible not to include information about the attribute 311 in the table. In FIG. 11, the part other than the common part 1101 may not be included in the intermediate data model template 111, but may be included in the intermediate data model information 121. This part may include ETL availability information 411 for each attribute 311. The ETL availability information 411 for each attribute 311 indicates whether or not ETL processing is possible for the information of the corresponding attribute 311, with the introduction system 162 as the information source. In the example of FIG. 6 and FIG. 11, with the integrated enterprise resource planning system SAP as the introduction system 162 as the information source, information indicating whether ETL processing is possible for the information of the item ID and information indicating whether ETL processing is possible for the information of the price can be the ETL availability information 411 for each attribute 311. In the example of FIG. 6 and FIG. 11, ETL processing is possible for both the attributes 311 of the item ID and the price. If ETL processing is not possible for a certain attribute 311, this is indicated in the ETL feasibility information 411, and the intermediate data model information 121 does not need to include attribute description information 1102 corresponding to the attribute 311 for which ETL processing is not possible.

[0036] 2. Examples of intermediate data model ETL processing templates, etc. FIG. 12 shows an example of the intermediate data model ETL processing template 112 and the intermediate data model ETL processing information 122. The example in Fig. 12 corresponds to an enterprise resource planning system ERP as a system classification, and an integrated enterprise resource planning system SAP as an introduced system 162 (included in the ERP) in the simple example in Fig. 6. In the simple example in Fig. 6, the data models indicated by both the intermediate data model template 111 and the intermediate data model information 121 corresponding to the enterprise resource planning system ERP as a system classification indicate an ERP item table 612, which is a single table 211. The records included in the ERP item table 612 have item ID information in the attribute 311 and price information in the attribute 311. Correspondingly, two ETL processing information 1202 (ETL programs) are shown in Fig. 12. One ETL processing information 1202 (ETL program) indicates information (program) for performing ETL processing on information in the attribute 311 (column) called item ID, using the integrated enterprise resource planning system SAP as the introduced system 162 as an information source, and the other ETL processing information 1202 (ETL program) indicates information (program) for performing ETL processing on information in the attribute 311 (column) called price, using the integrated enterprise resource planning system SAP as the introduced system 162 as an information source. The ETL processing information 1202 may include a line including an "SQLtoSAP" statement indicating an extract process, and a "processing for obtained results" line indicating a transform process. The example of Fig. 12 shows that the intermediate data model ETL processing template 112 and the intermediate data model ETL processing information 122 include connection information 1201. In the simple example of Fig. 6, the connection information 1201 includes information for connecting to the integrated enterprise resource planning system SAP as the introduced system 162. By including the connection information 1201 in the intermediate data model ETL processing template 112 and the intermediate data model ETL processing information 122 together with the ETL processing information 1202 (ETL program), it becomes unnecessary to separately prepare the connection information 1201, and it is possible to simplify management of the group of programs for accessing the introduced system 162. Furthermore, when generating intermediate data model ETL processing information 122 using the intermediate data model ETL processing template 112, for an attribute 311 for which the ETL feasibility information 411 indicates that ETL processing is not possible, the ETL processing information 1202 (ETL program) for the information of that attribute 311 may not be included in the intermediate data model ETL processing information 122.

[0037] 3. Flowchart of the process of the intermediate data model construction unit The process of each step in FIG. 10 will be described with reference to the examples of the various templates and information in FIG. 11 and FIG. In step 1001 of Fig. 10, the intermediate data model construction unit 102 controls loop processing to perform a series of processes from step 1002 to step 1012 for each system classification S selected in step 904. In the simple example of Fig. 6, the intermediate data model construction unit 102 controls to perform a series of processes from step 1002 to 1012 when the system classification S is an enterprise resource planning system ERP and when the system classification S is a manufacturing execution system MES. In step 1002 of Figure 10, the intermediate data model construction unit 102 initializes the working variable T used to obtain intermediate data model information 121 corresponding to the system classification S, and the working variable U used to obtain intermediate data model ETL processing information 122 corresponding to the system classification S, to empty sets. In step 1003 of Figure 10, the intermediate data model construction unit 102 obtains an intermediate data model template 111 (e.g., the common part 1101 in Figure 11) corresponding to the system classification S and sets it as a working variable t, and obtains an intermediate data model ETL processing template (e.g., Figure 12) corresponding to the system classification S and sets it as a working variable u. 10, the intermediate data model construction unit 102 acquires optionability information for each table (for example, optionability information 1103 in FIG. 11) from the work variable t, and adds the optionability information to the work variable T. In addition, the intermediate data model construction unit 102 acquires connection information to the system classification S (for example, connection information 1201 in FIG. 12) from the work variable u, and adds the connection information to the work variable U. In step 1005 in FIG. 10, the intermediate data model construction unit 102 controls a loop process in which a series of processes from step 1006 to step 1010 are performed for each attribute c, which is one of the attributes 311 described in the working variable t. In step 1006 in FIG. 10, the intermediate data model construction unit 102 performs a trial of ETL processing using ETL processing information (ETL program) for the information of attribute c, among the ETL processing information (ETL program) held by the work variable u. 10, the intermediate data model construction unit 102 judges whether the ETL processing trial in step 1006 was successful. If the judgment result in step 1007 is positive, control transitions to step 1008. If the judgment result in step 1007 is negative, control transitions to step 1009. 10, in response to the successful attempt of ETL processing on the information of attribute c, the intermediate data model construction unit 102 adds attribute description information 1102 of attribute c (and ETL feasibility information 411 indicating that the successful attempt of ETL processing on the information of attribute c) to the work variable T. In addition, the intermediate data model construction unit 102 adds ETL processing information (ETL program) 1202 for the information of attribute c to the work variable U. After step 1008, control transitions to step 1010. 10, in response to the failure of the attempted ETL processing on the information of attribute c, the intermediate data model construction unit 102 adds ETL feasibility information 411, indicating that the attempted ETL processing on the information of attribute c has failed, to the work variable T. At this time, the intermediate data model construction unit 102 does not need to add ETL processing information (ETL program) 1202 for the information of attribute c to the work variable U. After step 1009, control transitions to step 1010. 10, the intermediate data model construction unit 102 judges whether or not the series of processes from step 1006 to step 1010 have been executed for all of the attributes 311 included in the working variable t. If the judgment result of step 1010 is positive, control transitions to step 1011. If the judgment result of step 1010 is negative, control transitions to step 1005. In step 1011 of FIG. 10, the intermediate data model construction unit 102 outputs the work variable T and the work variable U as intermediate data model information 121 and intermediate data model ETL processing information 122 of the system classification S, respectively. In step 1012 of Fig. 10, the intermediate data model construction unit 102 judges whether or not the series of processes from step 1002 to step 1012 has been executed for all of the system classifications selected in step 904. If the judgment result in step 1012 is positive, the process performed by the intermediate data model construction unit 102 (the process shown in the flowchart of Fig. 10 and the process shown in step 905 of Fig. 9. This process may be called the intermediate data model construction step) is completed. If the judgment result in step 1012 is negative, control transitions to step 1001.

[0038] 3.5.4. Decision on whether to make it optional Prior to performing the processing of step 1011 in FIG. 10, the intermediate data model construction unit 102 may perform a process of determining whether or not the intermediate data model has been realized based on the optionability information 1103 and the ETL feasibility information 411 contained in the intermediate data model information 121. Fig. 13 shows a flowchart of a process for determining whether a data model is successful or not based on the optioning availability information 1103 and the ETL availability information 411. The process in Fig. 13 may be performed by the intermediate data model construction unit 102 as a process for determining whether the intermediate data model corresponding to the system classification S is successful or not before the intermediate data model construction unit 102 performs the process of step 1011 in Fig. 10. Alternatively, the process in Fig. 13 may be performed by the service-oriented data model construction unit 103 as a process for determining whether the service-oriented data model is successful or not before the service-oriented data model construction unit 103 performs the process of step 1410 in Fig. 14 described later. In the following, an example in which the intermediate data model construction unit 102 executes the process of the flowchart in Fig. 13 will be described, but the service-oriented data model construction unit 103 can also perform a similar process. 13, the intermediate data model construction unit 102 determines whether the ETL feasibility information 411 included in the work variable T (work variable for generating the intermediate data model information 121) corresponding to the system classification S indicates that an attempt to perform ETL processing on the information of the attribute 311 has failed for any of the attributes 311. If the determination result of step 1301 is positive, control transitions to step 1302. If the determination result of step 1301 is negative, control transitions to step 1303. 13, the intermediate data model construction unit 102 determines whether there is a table that includes information of attribute 311, where the ETL feasibility information 411 included in the work variable T indicates that the ETL processing attempt has failed, and where optioning (preventing the corresponding table from being included in the data model) is set to not possible by the optioning feasibility information 1103 included in the work variable T. If the determination result in step 1302 is positive, control transitions to step 1304. If the determination result in step 1302 is negative, control transitions to step 1303. In step 1303 of Figure 13, the intermediate data model construction unit 102 decides to generate intermediate data model information 121 corresponding to system classification S so that a table containing information of attribute 311 for which the ETL processing attempt failed is not included in the intermediate data model corresponding to system classification S, and continues with subsequent processing. 13, the intermediate data model construction unit 102 determines that it has failed to realize the intermediate data model corresponding to the system classification S. The intermediate data model construction unit 102 or the overall control unit 701 may recognize that an error has occurred and terminate the entire process. The above has shown an example in which the intermediate data model construction unit 102 executes the processing of the flowchart in Figure 13, but when the service-oriented data model construction unit 103 executes the processing of the flowchart in Figure 13, the processing content is similar, except that the object to be accessed is service-oriented data model information 141 (or work variable V therefor) or service-oriented data model ETL processing information 142 (or work variable W therefor). By performing the above-described data model success / failure determination, it is possible to perform control that distinguishes between required tables and optional tables within the data model, depending on the setting of optionability information 1103 for each table included in the data model. Here, a required table is one that is determined to be unable to be realized unless the table is realized, and an optional table is one that may not be included in the data model even if the table is unable to be realized.

[0039] 3.6. Processing of data model construction for services 14 shows a flowchart of the process of the service-oriented data model constructing unit 103. The process of this flowchart may be started by step 906 in FIG. Below, we will explain each of the service-oriented data model template 131, service-oriented data model ETL processing template 132, service-oriented data model information 141, and service-oriented data model ETL processing information 142 dealt with in the flowchart using the simple example in Figure 6, and then explain each of the steps included in the flowchart shown in Figure 14.

[0040] 3.6.1. Examples of data model templates for services 15 shows an example of the service-oriented data model template 131 and the service-oriented data model information 141. Note that the common part 1501 is a part that can be provided by both the service-oriented data model template 131 and the service-oriented data model information 141, and the remaining part is a part that can be provided only by the service-oriented data model information 141. The example of FIG. 15 corresponds to the simple example of FIG. 6. In the simple example of FIG. 6, the system-oriented data model template 131 shows an item table 611, which is the only table 211. The records included in the item table 611 have attribute 311 information of item ID, attribute 311 information of price, and attribute 311 information of the number of units being manufactured. Correspondingly, in FIG. 15, three attribute explanatory information 1102 (column explanatory information) are shown for the item table. The first attribute explanatory information 1102 explains the attribute 311 (column) called item ID, the second attribute explanatory information 1102 explains the attribute 311 (column) called price, and the third attribute explanatory information 1102 explains the attribute 311 (column) called number of units being manufactured. The attribute description information 1102 may have the terms "name" indicating the name of the attribute, "type" indicating the variable type of the attribute, "options" indicating options, and "etl" indicating ETL processing for attribute information. The "etl" term is associated with the ETL processing information 1602 (ETL program) in the service-oriented data model ETL processing template 132 or the service-oriented data model ETL processing information 142. The common part 1501 may have optioning availability information 1103 corresponding to each table. The optioning availability information 1103 indicates whether or not the table corresponding to the optioning availability information 1103 (item table 611 in Figs. 6 and 15) does not need to be included in the service-oriented data model (service-oriented data model 601 in Figs. 6 and 15). When the table cannot be realized because ETL processing is not possible for any of the attributes 311 of the records included in the table corresponding to the optioning availability information 1103, the optioning availability information 1103 indicates whether or not it is permitted to continue processing using the service-oriented data model without including the table in the service-oriented data model. When the optioning availability information 1103 indicates that it is not permitted ("false" in Fig. 15), the inability to realize the table corresponding to the optioning availability information 110 indicates that the entire service-oriented data model including the table cannot be realized, that is, it indicates that processing using the service-oriented data model cannot be continued. The optionability information 1103 may be provided for each attribute 311. In this case, if an attribute 311 in a table can be made optional, it is permissible not to include information about the attribute 311 in the table. In FIG. 15, the part other than the common part 1501 may not be included in the service-oriented data model template 131, but may be included in the service-oriented data model information 141. This part may include ETL availability information 411 for each attribute 311. The ETL availability information 411 for each attribute 311 indicates whether or not ETL processing is possible for the information of the corresponding attribute 311 with the intermediate data model as the information source. In the example of FIG. 6 and FIG. 15, the ETL availability information 411 for each attribute 311 may include information indicating whether or not ETL processing is possible for the information of the item ID with the ERP intermediate data model 602 and the MES intermediate data model 603 as the information source, information indicating whether or not ETL processing is possible for the information of the price with the ERP intermediate data model 602 as the information source, and information indicating whether or not ETL processing is possible for the information of the number of items being manufactured with the MES intermediate data model 603 as the information source. In the example of FIG. 6 and FIG. 15, ETL processing is possible for the three attributes 311 consisting of the item ID, the price, and the number of items being manufactured. If ETL processing is not possible for a certain attribute 311, this is indicated in the ETL feasibility information 411, and the service-oriented data model information 141 does not need to include attribute description information 1102 corresponding to the attribute 311 for which ETL processing is not possible.

[0041] 3.6.2. Examples of data model ETL processing templates for services FIG. 16 shows an example of the service-oriented data model ETL processing template 132 and the service-oriented data model ETL processing information 142 (before conversion to DDL). The example of FIG. 16 corresponds to the simple example of FIG. 6. In the simple example of FIG. 6, the data models indicated by both the system-oriented data model template 131 and the system-oriented data model information 141 indicate an item table 611, which is the only table 211. The records included in the item table 611 have attribute 311 information of item ID, attribute 311 information of price, and attribute 311 information of the number of items being manufactured. Correspondingly, four ETL processing information 1602 (ETL programs) are shown in FIG. 16. The first ETL processing information 1602 (ETL program) indicates information (program) for performing ETL processing on information of the attribute 311 (column) called item ID, using the ERP intermediate data model 602 as an information source. The second ETL processing information 1602 (ETL program) indicates information (program) for performing ETL processing on information of the attribute 311 (column) called price, using the ERP intermediate data model 602 as an information source. The third ETL processing information 1602 (ETL program) indicates information (program) for performing ETL processing on information in the attribute 311 (column) called item ID, using the MES intermediate data model 603 as an information source. The fourth ETL processing information 1602 (ETL program) indicates information (program) for performing ETL processing on information in the attribute 311 (column) called quantity in production, using the MES intermediate data model 603 as an information source. The ETL processing information 1602 may include a line for "processing for acquired results" indicating a process to transform. The example of Fig. 16 shows that the service-oriented data model ETL processing template 132 and the service-oriented data model ETL processing information 142 include import instruction information 1601. In the simple example of Fig. 6, the import instruction information 1601 may include information with content instructing to import the intermediate data model ETL processing information 122 corresponding to an enterprise resource planning system ERP as a system classification and the intermediate data model ETL processing information 122 corresponding to a manufacturing execution system MES as a system classification. The existence of the import instruction information 1601 allows the ETL processing information 1602 (ETL program) to have a command for the extraction process as a command that uses the imported information (intermediate data model ETL processing information 122). In the example of FIG. 16, for example, the ETL processing information 1602 (ETL program) for performing ETL processing on the information of the product ID with the ERP intermediate data model 602 as the information source has a command of "ret=ERP.product_product ID()". On the other hand, the import instruction information 1601 has an import statement of "import ERP_intermediate data model ETL processing information as ERP". Therefore, the above-mentioned command uses the ETL processing information 1202 (ETL program) of "product_product ID()" included in "ERP_intermediate data model ETL processing information (.python)".

[0042] 17 shows the structure of ETL processing information (ETL program). In the structure 1700 of the ETL processing information (ETL program), the service-oriented data model ETL processing information 142 and a library folder may exist in parallel in a folder for storing the ETL processing information (ETL program). The intermediate data model ETL processing information 122 for each system classification may exist in parallel in the library folder. There is a mutual relationship in which the intermediate data model ETL processing information 122 for each system classification is imported into the service-oriented data model ETL processing information 142 by the import instruction information 1601 described in the service-oriented data model ETL processing information 142. By utilizing the import instruction information 1601, it is possible to realize hierarchical ETL processing information (ETL program) for realizing the intermediate data model and ETL processing information (ETL program) for realizing the service-oriented data model, corresponding to the hierarchical data model of the intermediate data model and the service-oriented data model. Furthermore, by constructing the service-oriented data model 201 or 601 (that is, the service-oriented database 814) using the hierarchical ETL processing information (ETL program) by the import instruction information 1601, during actual construction, the intermediate data model for each system classification is not explicitly realized, and the service-oriented data model 201 or 601 (that is, the service-oriented database 814) can be constructed using one or a plurality of introduced systems 162 as information sources. Furthermore, when generating service-oriented data model ETL processing information 142 using the service-oriented data model ETL processing template 132, ETL processing information (ETL program) for information of attribute 311 for which ETL processing is not possible as indicated by the ETL feasibility information 411 may not be included in the service-oriented data model ETL processing information 142.

[0043] 3.6.3. Example of data model information for services after conversion to DDL format Fig. 18 shows a table definition document 1801 after the service-oriented data model information 141 is converted from the JSON format shown in Fig. 16 to the DLL format. In this way, the format of the service-oriented data model information 141 may be appropriately converted according to the specifications of the process of constructing a database performed by the service-oriented database construction unit 804.

[0044] 3-6-4. Flowchart of the process of the service data model construction unit The process of each step in FIG. 14 will be described with reference to the examples of the various templates and information in FIGS. In step 1401 in FIG. 14, the service-oriented data model construction unit 103 acquires the intermediate data model information 121 and the intermediate data model ETL processing information 122 for each system classification S. In step 1402 of FIG. 14, the service-oriented data model construction unit 103 obtains a service-oriented data model template 131 (for example, the common part 1501 of FIG. 15) and sets it as a working variable v, and obtains a service-oriented data model ETL processing template 132 (for example, FIG. 16) and sets it as a working variable w. 14, the service-oriented data model construction unit 103 initializes a work variable V used to obtain service-oriented data model information 141, and then adds optionability information 1103 for each table included in the work variable v to the work variable V. In addition, the service-oriented data model construction unit 103 initializes a work variable W used to obtain service-oriented data model ETL processing information 142, and then adds import instruction information 1601 included in the work variable w to the work variable W. In step 1404 of FIG. 14, the service-oriented data model construction unit 103 controls a loop process in which a series of processes from step 1405 to step 1409 are performed for each attribute c, which is each of the attributes 311 described in the working variable v (or each of the attributes 311 included in the service-oriented data model to be realized). In step 1405 in FIG. 14, the service-oriented data model construction unit 103 performs a trial of ETL processing using ETL processing information (ETL program) for the information of attribute c, among the ETL processing information (ETL program) held by the work variable w. 14, the service-oriented data model construction unit 103 judges whether the ETL processing trial in step 1405 was successful. If the judgment result in step 1406 is positive, the control transitions to step 1407. If the judgment result in step 1406 is negative, the control transitions to step 1408. 14, in response to the successful attempt of ETL processing on the information of attribute c, the service-oriented data model construction unit 103 adds attribute description information 1102 of attribute c (and ETL feasibility information 411 indicating that the successful attempt of ETL processing on the information of attribute c) to the work variable V. In addition, the service-oriented data model construction unit 103 adds ETL processing information (ETL program) 1602 for the information of attribute c to the work variable W. After step 1407, control transitions to step 1409. 14, in response to the failure of the attempt to perform ETL processing on the information of attribute c, the service-oriented data model construction unit 103 adds ETL feasibility information 411 indicating that the attempt to perform ETL processing on the information of attribute c has failed to the work variable V. At this time, the service-oriented data model construction unit 103 does not need to add ETL processing information (ETL program) 1602 for the information of attribute c to the work variable W. After step 1408, control transitions to step 1409. 14, the service-oriented data model construction unit 103 judges whether or not the series of processes from step 1405 to step 1409 have been executed for all attributes 311 included in the working variable v (or attributes 311 included in the data model for the service to be realized). If the judgment result in step 1409 is positive, control transitions to step 1410. If the judgment result in step 1409 is negative, control transitions to step 1404. In step 1410 of FIG. 14, the service-oriented data model construction unit 103 performs a format conversion process to convert the service-oriented data model information in JSON format (for example, FIG. 15) included in the work variable V into a DLL format (for example, FIG. 18). The service-oriented data model construction unit 103 stores the table definition document 1801 after the format conversion in the work variable V (or another work variable V'). Note that, before executing this step 1410, the service-oriented data model construction unit 103 may determine whether the service-oriented data model is successful by executing the process of the flowchart shown in the above-mentioned FIG. 13. When the success or failure of the service-oriented data model is determined, the process from step 1410 onward in FIG. 14 may be performed when the process reaches step 1303. 14, the service-oriented data model construction unit 103 outputs the working variable V (V') and the working variable W as service-oriented data model information 141 and service-oriented data model ETL processing information 142, respectively. This completes the process performed by the service-oriented data model construction unit 103 (the process shown in the flowchart in FIG. 14 and the process shown in step 906 in FIG. 9. This process may be called a service-oriented data model construction step).

[0045] 4.Other (variations) The present disclosure is not limited to the above-described embodiment, but includes various modifications. A part of the configuration or processing of the embodiment may be replaced with the configuration or processing of another conceivable embodiment. The configuration or processing of the embodiment may be added to the configuration or processing of another conceivable embodiment. For example, the present disclosure may have the following modified embodiments.

[0046] (α) Reconstruction of data model or database FIG. 19 shows a flowchart of a modified process for reconstructing a data model or a database. In step 1901 of Fig. 19, the overall control unit 701 judges whether or not it has been found that the configuration of the introduced system 162 has been changed. Examples of cases in which the configuration of the introduced system 162 has been changed include, but are not limited to, a case in which any of the introduced systems 162 that were in operation is no longer in operation, a case in which a new system is added as an introduced system 162 in operation, a case in which an introduced system 162 included in a certain system classification has been replaced, and a case in which a specification change (version upgrade) has been made to any of the introduced systems 162 in operation. If the judgment result in step 1901 is positive, control transitions to step 1903. If the judgment result in step 1901 is negative, control transitions to step 1902. In step 1902 in Fig. 19, the overall control unit 701 judges whether a predetermined time has elapsed since the last time the processes of steps 905 and 906 in Fig. 9 were performed, or the last time the process of step 907 was performed. In other words, the overall control unit 701 judges whether a predetermined time has elapsed based on either the last time the service-oriented data model information 141, the service-oriented data model ETL processing information 142, the intermediate data model information 121, and the intermediate data model ETL processing information 122 for realizing the service-oriented data model were generated, or the last time the service-oriented database 814 was constructed. If the judgment result in step 1902 is positive, the control transitions to step 1903. If the judgment result in step 1902 is negative, the control transitions to step 1901. In step 1903 in Fig. 19, overall control unit 701 again executes the process of the flowchart shown in Fig. 9. Here, overall control unit 701 may execute the process of step 907 together with the processes of steps 905 and 906 in Fig. 9. Alternatively, overall control unit 701 may execute the process of step 907 after a time interval. Furthermore, if, as a result of executing the processing of step 1903, there are any changes in the intermediate data model information 121, the intermediate data model ETL processing information 122, the service-oriented data model information 141, and the service-oriented data model ETL processing information 142 compared to before executing step 1903, the overall control unit 701 may notify the user of the information processing system 100, etc., of the existence of changes and the contents of the changes using the display or output device 506 in Figure 5. The above modification allows the construction of the service-oriented database 814 in accordance with changes in the actual state of the installation system 162 during operation. For example, in a case where ETL processing of the information of the attribute 311 is no longer possible for any of the attributes 311 due to a change in the configuration of the installation system 162, when the data model or database is reconstructed as described above, it may become possible to perform ETL processing of the information of the attribute 311 again. In this way, the above modification helps to maintain constant updates of the information in the service-oriented database 814.

[0047] (β) Multiple ETL processing information (ETL programs) for the same attribute FIG. 20 shows a modified example having a plurality of types of ETL processing information (ETL programs) for ETL processing of any of the information, with the introduction system 162 as the information source. 20 shows a modified example of the intermediate data model ETL processing template 112 corresponding to the integrated core business system SAP as the introduced system 162 included in the enterprise resource planning system ERP as the system classification. FIG. 20 shows that there are two types of ETL processing information (ETL program) for information in which the attribute 311 is an item ID and information in which the attribute 311 is a price, that is, one shown as 2002 and a variant shown as 2003 (three or more types may exist). The intermediate data model construction unit 102 may select one of the above two (or three or more) types of ETL processing information (ETL program) that has been successfully tried in ETL processing, and include the selected ETL processing information (ETL program) in the intermediate data model ETL processing information 122. The intermediate data model ETL processing template 112 shown in FIG. 20 may further include entry processing information 2004 (entry program). When performing a trial of ETL processing for each of the above two (or three or more) types of ETL processing information (ETL programs), the intermediate data model construction unit 102 may use the entry processing information 2004 (entry program). The entry processing information 2004 (entry program) exemplified in FIG. 20 first executes a trial of ETL processing using the ETL processing information 2002 (ETL program). Then, if the result of the trial of ETL processing using the ETL processing information 2002 (ETL program) is a failure (if the return value ret is an error), the entry processing information 2004 (entry program) executes a trial of ETL processing using the variant ETL processing information 2003 (ETL program). The intermediate data model construction unit 102 may remove the number indicating the type number of the ETL processing information in the def statement for the ETL processing information (ETL program) selected to be included in the intermediate data model ETL processing information 122, between the ETL processing information 2002 and the variant ETL processing information 2003 (for example, if the number is "def item_price1():", it may be changed to "def item_price():"), and then include the selected ETL processing information (ETL program) in the intermediate data model ETL processing information 122. The above modification example can increase the number and ratio of information (e.g., information of attribute 311) for which the ETL process attempt is successful among information (e.g., information of attribute 311) included in the intermediate data model when attempting to realize an intermediate data model for each system classification. In other words, the above modification example can increase the probability of successful realization of the intermediate data model.

[0048] (γ) Handling synonyms and similar terms in the names of information processed by ETL Fig. 21 shows a modified example of handling synonyms or similar words for the name of information when performing trial ETL processing on information with the introduction system 162 as the information source. Note that in Fig. 21, the information on which the trial ETL processing is performed is the information of attribute 311, but the information on which the ETL processing is performed is not limited to the information of attribute 311. 21, the information processing system 100 may include a data set of a variation dictionary related to the name of information (e.g., the information of attribute 311). Alternatively, the information processing system 100 may be able to access the data set of the variation dictionary. The data set of the variation dictionary provides synonyms or similar words for the name of information related to information (e.g., the information of attribute 311) that substantially indicates the same thing or similar things. Fig. 21 shows a modified example of step 1006 (and step 1007) in the flowchart shown in Fig. 10. Steps 2101 to 2104 in Fig. 21 are included in the modified example of step 1006. In step 2101 of Figure 21, the intermediate data model construction unit 102 attempts ETL processing for attribute c using ETL processing information (ETL program) for the information of attribute c from the ETL processing information (ETL program) held by the working variable u that incorporates the contents of the intermediate data model ETL processing template 112. 21, the intermediate data model construction unit 102 judges whether or not the ETL processing trial in step 2101 was successful. Alternatively, the intermediate data model construction unit 102 may judge whether or not information on the name of attribute c exists in the introduced system 162. If the judgment result in step 2102 is positive, control transitions to step 1007. If the judgment result in step 2012 is negative, control transitions to step 2103. 21, since the ETL process trial was not successful with the name of attribute c, the intermediate data model construction unit 102 uses the data group of the above-mentioned variation dictionary related to the name of the attribute to identify synonyms or similar words of the name of the information of attribute c. Here, the attribute indicated by the name of the synonym or similar word is defined as attribute c'. 21, the intermediate data model construction unit 102 rewrites the ETL processing information (ETL program) for the information of attribute c, out of the ETL processing information (ETL processing program) held by the working variable u that incorporates the contents of the intermediate data model ETL processing template 112, so that the name of the attribute corresponds to attribute c', or acquires ETL processing information (ETL program) for the information of attribute c'. Then, the intermediate data model performs a trial ETL process for attribute c' using the ETL processing information (ETL program) for the information of attribute c' obtained by rewriting or acquiring. 21, the intermediate data model construction unit 102 judges whether the ETL process attempt for either attribute c or attribute c' in step 1006 (variant) was successful. After this, the process is generally similar to the process flowchart shown in FIG. 10, except that there are some places where attribute c' should be handled instead of attribute c. The above modified example can increase the probability of successfully realizing an intermediate data model even when there is variation in the spelling of the name of information (e.g., spelling variation such as "goods" and "product" for the name of attribute 311) for information (e.g., information of attribute 311) that essentially indicates the same thing or similar things among multiple systems included in the system classification.

[0049] (δ) Variations in the construction of intermediate data models In the above embodiment, the intermediate data model construction unit 102 performs processing on the data model indicated by the intermediate data model template 111 corresponding to the system classification. Here, the intermediate data model construction unit 102 may process only the tables 211 and attributes 311 necessary for the data model for the service to be realized, among the tables 211 and attributes 311 included in the data model indicated by the intermediate data model template 111. The above modification can increase the success rate of realizing the intermediate data model in the intermediate data model construction unit 102 .

[0050] The technical matters described in each of the embodiments of the present disclosure and the modified examples of the embodiments described above can be combined as appropriate as long as no technical contradiction occurs.

Claims

1. An information processing system, the information processing system includes an intermediate data model construction unit, a service-oriented data model construction unit, an intermediate data model template for each system classification of an introduced system, an intermediate data model ETL processing template for each system classification, a service-oriented data model template, and a service-oriented data model ETL processing template; the intermediate data model construction unit generates, for each system classification of an introduced system accessed to obtain information for constructing a service-oriented database, intermediate data model information and intermediate data model ETL processing information corresponding to the system classification, for realizing an intermediate data model corresponding to the system classification, based on the intermediate data model template and the intermediate data model ETL processing template corresponding to the system classification, and the introduced system or information about the introduced system included in the system classification; The service-oriented data model construction unit generates service-oriented data model information and service-oriented data model ETL processing information for constructing the service-oriented database based on the intermediate data model information and the intermediate data model ETL processing information for each system classification, and the service-oriented data model template and the service-oriented data model ETL processing template.

2. 2. The information processing system according to claim 1, The intermediate data model information corresponding to the system classification has information regarding an intermediate data model realized by ETL processing of information held by the introduced system included in the system classification, The intermediate data model ETL processing information corresponding to the system classification has information that specifies ETL processing for information held by the introduced system included in the system classification when realizing the intermediate data model, The service-oriented data model information has information regarding a service-oriented data model for constructing the service-oriented database, An information processing system, wherein the service-oriented data model ETL processing information has information that specifies ETL processing for information represented by the intermediate data model, which is performed to construct the service-oriented database.

3. 3. The information processing system according to claim 2, the intermediate data model construction unit, for each piece of information indicated in the intermediate data model template, determines whether or not ETL processing is possible for the piece of information, using the introduction system as an information source, and includes a determination result in the intermediate data model information as ETL feasibility information for the piece of information; The service-oriented data model construction unit determines, for each piece of information indicated in the service-oriented data model template, whether ETL processing is possible for the information, using the intermediate data model as an information source, and includes the determination result in the service-oriented data model information as ETL feasibility information for the information.

4. 4. The information processing system according to claim 3, each of the intermediate data model and the service-oriented data model describing one or more tables; each of the intermediate data model template, the intermediate data model information, the service-oriented data model template, and the service-oriented data model information has, for each of the tables, optionability information indicating whether the intermediate data model or the service-oriented data model does not need to include the table; the intermediate data model construction unit, if there is no table indicated by the intermediate data model template, in which the optioning availability information relating to the table does not indicate that the intermediate data model does not need to include the table, and the ETL availability information relating to the information indicated by the table indicates that ETL processing is not possible for any of the information included in the table, does not include in the intermediate data model a table in which the ETL availability information includes information indicating that ETL processing is not possible; The service-oriented data model construction unit does not include in the service-oriented data model a table indicated by the service-oriented data model template, where the optionability information for the table does not indicate that the service-oriented data model does not need to include the table, and the ETL feasibility information for the information indicated by the table indicates that ETL processing is not possible for any of the information included in the table, if there is no such table, and the ETL feasibility information for the information indicated by the table indicates that ETL processing is not possible for any of the information included in the table.

5. 3. The information processing system according to claim 2, An information processing system, wherein the intermediate data model ETL processing template corresponding to the system classification is information that specifies ETL processing for information whose information source is any of the systems included in the system classification.

6. 2. The information processing system according to claim 1, the intermediate data model and the service-oriented data model have a plurality of tables; For any of the tables, any of the attributes of a record included in the table is a foreign key; An information processing system, wherein the foreign key is associated with any of the attributes of a record contained in any table other than the table to which the foreign key belongs.

7. 3. The information processing system according to claim 2, An information processing system, wherein each of the intermediate data model ETL processing template and the intermediate data model ETL processing information corresponding to the system classification includes connection information for connecting to any one of the systems included in the system classification.

8. 3. The information processing system according to claim 2, An information processing system, wherein each of the service-oriented data model ETL processing template and the service-oriented data model ETL processing information includes import instruction information for instructing importing of the intermediate data model ETL processing information for each system classification.

9. 2. The information processing system according to claim 1, The information processing system includes a service-oriented database construction unit, The service-oriented database construction unit executes ETL processing on information held by one or more of the introduced systems based on the service-oriented data model information, the service-oriented data model ETL processing information, and the intermediate data model ETL processing information, and constructs the service-oriented database.

10. A database construction information processing system, The database construction information processing system includes a service-oriented database construction unit, A database construction information processing system, wherein the service-oriented database construction unit executes ETL processing on information held by one or more of the introduced systems based on the service-oriented data model information generated by the information processing system described in claim 1, the service-oriented data model ETL processing information, and the intermediate data model ETL processing information, and constructs the service-oriented database.

11. 2. The information processing system according to claim 1, an information processing system in which each of the intermediate data model construction unit and the service-oriented data model construction unit re-generates the intermediate data model information, the intermediate data model ETL processing information, the service-oriented data model information, and the service-oriented data model ETL processing information when it is determined that there has been a change in the configuration of the introduced system or when a predetermined time has elapsed since the service-oriented database was last constructed.

12. 3. The information processing system according to claim 2, The intermediate data model ETL processing template corresponding to any one of the system classifications has a plurality of types of information that specifies ETL processing for any one of the pieces of information possessed by the introduced system included in the system classification, An information processing system in which the intermediate data model construction unit, when generating the intermediate data model ETL processing information, selects one of the pieces of information specifying the multiple types of ETL processing, and includes the information specifying the selected ETL processing in the intermediate data model ETL processing information.

13. 3. The information processing system according to claim 2, The information processing system includes a variation dictionary having information about synonyms or similar words of a name of information indicating substantially the same or similar thing; The intermediate data model construction unit, when ETL processing is not possible for certain information using the introduced system as an information source, uses the variation dictionary to identify synonyms or similar words for the name of the certain information, and determines whether ETL processing is possible using the identified synonymous or similar word name.

14. A method executed by an information processing system, comprising: The method includes: building an intermediate data model; and building a service-oriented data model; The intermediate data model construction step is a step of generating, for each system classification of an introduced system accessed to obtain information for constructing a service-oriented database, intermediate data model information and intermediate data model ETL processing information corresponding to the system classification, based on an intermediate data model template and an intermediate data model ETL processing template corresponding to the system classification, and the introduced system or information about the introduced system included in the system classification, in order to realize an intermediate data model corresponding to the system classification; The service-oriented data model construction step is a step of generating service-oriented data model information and service-oriented data model ETL processing information for constructing the service-oriented database based on the intermediate data model information and the intermediate data model ETL processing information for each system classification, and a service-oriented data model template and a service-oriented data model ETL processing template.

15. A program executed by an information processing system, the program is for causing the information processing system to execute an intermediate data model construction step and a service-oriented data model construction step, The intermediate data model construction step is a step of generating, for each system classification of an introduced system accessed to obtain information for constructing a service-oriented database, intermediate data model information and intermediate data model ETL processing information corresponding to the system classification, based on an intermediate data model template and an intermediate data model ETL processing template corresponding to the system classification, and the introduced system or information about the introduced system included in the system classification, in order to realize an intermediate data model corresponding to the system classification; The service-oriented data model construction step is a step of generating service-oriented data model information and service-oriented data model ETL processing information for constructing the service-oriented database based on the intermediate data model information and the intermediate data model ETL processing information for each system classification, and a service-oriented data model template and a service-oriented data model ETL processing template, a program.

Citation Information

Patent Citations

  • Standard data model update support device and standard data model update support method

    JP2023003609A