What Is Multitier Architecture?

The typical client / server (C / S) architecture, also known as the two-tier model, is a traditional application system model. In the design of the two-tier model, client applications directly handle access to the database. Therefore, every client running a client application must install a database driver, which increases the workload of system installation and maintenance. At the same time, the database is directly accessed by many client programs, which makes it difficult to maintain the integrity and security of the data.

Client / server (C / S) is a traditional application system model. In the Client / Server structure mode, the client connects directly to the database server, and the two share the business processing. This architecture has the following disadvantages:
(1) The client is directly connected to the server, with low security, and illegal users can easily break into the central database directly through the client, causing data loss;
(2) The client program is enlarged, and with the change of business rules, the client program needs to be updated at any time, which greatly increases the maintenance of the system and causes difficulties in maintenance work;
(3) Each client must connect directly to the database server, so that the server establishes a connection for each client, thereby consuming a lot of server resources that are already tight;
(4) A large amount of data is transmitted directly through the client and server, which can easily cause network traffic to surge and network congestion during peak business hours.
Therefore, these inherent shortcomings of the Client / Server model will cause more and more problems as the business volume changes, so it is necessary to reform this two-tier system to separate business processing from customer interactions in order to achieve thin customers. / Business Services / Data Services Multi-tier distributed application architecture. [1]
With the development of middleware and Web technologies, the application of three-tier or multi-tier distributed application systems is becoming more and more widespread. A typical multi-layer distributed system can be divided into three levels, namely the client, application server and data service layer. In this architecture, the client only stores the presentation layer software, and the application logic includes transaction processing, monitoring, information queuing, Web services, and other specialized middleware servers. The background is a database. System resources are managed and used in a unified manner. Client programs The connection to the database is shielded by the middle layer, and the client program can only access the database indirectly through the middle layer. The middle tier may run on another machine different from the client. After reasonable task division and physical deployment, the workload of the entire system can be more balanced, thereby improving the operating efficiency of the entire system. These middleware located in the middle layer are also called application service programs, because they actually express the main business logic of an enterprise's processing information, that is, the system model and function model of the enterprise, while the client program only implements the graphical user interface to complete the end user and Interaction between business logic. [2]
A multi-layer distributed system is logically divided into multiple parts that implement the functions of each layer and run separately in
The multi-layer distributed system overcomes many shortcomings of the traditional two-tier Client / Server model. Its main features are as follows:
(1) Security: The middle layer isolates the customer's direct access to the data server and protects the security of the database;
(2) Stability: The middle layer buffers the actual connection between the client and the database, so that the actual number of connections to the database is much smaller than the number of client applications. It can transparently transfer the work of the client to other servers with the same business function in the event of a server failure Service
(3) Easy maintenance: Because the business logic is on the intermediate server, the client program is basically unchanged after the business rules change;
(4) Fast response: Through load balancing and the ability of the middle layer to cache data, the response speed to the client can be improved;
(5) Flexible system expansion: Based on a multi-layer distribution system, when the business grows, more application servers can be deployed in the middle tier to improve the response to the client, and all changes are transparent to the client. [2]
The development of distributed multi-layer systems mainly considers three aspects of technology:
(1) Development environment: developers need a development environment that creates new components and integrates existing components;
(2) Application integration: Developers need to integrate various applications to create more powerful applications;
(3) Application configuration: The development of a distributed multi-layer system requires the support of a configuration platform, so that it can effectively expand when the number of users increases rapidly and maintain the stability of the system. [1]
There are two important specifications for the development of multi-layer distributed systems, namely CORBA and DCOM. Among them, CORBA provides cross-platform capabilities, and DCOM is mainly used on Windows platforms. At the same time, with the development of distributed applications, the old hardware / software platform is constantly updated, and cross-hardware platforms, network environments, operating systems, and application systems across different databases continue to appear, making traditional development tools more and more awkward. Therefore, middleware came into being. [1]

CORBA Multi-layer distributed system CORBA

In various distributed architectures, the common object request proxy structure CORBA model adopted by OMG has a relatively complete specification standard, and strictly distinguishes between the CORBA specification and CORBA products. CORBA guarantees interoperability of applications and independence from hardware platforms, operating systems, programming languages, and networks and communication protocols. The CORBA specification includes a series of separate specifications, such as the OMG interface definition language IDL, the network communication protocols GIOP and IIOP, the portable object adapter POA, and the CORBA component model CCM.
CORBA is based on OMG's object model. There are three key parts: interface definition language IDL, object request proxy ORB, and standard communication protocol IIOP. The Object Request Broker (ORB) is the core infrastructure of OMA, and the CORBA specification specifies the standard architecture of the ORB. The ORB is responsible for completing all the mechanisms needed to find the requested object implementation, prepare the object implementation to receive the request, and pass the data that makes up the request. The object interface seen by the client is completely independent of where the object is located, the programming language that implements the object, and other features not reflected in the object interface. [2]

DCOM Multi-layer distributed system DCOM

Microsoft's Distributed COM (DCOM) extends Component Object Model Technology (COM) to enable it to support communication between objects on different computers on a LAN, WAN, or even the Internet. With DCOM, its applications can be distributed geographically to meet the needs of customers and applications. When doing distributed computing, DCOM handles the low-level details of network protocols, so it can focus on solving the problems that users require.
The technical feature of DCOM is that each program module does not need to store each client, and it does not need to download the program itself to run on the client. The only thing to do is to store a DCOM part in the server, and users in different places can access this DCOM part through the network. Of course, DCOM technology doesn't just save storage space. Moreover, a large-scale program composed of DCOM components can be divided into a dedicated software module for processing the same work. Other programs or other DCOM components need only call it to obtain the required information. When the program flow changes, as long as the programmer changes the changed part, the program of other units can be updated at the same time, which effectively improves the flexibility of the entire system. [2]

Multi-layer distributed system middleware

Middleware is a kind of independent system software or service program.
Figure 2 Comparison of two software structures
A functional layer between the application layer and the network layer, which enables the application system to be independent of the underlying environment consisting of heterogeneous operating systems, hardware platforms, and communication protocols. Figure 2 is a comparison of the two software architectures.
Middleware is located on the client server operating system and manages computer resources and network communications. It extends the client / server structure and forms a three-tier structure and multi-tier structure including clients, middleware, and servers. Reliable, scalable, and complex transaction-intensive application systems provide strong support.
Middleware is also a type of software. Its primary task is to achieve application- and platform-independent interoperability. Secondly, it can reasonably manage network communication resources. According to the IDC classification method, middleware can be divided into six categories. The first category is terminal emulation / screen conversion middleware, the second category is database access middleware, the third category is remote procedure call middleware, and the fourth category is message Middleware, the fifth category is transaction middleware, and the sixth category is object middleware. [1]

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?