alot of what's being described has already been accommodated by Jer's WCS ( Web Client Services ) component - http://download.jabber.org/wcs/