简体   繁体   中英

3-Tier VB.Net Forms vs. Web Based ASP.Net Solution - Which will scale better?

I am on a project helping to analyze the load a VB.Net WinForms application can take. This app has been in production for several years and has many many products on it. We plan to add more products but see the client footprint rapidly increasing. This is contributing the degradation of performance on the system overall.

There is duscussion that moving the UI intensive portions of the app to ASP.Net it will reduce the client footprint and solve many of our issues.

My question which of the following will scale better in terms of performance and load? - ASP.Net(VB) Web based architecture - VB.NEt WinForms 3-tier architecture

Links to articles on the topic are also appreciated.

Additional Info

Client - Apparent issue is large memory footprint due to data caching (High cph utilization)

Middle Tier - web services that house BLC & DALC assemblies (Low utilization here)

Database - Multiple database that that serve data to the DALC via sprocs (Medium Utilization)

Deployment is not an issue, we have a very well developent methodology there.

Thanks in advance, Freeon

Winforms will scale better than ASP.NET B/c a. when you use an ASP.NET client - (a Browser) you pay a price, html rendering - another price, Viewstate - a huge price.

about view state - it is a chunk of data that might grow more and more as long as you operate even on the same page.

You need to use special techniques in order to make a asp.net webform efficient (AJAX).

You don't have this on winform.

Anyway - a specific answer should be aware of your product functionality, architecture and design, so this is gust a general advice.

Not enough data...

In terms of a user interface a desktop application should out perform (by various measures) a web based one in all but the most trivial of cases - that's not to say that you can't produce a very decent and capable web application but even then Outlook Web Access is not Outlook on the desktop.

To further illustrate the point, look at the effort going into Silverlight and Adobe AIR which are attempts to provide desktop level capabilites with web level deployment.

So the question becomes one of asking what is it in the current desktop application that is causing the problem ie is it a deployment issue, a performance issue or something else?

If its deployment issue then that will suggest one set of solutions, if its a performance issue then things get a lot more interesting.

Either way, there is insufficient data to do anything other than generalise enthusiastically

With a web based application you can scale servers both up and out for both the web server itself and the database servers. I would think that a desktop based application would be somewhat limited in how much scaling can be done, along with the need to update each and every client installation when changes/bug fixes are done.

There are negatives about web based applications. They will live in a stateless enviroment, the UI maybe somewhat slower than a desktop installation. It is possible to create UI's that are very responsive using lots of Ajax/Javascript, but the development time for those RIA needs may be more than desktop development. Connectivity issues maybe be of a concern, along with user browsers and such.

Quick deployment though of updates is one huge benefit of a web based application. You only have to manage one installation rather than many.

Good luck with your project!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM