基于ASP.NET的Web应用系统架构探讨

这篇具有很好参考价值的文章主要介绍了基于ASP.NET的Web应用系统架构探讨。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       摘要:提出了一种基于ASP.NET开发方式的四层架构的Web应用系统构造思想。其基本内容是:将面向对象的UML建模与Web应用系统开发相结合,将整个系统分成适合ASP.NET开发方式的应用表示层、业务逻辑层、数据访问层和数据存储层四层结构。以此方式构造的Web应用不仅达到了代码组织结构清晰明朗、高重用性、适用性,易于维护和移植的目标,而且可以提高web应用系统的开发速度。解决了目前大型Web程序开发中,代码适用性、重用性差,及难于维护和移植的问题。


  引言
  随着计算机网络技术的迅速发展,Web应用系统越发变得日益广泛起来。ASP.NET是微软推出的新一代Web开发平台,与其它Web开发技术相比,ASP.NET提供的Web页面级状态管理功能、服务器控件触发事件的工作模式、代码和内容分离的编程方式等?[1],在一定程度上改变了以往的we b 应用系统的架构模式。在软件开发技术方面,面向对象技术和软件分层结构设计是代码组织的一些好方法。但是对于具体的开发平台而言,多层结构有着不同的具体表现;对于具体的项目开发而言,面向对象技术对具体问题进行类定义和对象划分也不相同。因此,如何基于ASP.NET这些新技术在ASP.NET平台上应用面向对象技术架构一个逻辑清晰、模块合理的多层结构的Web应用系统就成了文中讨论的内容。下面以笔者曾参与的《实验室信息管理系统》中的“ 论文管理子系统” 为例,来阐述基于四层架构的设计思想。

 基于ASP.NET的Web应用系统架构探讨


  1 ASP.NET下Web程序架构
  系统描述:学生可以登记自己的论文,也可以删除自己登记的论文和相关所有回复;老师和学生可以查看、回复论文,也可以删除、修改自己的回复;管理员可以查看、删除登记的所有论文和回复。笔者省略了论文管理系统的使用案例图和使用案例事件流图??[2,3],只给出了修改自己回复案例的时序图(见图1)。对于基于ASP.NET的Web应用系统,用户直接面对的是客户端浏览器,用户在使用系统时的请求是通过HTTP协议传递给服务器端的ASPX页面,用户操作的事务逻辑处理和数据的逻辑运算由服务器与数据库系统共同完成。按照在系统中的用途分类,把负责系统与角色交互的对象称为边界类对象,把负责系统中访问数据库的对象称为实体对象,把系统中介于边界对象和实体对象之间,负责时序图中流程的对象称为控制对象。故在时序图(见图1)中,Papers.ASPX和 Session对象属于边界类对象,Users对象属于控制类对象,Reply对象属于实体类对象。

  1.1 ASP.NET下Web应用表示层的架构
  表示层是用户和软件交互的接口,对于Web程序设计而言就是基于HTML的界面。主要职责就是为用户提供信息,以及把用户的操作传送给逻辑层和数据处理层。从使用案例事件流图中,可以确定用于交互的页面个数,再从案例时序图中,可以确定用于和用户交互的页面和服务器端的ASPX页面关系。图2是修改自己回复案例用到的页面关系图。

       Papers(View)页面对应用户查看某篇论文的页面,Papers(Edit)页面对应用户查看自己回复的页面。从案例时序图中可以得知它们都是Papers服务器页面在两个不同状态下产生的页面。为了克服传统Web窗体页本身无状态这一固有限制,ASP.NET页框架提供了一种“视图状态”(view state)的功能,此功能会在往返行程之间自动保留页以及页上所有控件的属性值,ASP.NET这种特性为数据表现层设计提供了极大的便利。ASP.NET还 采用了由服务器控件引发的事件的工作方式。Web窗体控件事件模型要求在客户端捕获事件信息,并且通过HTTP发送将事件消息传输到服务器,框架再解释该发送以确定所发生的事件,然后在要处理该事件的服务器上调代码中的适当方法。通过上面的两项技术ASP.NET框架提供了可以创建传统客户端/服务器Web交互的抽象模型,使开发者能够使用支持快速应用程序开发(RAD)和面向对象编程 (OOP)的传统方法和工具来进行应用程序编程。因此,可以根据角色与系统交互的事件流图和页面关系图来架构ASP.NET下Web表示层:


  (1) 从页面关系图出发,确定系统中用到的主要功能界面。
  (2) 根据ASP.NET中Web控件的特点,对确定的功能界面进行可视化页面布局:
  (3) 从事件流图出发,确定功能页面之间以及页面状态之间转移逻辑关系,根据ASP.NET中Web页面级状态管理功能和服务器控件属性、事件编程模式,编写部分页面之间以及页面状态之间转移代码。
  在NET开发工具中,可以使用“所见即所得” 页面设计工具对整个页面进行可视化布局,在实现这些页面之间以及页面状态之间转移逻辑关系代码时,可以在Web窗体设计器“设计” 视图中, 通过修改对象属性或编写事件完成页面的逻辑关系代码

