Would you comment of the above issues, please?
Sure. This is something that we cover it some detail in class (which we should be posting or next training dates this week). In the past there was a huge pendulum swing in the direction of web applications because it was so difficult to make Win form applications scalable and accessible remotely. So the web was really the only avenue in which to do this. The pendulum has been swinging back the other way with the advent of web services. Developing a web applicaiton generally takes 7 times as long as producing a win forms application...and this is with web experience. There are more factors to take into account such as browser limitations, post-backs, session states, etc. So to produce an application of any size requires some serious dedication and time. I will touch on this again in a minute.
Win forms are a more more solid environment in which to develop. You have more control over the applicaiton, can develop forms, reports, etc much faster than on web forms. The issue that people generally have with the win forms when creating distributed applications is determining how they will connect to data. This is what our Enterprise Server provides. It provides the benefits of developing in Win forms while giving the scalability of web....this technology is referred to in the industry as Smart-Client which I am sure that you are already familiar with. Though web forms may be used with the ES as well and is especially beneficial for distributed web servers talking to a single point for data access.
There is a time and place for web applications. Let me give you an example of how we use the web for our medical application. Our medical application is written as a WinForms application; however, we are going to provide a web portal that allows patients to request refills for the scripts, schedule an appointment, fill out their patient information from home rather than sitting in the doctors waiting room, and review their lab results online. This extends the application and uses the same BOs, etc that are used on the win form applications. But this provides a nice extension to the application rather than trying to run the entire app through the web browser.
Finally, we plan to provide a SAAS model (Software as a service) for our medical software as well which allows the end-user to store their data, etc. on our servers and all they have to do is download a client install. So they run the WinForms on their side (client-side) while all of the data resides on our servers and they get to the data using our Enterprise Server (which is obviously transparent to them).
Hope this makes sense