System Architect-Basic to enterprise application architecture-Client/Server

Source: Internet
Author: User
ArticleDirectory
    •  
    • Download agileeas. Net quick development platform
Opening

In the previous article, we introduced the architecture of stand-alone software. In fact, no matter what software system, it is designed to solve some actual problems. In the software, it will be generated to better solve practical problems, so for a single machine

The component architecture is constantly changing and developing. Of course, a good software architecture will play a decisive role in the software lifecycle. A good software architecture will undoubtedly extend the life cycle of the stand-alone software and adapt to the constantly changing demand in the future ,. net Framework architecture design and architecture design, I believe it is very good.

This article describes common architecture models. The client-server model can be understood as the C/S architecture model. The current C/S architecture has changed from the original simple client-server format

More derivative architecture models: C/A/S, C/S/M/s. Including Multi-layer C/S architecture. This article will briefly explain the minor changes and application scenarios between these architecture models. Of course, due to my experience and knowledge,

Errors.

 

Outline

1. Opening

2. Outline

3. Generation of C/S architecture

4. Evolution of C/S architecture in common scenarios and architecture Modes

5. C/S architecture summary and description

C/S architecture

C/S and B/S architectures I think everyone should better understand their nature and differences.

Definition of Wikipedia:

The C/S (Client/Server) structure is a well-known client and server structure. It is a software system architecture. It can take full advantage of the advantages of both ends of the hardware environment, the task is allocated to the client and

Server to reduce the communication overhead of the system. Currently, most application software systems are structured in the form of client/server. The advantage of c/s is that it can fully utilize the processing capability of the client PC.

After processing by the client, submit the request to the server. The advantage is that the client responds quickly.

Many of my friends argue with me that the future will be the world of B/S. Such a C/S architecture model may be fewer and fewer, or even replaced, in my understanding, the existence of any architecture model is still

That sentence exists to solve the problems of different application scenarios. So it's not easy to draw conclusions about whether the future will be replaced. But if we go back to the essence, you will find that the browser itself is C/S.ProgramUnless one day, we don't need a browser to access the Internet. Maybe I will agree with you.

The pace of technological development is constantly improving. The traditional C/S architecture may be like this.

It should be easy to understand here. We write all the business logic in the client application. At this time, the client is in the form of a rich client and only needs to read

Access the database when the information is retrieved or written back. In this case, we can regard the database as a server. In this way, it should be because a lot of software is built in this way, of course, there may be a lot

The architecture of the new software has changed. It is not a simple architecture, because such architecture methods include application integration and subsequent expansion, without a doubt, a large number of programs need to be modified.

And there will be bottlenecks in performance and other aspects.

For architecture B/S corresponding to C/S, the general method is as follows:

The above shows the physical deployment architecture of a general B/S application.

The browser we mentioned above is a client software. It sends requests to the specified Web server through the DNS domain name resolution server. The web server generates HTML files based on user requests.

File, the process needs to access the database, after processing, return to the client browser, the browser according to the returned information, rendering to the browser client. I just gave a general introduction to the process above,

I have not explained many details. Next, let's take a look at the continuous derivation and variants of the C/S architecture.

C/S architecture scenario and Architecture Model Evolution

We also mentioned in the previous section that the C/S architecture has been continuously improved and many architecture models have been derived. We will focus on and analyze the general application scenarios of each architecture model.

1. Clients include services

The client application contains business logic processing, but requests and accesses the database when necessary. Data Persistence

Operation.

This mode is applicable to scenarios where the client needs to provide rich applications, such as hospital information systems.

The Representative language of this mode: Pb, VB, Delphi, etc. Of course, there are also many. Net winfrom applications.

Advantage: You can reuse PC resources to reduce the pressure on your servers. This meets your operating habits and provides a good user experience.

Disadvantages: Installation and update are troublesome, not lightweight, and information sharing is troublesome. There is no way to access the Internet.

2. C/A/S architecture

This structure looks much more powerful. Why? The client is lightweight, similar to the browser, which not only provides a powerful user experience and operations in line with the user's traditional software, at the same time, it will not look like a fat customer

The client can also be automatically upgraded because it is the same as the user.

Application Server: responsible for processing complex applications submitted by the client. Of course, if a large number of client users are involved, you can use some measures to distribute requests to tasks. This is what we will talk about later.

Multiple layers. Here, the application server is responsible for processing the request information sent by the client. When there are business logic operations related to the database data, the client sends the request to the application server. The application server receives the request

And process it. The Application Server accesses the database based on client requests and performs business logic processing. The processed results are returned to the client, and the client displays the results.

In this way, as long as the client contains necessary components, all business processing processes are completed through the application server. This will greatly reduce the running efficiency of the client and increase the number of users in the future.

