lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi Aapo,

Thanks for your interest.

apitools is basically a proxy between application that is making (client) or receiving (server) API requests (in many cases ReST based APIs)?

You got it right, that's exactly what APItools is.

Are you also thinking about gathering code to actual ReST APIs client code as well?

Your question was a bit difficult to understand. If I got it correctly, your question has a technical part and a business part. I can answer the former with confidence, but not the later.

While it would be **possible** to change APItools to do what you suggest, it was built so that it had both a "source API" on one end and a "consumer" on the other. Changing this would imply a significant amount of effort, so it would have to be justified.

Business-wise, my impression is: the company which develops APItools, 3Scale, specializes in managing APIs built by others, not in providing the means or facilitating the creation of new APIs. Investing effort in APItools makes sense as long as it is aligned with that endeavour. If we enter the realm of "API creation", then changing APItools the way you say might be considered. For now thought, I don't see it happening. Maybe in the future.

That said, you can already "create APIs with APItools"; you could choose a random endpoint (i.e. http://google.com), embed a bunch of logic into a middleware, (for example, make it dependant on the request path), and then use that as an app or api. There's even a (small) in-memory database that you could use as persistence. It would be awkward to program because you would be using APItools in a way it is not designed to work. (I must warn you that I doubt that creating such a thing would win the contest - you will have more possibilities if you create a middleware).

I hope I answered your questions!

Enrique / Kikito


On Wed, Nov 5, 2014 at 1:12 PM, Aapo Talvensaari <aapo.talvensaari@gmail.com> wrote:
On 5 November 2014 11:52, Enrique Garcia Cota <kikito@gmail.com> wrote:
I am one of the judges of this contest. If you have any technical questions feel free to ask here, or send me an email to enrique - at - 3scale.net if you want it to be private.to

Hi,

Your product looks really interesting, and it makes a good use case of using OpenResty (thanks for open sourcing the monitor code and giving it for on-premises use too).

If I understood correctly, the apitools is basically a proxy between application that is making (client) or receiving (server) API requests (in many cases ReST based APIs)? And the middleware sits between the requests and reponses (logging, notifying, combining, transforming, patching, configuring, caching etc.) while still gathering statistics and stuff like that. Kinda like another layer between clients and servers.

Are you also thinking about gathering code to actual ReST APIs client code as well? I mean client Lua libraries that are run on context of monitor? I can think that I could implement APIs as middleware but is a middleware a correct place to do that (maybe even too restricted in some cases, eg. encryption schemes, signatures etc.)? I mean that could you abstract this further so that there is support built-in for hundreds or thousands web APIs (code coming from you and public contributions) so that you just drop them in monitor, configure a little bit and start using (your main application doesn't need then to bother things like authentication, the actual url the API is using, version changes and incompabilities, and things like that)?

Regards
Aapo