The aim of iPOPO remote services is to support dynamic
services, i.e. which can be registered, unregistered and
updated,
and to support as much values (argument, result, property)
as possible, while staying transparent.
In Python, this is possible with jsonrpclib-pelix [2],
which uses reflection (costless in Python) to generate a
dictionary, converted to JSON using the builtin module.
The current version in Java is based on Jabsorb [3].
The difference between Jabsorb and those you cite is that
it is fully based on reflection: each getter and setter will
be considered as a JSON field, alas it uses a "modified
hierarchy" in the JSON stream.
For example, a dictionary will be streamed like:
{"javaClass": "java.util.HashMap", "map": {...}}.
I prepared a Python module to handle this kind of format.
These tools simplify the transparency of remote services.
At first sight, I thought we could interoperate quite
easily, and even to replace my current implementation with
ECF.
The latter point doesn't seem to be possible with
requirements, as I need to be notified of service updates.
What I suggest, is that I prepare a subproject that
implement (some of) RSA specifications, ike the EDEF file
format, the specific serialization of properties, etc; in
order to "speak the same language" as ECF.