J
John Grandy
This is a higher level question, not specifically a technical one.
I am hoping to find someone who has experience developing an application
that will interface with an external api ( perhaps a web api ) where during
the coding/testing phase it will not be possible for the app under
development to actually call into this api. This could be because the api
is not yet implemented ( or is only partially implemented ), or is not yet
available due to higher-level project issues ( multi-vendor coordination,
political, legal, etc. ) , or is available but only at bandwidth/reliability
markedly below anticipated production levels, etc.
The bottom line is that it is impossible to incorporate this api within the
development environment. Only at time of deployment will it be possible for
the app to actually call into the external api.
What is available is the external api's interface spec. Also known is the
expected I/O for various use-cases -- however, it cannot be assumed this is
accurate.
Some options I can think of are :
1. Write a proxy api in the project's language that simulates the behavior
of the real-world api ( as much as possible ).
2. Write an "exploration test harness" that right now will be delivered to
the production environment to run against the actual api and simulate the
calls made in common use cases. This exploration test harness is
lightweight and is designed so as to easily integrate into the existing
target production environment. It is exploratory in the sense that it is
meant to be expanded/refined as more is learned about the behavior external
api.
I realize this is a somewhat vague, indeed rather partial statement of the
problem, but perhaps there is someone out there with experience in this
scenario who has some thoughts ...
Thanks.
I am hoping to find someone who has experience developing an application
that will interface with an external api ( perhaps a web api ) where during
the coding/testing phase it will not be possible for the app under
development to actually call into this api. This could be because the api
is not yet implemented ( or is only partially implemented ), or is not yet
available due to higher-level project issues ( multi-vendor coordination,
political, legal, etc. ) , or is available but only at bandwidth/reliability
markedly below anticipated production levels, etc.
The bottom line is that it is impossible to incorporate this api within the
development environment. Only at time of deployment will it be possible for
the app to actually call into the external api.
What is available is the external api's interface spec. Also known is the
expected I/O for various use-cases -- however, it cannot be assumed this is
accurate.
Some options I can think of are :
1. Write a proxy api in the project's language that simulates the behavior
of the real-world api ( as much as possible ).
2. Write an "exploration test harness" that right now will be delivered to
the production environment to run against the actual api and simulate the
calls made in common use cases. This exploration test harness is
lightweight and is designed so as to easily integrate into the existing
target production environment. It is exploratory in the sense that it is
meant to be expanded/refined as more is learned about the behavior external
api.
I realize this is a somewhat vague, indeed rather partial statement of the
problem, but perhaps there is someone out there with experience in this
scenario who has some thoughts ...
Thanks.