Hi Kai,
I looked a bit at the initial code yesterday. I think it’d be good to discuss some basic ideas while we’re still in early stage.
As far as I can see, ConnectorClient is the main abstraction that represent the entry point to our system (both southbound and northbound). It’s an API against which folks should write services and adapters. This looks good so far, we can refine it as we go and see what’s missing.
The one question I have is how did you envision to have multiple implementations of this API and people deploying the one they are interested in? Should we have some kind of discovery mechanism?
Also, I don’t see any support for protocols adapters yet. I assume they would run like a separate services, listening for messages and calling the api to send them further up the stack. Is that right?
One more idea we can consider is to provide a protocol API based on AMQP 1.0, where we don’t specify library API, but the message formats that are exchanged with the system. This would give us some additional benefits, like easy support for different languages, security, etc.
Some good resources on this topic
It’s great to have finally started moving things forward on this. I’m looking forward to hear your thoughts on the topics above.