I'm in the process of designing the requirements for some business intelligence software that my organization wants to begin developing in-house. Part of the design process is obviously the technology behind the appllication. My programming experience lies more in VB and Perl so I'm new to building things in .Net. The project we're looking at involves 3 components, 1) a piece of client software, 2) a web server reporting tool, and 3) a database. For #2 and #3 we pretty much know what technology we want to use however, #1 is still a blank spot. The client software needs to be able to install directly from a web browser and be able to perform select tasks on the client machine at configurable intervals. Then when the client reconnects to the web site, or after a given period of time, the client will send its findings back to the web server in some format, probably XML? What language would be advisable to use for this if we chose to do this via Active X? Java? We primarily would be targeting Windows 2000, Windows XP, Windows 2003 machines, but later we would create client packages for Linux and other flavors of Unix.