Application Architecture
Types of Application Architecture:
.
1-Tier Architecture:
1-Tier Architecture is the simplest, and is very much comparable to running an application on a personal computer. All the required components to run the application are located within it. User interface, business logic, and data storage are all located on the same machine. They are the easiest to design, but are the least scalable. Because they are not part of a network, they are useless for designing web applications.
2 Tier Architecture

2-Tier Architecture is a basic network between a client and a server.
For example, the basic web model is a 2-Tier Architecture. A web browser makes a request from a web server, which then processes the request and returns the desired response, the web pages.
This approach improves scalability and divides the user interface from the data layers. However, it does not divide application layers so they can be utilized separately. This makes them difficult to update. The entire application must be updated because layers aren’t separated.
3-Tier Architecture

3-Tier Architecture is most commonly used to build web applications. In this model, the browser acts like a client, the middle ware or the application server contains the business logic, and database servers handle data functions.
This approach separates business logic from display and data. But, it does not specialize functional layers. Its fine for prototypical or very simple web applications, but it doesn’t measure up to the complexity demanded of web applications. The application server is still too broad, with too many functions grouped together. This reduces flexibility and scalability. We can achieve finer granularity with an N-Tier Architecture, which provides more modules to choose from as the application is separated into many smaller functions.
N-Tier Architecture
An N-Tier Architecture begins as a 3-Tier model and is expanded. It provides finer granularity. Granularity is the ability of an application, to be broken down into smaller components. The finer the granularity, the greater the flexibility of a system. It can also be referred to as a system’s modularity.
In N-Tier Architecture, the business logic tier is pulled out from the presentation tier and, as its own layer, it controls an application’s functionality by performing detailed processing.
Encapsulation is one of the principles of object-oriented programming (OOP) and refers to an object’s ability to conceal is data and methods. Encapsulation allows the application to communicate with the data tier or the business logic tier in a way that is intelligible to all nodes. Encapsulated objects only publish the external interface so any user interacting with them only needs to understand the interface and can remain ignorant as to the internal specifications. The business tier can also be considered the integration layer.
DataBase Servers come under a different layer. This layer usually consists of DataBase Servers.It keeps data neutral and independent from application servers or business logic. Giving data its own tier also improves scalability and performance. Even as it grows, it is easily moved to another, more powerful machine.
Advantages of Client-Server Architecture over Peer-Peer (P2P)
-
Greater Ease of Maintenance:
Client-server architecture enables the roles and responsibilities of a computing system to be distributed among several independent computers that are known to each other only through a network. This creates an additional advantage to this architecture: greater ease of maintenance.
- Because, data storage is centralized, updates to that data are far easier to administer than under a P2P. Under a P2P architecture, data updates may need to be distributed and applied to each “peer” in the network, which is both time-consuming and error-prone, as there can be thousands or even millions of peers.
- Most of the data is stored on the servers, which usually have much greater security controls than most client systems. Servers can better control access and resources, to guarantee that only those clients with the appropriate permissions may access and change data.
- Client-Server architecture functions with multiple clients of different capabilities.
Disadvantages of Client-Server Architectures
Really?
- As the number of simultaneous client requests to a given server increases, the server can become severely overloaded. But in P2P it is not the case as the total bandwidth of the system can be roughly computed as the sum of the bandwidths of every node in that network.
- Under client-server, should a critical server fail, clients’ requests cannot be fulfilled. In P2P networks, resources are usually distributed among many nodes. Even if one or more nodes fail, the remaining nodes should still have the data needed to complete the process.
.
To read about some of the available IDE’s-Click here
To read about a few of the general application frameworks available -Read here
To go back to the Java Components Page -Go here!
