Call for opinions - Web Services

Jul 23, 2013 at 7:23 PM
One area of .NET Bio that I've always felt was weak and hard to manage is the web service infrastructure (BLAST). I'd like to see the next version of .NET Bio have an updated approach to calling BLAST services that is more robust, easier to work with and simpler in design.

In particular, I think the next version should target .NET 4.5 and start exposing async Task-based APIs allowing the use of async/await to get results. Rather than the polling approach used now, we could have a Task<BlastResult> response which you could then await or apply a continuation to to retrieve the results, along with a CancelationToken to cancel the request (with an appropriate timeout).

I'm willing to put up the initial design and can publish it here if people are interested, but I don't have the bandwidth to test and implement all the variations of services - so I need a couple of volunteers willing to help me out. Anyone have some time and interest to commit to .NET Bio?

Jul 23, 2013 at 7:40 PM
I don´t have much time, but i'm totally disposable to help.

Jul 25, 2013 at 5:01 PM
Ok, so I had a little time and put together a little sample showing what an async API might look like. I just created some extension methods on the NCBIBlastHandler class - here's a blog post with code and sample project:

Ideally we might look at the REST API (at least for NCBI) but here I've just wrapped the existing SOAP implementation with an async wrapper. It programs a little easier, at least I think it does. What are other ways we could make this easier?