Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

'client' APIs again

$
0
0
Following on from the approach taken by Rafi in his demo of the new
event support in the proton engine, I've sketched out a few examples for
common 'client' scenarios using the proton engine and a 'toolkit' of
useful event handlers and utilities.

The idea behind this is to explore whether this approach is feasible as
a general purpose API. It is a reactive style of programming, and is at
present fully asynchronous/non-blocking.

Many more examples are need to ensure all aspects are fully considered,
but I think there is enough there to give an idea of the approach that
we can then discuss and refine collectively. (Clearly the toolkit could
also be expanded to cover higher-level and richer concepts as well).

The Qpid Messaging API would remain, but Proton would be an alternative,
particularly suited for fully asynchronous applications with the full
power and flexibility of the engine where needed, but with the common
cases made simpler.

I've focused on python, but I think the approach could be extended to
other languages. There is a little bit of 'tutorial' style text to
introduce the examples (some reference documentation around the added
utilities would also be needed):

http://grs.github.io/proton_examples/html/

and the examples and utility code (some of which are based on Rafi's
demo code) needed to run them is here:

https://github.com/grs/examples

I think this looks like a promising approach to make proton more
understandable and usable, improve AMQP adoption and get consensus on a
clearer roadmap as far as Qpid APIs is concerned. However as always I'm
eager to hear your thoughts! Don't hold back on criticism or voicing
disagreement, it is better to have a frank conversation.

--Gordon.

Viewing all articles
Browse latest Browse all 5648

Trending Articles