分布式应用程序结构简单理解

王朝other·作者佚名  2007-04-23
宽屏版  字体: |||超大  

应用程序设计的一个关键要素是系统结构,系统结构决定了应用程序的各个部分如何进行交互,同时也决定了每个部分实现的功能。在这个基于网络的环境中,通常在分布式环境中创建应用程序。实际上,Web系统是很好的分布式应用程序。

分布式应用程序利用多台机器的资源及许多进程的空间,把应用程序分成更易管理的任务组,这些任务组能在各种不同的结构下进行部署。把应用程序分成很多组有许多好处,最直接的就是可以重复使、扩充和管理。

1、分层应用程序

分层应用程序可以按层数进行划分,信息可以从数据层(通常存储在数据库)传送到表现层(显示在客户端上)。通常每层相对于其他层来说都运行在不同的系统中,或者在同一系统中的不同进程空间里。

1)、两层应用程序(客户端/服务端)

先举例简单描述一下两层的客户端/服务器结构。典型的结构是一个客户端的用户PC机(前端)和一个包含数据库的网络服务器(后端),逻辑上根据两者的物理位置划分。通常客户端包含大部分业务逻辑,随着数据库及存储过程的发展,SQL语言允许业务逻辑在数据库服务器中存储并执行。

虽然两层应用程序有很大的市场空间,但是它本身存在了很多的局限性。

当一个小企业仅仅需要和使用一个简单的数据源时,这种两层方案会运行的很好。但是大多数企业的业务目标在不断增长,数据源的需求也要相应的增大,这就需要数据库的数据处理性能要提高。这种两层方案的系统在大数据量的处理时,性能很难再提高,这就有了一个在使用上的局限性。

还有一点,如果在企业在临时的业务改变的情况下,需要改变系统的相应的功能,这时由于两层应用程序的固定性,应用系统就必须重建并重新配置。

如果两层应用程序的数据库并发连接数过大,将会很大程度的降低应用程序的执行效率。

2、三层和N层应用程序

由于两层应用程序即客户端/服务器端结构的功能限制,分布式应用程序通常分为三层或者更多层。每层的组件都执行一个特定类型的处理,但目前最常用的是三层应用程序结构。在三层应用程序中,包含一个用户服务层(表现层),一个业务服务层和一个数据服务层。

三层结构和传统的二层客户端/服务器结构的主要区别就是在三层体系内,业务逻辑层从用户界面和数据源中分离出来。

把应用程序划分成独立的层或部分能减小整个应用程序的复杂性,并且使应用程序能够更好的扩展,跟得上企业发展的需要。

三层应用程序不能直接访问数据存储系统,它必须要通过中间的业务逻辑处理程序来访问数据存储系统。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有