What browser technologies can be used to redevelop multi-windows winforms business app
I have a large business application that has been developed over the last 13 years. It is a Windows forms application developed in .net (typical n-tier currently using remoting) and has a requirement to provide a rich user experience, including having multiple windows open at te same time. Some applications just need multiple windows open - which seems to go against current browser-based applications.

The problem with the current choice of platform is that it is hard to allow potential customers (typically large corporates) to trial because desktop deployment is always hard in a locked-down and sanitised corporate environment (hard to gain approval etc rather than physical deployment) - and is enough of a barrier to prevent trialing.

As a .net application the allure of ClickOnce is there but group policy in the corporates typically prevents running external .net applications running or they have such a low trust level that they can't do anything useful (such as opening multiple windows).

I accept that there will need to be an element of redevelopment to make this application work in a browser. I would like to avoid server redevelopment. A webservice exposing an XML interface should allow the client to not care that the back-end is .net

As a bit more information - there are a lot of different complex objects (complex data structures might be a better way of describing it) that are passed between client and server and vice versa. There is also a lot of validation type logic that exists in the GUI. Finally as the application is meta-data based there is a cache of meta-data maintained on the client (to stop having to redownload the entire lot each time the app starts). The meta-data is there to allow client input validation and also to allow the client to translate the data structures into meaningful information on the screen.

I'm not looking for opinion on the current application architecture - that would be non-productive - nor opinion on what is the generally better browser technology - but I am interested in knowing what browser technologies would meet the requirements (should be a fact) and the relative ease of redevelopment (again largely a fact based on experience).

Redevelopment options that I am aware of are:

* Java - run as an applet - except noone seems to be doing this. Why not? Do corporates lock down an applet's ability to open multiple windows? (is there policy within Java that can be locked down even)

* Silverlight - at least it's .net. but can I open multiple windows? or at least mimic multiple windows within a browser? Can I leverage a lot of my .net client code even if it means redeveloping the GUI in XAML?

* GWT - at least it can be written in Java.

I rule out JS (just too different and not OO) and Flex but maybe I shouldn't.

I include Java because I can at least use some conversion tools to migrate .net OO to Java OO. It will at least easily convert the complex data structure type classes but I appreciate it won't help much with GUI forms/windows.

This is a really important question for me and I hope it encourages factual responses - I don't want the question closed as encouraging discussion or subjectivity.
What browser technologies can be used to redevelop multi-windows winforms business app
===

I have a large business application that has been developed over the last 13 years. It is a Windows forms application developed in .net (typical n-tier currently using remoting) and has a requirement to provide a rich user experience, including having multiple windows open at te same time. Some applications just need multiple windows open - which seems to go against current browser-based applications.

The problem with the current choice of platform is that it is hard to allow potential customers (typically large corporates) to trial because desktop deployment is always hard in a locked-down and sanitised corporate environment (hard to gain approval etc rather than physical deployment) - and is enough of a barrier to prevent trialing.

As a .net application the allure of ClickOnce is there but group policy in the corporates typically prevents running external .net applications running or they have such a low trust level that they can't do anything useful (such as opening multiple windows).

I accept that there will need to be an element of redevelopment to make this application work in a browser. I would like to avoid server redevelopment. A webservice exposing an XML interface should allow the client to not care that the back-end is .net

As a bit more information - there are a lot of different complex objects (complex data structures might be a better way of describing it) that are passed between client and server and vice versa. There is also a lot of validation type logic that exists in the GUI. Finally as the application is meta-data based there is a cache of meta-data maintained on the client (to stop having to redownload the entire lot each time the app starts). The meta-data is there to allow client input validation and also to allow the client to translate the data structures into meaningful information on the screen.

I'm not looking for opinion on the current application architecture - that would be non-productive - nor opinion on what is the generally better browser technology - but I am interested in knowing what browser technologies would meet the requirements (should be a fact) and the relative ease of redevelopment (again largely a fact based on experience).

Redevelopment options that I am aware of are:

* Java - run as an applet - except noone seems to be doing this. Why not? Do corporates lock down an applet's ability to open multiple windows? (is there policy within Java that can be locked down even)

* Silverlight - at least it's .net. but can I open multiple windows? or at least mimic multiple windows within a browser? Can I leverage a lot of my .net client code even if it means redeveloping the GUI in XAML?

* GWT - at least it can be written in Java.

I rule out JS (just too different and not OO) and Flex but maybe I shouldn't.

I include Java because I can at least use some conversion tools to migrate .net OO to Java OO. It will at least easily convert the complex data structure type classes but I appreciate it won't help much with GUI forms/windows.

This is a really important question for me and I hope it encourages factual responses - I don't want the question closed as encouraging discussion or subjectivity.