I need to develop an online service layer that will provide multi-role interactivity to end users on the behalf user agent/device/application (desktop or web widget) or output type (XML) they use.
So…
- How is drupal as choice?
- Is it possible to develop output
templates for each output type
required? - How to switch theme or output mode on
the behalf of user agent?
The services module may do some of what you want in terms of providing a service.
In terms of switching the theme based on the user agent, try Browscap in conjunction with Switch Theme.