C/S结构,即客户机和服务器(Client/Server)结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。并且服务器端所承载的负荷也相对较轻,最简单的c/s体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户端,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,这样应用服务器运行数据负荷较轻。
服务器端通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、SQL Server。客户端需要安装专用的客户端软件。目前大多数应用软件系统都是Client/Server形式的两层结构。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的
操作系统系统开发不同版本的软件。笔者以前所在公司(连锁超市类)的业务系统使用的是SAP,就是典型的C/S结构。对客户端软件进行升级、添加新功能模块、变更参数配置等,这些操作都需要投入较大的人力去完成,以一个Site有50个客户端来讲,平均每个维护人员负责2-3个Site,整个维护工作量绝对了得。另外,采用c/s架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,这时就出现了一个问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本高,维护任务量也大。
B/S结构,即浏览器/服务器(Browser/Server)结构,客户机上只需装有浏览器(Browser),如WINDOWS内置的Internet Explorer,服务器安装Oracle、SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。