C/S and B/S structure concepts
1. What is the C/S structure?
The C/S (Client/Server) structure, that is, the 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, and assign tasks to the client and server, thus reducing the communication overhead of the system.
The C/S structure can be viewedFat client architecture. The client implements the vast majority of business logic processing and interface display. As a part of the client, it is subject to a lot of pressure, from the use of client resources, high requirements on the client.
The implementation can be that one or more clients run on users' computers.ProgramThere are two types of servers, one is the database server, the client accesses the data on the server through the database connection; the other is the socket server, the server program communicates with the client program through socket.
Currently, most application software systems are structured in the form of client/server. As the current software application system is developing towards distributed Web applications, both web applications and client/server applications can perform the same business processing, and different modules share logical components. Therefore, both internal and external users can access new and existing application systems, and new application systems can be extended through the logic in the existing application system. This is the current development direction of application systems.
Although the traditional C/S architecture adopts an open mode, it is only an open level for system development, in a specific application, either the client or the server also requires specific software support. Due to the failure to provide an open environment that users really expect, C/S-structured software needs to develop different versions of software for different operating system systems. In addition, the product is updated rapidly, it is difficult to adapt to the simultaneous use of LAN users with more than computers. The cost is high and the efficiency is low.
2. what is the B/S structure
B/S (Browser/Server) structure is the browser and server structure. it is a change or improved structure of the C/S structure with the rise of Internet technology. In this structure, the user's working interface is implemented through the WWW browser. A few transaction logics are implemented on the browser, but the main transaction logic is implemented on the server, form the so-called three-tier structure. This greatly simplifies the Client Computer load, reduces the cost and workload of system maintenance and upgrade, and reduces the overall cost (TCO) of users ).
the B/S structure can be viewed as thin client , only the less displayed logic is handed over to the web browser, and the transaction logic data is processed on the server side. This avoids the huge fat client and reduces the pressure on the client. A B/S system requires no special installation. Only a web browser is required. Of course, the general use of Ajax and flex also has the development direction of rich clients .
according to the current technology, it is relatively easy to grasp and reduce the cost to establish B/S network applications in LAN and use database applications in Internet/Intranet mode. It is a one-time development in place that enables different people to use different access methods (such as lan, Wan, Internet/Intranet) from different locations) it can effectively protect the data platform and manage access permissions, and the server database is secure. Especially after the emergence of cross-platform languages such as Java, the B/S architecture management software is more convenient, fast and efficient.
3. Major Management Software Technologies.
similar to the management philosophy, the mainstream technology of software management has experienced three stages of development. First, the interface technology from the DOS character interface of the century to the Windows graphical interface (or graphical user interface GUI), until the browser interface has three different development periods. Secondly, the browser interfaces of all computers today are not only intuitive and easy to use, but also the style of any application software based on the browser platform is the same, users do not have high requirements for Operation Training, and the software is highly operable and easy to identify. Furthermore, the platform architecture has evolved from single users to today's file/server (F/s) system, Client/Server (C/S) system, and browser/server (B/S) system.
Differences between C/S and B/S structures
1.c/ S and B/S structure advantages and disadvantages
(1 ). advantages and disadvantages of B/S structure:
advantages of B/S structure:
<1>. no installation is required. You do not need to install a browser on the client.
<2>. Distributed features allow you to query, browse, and perform other business processing anytime, anywhere.
<3>. convenient service expansion. You can add server functions by adding pages.
<4> upgrade and maintenance are convenient. You can update the server without upgrading multiple clients.
<5>. High sharing ability. It can be directly deployed on the Wide Area Network, and multi-customer access can be achieved through certain permission control, which is highly interactive.
disadvantages of B/S structure:
<1>. in cross-browser scenarios, the bsstructure is not satisfactory.
<2>. in terms of speed and security, a lot of design costs are required, and the response speed is less than C/S. With the development of Ajax technology, the speed of the traditional B/S structure software is greatly improved.
<3>. The user experience is not ideal. B/S needs to be designed separately. browser vendors have different parsing standards for browsers.
the interaction between the client and server is in request-response mode. You need to refresh the page, which is not expected by the customer. (This problem has been mitigated to some extent after Ajax is popular.)
(2) advantages and disadvantages of the. C/S structure:
Advantages of the C/S structure:
<1>. C/S structure interfaces and operations are simple and rich.
<2> The. C/S structure management information system has strong transaction processing capabilities.
<3> the security performance of the. C/S structure can be easily guaranteed, and it is not difficult to implement multi-layer authentication.
<4> fast response speed of the. C/S structure. Because the client is directly connected to the server, there is no intermediate link and there is only one layer of interaction, the response speed is faster.
Disadvantages of the C/S structure:
<1>. Narrow application area, usually used in LAN.
With the rapid development of the Internet, mobile office and Distributed Office are becoming more and more popular, which requires the scalability of our system. In this way, remote access requires special technologies, and the system must be specially designed to process distributed data.
<2> the client must install dedicated client software.
Because the program needs to be installed before it can be used, it is not suitable for some unknown users. The installation workload is involved. Second, any computer with problems, such as viruses and hardware damages, must be installed or maintained. In particular, there are many branch or specialty stores, not the workload, but the distance.
<3>. The maintenance and upgrade costs are high. For a maintenance upgrade, all client programs must be reinstalled.
<4>. The operating system of the client is also limited.
It may be applicable to WINXP, but cannot be used for winvista or win7. Or not applicable to Microsoft's new operating systems, such as Linux and UNIX.
2. Differences in structure design between C/S and B/S
Client/Server is built on the LAN, and browser/server is built on the WAN.
(1). Different hardware Environments
C/s is generally built on a dedicated network. In a small network environment, the LAN provides connection and data exchange services through dedicated servers.
B/S is built on a wide area network and does not need to be a dedicated network hardware environment, such as telephone Internet access, device rental, and information management. It has a stronger adaptability than C/S, generally, you only need an operating system and a browser.
(2) Different security requirements
C/s is generally oriented to relatively fixed user groups and has strong information security control capabilities. Generally, a highly confidential information system adopts a C/S structure and can publish some public information through B/S.
B/S is built on a wide area network and has relatively weak security control capabilities. It is intended for unknown user groups.
(3). Different program Architectures
The C/S program can focus more on processes, perform multi-level permission verification, and minimize the system running speed.
B/S's multiple considerations for security and access speed are based on the need for more optimization. Higher requirements than C/S, B/S structure of the program architecture is the development trend, from Ms. net series of BizTalk 2000 Exchange 2000 and so on, fully support the system built by network components. The JavaBean Component Technology pushed by Sun and IBM makes B/S more mature.
(4) different software reuse
The reusability of components is not as good as that of components under B/S requirements.
The multiple structures of B/S pairs require relatively independent components. Relatively good reuse. Just like a table you bought can be reused, rather than a stone table on the wall.
(5) Different system maintenance
System maintenance is very important in the software life cycle due to high overhead.
Due to the integrity of the C/S program, it is necessary to make an overall investigation to solve problems and make system upgrades difficult. It may be necessary to create a new system.
The components of B/S are replaced individually to achieve seamless system upgrade. The system maintenance overhead is minimized, and users can download and install it on the Internet.
(6) Different handling problems
The c/s program can handle fixed user surfaces and meet high security requirements in the same region. It should be the same system as the operating system.
B/S is built on the Wide Area Network. It targets different user groups and is scattered across regions. This is what C/S cannot do and has the least relationship with the operating system platform.
(7). Different user interfaces
C/s is mostly built on the window platform, with limited performance methods and high requirements on programmers.
B/S is built on a browser, which provides richer and more vivid expressions to communicate with users. In addition, it reduces most of the difficulty and reduces development costs.
(8). Different information flows
C/S programs are generally typical centralized mechanical processing with relatively low interaction.
B/S information flow to change, B-B, B-C, B-G and other information flow to change, more like the transaction center.
3. C/S and B/S structural advantages and disadvantages
(1) Advantages and Disadvantages of. C/S architecture software
<1> the data load on the application server is light.
The simplest C/S architecture consists of two parts: the customer application and the database server program. The two can be called foreground programs and background programs respectively. The machine that runs the database server program, also known as the application server. Once a server program is started, it waits for a response from the client program. The client application runs on the user's computer and corresponds to the database server, which can be called the customer's computer, when you need to perform any operations on the data in the database, the client automatically searches for the server program and sends a request to it. The server program responds to the request according to the predefined rules and returns the result, the data load on the application server is light.
<2> data storage and management functions are transparent.
In database applications, data storage and management functions are performed independently by server programs and customer applications. Front-end applications can violate the rules, in addition, different (whether known or unknown) running data is usually not centrally implemented in the server program, such as the visitor's permissions, numbers can be repeated, and customers must have orders. All of these are transparent to end users working on front-end programs. They can do their jobs without having to ask (and usually cannot interfere) The process behind them. In the application of the customer server architecture, the foreground program is not very "small", and all the troubles are handed over to the server and network. Under the C/S system, databases cannot truly become public and professional warehouses, and they are managed independently and specially.
<3> the disadvantage of the. C/S architecture is high maintenance costs and high investment.
First, the C/S architecture should be adopted, and an appropriate database platform should be selected to achieve true "unification" of database data, so that the data distributed in two locations can be synchronized completely to the database system for management, however, operators in the two locations must access the same database directly in order to achieve this effectively. If there are some problems that require "real-time" data synchronization, it is necessary to establish real-time communication between the two locations to maintain the online operation of database servers in the two locations. Network Management staff must maintain and manage servers and clients, this requires high investment and complex technical support, high maintenance costs, and a large number of maintenance tasks.
Secondly, the traditional C/S structure software needs to develop different versions of software for different operating system systems. Because the product is updated rapidly, the high cost and low efficiency have not adapted to the work needs. After the emergence of a cross-platform language such as Java, the B/S architecture severely impacted C/S and posed threats and challenges to it.
(2) Advantages and Disadvantages of B/S architecture software
<1> simple maintenance and upgrade methods.
At present, software systems are being improved and upgraded more and more frequently. The B/S architecture products are obviously more convenient. For a slightly larger unit, if the system administrator needs to run back and forth between hundreds or even thousands of computers, the efficiency and workload can be imagined, however, B/S architecture software only needs to manage the server. All clients are only browsers and no maintenance is required. No matter how large a user is, the number of branches does not increase the workload of maintenance and upgrade. All operations only need to be performed on the server. If the operation is performed remotely, you only need to connect the server to the private network for remote maintenance, upgrade, and sharing. Therefore, clients become increasingly "thin", while servers become increasingly "fat" are the mainstream direction of future information development. In the future, software upgrades and maintenance will become easier and easier to use, which significantly saves manpower, material resources, time, and costs for users. Therefore, the ways to maintain and upgrade the revolution are "thin" clients and "fat" servers.
<2>. reduce the cost and select more.
As we all know, Windows is almost unified on desktop computers, and browsers have become standard configurations. However, windows is not absolutely dominant in server operating systems. The current trend is that all applications using B/S architecture can be installed on Linux servers with high security. Therefore, there are many server operating systems. No matter which operating system is used, most people can use Windows as the desktop operating system and the computer will not be affected, in this way, the most popular free Linux operating system has developed rapidly. In addition to the free operating system, the Linux database is also free of charge, which is a popular choice.
For example, if many people go to the "Netease" (originally Sina) network every day, they only need to install a browser and do not need to know what operating system the "Netease" server uses, in fact, most websites do not use Windows operating systems, but most of their computers are installed on Windows.
<3> the data load on the application server is heavy.
Because the B/S architecture management software is only installed on the server, the network administrator only needs to manage the server. The main transaction logic of the user interface is on the server) the client is fully implemented through the WWW browser, and a few transaction logics are implemented on the browser. All clients only have browsers, and network administrators only need to perform hardware maintenance. However, the data load on the application server is heavy. If the server crashes, the consequences are unimaginable. Therefore, many organizations have database storage servers, just in case.
4. C/S and B/S structure combination
The combination of C/S and B/S is a scsf framework that combines advantages of C/S and B/S Design. Share the architecture of C/S and B/S that you are using.
Smart Client software factory Overview
(1). scsf Concept
Scsf is a framework that applies multiple design patterns and is suitable for large-scale software development. It is characterized by combining the advantages of B/S and C/S architectures, developers can develop in parallel based on business functions and modules. The coupling between modules is very small. When business requirements change, the software that applies the scsf architecture can be minimized.CodeModification quantity.
Compared with the traditional B/S architecture, smart client has the following advantages: fatclient design, rich user experience, the client can run in a non-online State. In the traditional B/S architecture, all the burdens are handed over to the server. When the network is unavailable, the B/S system is completely paralyzed.
Compared with the traditional C/S architecture, the Smart Client facilitates deployment and maintenance. When the clickonce client is used, it will automatically prompt or update when the upgrade is required.
(2) design patterns and architecture ideas in scsf:
Control reversal (IOC), dependency injection, MVC and MVP;
Strategy and observer ).
Only by understanding these models can we easily understand the architecture of scsf.