Application programmable interface (API) discovery
An example system may include an application programmable interface (API) discovery component to employ a plurality of different search strategies to search a plurality of storage environments to discover APIs associated with an enterprise; an API assessment component to classify the discovered APIs according to a taxonomy of API contexts and store at least a portion of the classified APIs in an API information repository; and an API management component to provide user devices with authorized access to the classified APIs in the API information repository via an API gateway.
1. A system, comprising:
a processor; and
a memory on which is stored machine readable instructions that are to cause the processor to:
employ a plurality of different search strategies to search a plurality of storage environments of an enterprise to discover application programming interfaces (APIs) associated with the enterprise;
classify the discovered APIs according to a taxonomy of API contexts and store at least a portion of the classified APIs in an API information repository;
group duplicate APIs of the discovered APIs that are assessed to perform similar functions;
analyze the duplicate APIs to determine a usage of each API of the duplicate APIs; and
provide user devices with authorized access to the classified APIs in the API information repository via an API gateway.
2. The system of claim 1 , wherein the instructions are further to cause the processor to monitor network traffic to identify signatures indicative of previously unknown directories to search for APIs and search the previously unknown directories for APIs.
3. The system of claim 1 , wherein information indicative of search criteria of the plurality of different search strategies is stored in a plurality of search cartridge files and the instructions are further to cause the processor to feed the search cartridge files into a plurality of different search tools to discover the APIs.
4. The system of claim 1 , wherein the instructions are further to cause the processor to classify the discovered APIs by correlating functions performed by the discovered APIs with functions stored in association with API categories in the taxonomy.
5. The system of claim 1 , wherein the instructions are further to cause the processor to populate an API store webpage with links to the classified APIs to provide the authorized access.
6. The system of claim 1 , wherein the searched plurality of storage environments include databases internal to the enterprise and databases external to the enterprise.
7. The system of claim 1 , wherein the instructions are further to cause the processor to de-duplicate the discovered APIs by deleting at least one of a plurality of APIs that are assessed to perform similar functions and that have less usage than a respective duplicate API.
8. The system of claim 1 , wherein the instructions are further to cause the processor to limit how much interaction an individual user or a group of users have with an API.
9. A method, comprising:
searching, by a processor, a plurality of storage environments of an enterprise to discover application programing interfaces (APIs) associated with an enterprise by employing a plurality of different search strategies;
classifying, by the processor, the discovered APIs according to a taxonomy of API contexts and storing at least a portion of the classified APIs in an API information repository;
grouping, by the processor, duplicate APIs of the discovered APIs that are assessed to perform similar functions;
analyzing, by the processor, the duplicate APIs to determine a usage of each API of the duplicate APIs; and
providing, by the processor, user devices with authorized access to the classified APIs in the API information repository via an API gateway.
10. The method of claim 9 , wherein searching the plurality of storage environments comprises monitoring network traffic to identify signatures indicative of previously unknown directories to search for APIs and search the previously unknown directories for APIs.
11. The method of claim 9 , wherein information indicative of search criteria of the plurality of different search strategies is stored in a plurality of search cartridge files and wherein searching the plurality of storage environments comprises feeding the search cartridge files into a plurality of different search tools to discover the APIs.
12. The method of claim 9 , wherein classifying the discovered APIs comprises correlating functions performed by the discovered APIs with functions stored in association with API categories in the taxonomy.
13. A non-transitory computer readable medium on which is stored machine readable instructions that when executed by a processor, cause the processor to:
search a plurality of storage environments of an enterprise to discover application programming interfaces (APIs) associated with an enterprise by employing a plurality of different search strategies;
classify the discovered APIs according to a taxonomy of API contexts and storing at least a portion of the classified APIs in an API information repository;
group duplicate APIs of the discovered APIs that are assessed to perform similar functions;
analyze the duplicate APIs to determine a usage of each API of the duplicate APIs; and
provide user devices with authorized access to the classified APIs in the API information repository via an API gateway.
14. The non-transitory computer readable medium of claim 13 , wherein the instructions are further to cause the apparatus to search a plurality of storage environments by monitoring network traffic to identify signatures indicative of previously unknown directories to search for APIs and search the previously unknown directories for APIs.
15. The non-transitory computer readable medium of claim 13 , wherein information indicative of search criteria of the plurality of different search strategies is stored in a plurality of search cartridge files and wherein the instructions are further to cause the processor to search a plurality of storage environments by feeding the search cartridge files into a plurality of different search tools to discover the APIs.