Or is the preferred approach is to use JSON as general payload inside
the bus
messages and convert it to concrete object inside the component ?
IMO, the preferred method is to use JSON as a general payload to open up the ability for
clients to be non-Java based. Java clients/servers can use these Java objects as a
"convenience" but as Jay and I have shown in our demos, utilizing JSON as the
payload opens things up to being able to send and receive information via simple
"curl" clients or other non-Java clients.