Last post May 12, 2010 04:02 PM by itpro
May 10, 2010 09:53 PM|itpro|LINK
The traditional architecture of a 3-tier web application consists data store, web server, and client browser. To use SOA, we added a new service tie in between data store and web server, and each tie is located on physically separated servers. So for a client
to reach data, application has to connect through Internet to web server, to intranet service server, and then to the data store. In some cases, some service calls service, and then data store.
Is this the right way to construct a very high traffic web site?
May 11, 2010 12:29 AM|MadhavRao|LINK
Introducing APP Servers Tier in between your Web Server Tier and Data Tier, would enable you to keep your Web Tier thin and this is good for Very High Traffic Web Application. However by introducing APP Server Tier, we introduce additional delay in retrieving
data from data base server. So APP Server needs to be highly optimized for performance by using appropriate techniques like Caching.
May 11, 2010 12:58 AM|codeasis|LINK
Read article on
SOA architecture that might answer some of your questions.
May 11, 2010 11:17 AM|itpro|LINK
Thanks for the link.
May 11, 2010 11:40 AM|itpro|LINK
I understand Web service has a lot advantages, but performance is not one of them. Adding to the complexity, caching is exactly what we will do next to improve the performance. We can put caching on app server or web server or both. Then the web tier is
not thinner. There is not much benefit left for this architecture.
May 11, 2010 04:07 PM|atconway|LINK
You should read the following article by Rocky Lhotka. It directly speaks to some of your concerns about the affect of adding a separate 'physical' tier into the architecture, and the costs and benefits associated with it:
Should all apps be n-tier?
Read through it as the title doesn't represent all of the information you can extract.
May 12, 2010 04:02 PM|itpro|LINK
Thanks for sharing.
Rocky Lhotka's article is great. It explained the differences of logical layers and physical tiers of software that many architects ignored. I agree with his conclusions of "Layering is almost always a wonderful thing!" and "tiers should be avoided" for
web applications. Basically an n-tier model has (n-1) boundaries, and crossing boundary calls are expensive. It also add complexity in software design. Only benefit of adding an extra SOA application server tier I can see is it improved overall security.
Performance is not a reason to add an extra tier.