comp.lang.ada
 help / color / mirror / Atom feed
From: John Singleton <jsinglet@gmail.com>
Subject: Re: AWS (Amazon Web Services) Libraries for Ada
Date: Tue, 10 Sep 2019 08:11:06 -0700 (PDT)
Date: 2019-09-10T08:11:06-07:00	[thread overview]
Message-ID: <e0340665-5545-401c-812f-056237846634@googlegroups.com> (raw)
In-Reply-To: <66dc57e5-95a9-495d-9fb7-3d8cfbaf5c82@googlegroups.com>

On Tuesday, September 10, 2019 at 10:21:33 AM UTC-4, Shark8 wrote:
> On Tuesday, September 10, 2019 at 6:37:04 AM UTC-6, jsin...@gmail.com wrote:
> > Hi All,
> > 
> > I'm working on a project where I will be using AWS services (S3, SQS, and SNS to start) and I was wondering if anyone knows about a ADA library for these services.
> No, not offhand; though I try to avoid external dependencies like (ag) Amazon Web Services and so haven't really looked.
> 
> > I've looked around and don't see one --- would my best bet be to build a binding to the C++ AWS apis?
> Perhaps, perhaps not.
> I don't know how their API is designed because I haven't used Amazon Web Services, but perhaps the best way to answer this question is to look at it from the other way (eg inside-out vs outside-in) — think about things from the Ada-client side (package-client more than network-client) — ask "how do I want my interface to look?" and build from there, with the package-body providing the interface to the Amazon Web Service dependency.
> 
> Given that there are other/different languages that use the Amazon Web Service API, some of them quite different from C++, it is likely that the API is "language independent" to some degree; this in itself is a property that you should bear in mind:
> (1) a thin binding to the C++ API implementation is going to expose all the design choices and C-semantics workarounds to your binding;
> (2) a thick binding will require a bit more work, especially if you want to design to Ada's strengths;
> (3) in any case, you *MUST* consider the strengths and weaknesses of your choices. Sure "--fdump-ada-spec" is easy, but working around it in your design might be more work than directly writing the thick binding.
> 
> I wish I could be more/actual help though.

Thanks for all of this. 

I think combined with Lucretia's suggestion to use the C API, a thick binding makes a lot of sense to me. Granted, if you look over the API, it's generally fairly reasonable. 

Another option I am considering is just talking to it directly; the API is REST (and older support for SOAP). It will require plumbing through the docs a bit more, but perhaps a native REST implementation would be the best, and pure Ada...


  reply	other threads:[~2019-09-10 15:11 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-10 12:37 AWS (Amazon Web Services) Libraries for Ada jsinglet
2019-09-10 14:21 ` Shark8
2019-09-10 15:11   ` John Singleton [this message]
2019-09-10 20:09     ` Shark8
2019-09-10 15:01 ` Lucretia
2019-09-10 15:13   ` John Singleton
2019-09-10 15:18     ` Lucretia
2019-10-03 14:08 ` Olivier Henley
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox