Web App Architectures Part 2
Multi-service web platforms represent architectures which have several distinct functions. Sometimes these functions are tightly integrated together, sometimes they are loosely coupled services and sometimes they are both.
I really dislike the term N-Tier architecture. An N-Tier architecture is a tightly integrated set of distinct functions which are usually separated onto different tiers of machines. An N-Tier implies more than 3 tiers. To me it hearkens back to the dark ages of build it all yourself and over engineering. I still get asked how much experience I have with N-Tier architectures, so I suppose someone cares about them. I always hope its a trick question, and my response is not much.
Diagram of N-Tier

Service Oriented Architectures (SOA) mix it up a little bit, by taking a defined business or technical area and creating a separate application space. Many SOAs can live in the same container, or a single SOA can live on its own tier of machines.
Diagram of SOA Web Stack

In a tightly integrated stack you might see the following
Data and Query Layer - go get data from multiple sources, like your stock portfolio information from the user database, current stock price from the stock database, and a real time query to the clearing-house mainframe to check the status of your trades.
Data Object Layer - The different queries are marshaled into objects, often the object is implicated tied to it’s data cache
Business Logic Layer - Special rules but distinct from the data logic in the data layer. In the worst case there may be several distinct layers of business logic.
Presentation Layer - special controls for surfacing different workflows and different look and feel.
In a loosely integrated stack, you are more likely to see the layers combined. So the Data Object Layer will not be separated from the Data Queries, and it may not even be separated from the Business Logic. With a loosely coupled system, lots of small vertical stacks are created, which isolates changes and promotes common APIs.
Without the need for tight integration, the need for an complex architecture disappears. The simplicity from a loosely coupled system is the result of pushing the dependencies onto the consumer of the service. Most consumers have simple needs especially in the beginning. With a tightly integrated stack the dependencies are build into the system, and consumers are given a complex system, in an attempt to encapsulate their needs and make the dependencies invisible.
October 6th, 2006 at 8:09 am
I think this discussion of N-Tier v. SOA is concise and lucid. Thanks to the author for taking the time to develop the graphics and post the entry.
September 5th, 2010 at 8:19 pm
< blockquote >< a href=”http://cheaptabletsonline.com/”>CheapTabletsOnline.Com. Canadian Health&Care.Best quality drugs.Special Internet Prices.No prescription online pharmacy. High quality pills. Order pills online< /a >…
Buy:Viagra Super Active+.Super Active ED Pack.VPXL.Maxaman.Levitra.Propecia.Zithromax.Cialis Professional.Viagra Soft Tabs.Cialis Super Active+.Cialis.Tramadol.Viagra Professional.Viagra.Cialis Soft Tabs.Viagra Super Force.Soma….