Abstract—Based on thorough analysis of the characteristics of both C/S and B/S styles, C/S and B/S mixed style is brought forward under the illumination of isomer. By applying C/S and B/S mixed style on software testing platform of reliability and maintainability, it is proved that this style can satisfy more functional requirements of the platform.
Keywords-client/server; browser/server; C/S and B/S mixed style; software testing platform of reliability and maintainability
With the development of software architecture styles, different kinds of software architecture styles are widely applied, such as client/server style, browser/server style, filter-pipe style, data abstraction and object-oriented organization style, and so on. Designing from different angle of view, the architecture style applied is consequently different. Actually, different kinds of software architecture styles are not self-existent. Two or more kinds of architecture styles may be combined and applied to one system. We call this complicated style isomerous architecture style . By learning from others’ strong points to offset its weakness, this isomerous architecture style can help fully describe the systematic requirements and improve the performance of software development. This article studies mainly around C/S and B/S mixed style and the application.
Two-tier Client/Server software architecture style develops for resource sharing originally, and makes for maturity by the end of last century. Under two-tier C/S architecture style, system is divided into database server and client. See in Fig. 1. The database server is in charge of data management, and the client presides over the communication with user.
In practice, database such as ORACLE is often taken as the database server, and visual programming language such as Microsoft Visual Basic6.0 is always adopted by the client. Software installed on the client can help users communicate with the database server through ODBC or ADO. Two-tier C/S architecture style possesses strong power of data management and transaction processing. Besides, it is simple and comprehensible. However, along with systematic scale-up and increasing software complexity, the disadvantages of two-tier C/S style become much more obvious.
Two-tier C/S architecture style can not extend to Internet.
The integrating ability is limited.
The burden on client is very heavy. Data used in data processing and transaction processing needs to be transferred from database server to client, which makes the performance go from bad to worse.
Data’s safety is not ensured. Since software installed on client can visit database server directly, there exists an opportunity for other client programs to access database server either, which threatens the database security greatly.
It is hard and costly to upgrade the client software and do the maintenance. When you add or upgrade a client, related files should be all installed on the client. Furthermore, you should inform every client to update in time whenever the system is modified. To sum up, there exist so many shortcomings that twotier C/S software architecture style should be improved so as to satisfy increasing systematic requirements. Under this condition, three-tier C/S software architecture style is brought forth, which conquers the foregoing disadvantages of two-tier C/S architecture style commendably. Three-tier C/S software architecture style adds an application server between database server and client, and classifies the system into expression layer, function layer and data layer. See the structure in Fig. 2 and the flow in Fig. 3.
Expression layer is regarded as users’ interface for communication between users and the client application. The main task of this layer is to check the data input or output by users. The inspected data is limited to the format and value, regardless of the transaction processing logic. Generally, graphic user interface (called UI for short) is used in expression layer to simplify the operation. When UI changes, all you need to do is just modifying the programs for display control and data inspection, while function layer and data layer are immune to the change .
Function layer is called transaction processing logic layer, with responsibility for programming detailed transaction processing logic. In general, function validation of accessing to application and database and recording the systematic processing logic is managed in this layer. Visual programming languages are usually exploited in this layer.
Data layer, namely database management system (DBMS), is responsible for data read-write. DBMS is required to be capable of carrying out a great deal of data’s updates and searches. Therefore, SQL is adopted mostly in this layer for data transfer between function layer and data layer.
Generally, expression layer is configured at client, while function layer and data layer are placed at application server and database server separately. There exists data transfer between application server and database server. Thus, three layers are placed on different systems that systematic flexibility is greatly enhanced. Compared with traditional two-tier C/S architecture style, three-tier C/S architecture style has following merits.
The reasonable division into three layers gains this structure logical independency, which does much good for the improvement of ystematic maintainability and expansibility.
Laden processing ability is greatly enhanced by choosing appropriate software and hardware. Further-more, each part in the system can update easily. When new transaction is added, all you need to do is just increasing the corresponding server. For example, data layer and function layer are both placed on UNIX workstation which is chosen as server at first. With the development, users are increasing gradually. We can add a new server for data layer and take the UNIX workstation as application server for function layer. If the systematic scale is enlarged once more, users will increase accordingly. Then we can add more servers for function layer so as to partake the database . Above all, this structure can effectively simplify the systematic modification.
In three-tier C/S architecture style, each layer can be exploited independently at high efficiency and choose appropriate language, which optimizes the exploitation and maintenances greatly.
Function layer separates expression layer and database layer, which avoids illegal access to database layer and strengthens the database security greatly. System becomes more controllable with reasonable management.
From different points of view, C/S architecture style is described in Tab. 1.
|Point of view||Characteristics of C/S architecture style|
|Hardware||Taking LAN as the centre, hard to extend to Internet.|
|Security||Faced with fixed users, having good security control.|
|Program structure||Pay much attention to flow, and do much multilayer checkout to the restriction, so systematic running speed can be less considered.|
|Software reuse||It is necessary to do holistic consideration.|
|Systematic requirements||Users are fixed on same area, so systems are required to be same for security.|
|UI||Programmers are required to be high-leveled.|
|Information flow||With central automatic processing, the alternation is relatively low.|
|Client size||Client is so large that it is hard to upgrade, and the installation and maintenance cost are very high that client machines are required to be advanced.|
|Dynamic alternation||Dynamic alternation is good.|
|Configuration cost||Be participated in operation, the computerconfiguration is required comparatively high.|
|Systematic maintenance||Each client is required to install and configure corresponding software. When software is changed, client and server are both required to be upgraded.|
Furthermore, it should be noted that the performance of entire system will not be good even if each layer is configured with good hardware because low communication efficiency between layers will block the whole system.
Therefore, the communication methods, frequency, and data flow are all required to be considered seriously. Besides, interface between layers should be designed as simply as possible. Moreover, data transfer between layers calls for sententiousness. For example, data corresponding with searching requests should be transferred to the function layer once for all.
The characteristics of B/S architecture style are listed in
TABLE II. CHARACTERISTICS OF B/S ARCHITECTURE STYLE
|Point of view||Characteristics of B/S architecture style|
|Hardware||Constructed on World Wide Web, unlimited to specialenvironment.|
|Security||Faced with unfixed users, with security difficult to control.|
|Program structure||It is necessary to pay much attention to security and accessing speed for systematic optimization.|
|Software||reuse The components are provided with independent function.|
|Systematic requirements||Users are fixed on dispersive area. Therefore, operating system is seldom correlative.|
|UI||Constructed on browsers, having much dramatic behaving manners to communicate with users, so programmers are not required to be high-leveled.|
|Information flow||The direction of information flow is controllable, just like the trade center.|
|Client size||As long as browser is installed, the display function can be achieved. Application modules are integrated on WWW application server that client is simplified as thin client.|
|Dynamic alternation||Lack the dynamic page layout support. Data dynamic alternation is weak.|
|Configuration cost||Not participated in operation, the computer configuration is lowered largely, and the systematic developing cost drops to be least.|
|Systematic maintenance||Generally, clients can update automatically so long as the server maintenance is done, which simplifies the maintenance and cuts down the cost greatly.|
We can conclude from above analysis that C/S and B/S styles both have their advantages and disadvantages. Though B/S style exceeds C/S style in many aspects, there is a long way to go if B/S style wants to lead an important part in software development. C/S style is well-developed and deeprooted, and many software systems are constructed on it. Therefore, C/S and B/S styles will be long-standing. Under this situation, researchers attempt to integrate these two kinds of architecture styles together into one style. Learning from others’ strong points to offset its weakness, a new architecture style called C/S and B/S mixed style is invented. See in Fig. 5.
In this style, B/S style is used to achieve functions for WEB disposal, like information issuing and inquiring interface, so as to satisfy visitors’ requests. C/S style is adopted on background application such as database management and maintenance interface. Components are located at WEB server. The client sends HTTP requests to WEB server. Then, WEB server passes the data requests to database server which will return the requested data back to WEB server. After that, data is transferred to client by WEB server. Some functions difficult to achieve or needing active HTML page layout can be carried out by embedding Active X in it. Besides achieving some difficult functions, Active X can greatly enrich HTML page layout and add many dramatic behaving manner so as to produce wonderful
The merits of C/S and B/S mixed style are as follows [4,5].
- Taking users’ benefits into full consideration, thisstyle can insure that not only can browsers operatethe system conveniently, but also the system is easyto update and flexible for maintenance.
- B/S style makes the client thinner.
- Standard WWW browsers are uniformly adopted byclient software, which reduces the client cost greatly.
- The database uses B/S style for systematicmaintenance, data updating and so on, avoidingheavy workload caused by adopting C/S styleentirely.
- Parts of assignments are transferred to databaseserver, which lightens the workload on Web serverand heightens the Web capability.
- Based on C/S style, client can achieve complicatedapplication and keep the interface friendly andmanipulative, which offsets the shortcoming of weakdynamic alternation under B/S style.
- Those system constructed by C/S style formerly caneasily be upgraded to system constructed by C/S andB/S mixed style, so long as interface for informationsending is exploited. Thus, the primary systematicinvestment is fully utilized, which reduces thedeveloping cost and cuts down the developing cycleeffectively.
- The EJB components are self-governed parts whichcan run independently in theory. Therefore, differentdevelopers are able to carry many components intoexecution at the same time.
- The component code is saved in one component.This centralization and modularization way keepscomponents easy to maintain.
Software testing platform of reliability and maintainability (call it RMTP for short) is a universal testing platform which can test both embedded software and nonembedded software. The main functions include testing document management, expert judgment, non-embedded software testing, embedded software testing, testing scout and control, testing evaluation. In addition, there are also some necessary functional modules such as systematic login, systematic initialization, systematic maintenance, error treatment and so on, so as to ensure the system to run in security. See in Fig. 6. We can conclude from above study that C/S and B/S mixed style can satisfy the RMTP requirements fully. Thus, we try to apply C/S and B/S mixed style in the design of this platform .
In view of a large number of data processing to do, RMTP needs the support of database. Both C/S and B/S software architecture styles are in consideration. Constructed on LAN, C/S software architecture style has good security and ability of dynamic alternation, while hardly can it satisfy the use of users outside LAN such as expert judge, putting in and updating documents related to software testing. With B/S software architecture style constructed on WAN, the platform can easily be accessed so long as WWW browsers are installed, while hardly can security ensured and data alternation is limited that parts of testing requirements can not be satisfied. Based on above analysis, we apply C/S and B/S mixed style in RMTP. See in Fig. 7.
This mixed style can help to satisfy the different requirements of users both inside and outside. C/S style is used inside. Then, users can visit the database server directly by LAN. Under this structure, data dynamic alteration is strengthened and systematic security is heightened. B/S style is used outside. Then, users can visit Web server by Internet and then access the database conveniently. On the one hand, non-native users can log in the platform, offer or update related documents and be acquainted with the actuality of software testing expediently by this mean. On the other hand, experts can do staggered judgment to the testing document by Internet, so as to control software testing macroscopically. By integrating these two styles together, the merits are brought into full play while shortcomings are offset. Users outside do not access database server directly, which ensures the database security. Meanwhile, users inside have strong ability of dynamic alteration and can inquire about or modify the data rapidly.
There also exist shortcomings of C/S and B/S mixed style.For dynamic alteration ability is limited under B/S style,long-distance software testing is not supported. Practical testing is carried out inside LAN. So, further study
should be done to implement long-distance software testing.
Based on the analysis to the characteristics of both C/S and B/S styles, this paper applies C/S and B/S mixed style in software testing platform of reliability and maintainability, which better satisfies the systematic requirements. Further research should be done on techniques for enhancing data dynamic alteration and implementing long-distance software testing. Thanks instructors in our staff room for their selfless academically help.
 WANG Yi-bin, LIU Kui, and WANG Yang, “Research and Practice of Software Architecture”, Computer Technology and Development, vol. 17, China, September 2007, pp. 142-146.
 SHEN Jian-qiao, and NIE Hua-bei, “Introduction to Software Architecture”, Computer Development and Application, vol. 21, February 2008, China, pp. 49-52.
 LIU Zhi-guo. “Analysis on the Styles of a Few Software System Structure”, Higher Vocational Education-Journal of Tianjing Professional College, vol. 12, China, October 2003, pp. 49-51.
 AN JIAN Cai-rang, and WU Jun-sheng, “Information Application System Development based on B/S and C/S Mixed Structure”, Microprocessors, February 2007, China, pp. 17-120.
 LIU Xue-wu, and PENG Ling-yi, “Discuss the development of system C/S and B/S mode”, Technological Development of Enterprise, vol. 27, China, February 2008, pp. 58-60.
 CHENG Yong-li, “Design of a financial expense system based on B/S and C/S”, Journal of Ningbo Polytechnic, vol. 12, China, April 2008, pp. 29-32.