Abstract:
With the development of smartphones, the combination of C/S and B/S becomes more and more important. It is necessary to deeply understand the different development ideas and technologies of the two. However, Googel/Baidu cannot find any satisfactory description, so I would like to discuss it here.
Note that this article is analyzed from a technical perspective rather than a commercial perspective.
From a technical point of view, apart from the UI differences between C/S and B/S, The BLL (1) layer and the DAL layer use the same DLL; BLL (0) the layer can be developed based on the characteristics of C/S and B/S;
Ready for useUI --> Application Server (BLL0) --> BLL1 --> DAL.
1. First, let's take a look at the typical use cases.
When the user downloads webpage A, the server updates the submission logic of A. After the user submits the request, the new logic takes effect immediately and ensures that all clients are the same.
In this scenario, there are two types of users: customers and program developers; customers access websites and program developers update website programs.
2. C/S first
Client: Client, Server: Server. The biggest problem lies in the word "Server". Most C/S applications use C/DatabaseServer instead of C/ApplicationServer.
2.1 C/DatabaseServer: each client directly accesses the database. If the BLL and DAL layers of each client are the same at this time, there is no problem; if the BLL and DAL layers are inconsistent, problems may occur.
2.2 C/ApplicationServer: each client accesses the application server, but cannot directly access the database.
3. B/S
B/S = Browser + C/ApplicationServer. Here C refers to the router for distributing requests from the front-end of the Web server. ApplicationServer is the Web server.
If you have experience configuring multiple domain names on a Web server, you should be clear about this.
From a technical perspective, the essence of B/S is that Browser is not allowed to directly read and write databases, while C/S development is "not near-seeking" to develop the application server layer.
B/S architecture: business logic is always accessible to the database through Web servers, thus providing a guarantee. In the C/S architecture, each C has direct access to the database, which is the biggest difference.
The above is the difference between reading and writing databases, while the difference in UI is more obvious.
Ask another question: If you develop a client to parse XML (equivalent to custom HTML ),
The application server is used on the server to read and write data.Benefits of B/S architecture and overcome the disadvantages of B/S non-rich clients? (Security issues not considered)
Maybe the future smartphone App will be Browser in a certain sense, and then developers will define their own HTML to get the double benefits of C/S and B/S.