I'm not sure I understand all your requirements, but it seems to me that they can be reduced to the following functionalities:
  • Request-reply interaction with the Client.
  • Responses which depend on the user identity.

These behaviors are not directly provided, but can be mapped onto the item-based publish-subscribe interaction.

For request-reply , our suggestions are provided in this post.

For user-specific responses, you can define different items, one for each user, to be properly handled by the Data Adapter.
Obviously, each user must subscribe to its own item, but this can be enforced by the Metadata Adapter.
In fact, in getItems, you can map client-side item names to Data-Adapter-side item names; for instance, a user U1 can subscribe to "myItem" and getItems will decorate it to become myItemU1 (at the same time, it will prevent any client from subscribing to myItemU1 directly).
This technique can also be mixed in a request-reply scenario.