多层架构(五)

多层架构

n层架构意味着将系统分成n层。1层体系结构与单个流程体系结构相同。2层体系结构与客户机/服务器体系结构相同。

3层架构是一种非常常见的架构。3层体系结构通常分为表示层或GUI层、应用逻辑层和数据层。这个图说明了一个3层体系结构:


表现层或GUI层包含应用程序的用户界面。表示层是“哑巴”,意思是它不做任何应用决策。它只是将用户的行为转发给应用程序逻辑层。如果用户需要输入信息,这也是在表现层中完成的。

应用逻辑层做出所有的应用决策。这就是“业务逻辑”所在的地方。应用逻辑知道什么是可能的,什么是允许的等等。应用逻辑读取和存储数据层中的数据。

数据层存储应用程序中使用的数据。数据层通常可以安全地存储数据、执行事务、快速搜索大量数据等。

Web和移动应用

Web应用程序是一个非常常见的3层应用程序的例子。表示层包括HTML,CSS和JavaScript,逻辑控制层运行着java servlet、JSP、PHP、Ruby、Python、ASP.NET等,数据层包括某种形式的数据库(MySQL,PostgreSQL,NoSQL数据库等)。下面是一个典型的3层Web应用程序的图表:


实际上,与移动应用程序的原理相同,它们不是独立的应用程序。连接到服务器的移动应用程序通常连接到Web服务器并发送和接收数据。下面是一个典型的3层移动应用程序的图表:



富互联网应用(RIA)

在第一代Web应用程序中,许多HTML和部分CSS和JavaScript是由Web服务器上运行的脚本生成的。当浏览器请求Web服务器上的某个页面时,在Web服务器上执行脚本,该Web服务器生成该页面的HTML、CSS和JavaScript。

当今世界正在走向富互联应用(RIA)。RIA还使用了3层架构,但是所有HTML、CSS和JavaScript都是在浏览器中生成的。浏览器只初始下载HTML、CSS和JavaScript文件一次,之后RIA客户端只与Web服务器就可以进行纯粹的数据交换。没有HTML、CSS或JavaScript被发送和回退(除非这是数据的一部分,就像包含HTML代码的文章)。

RIA应用在软件架构跟踪的下一个文本中被更详细地解释。

Web应用优势

N层架构的目的是将应用程序的不同层彼此隔离。GUI客户端或表示层不知道服务器是如何在内部工作的,并且服务器不知道数据库服务器是如何在内部工作的。它们只是通过标准接口进行通信。

Web应用程序尤其具有另一个优点。如果对GUI客户端或在服务器上运行的应用程序逻辑进行更新,则所有客户端下次访问应用程序时都会得到最新的更新。浏览器下载更新的客户端,并且更新的客户端访问更新的服务器。



猜你喜欢

转载自blog.csdn.net/lanyage_csdn/article/details/80641599
今日推荐