传统客户/服务器结构在电子商务系统中存在哪些问题?与之相比,三层客户/服务器结构的核心思想是什么?
存在的问题:
⑴维护困难。由于表示部分和应用逻辑部分耦合在一起,因此,任何对于应用逻辑的变化,都将导致客户端软件的变化,需要不断的更新客户端的系统,这不但影响系统的可扩展性,导致工作量的增加,还可能导致错误的安装过程。同时客户机直接访问服务器端的数据库,对数据库的各种操作使系统安全性难以得到保障。
⑵费用增加。在电子商务等新的应用中,用户的数量和范围都在不断扩张,如果用户端需要复杂的处理能力,需要较多的客户端资源,必然会导致应用系统总体费用的增加,这与客户/服务器结构最初期望——借助任务共担,提高网络资源利用率,以减少总体费用的初衷相违背。有关客户端处理能力的讨论还很多,人们通常将之称为“瘦客户”与“胖客户”之争,目前多以“瘦客户”的取胜而告一段落。
⑶培训困难。客户端通常由一些大的复杂的软件包构成,提供的功能很多,需要对用户进行大量的教育培训,因此该类软件的使用通常局限在以局域网为中心的应用环境中,很难扩展到Internet环境中。
核心思想:
1998年,SUN公司首先提出所谓“三层结构”电子商务系统的概念,在其解决方案中,电子商务系统的体系结构被分解成表达层、应用(逻辑)处理层和数据层,三层之间的界面比较清晰,表达层(Presentation Layer)以Web服务器为基础,负责信息的发布;应用层(Application Layer)负责处理核心业务逻辑;数据层(Date Layer)的基础是数据库管理系统DBMS,负责数据的组织,并向应用层提供接口。
在这种结构中,将商业和应用逻辑从客户机移到中间层,即到应用服务器上,客户机上只需安装具有用户界面和简单的数据处理功能的应用程序,负责处理与用户的交互和与应用服务器的交互。应用服务器负责处理商业和应用逻辑,具体说,就是接受客户端应用程序的请求。因此,三层客户/服务器的最大特征在于所有用户可以共享商业和应用逻辑,应用服务器是整个系统的核心,为处理系统的具体应用提供事务处理,安全控制,由此形成以应用服务器为中心的辐射状的系统结构。