三层架构(二)

在以前的博客中已经介绍过了三层架构的功能html

详情回复(三层构架一数据库

那为何要使用三层架构呢??安全

使用三层架构的目的:解耦!!!(作本身功能内的事)服务器

 

一样拿上面饭店的例子来说:网络

详情请看:架构

1)服务员(UI层)请假——另找服务员;厨师(BLL层)辞职——招聘另外一个厨师;采购员(DAL)辞职——招聘另外一个采购员;并发

2)顾客反映: 1>大家店服务态度很差——服务员的问题。开除服务员;分布式

2>大家店菜里有虫子——厨师的问题。换厨师;性能

 

任何一层发生变化都不会影响到另一层!!!优化

 与两层的区别?

两层:

 

(当任何一个地方发生变化时,都须要从新开发整个系统。“多层”放在一层,分工不明确耦合度高——难以适应需求变化,可维护性低、可扩展性低)

 

三层:

 

 

(发生在哪一层的变化,只需更改该层,不须要更改整个系统。层次清晰,分工明确,每层之间耦合度低——提升了效率,适应需求变化,可维护性高,可扩展性高)

 

综上:三层架构的

优点:1,结构清晰、耦合度低,2,可维护性高,可扩展性高;3,利于开发任务同步进行;容易适应需求变化

 

劣势:一、下降了系统的性能。这是不言而喻的。若是不采用分层式结构,不少业务能够直接造访数据库,以此获取相应的数据,现在却必须经过中间层来完成。

二、有时会致使级联的修改。这种修改尤为体如今自上而下的方向。若是在表示层中须要增长一个功能,为保证其设计符合分层式结构,可能须要在相应的业务逻辑层和数据访问层中都增长相应的代码

三、增长了代码量,增长了工做量

 

应用:

在服务器方面:
服务器通常包括有链接与无链接形式,无链接在最底层要设置UDP/IP协议实现服务器通讯功能,
同时在实际使用的过程当中,因为客户机没法保证可靠的传输渠道,使得客户机向服务器提交请求时,很容易形成请求的丢失、延迟以及传递失序等传输问题,进而下降通讯质量。
UDP的可靠性很低,在实际运行中UDP要依托于下层IP网络进行交付分组,没法引入检验程序,而IP网络还要由实际硬件网络或者是相关网关决定其工做质量。
所以,从这一层面上看,下层网络的好坏直接关系到UDP工做。在进行开发有链接服务器的过程当中,要利用TCP/IP通讯协议,利用互联网建立良好的通讯环境,进而提升通讯数据的真实性和可靠性。
TCP/IP通讯协议能够对数据信息进行验证与校对,保证数据信息的完整性。同时在实际运行中,能够经过数据的序列号排序保证数据信息的有序到达,防止出现信息重复分组的状况。
另外,这种通讯协议能够对流量进行有效控制,确保发送信息速度在接收方的承受范围之内,经过INTERNET,实现服务器的面向链接。
 
 
 
 
 
应用于客户端:
在三层构架系统中,客户端是使用者的主要功能体验区域,相比于服务器而言很是简单。一方面,在三层构架运行的过程当中,客户机软件要和各个服务器进行相互通讯,不须要过于重视并发性处理。另外一方面,通常客户机软件能够仿照常规程序进行指令执行,不须要进行外加保护,依托于操做系统进行强迫性保护。但与此同时对界面具备极高的要求,系统分析的过程当中就要进行专门的界面设计,同时要和客户进行及时沟通,掌握客户的实际需求,实现高效的信息反馈与交流沟通,进而保证信息系统软件界面设计的质量和效率
 
应用于数据服务器:
在进行数据服务器选择的过程当中,要根据信息系统平台要求和用户指望要求,同时对应各个服务器的特色进行使用与选择。通常状况下出于对系统性能的考虑,会选择SQLSERVER数据服务器,设计阶段中要经过Proactive等有效措施对系统数据库的实际使用性能进行不断地优化与完善。同时管理人员要和程序设计人员进行有效的沟通与协做,明确信息系统软件的性能目标,设置性能指望值,构建系统资源组合体系,知足用户的实际需求
 
数据库和应用服务器的链接。
在基于三层构架的信息系统开发中,应用服务器要利用SQL语言进行链接数据库服务器,其链接方法包括DB-Library、DAO以及OLE等方式,其中DB-Library是最为常见的链接方式,做为SQLSERVER的重要接口层,具备极强的访问信息效率和访问速度。这主要是源于DB-Library的语言开发能力,直接省去DAO以及OLE等链接方式中抽象层的调用,节省了信息访问时间。同时,三层构架适用于使用诸多开发语言的信息系统开发,不是.NET的专利,也不是专门用在数据库上的技术,而是一种更加普适的架构设计理念,除了数据、逻辑、界面等层次以外,在实际应用中还会根据须要多出传递数据的层、接口层等等。在结合DB-Library数据库链接后,设置NTWDBLIB.LIB组建,构建CDBConn实体类库体系,实现数据库与应用服务器的链接。所以,信息系统软件架构能够为系统开发创造出良好的分布式计算环境,其中逻辑层能够实现多个机器的同时运行,经过计算机网络计算能力,强化系统各个功能板块的精准性和复用性,进而有效减小了信息系统软件开发的时间和周期,保证信息系统的安全性与拓展性,实现系统功能的最大化实现
相关文章
相关标签/搜索