Hi Howard,
Am 19.02.2015 um 18:05 schrieb Howard Chu hyc@symas.com:
Dagobert Michelsen wrote:
I have made some enhancements to back-sock to use JSON for the passed data and JSON-RPC to map LDAP calls to method invocations. The function signatures of the JSON-RPC calls are modeled to be similar to the ones used in json2ldap (which does just the opposite direction to talk LDAP via JSON-RPC) [1]. The previous hand-crafted format passed on the socket was harder to parse and needed a manually built parser whereas now a standard library can be used. However, handling the JSON data structures now imposes an additional dependency to Jansson (a JSON access library in C) [2]. Jansson itself is leightweight and has no dependencies itself. Due to the limited use of back-sock and the enhanced ease of use I think it would be acceptable to add this dependency.
my initial reaction: the current format is just a tweaked LDIF. LDIF itself is still a more compact format than JSON. I personally am opposed to adding any JSON dependencies to our code base. Anyone else have an opinion?
Well, of course you are right that the LDAP presentation is more efficient. However I think from a client perspective it would be easier not to deal with LDIF, especially as you can choose a JSON-RPC server suitable for your needs and have the data already available for the function and concentrate on implementing the functionality: https://en.wikipedia.org/wiki/JSON-RPC#Implementations
I see back-sock not as a solution for super high performance, but as a tool to build somewhat exotic adapters and proof of concepts. Allowing a quick implementation is at least for me the primary goal here.
Best regards
— Dago