A few months into owning our first house, we learned something: The builder took some short-cuts. Unfortunately, you don’t recognize architectural defects when you buy the house. They become apparent after you’ve lived in it for some time.
Business applications are the same way.
If you’re building/buying new business apps, or buying software to build new business apps, be careful. It’s easy to fall in love with the interface and features without paying any attention to what really matters: The architecture.
The architecture determines how well an application integrates with other systems. It’s crucial to an application’s security. It determines an application’s scalability. But, did you know that an application’s architecture can also waste (or save) time and money?
Let me explain: Suppose you need multiple applications that share one set of data. For instance, you have an app that you access on a PC or laptop, but you also want to access it on a smartphone or tablet. Or, what if you operate in several countries and need that same application in Spanish and French as well? We’re talking about 5 or 6 versions of one application.
Here’s where the right architecture can save you time and money. If we take the example above, and build those applications with n-Tier architecture, we only need to build one application. How does this work? In short, n-Tier architecture breaks an application up into separate layers, or tiers. Typically, there’s a presentation layer (what you see in the browser), an application layer (your business logic), and a database layer (data storage). For example, take a look at the image below:
As you can see, n-Tier architecture lets you build multiple presentation layers on top of single applications. Practically speaking, that drastically decreases build time. Instead of building 5 separate applications, you’re building one with multiple presentation layers. This also drastically decreases maintenance time. You’re not maintaining separate apps. One change to the application layer reflects across all presentation layers.
If you want to see this concept in action, check out the example below. Each one of the buttons links to a different presentation layer of the same application. While each looks different, they are all running over the same application, and pulling data from the same database.