Open application programming interface specification based application programming interface proxy
Techniques are described for using an application programming interface proxy and backend implementation. An example method can include accessing an open application programming interface document. The method can further include generating a shell script based at least in part on the open application programming interface document, the shell script associated with an application programming interface proxy, the application programming interface proxy for accessing a backend service. The method can further include processing a request for accessing the backend service. The method can further include causing, using the shell script, access to the backend service via the application programming interface proxy based at least in part on the request.
1 . A computer-implemented method, comprising:
accessing, by a computing system, an open application programming interface document;
generating, by the computing system, a shell script based at least in part on the open application programming interface document, the shell script being configured to, when executed, invoke an application programming interface proxy, the application programming interface proxy being configured to access a backend service;
processing, by the computing system, a request for accessing the backend service; and
causing, by the computing system, the application programming interface proxy to access the backend service in response to processing the request based at least in part on invoking the application programming interface proxy by executing the shell script.
2 . The computer-implemented method of claim 1 , wherein the method further comprises:
generating a serialized data structure based at least in part on the open application programming interface document, wherein the shell script is generated based at least in part on the serialized data structure.
3 . The computer-implemented method of claim 1 , wherein the method further comprises:
accessing computing resource information and data element information, the computing resource information describing computing resources to be accessed by the application programming interface proxy, and the data element information describing data elements to be accessed by the application programming interface proxy;
generating an application programming interface outline based at least in part on the information; and
generating the open application programming interface document based at least in part on the application programming interface outline.
4 . The computer-implemented method of claim 1 , wherein the method further comprises:
processing a request to update backend service code, the backend service code comprising instructions for handling communications from the application programming interface proxy; and
updating the backend service based at least in part on the request, wherein causing the access to the backend service is based at least in part on the updated backend service code.
5 . The computer-implemented method of claim 1 , wherein the method further comprises:
determining that first backend service code does not incorporate a policy; and
generating second backend service code, the second backend service code incorporating the policy, wherein causing the access to the backend service is based at least in part on the second backend service code.
6 . The computer-implemented method of claim 1 , wherein the method further comprises:
storing the shell script in a stateless container; and
deploying the stateless container, wherein the shell script is executed via the stateless container based at least in part on the request.
7 . The computer-implemented method of claim 1 , wherein the method further comprises testing, by the computing system using an automated testing framework platform, the shell script and the application programming interface proxy based at least in part on executing, using the automated testing framework platform, a testing suite that provides a plurality of requests for testing aspects of the shell script and the application programming interface proxy.
8 . The computer-implemented method of claim 7 , further comprising:
determining, by the computing system, that the shell script and the application programming interface proxy perform to an acceptable standard based at least in part on testing; and
deploying, by the computing system, the shell script based at least in part on determining that the shell script and the application programming interface proxy perform the acceptable standard.
9 . A computing system comprising:
one or more processors; and
one or more computer-readable media having stored thereon a sequence of instructions that, when executed, cause the one or more processors to:
access an open application programming interface document;
generate a shell script based at least in part on the open application programming interface document, the shell script being configured to, when executed, invoke an application programming interface proxy, the application programming interface proxy being configured to access a backend service;
process a request for accessing the backend service; and
cause the application programming interface proxy to access the backend service in response to processing the request based at least in part on invoking the application programming interface proxy by executing the shell script.
10 . The computing system of claim 9 , wherein the sequence of instructions that, when executed, further cause the one or more processors to:
generate a serialized data structure based at least in part on the open application programming interface document, wherein the shell script is generated based at least in part on the serialized data structure.
11 . The computing system of claim 9 , wherein the sequence of instructions that, when executed, further cause the one or more processors to:
access computing resource information and data element information, the computing resource information describing computing resources to be accessed by the application programming interface proxy, and the data element information describing data elements to be accessed by the application programming interface proxy;
generate an application programming interface outline based at least in part on the information; and
generate the open application programming interface document based at least in part on the application programming interface outline.
12 . The computing system of claim 9 , wherein the sequence of instructions that, when executed, further cause the one or more processors to:
process a request to update backend service code, the backend service code comprising instructions for handling communications from the application programming interface proxy; and
update the backend service based at least in part on the request, wherein causing the access to the backend service is based at least in part on the updated backend service code.
13 . The computing system of claim 9 , wherein the sequence of instructions that, when executed, further cause the one or more processors to:
determine that first backend service code does not incorporate a policy; and
generate second backend service code, the second backend service code incorporating the policy, wherein causing the access to the backend service is based at least in part on the second backend service code.
14 . The computing system of claim 9 , wherein the sequence of instructions that, when executed, further cause the one or more processors to:
store the shell script in a stateless container; and
deploy the stateless container, wherein the shell script is executed via the stateless container based at least in part on the request.
15 . One or more non-transitory, computer-readable media comprising a sequence of instructions that, when executed, cause one or more processors to:
access an open application programming interface document;
generate a shell script based at least in part on the open application programming interface document, the shell script being configured to, when executed, invoke an application programming interface proxy, the application programming interface proxy being configured to access a backend service;
process a request for accessing the backend service; and
cause the application programming interface proxy to access the backend service in response to processing the request based at least in part on invoking the application programming interface proxy by executing the shell script.
16 . The one or more non-transitory, computer-readable media of claim 15 , wherein the sequence of instructions, when executed, further cause the one or more processors to:
generate a serialized data structure based at least in part on the open application programming interface document, wherein the shell script is generated based at least in part on the serialized data structure.
17 . The one or more non-transitory, computer-readable media of claim 15 , wherein the sequence of instructions, when executed, further cause the one or more processors to:
access computing resource information and data element information, the computing resource information describing computing resources to be accessed by the application programming interface proxy, and the data element information describing data elements to be accessed by the application programming interface proxy;
generate an application programming interface outline based at least in part on the information; and
generate the open application programming interface document based at least in part on the application programming interface outline.
18 . The one or more non-transitory, computer-readable media of claim 15 , wherein the sequence of instructions, when executed, further cause the one or more processors to:
process a request to update backend service code;
update the backend service based at least in part on the request, wherein causing the access to the backend service is based at least in part on the updated backend service code.
19 . The one or more non-transitory, computer-readable media of claim 15 , wherein the sequence of instructions, when executed, further cause the one or more processors to:
determine that first backend service code does not incorporate a policy; and
generate second backend service code, the second backend service code incorporating the policy, wherein causing the access to the backend service is based at least in part on the second backend service code.
20 . The one or more non-transitory, computer-readable media of claim 15 , wherein the sequence of instructions, when executed, further cause the one or more processors to:
store the shell script in a stateless container; and
deploy the stateless container, wherein the shell script is executed via the stateless container based at least in part on the request.