基于ASP.NET的Web应用系统架构探讨

 

 1.2 ASP.NET下Web业务逻辑层的架构
  业务逻辑层是整个Web应用系统信息和逻辑处理中心,在时序图中反应为由负责时序图流程的控制对象构成。业务逻辑层也是联系Web应用系统表示层和数据存储访问层的纽带,因此Web业务逻辑层在整个系统的架构中至关重要。从案例时序图中,可以确定控制对象以及控制对象与其它对象所需提供的服务。图3是“修改自己回复”案例的时序图中的users控制对象的类图。由于ASP.NET提供了一种所谓的后台代码,可用于分离用户界面和逻辑代码,而 ASP.NET本身也完全支持基于模块与组件开发,因此,为采用面向对象的技术架构逻辑层提供支持,可以从系统用例图和时序图出发在ASP.NET下架构Web业务逻辑层:


  (1) 大多数 Web 应用系统都是属于信息管理系统,所以控制对象可以按照使用系统的角色进行划分控制类。
  (2) 从案例时序图出发,确定控制对象所需的功能。
  (3) 采用.NET组件方式包装 Web业务逻辑层中的功能,从而使逻辑层和表示层在物理上分开。
  在.NET开发工具中,可以采用“类”文件的方式实现Web业务逻辑层中的组件,在工程项目中可以采用添加引用的方式把“类”文件引入Web工程中,这样Web业务逻辑层的功能就可以以对象的方式在应用Web系统的开发过程中使用。


  1.3 ASP.NET下Web数据访问层架构
  数据访问层作为业务逻辑层访问数据存储层的数据访问接口,其主要职责是为数据存储层进行抽象封装,使数据存储层从业务逻辑层看来能完全透明。从案例时序图可以确定实体对象、实体对象的属性及实体对象为控制对象所需提供的服务。图4是“修改自己回复”案例的时序图中“Replys”实体对象的类图。点管理机制系统。它按照对等网络中节点的网络特性对节点进行分组,分组内节点按照传输性能进行分层,通过赋予网络自组织、自适应的功能来增强组播系统的传输性能。在一个大的对等网络中,节点根据分组标准自主形成中小规模的组播群,数据传输主要集中在组内进行。组内管理采用动态集中式控制,主节点掌握了组播组内成员的全局信息节点通过彼此交换信息动态调整组内位置,使得分组内的数据传输性能最优化,从而加强了整个网络的性能。另一方面,由于采取了分组的机制,服务器仅需维护分组信息即可而不用管理所有节点,节点的加入、管理和数据传输等完全由节点间P2P完成,极大地减轻了服务器的负担,提高了可服务的节点数目。采用这种节点分组、组内分层的节点自组织管理机制,能够调整各节点在对等网络中的位置, 满足异构网络中各节点所处的不同网络环境。通过组内动态调整,使得输出带宽大的节点处于分组的顶端位置,加快数据的分发从而提高多播的效率以减少数据延时。采取这种上层以tree与下层以mesh为主体的混合结构,极大地增强了网络的鲁棒性。当网络条件变化时,整个网络会随之动态调整。如新节点的退出或失效不会导致转发路径的断裂,转发路径具有自我修复、自我最优化的能力。因此,这种节点管理机制可以应用于大型文件的共享、流媒体等多种场合。

  在实际的应用中,面对复杂的网络环境,如何较为准确地判断节点间的网络距离,进一步强化分组算法和组内管理算法,还有很多工作要做,这是在未来的工作中重点研究的内容。

基于ASP.NET的Web应用系统架构探讨

 

1.4 ASP.NET下Web数据存储层架构
  数据存储层的主要功能是把数据访问层的数据处理功能转换为具体的数据库或文件操作。从案例时序图中,可以确定实体对象以及实体类型的属性。实体类中的每个属性可以与数据库中的字段相对应,即每个实体类可以与数据库中的一张表对应。因此,在ASP.NET的Web应用系统中,可以通过System.Data.OLEDB命名空间或 System.Data.SQL Client??[4,5] 命名空间中的数据库访问和控制类型构造与具体数据库相适应的类。在数据存储层对实体对象的属性和服务的访问中,可以通过这个类完成对数据库的访问和控制。


  2 结论
  采用四层架构的思想,并运用UML的对象特点进行类的划分的架构设计,使得代码编写逻辑清晰,易于管理和维护,并且具有很好的代码的可重用性、适用性、易维护性和可移植性。四层架构的编写完全可以由四组人员同时进行,这样代码的维护管理上就更加清晰,并且可以缩短开发周期。但是同时进行的四层代码编写,需要有良好的前期的需求分析的支持。只有完备的需求分析(例如:使程序设计人员都清楚项目所包含或者项目中需要的类名和功能名称,当项目统一使用的时候,就不会因为名称不统一导致引用错误等问题),才可能真正实现四层架构的并行设计。文章来源地址https://www.toymoban.com/news/detail-462309.html

