WO2022215194A1 - Apiアダプタ生成装置及びapiアダプタ生成方法並びにapiアダプタ生成プログラム - Google Patents
Apiアダプタ生成装置及びapiアダプタ生成方法並びにapiアダプタ生成プログラム Download PDFInfo
- Publication number
- WO2022215194A1 WO2022215194A1 PCT/JP2021/014763 JP2021014763W WO2022215194A1 WO 2022215194 A1 WO2022215194 A1 WO 2022215194A1 JP 2021014763 W JP2021014763 W JP 2021014763W WO 2022215194 A1 WO2022215194 A1 WO 2022215194A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- api
- orchestrator
- adapter
- unit
- conversion rule
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000013499 data model Methods 0.000 claims abstract description 89
- 238000006243 chemical reaction Methods 0.000 claims abstract description 87
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 238000000605 extraction Methods 0.000 claims description 5
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 abstract 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 215
- 238000010586 diagram Methods 0.000 description 52
- 238000013461 design Methods 0.000 description 34
- 238000012790 confirmation Methods 0.000 description 7
- 238000012938 design process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Definitions
- the present invention relates to an API adapter generation device, an API adapter generation method, and an API adapter generation program.
- An orchestrator that links multiple services is used to build and operate services by combining multiple wholesale partner services.
- the orchestrator is required to add or change API adapters at low cost and in a short period of time when new wholesale services (services to be managed) are added or specifications of existing services are changed.
- Non-Patent Document 1 discloses a technique for automatically generating an API adapter that absorbs API specification differences for each service used.
- Non-Patent Document 2 discloses automating part of the test for control signals and data signals between an API adapter and a wholesale service.
- the process of generating an API adapter includes a design process, an implementation process, and a test process. must be manually performed by the user. For this reason, there is a problem that it is difficult to reduce costs and shorten the period for adding API adapters and changing specifications.
- the present invention has been made in view of the above circumstances, and its object is to provide an API adapter generation apparatus and an API adapter generation apparatus that can add API adapters and change specifications in a short period of time at low cost. It is to provide a method and an API adapter generation program.
- An API adapter generation device acquires a data model of an orchestrator and an API specification to be managed, performs schema matching based on the data schema of the orchestrator and the data schema of the API specification, A conversion rule calculation unit that calculates a model conversion rule, a generation unit that rewrites source code of an API call logic unit describing API adapter execution logic based on the model conversion rule, and an API call logic in which the source code is rewritten. an API adapter generation unit that generates the managed API adapter based on the part.
- An API adapter generation method is a computer-performed API adapter generation method comprising: a step of obtaining a data model of an orchestrator; an API specification to be managed; a data schema of the orchestrator; a step of performing schema matching based on a data schema of an API specification to calculate a model conversion rule; a step of rewriting source code of an API calling logic portion describing API adapter execution logic based on the model conversion rule; and generating the API adapter to be managed based on the API calling logic part whose source code has been rewritten.
- One aspect of the present invention is an API adapter generation program for causing a computer to function as the API adapter generation device.
- FIG. 1 is a block diagram showing the configuration of a network system that employs an API adapter generation device according to an embodiment.
- FIG. 2 is a block diagram showing configurations of an API adapter generation device and an API adapter according to the embodiment.
- FIG. 3 is a block diagram showing the configuration of the API adapter generation device according to the first embodiment.
- FIG. 4 is an explanatory diagram showing an example of converting an API specification written in an open API specification format into a UML format data model.
- FIG. 5A is an explanatory diagram showing resource design and parameter design of data models M1 and M2 of companies A and B when generating API adapters for managed services.
- FIG. 5B is an explanatory diagram showing the conversion of the parameter values of the data models M1 and M2 of the companies A and B when generating API adapters for managed services.
- FIG. 5C is an explanatory diagram showing the relationship between the orchestrator AP and the orchestrator.
- FIG. 6A is an explanatory diagram showing the execution order of APIs when multiple APIs are collectively managed.
- FIG. 6B is an explanatory diagram showing the logic design of each data model when adding services to be managed by companies C, D, and E.
- FIG. FIG. 7A is an explanatory diagram showing the correspondence when converting the resources and parameters of the data model M1 into the resources and parameters of the data model M3 of the orchestrator.
- FIG. 7B is an explanatory diagram showing source code describing the resources and parameters shown in FIG. 7A.
- FIG. 8A is an explanatory diagram showing the correspondence when converting the parameter values of the data model M1 into the parameter values of the data model M3 of the orchestrator.
- FIG. 8B is an explanatory diagram showing source code describing the parameter values shown in FIG. 8A.
- FIG. 9 is a flow chart showing the processing procedure of the API adapter generation device according to the first embodiment.
- FIG. 10 is a block diagram showing the configuration of an API adapter generation device according to the second embodiment.
- FIG. 11 is an explanatory diagram showing the correspondence when converting the resources and parameters of the data models M11 to M13 into the resources and parameters of the data model M14 of the orchestrator.
- FIG. 12 is an explanatory diagram showing the procedure for generating the source code of the data model according to the conversion rule according to the second embodiment.
- FIG. 13 is an explanatory diagram showing source code describing the resources and parameters shown in FIG.
- FIG. 14 is a block diagram showing the configuration of an API adapter generation device according to the third embodiment.
- FIG. 15A is an explanatory diagram showing the relationship between the orchestrator AP and the orchestrator according to the third embodiment.
- FIG. 15B is an explanatory diagram showing source code describing the resources and parameters shown in FIG. 15A.
- FIG. 15C is an explanatory diagram showing instance information of the source code shown in FIG. 15B.
- FIG. 15D is an explanatory diagram showing configuration information of the source code shown in FIG. 15B.
- FIG. 15A is an explanatory diagram showing the relationship between the orchestrator AP and the orchestrator according to the third embodiment.
- FIG. 15B is an explanatory diagram showing source code describing the resources and parameters shown in FIG.
- FIG. 16A is an explanatory diagram showing a data model of a plurality of orchestrator APs 203a, 203b, 203c.
- FIG. 16B is an explanatory diagram showing a configuration information graph of the basic data model of the orchestrator AP.
- FIG. 16C is an illustration of generating a computing resource 50 based on the similarity of parameters 51, 52, 53.
- FIG. 17 is a block diagram showing the hardware configuration of this embodiment.
- FIG. 1 is a block diagram showing the configuration of a network system 200 that employs an API adapter generation device according to an embodiment. First, the network system 200 will be described with reference to FIG.
- a plurality of wholesale service providers 220 (220a to 220d) set on a network or cloud can receive managed services provided.
- two wholesale service providers 220a and 220b already exist in the network system 200, and two new wholesale service providers 220c and 220d are added.
- Wholesale service providers 220a, 220d provide network managed services.
- Wholesale service providers 220b and 220c provide cloud-based managed services.
- an orchestrator 210 and API adapters 211 (211a to 211d) corresponding to each wholesale service provider 220 are provided.
- the orchestrator 210 acquires the orchestrator AP 203 provided by the service provider 202, and collectively cooperates with services that combine networks, clouds, and applications of each wholesale service provider 220.
- each wholesale service provider 220 has different specifications for each wholesale service provider 220 .
- Orchestrator 210 performs this coordination.
- the orchestrator AP 203 is an application generated using the northbound API 204 described later.
- the orchestrator AP 203 includes a construction setting AP and an autonomous operation AP.
- the orchestrator AP 203 is, for example, a catalog.
- a catalog is a data file that describes the specifications of each managed service required for linking multiple managed services.
- a northbound API 204 is provided between the service provider 202 and the orchestrator 210 .
- Northbound API 204 is an interface that connects service provider 202 and orchestrator 210 .
- a southbound API 212 is provided between each wholesale service provider 220 and the orchestrator 210 .
- the southbound API 212 is an interface that connects each wholesale service provider 220 and the orchestrator 210 .
- the orchestrator 210 is connected to an API adapter 211 installed corresponding to each wholesale service provider 220 via an internal API 213 (see FIG. 2).
- the API adapter 211 is generated for each wholesale service provider 220 and absorbs API specification differences provided by each wholesale service provider 220 .
- the orchestrator 210 decomposes the order issued by the service provider 202 into "single orders", which are units that can be processed by the API adapter 211 for each wholesale service provider 220, and distributes the order to each wholesale service provider 220 (220a to 220d). to the API adapter 211 (211a to 211d).
- Each API adapter 211 has a function to mutually convert the data model of the orchestrator 210 and the data model of each wholesale service provider 220 .
- API adapters 211c and 211d As described above, in the network system 200 in which the two wholesale service providers 220a and 220b are already installed, when newly adding a managed service provided by the two wholesale service providers 220c and 220d, It is necessary to generate API adapters 211c and 211d. That is, as shown in FIG. 1, it is necessary to generate new API adapters 211c and 211d in addition to the existing API adapters 211a and 211b.
- FIG. 2 is a block diagram showing the detailed configuration of the API adapter 211 shown in FIG. As shown in FIG. 2, the API adapter 211 includes an order reception unit 231, an API calling logic unit 232, and a southbound API execution unit 233. The API adapter 211 is connected to the API adapter generation device 100 according to this embodiment.
- the order reception unit 231 receives the order N1 transmitted to the orchestrator 210 and acquires the contents of the order N1.
- the order reception unit 231 performs response processing to the orchestrator 210 . Specifically, as cooperative order reception/response processing, the order reception unit 231 follows a predetermined procedure with the orchestrator 210 to manage and notify the state from the reception of the order N1 to the completion of the execution of the order N1; Distribute execution results.
- the order reception unit 231 receives a request from the API call logic unit 232 and acquires detailed order contents (catalog, etc.) as an order content acquisition process.
- the API call logic unit 232 checks the activation conditions of the southbound API 212 and activates the southbound API 212 according to a preset execution order.
- the API call logic unit 232 extracts the parameters necessary for executing the southbound API 212 from the order N1 from the orchestrator 210 and transmits them to the southbound API execution unit 233.
- the API call logic unit 232 acquires the execution result of the southbound API 212 from the southbound API execution unit 233 .
- the API calling logic unit 232 converts the acquired execution result into a data format suitable for distribution to the orchestrator 210 .
- the southbound API execution unit 233 acquires data necessary for executing the southbound API 212 from the API call logic unit 232, changes the data format, and transmits it to each wholesale service provider 220.
- the southbound API execution unit 233 receives the response from each wholesale service provider 220, converts it into an appropriate format, and returns it to the API call logic unit 232.
- the southbound API execution unit 233 communicates with each wholesale service provider 220 through the southbound API 212 of each wholesale service provider 220 to send requests and receive responses corresponding to individual southbound APIs 212 .
- the API adapter generation device 100 by providing the API adapter generation device 100, at least part of the design of the API calling logic unit 232 is automated, and the API adapter 211 is generated.
- the design process includes “resource design”, “parameter design”, and “logic design”.
- the implementation process includes implementation of the API call logic unit 232 . In this embodiment, at least part of "resource design”, “parameter design”, and “logic design” is automated. Also, the implementation of the API call logic unit 232 is automated.
- FIG. 3 is a block diagram showing the detailed configuration of the API adapter generation device 100 and its peripherals according to the first embodiment.
- the API adapter generation device 100 includes a data model storage unit 11, an API specification storage unit 12, an API schema conversion unit 13, a schema information storage unit 14, and an external information storage. A portion 15 is provided.
- the API adapter generation device 100 includes a conversion rule calculation unit 16, a conversion rule storage unit 17, a conversion rule visualization unit 18, a call logic unit generation unit 19 (generation unit), an API execution unit generation unit 20, and an API adapter.
- a generation unit 21 and an API adapter storage unit 22 are provided.
- a confirmation screen 33 is connected to the API adapter generation device 100 .
- the data model storage unit 11 acquires and stores the orchestrator data model 31 input from the orchestrator 210 .
- the API specification storage unit 12 acquires and stores the southbound API specification 32 of the data model to be managed (API specification of the model to be managed).
- the API schema conversion unit 13 converts the southbound API specification 32 stored in the API specification storage unit 12 into a schema format.
- FIG. 4 is an explanatory diagram showing an example of converting an API specification P1 written in an open API specification format into a data model P2 in UML (Unified Modeling Language) format. Schema information indicated by symbols a1 and a2 in FIG. 4 is converted into a data model P2 such as UML by, for example, "WAPIml".
- the schema information storage unit 14 stores the schema information converted by the API schema conversion unit 13.
- the external information storage unit 15 stores externally transmitted information such as an ontology.
- the conversion rule calculation unit 16 uses existing schema matching to calculate conversion rules for the data model.
- the conversion rule calculation unit 16 performs resource design, parameter design, and logic design when generating the API adapter 211 .
- the conversion rule calculation unit 16 automates model conversion by applying schema matching technology to the data schema that can be derived from the specifications of the southbound API 212 and the part that derives the data schema conversion rule in the orchestrator 210 .
- the “resource design and parameter design process” and the “logic design process” will be specifically described below.
- FIG. 5A is an explanatory diagram showing resource design and parameter design of data models M1 and M2 of companies A and B when generating API adapters for managed services.
- FIG. 5B is an explanatory diagram showing the conversion of the parameter values of the data models M1 and M2 of the companies A and B when generating API adapters for managed services.
- FIG. 5C is an explanatory diagram showing the relationship between the orchestrator AP and the orchestrator.
- the data model M3 of the orchestrator 210 is generated by converting the resources and parameters of the data model M1 of company A and the data model of company B. Specifically, “EC2Instance” of the data model M1 and “Virtual Machines” of the data model M2 are converted to "VM” of the data model M3. Also, “Instance Type” of the data model M1 and “vmsize” of the data model M2 are converted into “hardware Spec" of the data model M3.
- the parameter values of the data model M1 of company A and the data model M2 of company B are converted to generate the data model M3 of the orchestrator 210 .
- the data model M3 of the orchestrator 210 is simplified and set to three independently defined "Large”, “Medium”, and “Small”. Convert the parameter value "m1.small” of the data model M1 to "Small”, convert “a1.medium” to “Medium”, and convert “m4.large” to "Large”. Convert the parameter value "Dsv3" of the data model M2 to "Small".
- the orchestrator 210 can be used without being aware of the cloud vendor when the data model "VM" is given as the orchestrator AP 203. . That is, from the orchestrator AP 203, the data model M1 and the data model M2 shown in FIGS. 5A and 5B can be treated as a similar data model "VM".
- the data model conversion shown in FIGS. 5A and 5B is converted using schema matching.
- schema matching for example, a “Graph-Based” technique can be used.
- Graph-Based it is possible to match parameters after considering not only the name of the parameter but also the graph/tree structure of the schema.
- FIG. 6A is an explanatory diagram showing the execution order of APIs.
- FIG. 6B is a diagram showing the data by company C, which is the wholesale service provider 220 with the data model M11, company D, which is the wholesale service provider 220 with the data model M12, and company E, which is the wholesale service provider 220 with the data model M13.
- FIG. 10 is an explanatory diagram showing the logic design of each data model M11 to M13 when adding a service to be managed;
- the API execution order is defined in the order of "VPC" ⁇ "Subnet" ⁇ "EC2".
- the conversion rule calculation unit 16 calculates the conversion rules of the data model and performs resource design, parameter design, and logic design when generating the API adapter 211 . Further, the call logic section generation section 19, which will be described later, generates the API call logic section 232 based on the results of the resource design, parameter design, and logic design.
- the conversion rule storage unit 17 stores the model conversion rules calculated by the conversion rule calculation unit 16.
- the conversion rule visualization unit 18 outputs the model conversion rules stored in the conversion rule storage unit 17 to the confirmation screen 33, thereby visualizing the model conversion rules so that the user can check them. For example, by transmitting model conversion rule data to the confirmation screen 33 and displaying this data on the confirmation screen 33, the user is made to recognize the model conversion rule.
- the call logic section generation section 19 automatically generates the API call logic section 232 based on the resource design, parameter design, and logic design results calculated by the conversion rule calculation section 16 .
- the call logic section generation section 19 rewrites the template source code according to the model conversion rule calculated by the conversion rule calculation section 16 .
- FIG. 7A is an explanatory diagram showing the correspondence when converting the parameters of the data model M1 shown in FIG. 5A into the parameters of the data model M3 of the orchestrator 210
- FIG. 7B is a source describing the parameters shown in FIG. 7A
- FIG. 4 is an explanatory diagram showing a code
- FIG. 8A is an explanatory diagram showing the correspondence when converting the parameter values of the data model M1 shown in FIG. 5B into the parameter values of the data model M3 of the orchestrator 210.
- FIG. 8B is an explanatory diagram showing source code describing the parameter values shown in FIG. 8A.
- the API execution unit generation unit 20 generates the southbound API execution unit 233 (see FIG. 2) in the API adapter 211 based on the southbound API specifications 32 stored in the API specification storage unit 12. do.
- An existing tool such as "Swagger Codegen/Open API Generator” can be used to generate the southbound API execution unit 233 .
- the API adapter generation unit 21 generates the API adapter 211 based on the call logic unit 232 generated by the call logic unit generation unit 19 and the southbound API execution unit 233. In addition, it outputs the stored API adapter 211 to the outside as needed.
- the API adapter storage unit 22 stores the API adapter 211 generated by the API adapter generation unit 21.
- step S ⁇ b>11 of FIG. 9 the data model storage unit 11 acquires the orchestrator data model 31 output from the orchestrator 210 and stores it in the data model storage unit 11 .
- step S ⁇ b>12 the API specification storage unit 12 acquires the southbound API specification 32 output from the orchestrator 210 and stores it in the API specification storage unit 12 .
- step S13 the API schema conversion unit 13 converts the southbound API specification 32 stored in the API specification storage unit 12 into a schema format.
- the schema information after conversion is stored in the schema information storage unit 14 .
- step S14 the conversion rule calculation unit 16 calculates the orchestrator data model 31 stored in the data model storage unit 11, the schema information stored in the schema information storage unit 14, and the schema information stored in the external information storage unit 15. Model conversion rules are calculated based on the external information available.
- the conversion rule calculation unit 16 stores the calculated model conversion rule in the conversion rule storage unit 17 .
- step S15 the conversion rule visualization unit 18 outputs the conversion rules stored in the conversion rule storage unit 17 to the confirmation screen 33 as necessary.
- the operator can recognize the conversion rule by viewing the confirmation screen 33 .
- step S16 the call logic section generation section 19 rewrites the source code of the API adapter based on the model conversion rule stored in the conversion rule storage section 17 to generate the API call logic section 232. Thereby, the API calling logic part 232 can be automatically generated.
- step S17 the API execution unit generation unit 20 generates the southbound API execution unit 233 shown in FIG. 2 based on the specifications of the southbound API adapter stored in the API specification storage unit 12.
- step S18 the API adapter generation unit 21 generates the final A typical API adapter 211 is generated.
- the generated API adapter 211 is stored in the API adapter storage unit 22 .
- the API adapter generation device 100 acquires the data model of the orchestrator 210 and the API specification of the managed model, and based on the data schema of the orchestrator 210 and the data schema of the API specification, A conversion rule calculation unit 16 that performs schema matching and calculates a model conversion rule, and a call logic unit generation unit 19 (generation and an API adapter generation unit 21 that generates an API adapter for a managed model based on the API call logic unit whose source code has been rewritten.
- the API adapter generation device 100 when the wholesale service provider 220 having a new managed service is added to the orchestrator 210, the API adapter 211 is newly added to the orchestrator 210. It becomes possible to easily implement the design process when designing. Specifically, it is possible to reduce the labor, time, and cost required to generate the API adapter 211 .
- the call logic part generation part 19 sets a template of a predetermined source code, and writes at least one of a resource of the API specification to be managed, a parameter name, and a parameter value into the template. and generate an API call logic part. Therefore, it becomes possible to generate the API call logic part 232 with a simple operation.
- the API adapter 211 is generated using a template for the data model of the managed service newly connected to the network system 200 .
- the second embodiment an example will be described in which resources of a plurality of service models are grouped into one, and matching is performed by many-to-one correspondence to generate the API adapter 211 .
- the matching contribution rate is made variable for each resource and each parameter.
- a dependency graph generated from the schema information of the southbound API is used to perform highly accurate many-to-one matching.
- FIG. 10 is a block diagram showing the configuration of the API adapter generation device 100a according to the second embodiment.
- the API adapter generation device 100a shown in FIG. 10 differs from the API adapter generation device 100 shown in FIG. .
- the same components as those shown in FIG. 3 are denoted by the same reference numerals, and the description of the configuration is omitted.
- the dependency graph generation unit 23 shown in FIG. 10 extracts dependencies between resources in advance from the schema information of the southbound API 212 and generates a graph representation.
- FIG. 11 shows the correspondence relationship when converting the resources and parameters of the data models M11 to M13 of the wholesale service providers 220 C, D, and E into the resources and parameters of the orchestrator data model M14. It is an explanatory diagram showing.
- the dependency graph generation unit 23 analyzes the dependencies between resources indicated by symbols x32 and x34 from the schema information extracted from the southbound API specification 32 and generates a graph, as indicated by symbols x32 and x34 in FIG. .
- the dependency graph storage unit 29 stores the dependency graph generated by the dependency graph generation unit 23.
- the conversion rule calculation unit 16 integrates the data models M11 to M13 of each company as shown in FIG. Summarize into one. Specifically, when aggregating multiple resources into one, in order to improve estimation accuracy and enable many-to-one matching, set the matching contribution rate for each resource and parameter. . Furthermore, the contribution rate is made variable.
- the probability "M(i,j)" that parameters i and j match is calculated by the following formula (1).
- M(i,j) k*R(i,j)+(1 ⁇ k)*P(i,j) (1)
- M(i,j) indicates the probability that parameter i and parameter j match when existing schema matching is adopted.
- R(i,j) indicates the matching probability between resources to which parameters i and j belong.
- P(i,j) indicates the matching probability only with parameters.
- k is a variable numerical value and indicates the contribution rate of "R(i,j)".
- the conversion rule calculation unit 16 first performs matching by reducing the contribution rate k of matching information in resource units.
- the conversion rule calculation unit 16 confirms the resource to which the parameter belongs when the above matching is obtained.
- On the dependency graph if they are connected, they are all matched on a many-to-one basis. If there are multiple matching candidate resources, select the one that is connected with the shortest distance on the dependency graph.
- FIG. 12 is an explanatory diagram showing the procedure of code conversion processing by the API adapter generation device 100a according to the second embodiment.
- the model conversion rule stored in the conversion rule storage unit 17 sets the contribution rate "k" of "R(i,j)" shown in the above equation (1), Allow weights to be adjusted.
- the dependency graph generation unit 23 analyzes dependencies between multiple resources based on the schema information extracted from the southbound API specification 32 and generates a dependency graph.
- the conversion rule calculation unit 16 uses an algorithm such as topological sort to calculate the execution order of multiple source codes.
- the call logic section generation section 19 rewrites the source code of the API adapter 211 based on the dependency graph and the weighting shown in formula (1).
- the conversion rule calculation unit 16 uses the variable contribution rate "k" and the dependency graph to calculate the matching method.
- FIG. 11 illustrates the correspondence relationship when converting the resources and parameters of the data models M11 to M13 of Company C, Company D, and Company E into the resources and parameters of the data model M14 of the orchestrator. It is a diagram. Also, FIG. 13 is an explanatory diagram showing a source code describing the resources and parameters shown in FIG.
- Symbol y37 shown in FIG. 13 indicates the definition of all matching resources.
- Symbol y38 indicates a resource generated in the calculated execution order.
- the API adapter generation device 100a can perform highly accurate matching when a plurality of resources are aggregated into one.
- the conversion rule calculation unit 16 matches a plurality of resources included in the API specifications to be managed using the variable contribution rate k and the dependency relationship graph information, and aggregates them into one resource.
- the conversion rule calculation unit 16 performs schema matching based on the data schema of the API specifications to be managed after resource aggregation and the data schema of the orchestrator 210, and generates model conversion rules for the API adapter. As a result, highly accurate many-to-one matching becomes possible, and a new API adapter 211 can be easily generated.
- matching accuracy is improved by utilizing instance information and configuration information included in the orchestrator AP 203 of the orchestrator 210 .
- FIG. 14 is a block diagram showing the configuration of the API adapter generation device 100b according to the third embodiment.
- FIG. 14 shows only components added to the API adapter generation device 100 shown in FIG. That is, the API adapter generation device 100b according to the third embodiment includes components 24 to 28 shown in FIG. 14 in addition to the components 11 to 21 shown in FIG. Each component 24 to 28 will be described below.
- the orchestrator AP collection unit 24 shown in FIG. 14 collects orchestrator APs 203 from the orchestrator 210 .
- Orchestrator AP 203 is created using Northbound API 204 .
- Orchestrator AP 203 is, for example, a catalog.
- the AP information extraction unit 25 extracts the instance information of the southbound API 212 and the configuration information graph of the orchestrator AP from the collected orchestrator AP 203 .
- a “configuration information graph” indicates a data structure of, for example, applications, computing resources, networks, etc., as shown in FIG. 16B described later.
- the instance information storage unit 26 stores the instance information of the southbound API 212 extracted by the AP information extraction unit 25.
- the configuration information graph storage unit 27 stores the orchestrator AP configuration information graph extracted by the AP information extraction unit 25 . Specifically, as shown in FIG. 15A, system configuration information included in each of the orchestrator APs 203a to 203c is stored as a configuration information graph.
- the similarity calculator 28 calculates the similarity between resources based on the configuration information graph stored in the configuration information graph storage unit 27 .
- the conversion rule calculation unit 16 converts the source code based on the instance information of the southbound API 212, the orchestrator AP configuration information graph, and the degree of similarity between resources in addition to the above-described orchestrator data model, schema information, and external information. Calculate conversion rules.
- FIG. 15A is an explanatory diagram showing the relationship between the orchestrator AP 203 and the orchestrator 210.
- FIG. 15B is an explanatory diagram showing source code describing resources and parameters included in the data model of the orchestrator AP 203 shown in FIG. 15A.
- FIG. 15C is an explanatory diagram showing instance information of the source code shown in FIG. 15B.
- FIG. 15D is an explanatory diagram showing configuration information of the source code shown in FIG. 15B.
- the conversion rule calculation unit 16 acquires the instance information and configuration information indicated by symbols x21, x22, and x23 in FIG. 15B, and, as indicated by symbols y21, y22, and y23 in FIG. write. Also, configuration information is set as indicated by symbol Q1 in FIG. 15D.
- the conversion rule calculation unit 16 uses the similarity of the system configuration information graphs included in the orchestrator AP 203 to set the matching probability to be high for concepts that are highly likely to be of the same type. .
- FIG. 16A is an explanatory diagram showing a configuration information graph of data models of a plurality of orchestrator APs 203a, 203b, and 203c.
- FIG. 16B is an explanatory diagram showing a configuration information graph of the basic data model of the orchestrator AP203.
- FIG. 16C is an explanatory diagram of generating the computing resource 50 based on the similarity of the parameters 51, 52, 53 included in each orchestrator AP 203.
- the similarity calculation unit 28 compares the structure of "application”, “computing resource”, and “network” shown in FIG. 16B with the configuration information of each orchestrator AP 203a, 203b, 203c shown in FIG. Calculate the similarity.
- the probability that parameter i and parameter j match is set as "M'(i,j)" and is set by the following formula (2).
- M'(i,j) (1-a)*M(i,j)+a*S(i,j) (2)
- M(i,j) indicates the probability that parameter i and parameter j match when existing schema matching is adopted.
- S(i,j) indicates the degree of similarity between parameters i and j in the configuration information graph, taking into consideration the degree of similarity between resources.
- "a” indicates the contribution rate of the similarity of the configuration information graph.
- the new API adapter 211 can be generated easily and with high accuracy.
- the API adapter generation device 100b calculates the degree of similarity between each resource included in each orchestrator AP 203 based on the configuration information graph included in the information of the orchestrator AP 203 .
- a model conversion rule is generated based on the calculated similarity and instance information, and the API call logic part 232 is generated.
- the new API adapter 211 can be generated conveniently and with high accuracy.
- the API adapter generation devices 100, 100a, and 100b of the above-described embodiments include, for example, a CPU (Central Processing Unit, processor) 901, a memory 902, and a storage 903 (HDD: HardDisk Drive, SSD (Solid State Drive), a communication device 904, an input device 905, and an output device 906, a general-purpose computer system can be used.
- Memory 902 and storage 903 are storage devices.
- CPU 901 executes a predetermined program loaded on memory 902 to realize each function of API adapter generation devices 100, 100a, and 100b.
- API adapter generation devices 100, 100a, and 100b may be implemented by one computer, or may be implemented by a plurality of computers. Also, the API adapter generation devices 100, 100a, and 100b may be virtual machines implemented in computers.
- Programs for the API adapter generation devices 100, 100a, and 100b are stored in computer-readable recording media such as HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), and DVD (Digital Versatile Disc). or distributed over a network.
- computer-readable recording media such as HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), and DVD (Digital Versatile Disc).
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
以下、本発明の実施形態について説明する。図1は、実施形態に係るAPIアダプタ生成装置が採用されるネットワークシステム200の構成を示すブロック図である。初めに、図1を参照してネットワークシステム200について説明する。
次に、本実施形態に係るAPIアダプタ生成装置100の具体的な構成について説明する。図3は、第1実施形態に係るAPIアダプタ生成装置100、及びその周辺機器の詳細な構成を示すブロック図である。
図5A、図5B、図5Cを参照して、リソース設計及びパラメータ設計の詳細について説明する。図5Aは、A社及びB社による管理対象サービスのAPIアダプタを生成する際の、各社のデータモデルM1、M2のリソース設計、パラメータ設計を示す説明図である。図5Bは、A社及びB社による管理対象サービスのAPIアダプタを生成する際の、各社のデータモデルM1、M2のパラメータ値の変換を示す説明図である。図5Cは、オーケストレータAPとオーケストレータの関係を示す説明図である。
次に、図6A、図6Bを参照して、ロジック設計の詳細について説明する。図6Aは、APIの実行順序を示す説明図である。図6Bは、データモデルM11を有する卸サービス事業者220であるC社、データモデルM12を有する卸サービス事業者220であるD社、及びデータモデルM13を有する卸サービス事業者220であるE社による管理対象サービスを追加する際の、各データモデルM11~M13のロジック設計を示す説明図である。
次に、第1実施形態に係るAPIアダプタ生成装置100の処理手順を、図9に示すフローチャートを参照して説明する。初めに、図9のステップS11において、データモデル記憶部11は、オーケストレータ210から出力されるオーケストレータデータモデル31を取得し、データモデル記憶部11に記憶する。
このように、第1実施形態に係るAPIアダプタ生成装置100は、オーケストレータ210のデータモデルと、管理対象モデルのAPI仕様を取得し、オーケストレータ210のデータスキーマ、及びAPI仕様のデータスキーマに基づいてスキーママッチングを行い、モデル変換ルールを算出する変換ルール算出部16と、モデル変換ルールに基づいて、APIアダプタ実行ロジックを記述したAPI呼出ロジック部のソースコードを書き換える呼出ロジック部生成部19(生成部)と、ソースコードが書き換えられたAPI呼出ロジック部に基づいて、管理対象モデルのAPIアダプタを生成するAPIアダプタ生成部21と、を備える。
次に、本実施形態の第2実施形態について説明する。前述した第1実施形態では、新規にネットワークシステム200に接続される管理対象サービスのデータモデルに対し、テンプレートを用いてAPIアダプタ211を生成した。第2実施形態では、複数のサービスモデルのリソースを一つにまとめ、多対一の対応によりマッチングを行い、APIアダプタ211を生成する例について説明する。
(1)式において、「M(i,j)」は既存のスキーママッチングを採用したときの、パラメータiとパラメータjがマッチングする確率を示す。「R(i,j)」は、パラメータi,jが属するリソースどうしのマッチング確率を示す。「P(i,j)」は、パラメータのみでのマッチング確率を示す。「k」は可変の数値であり「R(i,j)」の寄与率を示す。
次に、本実施形態の第3実施形態について説明する。オーケストレータ210のデータモデルの抽象度が高くなると、リソース名、パラメータ名とその構造との乖離が大きくなり、マッチングが難しくなる。既存のスキーママッチングの手法では、スキーマ情報に加えて、インスタンス情報も加味するハイブリッド手法により精度の向上が図られているが、オーケストレータ210に適用する場合には、インスタンス情報の取得が難しい。
(2)式において、「M(i,j)」は既存のスキーママッチングを採用したときの、パラメータiとパラメータjがマッチングする確率を示す。「S(i,j)」は、構成情報グラフにおけるリソース間の類似度を加味したパラメータi、jの類似度を示す。「a」は、構成情報グラフの類似度の寄与率を示す。こうすることにより、複数のオーケストレータAP203において、同種の概念である可能性の高い場合にマッチング確率が高くなるように設定できる。
12 API仕様記憶部
13 APIスキーマ変換部
14 スキーマ情報記憶部
15 外部情報記憶部
16 変換ルール算出部
17 変換ルール記憶部
18 変換ルール可視化部
19 呼出ロジック部生成部(生成部)
20 API実行部生成部
21 APIアダプタ生成部
22 APIアダプタ記憶部
23 依存関係グラフ生成部
24 オーケストレータAP収集部
25 AP情報抽出部
26 インスタンス情報記憶部
27 構成情報グラフ記憶部
28 類似度算出部
29 依存関係グラフ記憶部
31 オーケストレータデータモデル
32 サウスバウンドAPI仕様
33 確認画面
100、100a、100b APIアダプタ生成装置
200 ネットワークシステム
201 エンドユーザ
202 サービスプロバイダ
203 オーケストレータAP
210 オーケストレータ
211(211a~211d) APIアダプタ
220(220a~220d)卸サービス事業者
231 オーダ受付部
232 API呼出ロジック部
233 サウスバウンドAPI実行部
Claims (8)
- オーケストレータのデータモデルと、管理対象のAPI仕様を取得し、前記オーケストレータのデータスキーマ、及び前記API仕様のデータスキーマに基づいてスキーママッチングを行い、モデル変換ルールを算出する変換ルール算出部と、
前記モデル変換ルールに基づいて、APIアダプタ実行ロジックを記述したAPI呼出ロジック部のソースコードを書き換える生成部と、
前記ソースコードが書き換えられたAPI呼出ロジック部に基づいて、前記管理対象のAPIアダプタを生成するAPIアダプタ生成部と、
を備えたAPIアダプタ生成装置。 - 前記変換ルール算出部は、前記オーケストレータのデータモデル及び前記管理対象のAPI仕様を、リソース及びパラメータの少なくとも一方の単位でスキーママッチングを行い、前記モデル変換ルールを算出する請求項1に記載のAPIアダプタ生成装置。
- 前記変換ルール算出部は、前記管理対象のAPI仕様に含まれる複数のリソースを、可変寄与率、及び依存関係グラフ情報を用いてマッチングして一つのリソースに集約し、
リソース集約後の前記管理対象のAPI仕様のデータスキーマと、前記オーケストレータのデータスキーマに基づいてスキーママッチングを行う請求項1または2に記載のAPIアダプタ生成装置。 - 前記生成部は、所定のソースコードのテンプレートを設定し、前記管理対象のAPI仕様のリソース、パラメータ名、パラメータ値の少なくとも一つを、前記テンプレートに書き込むことにより前記所定のソースコードを書き換えて前記API呼出ロジック部を生成する請求項1~3のいずれか1項に記載のAPIアダプタ生成装置。
- 前記オーケストレータに含まれるオーケストレータAPの情報から、インスタンス情報及び構成情報グラフを抽出する情報抽出部と、
前記構成情報グラフに基づいて、前記オーケストレータAPに含まれる各リソース間の類似度を算出する類似度算出部と、
を更に備え、
前記変換ルール算出部は、前記インスタンス情報、及び前記類似度に基づいて、前記モデル変換ルールを生成する請求項1~4のいずれか1項に記載のAPIアダプタ生成装置。 - 前記スキーママッチングは、Graph-Based手法、Instance-based手法、及び、前記Instance-based手法とスキーマ情報を組み合わせた「Hybrid」手法、のうちの少なくとも一つを用いる請求項1~5のいずれか1項に記載のAPIアダプタ生成装置。
- コンピュータが行うAPIアダプタ生成方法であって、
オーケストレータのデータモデルと、管理対象のAPI仕様を取得するステップと、
前記オーケストレータのデータスキーマ、及び前記API仕様のデータスキーマに基づいてスキーママッチングを行い、モデル変換ルールを算出するステップと、
前記モデル変換ルールに基づいて、APIアダプタ実行ロジックを記述したAPI呼出ロジック部のソースコードを書き換えるステップと、
前記ソースコードが書き換えられたAPI呼出ロジック部に基づいて、前記管理対象のAPIアダプタを生成するステップと、
を備えたAPIアダプタ生成方法。 - 請求項1~6のいずれか1項に記載のAPIアダプタ生成装置としてコンピュータを機能させるAPIアダプタ生成プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023512573A JPWO2022215194A1 (ja) | 2021-04-07 | 2021-04-07 | |
PCT/JP2021/014763 WO2022215194A1 (ja) | 2021-04-07 | 2021-04-07 | Apiアダプタ生成装置及びapiアダプタ生成方法並びにapiアダプタ生成プログラム |
US18/554,256 US20240118946A1 (en) | 2021-04-07 | 2021-04-07 | Api adapter generator, api adapter generation method, and api adapter generation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/014763 WO2022215194A1 (ja) | 2021-04-07 | 2021-04-07 | Apiアダプタ生成装置及びapiアダプタ生成方法並びにapiアダプタ生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022215194A1 true WO2022215194A1 (ja) | 2022-10-13 |
Family
ID=83545283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/014763 WO2022215194A1 (ja) | 2021-04-07 | 2021-04-07 | Apiアダプタ生成装置及びapiアダプタ生成方法並びにapiアダプタ生成プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240118946A1 (ja) |
JP (1) | JPWO2022215194A1 (ja) |
WO (1) | WO2022215194A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016207202A (ja) * | 2015-04-23 | 2016-12-08 | 富士通株式会社 | クエリメディエータ、多言語データティアのクエリ方法、多言語データティアのクエリ方法を実行するためのコンピュータプログラム |
WO2019163793A1 (ja) * | 2018-02-20 | 2019-08-29 | 日本電信電話株式会社 | Apiアダプタ、apiアダプタ作成方法、およびプログラム |
WO2020026778A1 (ja) * | 2018-08-02 | 2020-02-06 | 日本電信電話株式会社 | Apiアダプタ作成装置、apiアダプタ作成方法およびapiアダプタ作成プログラム |
-
2021
- 2021-04-07 US US18/554,256 patent/US20240118946A1/en active Pending
- 2021-04-07 WO PCT/JP2021/014763 patent/WO2022215194A1/ja active Application Filing
- 2021-04-07 JP JP2023512573A patent/JPWO2022215194A1/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016207202A (ja) * | 2015-04-23 | 2016-12-08 | 富士通株式会社 | クエリメディエータ、多言語データティアのクエリ方法、多言語データティアのクエリ方法を実行するためのコンピュータプログラム |
WO2019163793A1 (ja) * | 2018-02-20 | 2019-08-29 | 日本電信電話株式会社 | Apiアダプタ、apiアダプタ作成方法、およびプログラム |
WO2020026778A1 (ja) * | 2018-08-02 | 2020-02-06 | 日本電信電話株式会社 | Apiアダプタ作成装置、apiアダプタ作成方法およびapiアダプタ作成プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022215194A1 (ja) | 2022-10-13 |
US20240118946A1 (en) | 2024-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713664B1 (en) | Automated evaluation and reporting of microservice regulatory compliance | |
US8751620B2 (en) | Validating deployment patterns in a networked computing environment | |
US8694822B2 (en) | Disaster recovery in a networked computing environment | |
US8843889B2 (en) | Managing application template artifacts in a networked computing environment | |
US8924561B2 (en) | Dynamically resizing a networked computing environment to process a workload | |
US10680902B2 (en) | Virtual agents for facilitation of network based storage reporting | |
US11645438B2 (en) | Generating a template-driven schematic from a netlist of electronic circuits | |
US9977653B2 (en) | Discovery and modeling of deployment actions for multiple deployment engine providers | |
JP2017519314A (ja) | 製品、材料及び製造工程の統合化された設計向けのモデルを活用した計算プラットフォーム | |
US8874513B2 (en) | Transitioning application replication configurations in a networked computing environment | |
US11378942B2 (en) | Progressive guidance of digital twin model assembly | |
CN113448678A (zh) | 应用信息生成方法、部署方法及装置、系统、存储介质 | |
WO2019160008A1 (ja) | アプリケーション分割装置、方法およびプログラム | |
US10657230B2 (en) | Analysis of output files | |
WO2022215194A1 (ja) | Apiアダプタ生成装置及びapiアダプタ生成方法並びにapiアダプタ生成プログラム | |
Aggarwal et al. | Reliability growth analysis for multi-release open source software systems with change point | |
JP2014174609A (ja) | ハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラム | |
CN104424012A (zh) | 用于提供自定义虚拟装置的方法和设备 | |
US11750443B2 (en) | System configuration derivation device, method, and computer-readable recording medium | |
Svorobej et al. | Towards automated data-driven model creation for cloud computing simulation | |
US11182606B2 (en) | Converting chart data | |
CN104021027A (zh) | 提供虚拟装置的方法和设备 | |
US10713153B1 (en) | Method and system for testing an extended pattern using an automatic pattern testing engine | |
Ramisetty et al. | Ontology integration for advanced manufacturing collaboration in cloud platforms | |
Wang et al. | Parallel Monte Carlo method with MapReduce for option pricing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21935998 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023512573 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18554256 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21935998 Country of ref document: EP Kind code of ref document: A1 |