WO2016144304A1 - Gestion d'api dynamique - Google Patents

Gestion d'api dynamique Download PDF

Info

Publication number
WO2016144304A1
WO2016144304A1 PCT/US2015/019295 US2015019295W WO2016144304A1 WO 2016144304 A1 WO2016144304 A1 WO 2016144304A1 US 2015019295 W US2015019295 W US 2015019295W WO 2016144304 A1 WO2016144304 A1 WO 2016144304A1
Authority
WO
WIPO (PCT)
Prior art keywords
api
handlers
management
application
handler
Prior art date
Application number
PCT/US2015/019295
Other languages
English (en)
Inventor
Yeon WHANG
Original Assignee
Hewlett Packard Enterprise Development Lp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Priority to PCT/US2015/019295 priority Critical patent/WO2016144304A1/fr
Publication of WO2016144304A1 publication Critical patent/WO2016144304A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Definitions

  • An API for an application may comprise a set of API caiis that a device may use to interact with the application.
  • Each APS cail may be associated with a set of functionality and/or other API caiis.
  • FSG. 1 is a block diagram of an example device engaging in dynamic API management
  • FSG. 2 is a block diagram of an example device engaging in dynamic API management
  • FSG. 3A is a block diagram of an example device engaging in dynamic API management in a computing environment
  • FIG. 3B is a biock diagram of an example device engaging in dynamic API management in a computing environment
  • FIG. 3C is a block diagram of an example device engaging in dynamic APi management in a computing environment
  • F!G. 4 is a flowchart of an example method for execution by an example computing device engaging in dynamic API management
  • FIG, 4A is a flowchart of an example method for execution by an example computing device engaging in dynamic API management.
  • FSG. 5 is a block diagram of an example device engaging in dynamic
  • An API for an application may comprise a set of API calls that a device may use to interact with the application.
  • Each APS call may be associated with a set of functionality and/or other APS calls.
  • Use of art API call may specify ho an application should act responsive to receiving the call.
  • a conversation between a device and an application ⁇ e.g., an application executing on a separate device) may comprise a plurality of API calls sent by the device to the application and a corresponding; plurality of API responses sent by the application to the device.
  • the application may comprise a set of handlers thai may interrupt communication between a device and an application.
  • the set of handlers may be used to interrupt the communication to insert an API call and/or an API response into the communication, to receive information based on the communication, to send the received information, and/or otherwise interac wit the application,
  • the set of APS handlers in an application may be static. That is, an application may comprise a predetermined set of API handlers.
  • a technical challenge may exist with a static, predetermined set of API handlers, as the information that may be received via the use of the API handlers may not be dynamically changed or customized based on the needs of the client using the application. Further, an individual client may be unable to customize the APS handlers used In an application based on geography, user, and/or other features related to use of the application.
  • An example computing device provides dynamic Application Programming interface (API) management.
  • the example computing device may comprise a non-transitory machine-readable storage medium comprising instructions executable by a processor of a computing device.
  • the instructions when executed by the processor of the computing device, may manage first information selecting a first customized subset of API handlers for use during execution of an application communicating between a first API provider device and a API management device in a computing environment, and may cause injection of the first customized subset of API handlers during execution of the application communicating between the first API provider device and the AP! consumer device.
  • API handlers By facilitating customization of API handlers that may be used by an application via an API provider device, functionality such as metering, authentication, logging, SLA enforcement, profiling, monitoring, analysis, API monetization, and/or other functionality may be performed and analyzed.
  • the customization aiiows the API handlers to be managed in a centralized and consistent manner, in which functionality may be fully controlled between the API provider device and the API consumer device.
  • the customization aiiows the functionality to be performed in a manner that is tightly coupled with the actual code of the application while still allowing the management of the API handlers in a centralized and consistent manner
  • the management functionality for the API handlers may be performed via one or more of rule execution engine, via an API management device, via a gateway device internal to the computing environment, via a cloud device, and/o via other devices communicably coupled to the API provider device.
  • FIG. 1 is an example API management device 100 that provides dynamic API management.
  • the API management device 100 may be any type of computing device that can dynamically manage APIs and communicate with a rule execution engine thai executes AP! handlers on communication between an API provider device and an APS consumer device.
  • APS management device 100 may include a laptop computing device, a desktop computing device, an ali-in-one computing device, a tablet computing device, a mobile phone, an electronic book reader, a network-enabled appliance such as a "Smart" television, a server, and/or other electronic device suitable for performing the dynamic API management functionality described herein,
  • the various components ⁇ e.g.. components 110, 120, 130, 140) depicted in FIG. 1 may be coupied to at least one other component via a network.
  • the API management engine 120 and the various components described herein may be implemented in hardware and/or a combination of hardware and programming that configures hardware.
  • the term "engine”, as used herein, refers to a combination of hardware and programming that performs a designated function.
  • the hardware of each engine for example, may include one or both of a processor (e.g., processor 110) and a machine-readable storage medium, while the programming is instructions or code stored on the machine-readable storage medium and executable by the processor to perform the designated function.
  • different numbers of components, engines, or entities tha depicted may be used.
  • APS management engine 120 may manage a set of API handlers for an application.
  • the application may be executed by individual clients.
  • a client may execute the application i their own computing environment, which may comprise multiple API provider devices that may be provided across multiple geographic regions, to multiple types of API consumers, and/or otherwise grouped.
  • the set of API handlers for the application may comprise, for example, a default set of API handlers for the application, any APS handlers created for the application by one or multiple clients, and/or other API handlers related to the application.
  • the set of handlers may comprise multiple sets of API handlers.
  • the API management engine 120 may manage a first set of APS handlers for a first client and a second set of API handlers for a second client
  • the first set of API handlers may comprise the same API handlers as the second set of API handlers, may comprise some APS handlers thai are the same as some API handlers in the second set of APS handlers, may comprise the same set of defauit APS handlers as the second set of API handlers, and/or may comprise other API handlers in common with the second set of API handlers.
  • the API handlers may comprise handlers for restful APIs, for any APIs associated with html pages, and/or other types of APIs.
  • the set of API handlers ⁇ and individual sets of API handlers for each client) that are managed by the API management engine 120 may be stored in a non-transitory machine-readable storag medium of the APS management device 100, in a separate storage medium and/or device communicably coupled to the API management device 100, in a cioud computing environment communicably coupied to the API management device 100, and/or in another manner such that the set of APS handlers are accessibie to the APS management device.
  • the APS management engine 120 may facilitate seiection of a different subset of APS handlers from the first set of API handlers for each grouping of API provider devices of a client.
  • the API managemeni engine 120 may manage a first subset of API handlers of the first set of API handlers for a group of API provider devices in a first geographic location and may manage a second subset of API handlers from the first set of API handlers for a second group of servers in a second geographic location .
  • API management engine 120 may manage selection of a first customized subset of API handlers for use during execution of an application communicating between a first API provider device and an API consumer device. For example, the API management engine 120 may receive the selection of the first customized subset via a user interface made available via the API management device 100 to an entity associated with the client, an administrator associated with the API management device, and/or other authorized entity.
  • the APi management engine 120 may receive selection of the first customized subset by receiving information related to functions to be performed by the API handlers.
  • the API management engine 120 may determine APi handlers in the first set of APS handlers that relate to the functions.
  • the API management engine 120 may include the determined APS handlers in an existing customized subset of APS handlers for the application of the client ⁇ and/or a group of API provider devices) of the client, in some examples, the original customized subset of API handlers may comprise the default set of APIs for the application for the client.
  • the functions to be performed by the APS handlers may relate, for example, to metering, authentication, logging, SLA enforcement, profiling, monitoring, analysis, API monetization, and/or other functionality that may be performed based on execution of the application for the client.
  • One or multiple API handlers may be available (and/or may be created) for each function.
  • a function may not be associated with an API handler.
  • the APi management engine 120 may direct the entity using the user interface to create a corresponding APS handler for inclusion in the customized subset of API handlers (and the corresponding set of existing API handlers for the client).
  • selection of a first customized subset of API handlers may comprise the creation of new API handlers to be included to the existing customized subset of API handlers for the application (and/or a grouping of API provider devices) of the client.
  • APi management server 120 may also facilitate removal of APi handlers from a existing customized set of API handlers via the user interface as well.
  • APS management engine 120 may store the association between each application (and/or grouping of API provider devices executing the application) and a corresponding customized subset of APi handlers.
  • the API management engine 120 may store, for an individual association, information related to an API provider device (or grouping of APi provider devices) at which the customized subset may be used, informatio related to selection of each APS handler, any function related to the selection of an API handler, any entity that selected a APS handler, any entity that created a new APS handier for inclusion in the subset, a time stamp related to selection of a API handier, and/or other information related to the association.
  • the API management engine 120 may store the associations for each customized subset of API handlers in a manner the same as or simiiar to the storage of the set of APi handlers as discussed above.
  • the API injection engine 130 may cause the customized set of APi handlers to be injected into the application at runtime.
  • the AP! injection engine 130 may send the customized set of APS handlers to a rule execution engine.
  • APi injection engine 130 may send the first customized subset of API handlers to a Socal memory of the API provider device such that the first customized subset of API handlers may he applied to ali matching HTTP and/or network traffic.
  • the APf injection engine 130 may cause the first customized subset of API handlers to be injected at runtime of the application responsive to a change being made to the first customized subset of API handlers, responsive to a predetermined amount of time passing since the last injection, responsive to a request from the API provider device, responsive to a command received from the entity via the user interface, and/or responsive to another condition being met.
  • the rule execution engine may be disposed in an APi provider device of the client, in a gateway device internal to the computing environment of the client, in a gateway device external to the computing environment of the client in a cloud computing environment, and/or otherwise communicabiy coupled to the APS management device 100 and the API provider device of the client.
  • the rule execution engine may use the customized set of handlers to interrupt the communication to insert an APi call and/or an API response into the communication, to receive information related to the communication, to make the received information available to one or multiple APS provider devices of the client, and/or otherwise apply the APS handlers during execution of the application.
  • the rule execution engine may inject the received API handlers at runtime of the application.
  • the rule execution engine may apply the API handlers to APS transaction data content. As such, the rule execution engine may collect information based on applying the API handlers during execution of the application that comprises information beyond a mere count of activity or other metric related to occurrence of an event. In some examples, the rule executio engine may collect information based on applying the API handlers, where the collected information may compose API transaction data content. In some examples, responsive to the rule execution engine being disposed in the APS provider device, the rule execution engine may obtain application session information from the application by applying the customized subset of API handlers during execution of the application.
  • the API injection engine 130 may facilitate the application of new or updated API handlers to be applied at any time remotely without having to restart the service of the API provider device.
  • the API injection engine 130 also allows the customized subset of API handlers to be maintained remotely from th API provider device based on client preferences and allows the customized subset of API handlers to be delivered in a non-invasive manner that does not require significant downtime or restart of the application service o the API provider device,
  • the API handler creation engine 140 may facilitate creation of a new API handler and include the new API handler in the first subset of API handlers.
  • API handler creation engine 140 may facilitate creation of the new API handier via the user interface.
  • API handler creation engine 140 may require receipt of information related to APS handler type, API handler name, an expression, an action, and/or other information related to the APS handler.
  • the API handler creation engine 140 may present a user interface that facilitates input of information related to API provider (e.g., client identifier), API handler type, API handler name, expression, API method, action, action result, and/or other information
  • An APS handler type may comprise, for example, information related to a function to be performed and/or analyzed via execution of the application.
  • An APS handler name may be any name chosen for the new API handler.
  • An expression may be a rule statement comprising information related to what information should be obtained.
  • the expression may comprise, for example, a JSON object, an XML object, and/or other object.
  • the method may comprise, for example, an HTTP process suc as post, get, and/or other process.
  • the action may comprise, for example, an API call that may obtain information during execution in the application.
  • the action result may comprise information related to how to handle the obtained information.
  • the information obtained from applying an API handler may comprise APS transaction data content and may not be limited merely to metrics related to occurrence of an event.
  • the AP! handier creatio engine 140 may present drop down menus in the user interface via which the entity may enter and/or select information for each field.
  • the API handier creation engine 140 may pre- populate certain choices in a drop down menu responsive to entry or selectio of a choice in another drop down entry. For example, responsive to receiving information reiated to handier type, the APi handier creation engine 140 may pre-populate a pre-determined, pre-associated set of expressions in a drop down menu for expressions. In another example, responsiv to a function being entered o selected, the APS handler creation engine 140 may pre-populate a predetermined, pre-associated set of API handler types in the API handler type drop down menu,
  • the API handler creation engine 140 may store information related to the new APS handler in the set of APS handlers for the application.
  • the APS handler creation engine 140 may also include the new APS handler in the customized subset of API handlers for the application for the client ⁇ and/or grouping of API provider devices) for which it was created.
  • engines 120, 130, and 140 may access data stored in a non-transitory machine-readable storage medium of API management device 100.
  • the non-transitory machine-readable storage medium of APS management device 100 may represent any memory accessible to API management device 100 that can be used to store and retrieve data.
  • the non-transitory machine-readable storage medium of APi management device 100 and/or other database may comprise random access memory (RAM), read- only memory (ROM), e!ectrieaiiy-erasabie programmable read-only memory (EEPRO ), cache memory, floppy disks, hard disks, optica!
  • the API management device 100 may access non-transitory machine-readable storage medium locally or remotely via a network.
  • the non-transitory machine-readable storage medium of APS management device 100 may include a database to organize and store data.
  • the non-transitory machine-readabie storage medium of API management device 100 may be, include, or interface to, for example, a relational database.
  • the database may reside in a single or multiple physical device(s) and in a single or multiple physical iocation(s).
  • the database may store a plurality of types of data and/or files and associated data or file description, administrative information, or any other data,
  • the non-transitory machine-readable storage medium of API management device 100 may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions.
  • the non-transitory machine-readable storage medium of API management device 100 may be a non-transitory storage medium, where the term "non-transitory" does not encompass transitory propagating signals.
  • the non-transitory machine-readable storage medium of API management device 100 may be implemented in a single device or distributed across devices.
  • processor 1 0 may represent any number of processors capable of executing instructions stored by the mac ine-readabie storage medium.
  • the processor 110 may be integrated in a single device or distributed across devices. Further, the machine-readable storage medium may be fully or partially integrated in the same device as the processor 110, or it may be separate but accessible to that device and the processor 1 0.
  • the machine-readable storage medium may comprise instructions that may be part of an installation package that when installed can be executed by processor 110 to implement the functionality described herein .
  • the mach ine-readable storage medium may be a portable medium suc as a floppy disk, CD, DVD, or flash drive or a memory maintained by a server from whic the installation package can be downloaded and installed.
  • the program instructions may be part of an application or applications already installed.
  • the machine-readable storage medium may include a hard disk, optical disk, tapes, solid state drives, RAM, ROM, EEPROM, or the like.
  • the processor 110 may be at least one central processing unit (CPU), microprocessor, and/or other hardware device suitable for retrieval and execution of instructions stored in the machine-readable storage medium.
  • the processor 110 may fetch, decode, and execute program instructions.
  • the processor 110 may include at least one electronic circuit comprising a number of electronic components for performing the functionality of at least one of instructions.
  • FIG. 2 is an example APi management device 100 for dynamic APS management.
  • the API management device 100 of FIG. 2 may be the same as or similar to APS management device 100 of FIG. 1.
  • API management engine 120, API injection engine 130, API handler creation engine 140, non-transitory machine readable medium, and/or other resources of APS management device 100 of FSG, 1 APS management device 100 of FSG. 2 may also comprise an API analysis engine 150.
  • the API analysis engine 50 may analyze the information received responsive to application of the customized sets of APS handlers. Responsive to analyzing the received information, the APS analysis engine 150 may display information related to the analysis via the user interface.
  • the API analysis engine 150 may perform analysis responsive to usage of the APS handlers. For example, responsive to a set of functions being included in an association of a subset of APi handlers with an APS provider device (or grouping of API provider devices), the API analysis engine 150 may generate reports corresponding to information received based on usage of the subset of APS handlers. In one example, the APi analysis engine 150 may determine a monetization report based on use of the first customized subset of APS handlers during execution of the application over a first predetermined time period.
  • the API analysis engine 150 may determine and prepare reports related to one or more of the functions described above (e.g., metering, authentication, logging, SLA enforcement, profiling, monitoring, analysis, API monetization, and/or other functionality), and may make the reports available via the user interface.
  • the functions described above e.g., metering, authentication, logging, SLA enforcement, profiling, monitoring, analysis, API monetization, and/or other functionality
  • the API analysis engine 150 may receive information related to a report to be determined and generated via the user interface. The API analysis engine 150 may determine and generate a corresponding report based on the received information. In some examples, the API analysis engine 150 may receive information collected from the rule execution engine that applies the customized subset of API handlers.
  • the Information may comprise, for example, information relating to functions corresponding to application use, a time period during which to analyze data relating to the functions, information related to API consumer types (such; that application use by API consumers of the API consumer types is analyzed), information related to geographic region or zone (such that application use by API consumers in the geographic region or zone is analyzed), API transaction data content, application session information, and/or other information related to application use,
  • FIGS. 3A, 3B, and 3C are block diagrams of an example device engaging in dynamic API management in a computing environment.
  • the API management device 100 may be any type of computing device that can dynamically manage APIs and communicate with a rule execution engine that executes API handlers on communication between an API provider device and an APS consumer device.
  • API management device 100 may include a laptop computing device, a desktop computing device, an all-in-one computing device, a tablet computing device, a mobile phone, an electronic book reader, a network-enabled appliance such as a "Smart" television, a server, and/or other electronic device suitable for performing the dynamic API management functionality described herein,
  • the API consumer device 200 may comprise a consumer device that accesses an application executing on APS provider device 300 via a rule execution engine 350 (e.g., rule execution engine described above with reference to FIG. 1).
  • the API consumer device 200 may communicate with rule execution engine 350 over a network.
  • the APS consumer device 200 may be any type of computing device providing a user interface through which a user can interact with a software application and communicate with API provider device 300. For example.
  • APi consumer device 200 may include a laptop computing device, a desktop computing device, an all-in-one computing device, a tablet computing device, a mobile phone, an electronic book reader, a network-enabled appliance such as a "Smart" television, and/or other electronic device suitable for processing user interactions with the API provider device 300.
  • AP! provider device 300 may similarly comprise a laptop computing device, a desktop computing device, an all-in-one computing device, a tablet computing device, a mobile phone, an electronic book reader, a network- enabled appliance such as a "Smart" television, server, and/or other electronic device suitable for executing an application. While API provider device 300 is depicted as a single computing device, API provider device 300 may include any number of integrated or distributed computing devices serving at least one software application for consumption by API consumer device 200.
  • Rule execution engine 350 may be an engine as described above wit respect to FIG. 1.
  • ruie execution engine 350 may comprise and/or be communicabl coupled to a local cache (e.g., a local non- transitory machine-readable storage medium) that may store the customized sets of APS handlers for use during communication between the APi consumer device 200 and the API provider device 300.
  • ruie execution engine 350 may include a laptop computing device, a desktop computing device, an all-in-one computing device, a tablet computing device, a mobile phone, an electronic book reader, a network-enabled appliance such as a "Smart" television, a server, and/or other electronic device suitable for performing the functiona!ity described herein.
  • the APi management device 100 may reside external to a computing environment 301 that comprises APS provider device 300, and may be communicably coupled to ruie execution engine 350 that resides between an API provider device 300 and API consumer device 200.
  • the rule executio engine 350 may reside in and/or be part of a management portal device (e.g., a proxy device disposed between the API provider device 300 and the AP! consumer device 200).
  • the rule execution engine 350 may be communicably coupied to the APi consumer device 200 and the APi provider device 300, in some examples, the rule execution engine 350 and/or APi management device 100 may be in a cloud computing environment communicably coupled to the aile execution engine 350.
  • the APS management device 100 may reside external to a computing environment 301 that comprises API provider device 300, and may be communicably coupled to a rule execution engine 350 that resides between API provider device 300 and API consumer device 200.
  • the rule execution engine 350 may reside in a device internal to the client computing environment 301 and be communicably coupled to the APS consumer device 200 and the API provider device 300.
  • the API management device 100 may reside external to a computing environment 301 that comprises API provider device 300, and may be communicably coupled to a rule executio engine 350 that resides between API provider device 300 and API consumer device 200.
  • the rule execution engsne 350 may also reside in and/or be part of API provider device 300 in a computing environment 301 ,
  • the rule executio engine 350 may be an interfac between the APi provider device 300 and the API consumer device 200.
  • FIG. 4 is a flowchart of an example method for execution by an example computing device for facilitating dynamic APS management. Although execution of the methods described below are with reference to system described i FIG. 1 , other suitable devices for execution of this method may be employed to practice the present techniques.
  • the flow diagram described in FIG. 4 and other figures may be implemented in the form of executable instructions stored on a machine-readable storage medium, such as the storage medium of tie hypervisor, by one or more components described herein, and/or in the form of electronic circuitry .
  • FIG. 4 The various processing blocks and/or data flows depicted in FIG. 4 (and in the other drawing figures such as FIG. 4A) are described in greater detail herein.
  • the described processing blocks may be accomplished using some or all of the system components described in detail above and, in some implementations, various processing blocks may be performed in different sequences and various processing blocks may be omitted. Additional processing blocks may be performed along with some or all of the processing blocks shown in the depicted flow diagrams. Some processing blocks may be performed simultaneously. Accordingly, the operations depicted in the flow diagram as illustrated (and described in greater detail below) are meant be an example and, as such, should not be viewed as limiting.
  • the API management device may manage a first customized subset of API handlers.
  • the API management device 100 (and/or the API management engine 120, or other resource of the API management device 100) may manage the first customized subset of APS handlers.
  • the API management device may manage the first customized subset of APi handlers in a manner similar or the same as that described above in relation to the execution of APS management engine 120, and/or other resource of the API management device 100.
  • the APi management device may cause injection of the first customized subset of API handlers at runtime of the application.
  • the APS management device 100 (and/or the APS injection engine 130, or other resource of the second device 100) may cause injection of the first customized subset of API handlers.
  • the APi management device may cause injection of the first customized subset of API handlers in a manner similar or the same as that described above in relation to the execution of API injection engine 130, and/or other resource of the API management device 100.
  • the API management device may receive information from the first customized subset of API handlers injected during runtime of the application, responsive to executing the application.
  • the API management device 100 (and/or the API managemeni engine 120, or other resource of the API management device 100) may receive information from the first customized subset of API handlers.
  • the APi management device may receive information from the first customized subset of API handlers in a manner similar or the same as that described above in relation to the execution of API management engine 120, and/or other resource of the API management device 100.
  • [0029J FSG. 4A is a flowchart of an example method for execution by an example computing device for facilitating dynamic API management.
  • customization of the first customized subset of API handlers may be facilitated.
  • the API management device 100 (and/or the API management engine 120, API handler creation engine 140, or other resource of the API management device 100) may facilitate customization of the first customized subset of API handlers.
  • the first customized subset of API handlers may be customized in a manner similar or the same as that described above in relation to the execution of APS management engine 120, API handier creation engine 140, and/or ofrier resource of the API management device 100,
  • customization of the first customized subset of API handlers may be performed in various manners.
  • the API management device may facilitate creation of a new API handler.
  • the API management device 100 (and/or the API handier creation engine 140, or other resource of the APS management device 100) may facilitate creation of a new APS handler.
  • Facilitation of a new API handler may be performed i a manner similar or the same as that described above in relation to the execution of API handler creation engine 140, and/or other resource of the API management device 100.
  • the API management device may receive information related to an API handler type, APi handler name, expression and action.
  • the APi management device 100 (and/or the API handler creation engine 140, or other resource of the APS management device 00) may receive this information. This information may be received in a manner similar or the same as that described above in relation to the execution of API handler creation engine 140, and/or other resource of the APi management device 100.
  • the API management device may include the new API handler in the first customized subset of API handlers.
  • the API management device 100 (and/or the API handler creation engine 140, or other resource of the API management device 100) may include the new API handler in the first customized subset of API handlers.
  • the new APS handier may be include in the first customized subset of API handlers in a manner similar or the same as that described above in relation to the execution of API handler creation engine 140, and/or other resource of the API management device 100.
  • FSG. 5 is a block diagram of an exampie device thai facilitates dynamic APS management, in the example depicted in FIG.
  • APS management device 500 includes a non-transitory machine-readable storage medium 520 and a processor 510.
  • the API management device 500 may reside external to a computing environment of a client that comprises an API provider device, and may be communicably coupied to a rule execution engine, where the rule execution engine may be communicabiy coupied to both an AP! provider device and a ciient device.
  • the API management device 500 may reside external to a computing environment of a ciient that comprises an API provider device, and may be communicably coupied to a rule execution engine, where the rule execution engine may reside i and/or be part of a management portal device (e.g., a proxy device disposed between the API provider device and the client device).
  • the API management device 500 may also be in a cloud computing environment communicably coupled to the computing environment of the client.
  • the API management device 500 may reside external to a computing environment of a ciient that comprises an API provider device, and may be communicably coupled to a rule execution engine, where the rule execution engine may reside in the client computing environment and be communicably coupled to both an API provider device and a client device.
  • API management device 500 may reside external to a computing environment of a ciient that comprises an API provider device, and may be communicably coupled to a rule execution engine, where the rule execution engine may reside i and/or be part of an APi provider device i a computing environment of a client.
  • Processor 510 may be one or more centra! processing units (CPUs), microprocessors, and/or other hardware devices suitable for retrieval and execution of instructions stored i machine-readable storage medium 520.
  • Processor 510 may fetch, decode, and execute program instructions 521 , and/or other instructions to facilitate dynamic API management, as described below.
  • processor 510 may include one or more electronic circuits comprising a number of electronic components for performing the functionality of one or more of program instaictions 521, and/or other instructions.
  • the program instructions can be part of an installation package that can be executed by processor 510 to implement the functionality described herein.
  • machine-readabie storage medium 520 may be a portable medium such as a CD, DVD, or flash drive or a memory maintained by another backup storage device from which the instaiiation package can be downloaded and installed, in another example, the program instaictions may be part of an application or appiications already installed on backup storage device 500.
  • Machine-readable storage medium 520 may be any hardware storage device for maintaining data accessible to API management device 500.
  • machine-readable storage medium 520 may include one or more hard disk drives, soiid state drives, tape drives, and/or any other storage devices.
  • the storage devices may be located in API management device 500 and/or in another device In communication with API management device 500.
  • machine-readable storage medium 520 may be any electronic, magnetic, optical, or other physical storage device thai stores executable instructions.
  • machine-readable storage medium 520 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disc, and the like.
  • RAM Random Access Memory
  • EEPROM Electrically-Erasable Programmable Read-Only Memory
  • storage drive an optical disc, and the like.
  • storage medium 520 may maintain and/or store the data and information described herein,
  • Machine-readable storage medium 520 may also be encoded with executable instructions for enabling execution of the functionality described herein.
  • machine-readable storage medium 520 may store APS management instructions 521, API injection instructions 522, API creation instructions 523, API monetization instructions 524, and/or other instructions that may be used to carry out the functionality of the herein disclosed present techniques.
  • API management instructions 521 when executed by processor 510, may manage a subset of API handlers for use during execution of an application communicating between a first API provider device and a API management device in a computing environment.
  • APi management instructions 521 when executed by processor 510, may manage a first customized subset of API handlers for use during execution of the application.
  • API management instructions 521 when executed by processor 510, may manage a second customized subset of API handlers for use during execution of the application via a second API provider device.
  • APS management instructions 524 when executed by processor 510, may also manage a set of API handlers for a client.
  • API management instructions 524 when executed by processor 510, may manage a first set of API handlers for a first client and may manage a second set of APS handlers for a second client.
  • API management instructions 524 when executed by processor 510, may include a new API handler in the first customized subset of API handlers.
  • the functionality performed by the APS management instructions 521 when executed by processor 510 may be the same as or similar to functionality perfomied by APS management engine 120 of API management device 100 and/or other resource of APS management device 100.
  • APS injection instructions 522 when executed by processor 510, may cause injection of a selected subset of API Handlers during execution of an application.
  • API injection instructions 522 when executed by processor 510, may cause injection of the first customized subset of API handlers during execution of the application communicating between the first API provider device and the API consumer device
  • API injection instructions 522 when executed by processor 510, may cause injection of the second customized subset of API handlers during execution of the application communicating via a second APS provider device.
  • the functionality performed by the API injection instructions 522, when executed by processor 510 may be the same as or similar to functionality performed by APS injection engine 130 of API management device 100 and/or other resource of API management device 100.
  • APS creation instructions 523 when executed by processor 510, may facilitate creation of a new API handier for the application.
  • API creation instructions 523 when executed by processor 510, may facilitate creation of a new APS handler for the application by receiving information related to an API handier type for the new API handler, a handier name for the new API handler, an expression related to data handled by the new APi handier, and an action related to the expression.
  • API creation instructions 523 when executed by processor 510, may include the new APi handler in the first customized subset of APS handlers.
  • the functionality performed by the API creation instructions 523, when executed by processor 510 may be the same as or similar to functionality performed by API creation engine 140 of API management device 100 and/or other resource of APS management device 100.
  • APS monetization instructions 524 when executed by processor 510, may determine a monetization report for a client. For example, APi monetization instructions 524, when executed by processor 510, may determine a monetizatio report based o use of the first customized subset of API handlers during execution of the application over a first predetermined time period, API monetization instructions 524, when executed by processor 510, may perform other functionality related to use of the customized subset of API handlers used during execution of the application as well, in some examples, the functionality performed by the API monetizatio instructions 524, whe executed by processor 510, may be the same as o simila to functionality performed by API analysis engine 150 of APS management device 100 and/or other resource of API management device 100.
  • the foregoing disclosure describes a number of examples for facilitating dynamic API management.
  • the disclosed examples may include systems, devices, computer-readable storage media, and methods for facilitating dynamic API management.
  • certain examples are described with reference to the components illustrated in FIGS. 1- 5.
  • the functionality of the illustrated components may overlap, however, and may be present in a fewer or greater number of elements and components. Further, all or part of the functionality of illustrated elements may co-exist or be distributed among several geographically dispersed locations. Further, the disciosed examples may be implemented in various environments and are not limited to the illustrated examples.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

La présente invention concerne un dispositif informatique donné à titre d'exemple qui fournit une gestion d'interface de programmation d'application (API) dynamique. Le dispositif informatique donné à titre d'exemple peut comprendre un support d'informations lisible par ordinateur non transitoire comprenant des instructions exécutables par un processeur d'un dispositif informatique. Les instructions, lorsqu'elles sont exécutées par le processeur du dispositif informatique, gèrent un premier sous-ensemble de pilotes d'API personnalisés destinés à l'utilisation pendant l'exécution d'une application communiquant entre un premier dispositif fournisseur d'API et un dispositif consommateur d'API et peuvent provoquer l'injection du premier sous-ensemble de pilotes d'API personnalisés pendant l'exécution de la communication entre la premier dispositif fournisseur d'API et le dispositif consommateur d'API.
PCT/US2015/019295 2015-03-06 2015-03-06 Gestion d'api dynamique WO2016144304A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/019295 WO2016144304A1 (fr) 2015-03-06 2015-03-06 Gestion d'api dynamique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/019295 WO2016144304A1 (fr) 2015-03-06 2015-03-06 Gestion d'api dynamique

Publications (1)

Publication Number Publication Date
WO2016144304A1 true WO2016144304A1 (fr) 2016-09-15

Family

ID=56878715

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/019295 WO2016144304A1 (fr) 2015-03-06 2015-03-06 Gestion d'api dynamique

Country Status (1)

Country Link
WO (1) WO2016144304A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581635A (zh) * 2020-05-13 2020-08-25 中国民航信息网络股份有限公司 一种数据处理方法及系统
US11249798B1 (en) 2020-09-16 2022-02-15 International Business Machines Corporation Personalized timeout control
US11954517B2 (en) 2021-05-04 2024-04-09 Visa International Service Association Computer-implemented method and system for providing dynamic endpoints for performing data transactions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204980A1 (en) * 2008-02-11 2009-08-13 Blue Coat Systems, Inc. Method for implementing ejection-safe API interception
US20110214131A1 (en) * 2009-09-23 2011-09-01 Aliphcom System and method of enabling additional functions or services of device by use of transparent gateway or proxy
US20130080505A1 (en) * 2011-09-28 2013-03-28 Microsoft Corporation Web API Framework
US20140109072A1 (en) * 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
US8793359B1 (en) * 2013-11-25 2014-07-29 Software Ag Systems and/or methods for intelligently detecting API key domains

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204980A1 (en) * 2008-02-11 2009-08-13 Blue Coat Systems, Inc. Method for implementing ejection-safe API interception
US20110214131A1 (en) * 2009-09-23 2011-09-01 Aliphcom System and method of enabling additional functions or services of device by use of transparent gateway or proxy
US20130080505A1 (en) * 2011-09-28 2013-03-28 Microsoft Corporation Web API Framework
US20140109072A1 (en) * 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
US8793359B1 (en) * 2013-11-25 2014-07-29 Software Ag Systems and/or methods for intelligently detecting API key domains

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581635A (zh) * 2020-05-13 2020-08-25 中国民航信息网络股份有限公司 一种数据处理方法及系统
CN111581635B (zh) * 2020-05-13 2023-09-05 中国民航信息网络股份有限公司 一种数据处理方法及系统
US11249798B1 (en) 2020-09-16 2022-02-15 International Business Machines Corporation Personalized timeout control
US11954517B2 (en) 2021-05-04 2024-04-09 Visa International Service Association Computer-implemented method and system for providing dynamic endpoints for performing data transactions

Similar Documents

Publication Publication Date Title
US9419917B2 (en) System and method of semantically modelling and monitoring applications and software architecture hosted by an IaaS provider
US11341092B2 (en) Method and system for applying data retention policies in a computing platform
US10452514B2 (en) Monitoring and analysis of operating states in a computing environment
US9569332B2 (en) System and method for investigating anomalies in API processing systems
US9667489B2 (en) Generation and management of computing infrastructure instances
US9712410B1 (en) Local metrics in a service provider environment
US11695842B2 (en) Managing operation of instances
US20150222504A1 (en) System and method for monitoring and reporting data in api processing systems
US20150067171A1 (en) Cloud service brokering systems and methods
US10965566B2 (en) System and method for detecting changes in cloud service up-time
US9876703B1 (en) Computing resource testing
US10726027B2 (en) Cognitive elasticity of cloud applications
US10097586B1 (en) Identifying inconsistent security policies in a computer cluster
US10956306B2 (en) Debugging streaming applications using debug regions
US11057280B2 (en) User interface with expected response times of commands
US10963984B2 (en) Interaction monitoring for virtualized graphics processing
Michael et al. Cloudperf: A performance test framework for distributed and dynamic multi-tenant environments
WO2016144304A1 (fr) Gestion d'api dynamique
US11429454B2 (en) Cloud resource utilization management

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15884834

Country of ref document: EP

Kind code of ref document: A1