到了这里,关于基于ASP.NET的Web应用系统架构探讨的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于PHP的新闻发布管理系统_WEB管理系统_MySQL应用

    目录 第一章 绪论1 1.1校园新闻发布系统描述1 1.2系统目的1 1.3校园新闻发布系统设计概要模型1 1.4校园新闻发布系统功能要求1 第二章校园新闻系统可行性分析3 2.1系统可行性分析3 2.2技术可行性分析3 2.2.1 mysql数据库3 2.2.2 什么是php3 2.2.3 apache web服务器4 2.2.4  Dreamweave85 2.3操作可

    2024年02月06日
    浏览(47)
  • 基于JavaWeb+BS架构+SpringBoot+Vue基于hive旅游数据的分析与应用系统的设计和实现

    1 概 述 5 1.1 研究背景 5 1.2 研究意义 5 1.3 研究内容 5 2 关键技术介绍 7 2.1 Java介绍 7 2.2 MySql数据库 7 2.3 Hadoop介绍 8 2.4 hive简介 8 2.5 B/S架构 9 2.6 Spring boot框架 9 3 系统分析 11 3.1需求分析 11 3.2 可行性分析 11 3.2.1经济可行性 12 3.2.2技术可行性 12 3.2.3运行可行性 12 3.3 系统功能分析

    2024年02月02日
    浏览(47)
  • 云计算模式的区域LIS系统源码,基于ASP.NET+JQuery、EasyUI+MVC技术架构开发

    云计算模式的区域LIS系统源码 云LIS系统源码,自主版权 LIS系统 是专为医院检验科的仪器设备能与计算机连接。可通过LIS系统向仪器发送指令,让仪器自动操作和接收仪器数据。并快速的将检验仪器中的数据导入到医生工作站中进行管理,且可将检验结果发布到各个受检(门

    2024年02月08日
    浏览(45)
  • Mirror, STEPN, 魔兽世界: 基于社区和经济系统的Web3应用模式

    同步发在本人公众号:元天空之城(ID:gh_a702b8d21cdf) Web3已然是一个火热的话题。最近不乏一些出圈的文章,比如虎嗅的爆文《Web3革命:逃离、信仰、大迁徙》,相信关心Web3的人们基本都看过了。 但对大多数互联网用户来说,Web3应用可能还是很陌生的概念。与其来回探讨

    2024年01月19日
    浏览(51)
  • Zabbix监控系统详解2:基于Proxy分布式实现Web应用监控及Zabbix 高可用集群的搭建

    分担 server 的集中式压力; 解决多机房之间的网络延时问题。 1.3.1 zabbix-server 整个监控体系中 最核心的组件 ,它负责接收客户端发送的报告信息,所有配置、 统计数据及操作数据都由它组织。 1.3.2 Database 所有配置信息和zabbix收集到的数据都存储在数据库中。 1.3.3 zabbix-pro

    2024年02月07日
    浏览(45)
  • ASP.net web应用 GridView控件常用方法

    GridView 控件是 ASP.NET Web Forms 中常用的数据展示控件之一。它提供了一个网格形式的表格,用于显示和编辑数据。GridView 控件对于包含大量数据、需要进行分页、排序和筛选的情况非常有用。 GridView 控件的主要特性包括: 数据绑定:GridView 可以与各种数据源进行绑定,如数据

    2024年02月09日
    浏览(39)
  • ASP.NET Core Web应用程序项目部署流程

    目录 一、准备ASP.NET Core应用程序部署文件 二、环境配置 三、测试 ASP.NET Core Web 应用程序 四、部署后访问失败问题 以下部署流程都是基于Windows服务器环境下进行的。 一、准备ASP.NET Core应用程序部署文件 使用 Visual Studio 开发工具创建 ASP.NET Core 的Web应用程序,利用VS工具发布

    2024年02月05日
    浏览(63)
  • asp.net服装管理系统三层架构

    asp.net服装管理系统三层架构说明文档 运行前附加数据库.mdf(或sql生成数据库)   主要技术: 基于asp.net架构和sql server数据库,并采用EF实体模型开发。 三层架构+并采用EF实体模型开发 功能模块:  运行环境: 运行需vs2013或者以上版本,sql server 2012或者以上版本。附送有运

    2024年02月07日
    浏览(38)
  • Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

    开启IIS 如果已开启跳过这步 打开控制面板-程序  打开IIS 发布Web程序(.Net Framework 4.8 web网页) 进入IIS管理器新建一个应用池 新建一个网站 网站创建完毕 为文件夹添加访问权限  如果不添加访问权限,运行时将会得到如下错误 设置权限   勾选上面添加的账户的修改权限 

    2024年01月21日
    浏览(88)
  • 新零售SaaS架构:订单履约系统的应用架构

    通过分析订单履约的全流程和各个业务活动,我们可以梳理出订单履约的核心业务链路,基于业务链路,我们抽象出订单履约系统的三大系统能力,分别为履约服务表达、履约调度、物流配送。   履约服务表达 :负责向客户明确和准确地传达履约服务,包括提供订单的预计

    2024年03月09日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包