指的是将数据处理过程分为三部分:
第一层是客户端(用户界面层),提供用户与系统的友好访问;
第二层是应用服务层(也叫中间层),专司业务逻辑的实现;
第三层是数据源层(数据服务层,数据库系统),负责数据信息的存储、访问及其优化。
由于业务逻辑被提取到应用服务层,大大降低了客户端负担,因此也成为瘦客户(Thin Client)结构,三层结构在传统的二层结构的基础上增加了应用服务层,将应用逻辑单独进行处理,从而使得用户界面与应用逻辑位于不同的平台上,两者之间的通信协议由系统自行定义。通过这样的结构设计,使得应用逻辑被所有用户共享,这是两层结构应用软件与三层应用软件之间最大的区别。
三层结构将表示部分和业务逻辑部分按照客户层和应用服务层相分离,客户端和应用服务层、应用服务层和数据库服务层之间的通讯、异构平台之间的数据交换等都可以通过中间件或者相关程序来实现。
当数据库或者应用服务层的业务逻辑改变时,客户端并不需要改变,反之亦然,大大提高了系统模块的复用性,缩短开发周期,降低维护费用。以JavaApplet为客户端, 以JavaServlet为中间层的三层网络结构,在实时网络信息平台得到了广泛的应用。
---------------------------------------------------------------------------------------------------------
客户端层 (Client Tier,也叫用户界面层)
是将数据呈现给用户或处理用户输入的应用程序或系统一部分。客户端也称为前端,它并不执行数据函数,而是通过输入向服务器请求数据,然后以一定的格式显示结果。参见中间层、数据源层。
客户端层用来实现企业级应用系统的操作界面和显示层.另外,某些客户端程序也可实现业务逻辑.可分为基于Web的和基于非Web的客户端两种情况.基于Web的情况下,主要作为企业Web服务器的浏览器.非基于Web的客户端层则是独立的应用程序,可以完成瘦客户机无法完成的任务. 用户界面层负责处理用户的输入和向用户的输出,但并不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证),这一层通常用前端工具(VB,VC,ASP等)开发;商业逻辑层是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端,这一层通常以动态链接库的形式存在并注册到服务器的注册簿(Registry)中,它与客户端通讯的接口符合某一特定的组件标准(如COM,CORBA),可以用任何支持这种标准的工具开发;数据库层负责实际的数据存储和检索。
中间层(Middle Tier)
也称作应用程序服务器层或应用服务层,是用户接口或 Web 客户端与数据库之间的逻辑层。
数据源层
企业应用较多的是和关系数据库打交道。
数据源层的作用是连接数据库和领域逻辑层,他受领域逻辑组织方式的影响。