Greetings, Geode friends. This is a summary of the progress in the development of the new client/server protocol. We’ve had some good input along the way and are getting close to an alpha release — exciting stuff!
We’ve continued implementing Protobuf, now using it for serialization of primitive types. It should streamline the development of new clients — proto files define each message type, reducing the amount of code needed to get a new client rolling. A good amount of work has been completed around error messaging and standardization. The Geode Wiki contains the spec for error messages and codes along with other pertinent info on the protocol. Basic user/password authentication is in place, utilizing the existing security manager for validating credentials. Client authorization (using the existing role-based authorization configuration) is wrapping up as well. The longer term plan is to use SASL (Simple Authentication and Security Layer), a framework which will allow for a number of authentication mechanisms in a standardized implementation. In the interest of completing an alpha release soon, that effort will come post-alpha. It’s always great to get feedback, so we’d love to see folks test out the new protocol and write some new clients — Ruby, Go, Python, anything supported by Protobuf. As we get to an alpha release and beyond, that will only get more interesting. On the horizon are PDX encoding/decoding, query execution, function execution, and some additional operations (remove-all, put-if-absent). As always, your input is invited. Thanks, Brian