Long, provides the foundation for horizontal scaling.

3. Multiple C/S structures

As we have mentioned above, the C/A/S has a relatively powerful structure, which not only provides support for Internet access like a browser, but also has a good user experience.

Next we will look at the new physical architecture model based on the above architecture.

Of course, as the server performance increases, we will find that it is neither slow CPU nor insufficient memory. All performance bottlenecks are caused by Io, no matter what you are talking about

In general, the logic architecture, physical architecture, or data architecture is designed to solve Io bottlenecks. We will not carefully consider many of the large listed companies, whether on the Internet or work

Class. Once the data volume is large and the request response is effective, the key point is Io.

We have learned the computer composition principle, and we can know that there is a difference between memory and CPU, there is a difference in order of magnitude, there is an order of magnitude between the hard disk and memory, so this CPU is generally, no multitasking

Or a lot of operations, the bottleneck will not appear here.

4. Multiple Layers

Of course, it can be a database cluster or a distributed database storage structure.

5. distributed applications

Distributed Application Deployment Server for business segmentation deployment.

6. SOA Architecture

The above describes the most popular physical architecture deployment methods.

Next, let's talk about the logic architecture of C/S.

Let's talk about the fat client first.

Slowly evolving:

Then abstract.

This is not enough, because it is not suitable for the UI. Therefore, the MVC Architecture is derived. Generally, the MVC model applies to the Web, and C/S generally does not adopt this method. Currently, the popular J2EE development framework is used, such as JSF, struts, spring, hibernate, and other combinations among them, such as Struts + spring + hibernate (SSH), JSP + spring + hibernate, etc. are all oriented towards the MVC Architecture .. Net.

I have learned about ASP. NET MVC.

In general, the current architecture is not a simple one. It relies on an integrated framework, or an application development platform, through the middleware provided by the platform, integration or interaction of multiple systems

Through the powerful features provided by these middleware, we can focus on business needs without considering too many non-functional requirements.

 

C/S architecture Summary

The above describes the common mode and evolution of the C/S architecture. In fact, in terms of the logical architecture, the overall change will not be too great. Generally, these models are used, multi-layered, which requires

View the specific requirements and non-functional requirements of the project, including application deployment requirements.

With the popularization and rapid development of Internet applications, there will be no questions or problems in the future, however, we can also see the future development and business opportunities of the C/S architecture.

No matter how big a company is, it is promoting its own basic platform, developing applications on the platform, and providing a convenient shop for purchasing services through SAAS, this not only facilitates the use of good application services,

It also provides business opportunities for developers, so the current C/S architecture model is becoming more and more oriented to SOA and SAAS.

We should recognize the form and direction. If we develop the path of independent innovation, we must consider the future. architecture design is the key to adapting to future needs and the company's development, this is also the current hot SOA architecture for Enterprises

The key to strategic impact lies. Everyone knows the terms. Everyone will say, but it is always difficult to practice. But if you give up because of the difficulties, you believe that the enterprise will collapse because of the difficulties. In

It is difficult to operate an enterprise.

The development of the C/S architecture depends on the above basic platform, application integration, and SAAS. c/s may be fewer and fewer, but will not be replaced. Currently, most desktop applications are

There are more and more such models, and I believe everyone is familiar with them. Nowadays, far-sighted companies all know that they are concerned with the future development of the enterprise. Therefore, they seize the mobile phone and browser market and maintain the enterprise through user viscosity.

Sustainable development and commercial value space.

What is the relationship between business and architecture? In fact, think carefully about the relationship. A good foundation can have a good development, a good company. If there is no sustainable vision and foundation, it is doomed to fail, one of the most popular recently

You can also see why big companies have to build their own platforms.

Every company wants it. Unfortunately, it may not be set up for various reasons. At this time, we can consider low investment and high return. By purchasing basic platforms with better current market conditions, not only can

It instantly enhances the vitality of enterprises, increases the competitiveness of enterprises, and seize the market as quickly as possible. Cloud computing is a trend in the future and there is no way to do it. When one person says this, you don't believe it. When two people say it, you still don't believe it.

When people around you believe it, you believe it. Although many people shouted in the fog.

There are many solutions. The key is to check whether you seize the opportunity. Opportunities are always captured by prepared people.

At present, we have completed the first step: SAAS.

Related information

Download information.

If you have any questions about using the agileeas. NET development platform, use the following contact methods or communication methods.

1. Telephone-Email:

He gozhou: hegezhou_hot@163.com mobile phone: 18691480181 blog: http://www.cnblogs.com/hegezhou_hot/

2. QQ communication:

308961614-Network Name: h.o. t

3. QQ chat group:

185074255 new

Download agileeas. Net quick development platform

Click to download the image.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.