何首武
(桂林理工大学高等职业技术学院,广西 南宁 530001)
基于.NET的Web应用体系架构研究
何首武
(桂林理工大学高等职业技术学院,广西 南宁 530001)
文章通过.NET平台的手机博客系统的软件设计与开发,探索一种基于.NET平台的高效稳定、安全可靠、具有良好的可移植性和跨平台性的管理信息系统的开发方法。系统采用基于.NET架构的三层体系结构,设计中采用MVC设计模式实现.NET应用程序的三层体系结构,使得程序结构清晰,各层职能明确,降低了程序的耦合性。
.NET体系结构;MVC模式;博客
.NET是微软提供的一个标准的企业应用开发平台,它为我们开发企业 Web应用提供了丰富的技术选择。然而,一个高质量的应用还有赖于设计良好的体系架构的支持。如何正确应用.NET核心技术来设计和构建一个稳定的、具有伸缩性的、可重用的 Web应用体系架构是我们必须要解决的问题。本文在这方面进行探索,本文的主要内容包括:1.介绍 NET的分布式应用模型及MVC设计模式,讨论了.NET在企业中的应用。2.给出了博客系统的总体设计方案。主要从系统分析、系统建模、数据库设计、环境设置等方面阐述了手机博客系统。3.介绍了手机博客系统的详细设计过程所涉及的关键技术。主要从客户层、业务层、持久层等方面阐述其实现原理。
.NET是基于分布式的多层应用模型,在这种模型中,应用逻辑按功能划分为不同的组件,各个应用组件根据他们所在的层分布在不同的机器上。一个多层化应用能够为每种不同的服务提供一个独立的层。1.运行在客户端机器上的客户层(ClientTier)。2.Web层(WebTier)。3.业务逻辑层(BusinessTier)④数据访问层(DataaccessTier)。采用这种应用模型可大大增强系统的可伸缩性、可维护性、和重用性。
图1 MVC动态协作关系
MVC模式是“Model-View-Controller”的缩写,中文翻译为“模型-视图-控制器”。MVC应用程序总是由这三个部分组成。Model、View、Controller这三者的动态协作关系如图1所示。从图1中我们可以看到,Controller接收使用者的消息,要求Model处理应用领域的资料;Model告诉View,让View知道Model的内容已更新,View接获通知并进行准备工作,就绪了才要求Model送来新内容,显示于视窗里。MVC目的是利用控制器来分离模型和视图,达到一种层间松散耦合的效果,提高系统灵活性、复用性和可维护性。它确立了开发人员与网页设计者的角色分工,减轻了开发人员的工作量,使得开发人员不必考虑繁琐的网页设计,而只专心于商业事务的开发和后台处理工作。网页设计者也可以轻松的改变程序的外观而不需要知道后台的工作方式。
手机博客系统由两个子系统构成,分别为前台博客子系统和后台博客子系统。前台子系统是面向普通用户,管理用户的注册信息、博客信息、好友信息、评论信息等;后台子系统是面向系统管理员,管理用户资料信息和评论信息,能够对违反互联网的某些内容进行删除和屏蔽。
在图2和图3中给出手机博客系统客户端和管理员端的功能用例图,在图中我们可以很清楚的看到参与者在本系统中的功能,从这些功能中还可以看出参与者相对应的所有可以进行操作的模块。
图2 手机博客系统管理功能用例
图3 手机博客系统客户功能用例
数据库设计是允许数据库访问的应用程序开发的非常重要一部分,它将直接影响系统的长期有效性和产品化程度。从最终用户以及手机博客系统应用程序设计的需要,确定了系统基本数据需求,图4给出了系统的数据库结构。
图4 系统数库结构
系统主要由两大部分组成:WAP网络架构、.NET内容服务器组成。
图5 系统环境配置
1.WAP网络架构由两部分组成,即WAP网关和WAP手机,其中WAP网关起着协议的“翻译”作用,是联系GSM网与万维网(WWW)的桥梁;WAP内容服务器存储着大量的信息,以提供WAP手机用户来访问、查询、浏览等。图5表明了WAP网络的基本架构。当用户从WAP手机键入他要访问的WAP内容服务器的URL后,信号经过无线网络,以WAP协议方式发送请求至WAP网关,然后经过翻译,再以HTTP协议方式与.NET内容服务器交互,最后 WAP网关将返回的内容压缩、处理成BINARY流返回到客户的WAP手机屏幕上。
2..NET内容服务器是系统的核心,主要负责处理WAP端发送过来的Http请求以及返回请求应答。其中控制器,接收网关发送来Http请求,通过分析请求服务和请求参数,转到相应的业务处理程序。业务处理层与数据库进行通信,最后通过业务层返回到手机客户端。
1.客户层即手机终端,类似于计算机中的IE浏览器。这层的主要作用是解析用户的回应数据和发送用户请求。客户层主要应用Brew技术来实现。
Brew即QUALCOMM推出的无线二进制运行环境,是专为无线设备设计开放标准的瘦应用环境。借助于BREW平台,许多无线应用可以简易快捷地开发。由于BREW平台的通用性,软件开发商在BREW环境中一次写就的应用程序,可以无需进行任何改变,即可适用所有支持BREW的各种档次终端中。
2.业务逻辑层是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域逻辑有关,很多时候,我们也将业务逻辑层称为领域层。图6为业务层继承关系中的一个实例,由 2个接口构成和一个接口实现类构成,类实现了接口中定义的所有抽象方法。
图6 业务层继承关系
3.持久层里仅仅允许数据存取操作。持久层和 Web层逻辑分开,避免了像Web层组件里的逻辑和数据存取直接混合。通过把持久层逻辑隔离出来,这样应用程序变得易于修改而又不影响在其它层的代码。NHibernate框架为.NET提供了“对象——关系持久化”机制和查询服务。NHibernate持久对象是基于简单旧式对象和集合。查询相关的信息成为对象。NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。NHibernate 为你处理这些,无须SQL去从数据库存取对象。NHibernat 自动产生 SQL语句,并确保对象提交到正确的表和字段中去。
本文分析了手机博客系统需求和功能,给出了系统模型和总体设计方案,实现了一个采用 B/S多层体系结构、基于MVC模式的.NET应用的系统。该系统符合MVC设计模式和分层结构,大大降低了 Web应用系统结构的复杂程度和代码之间的耦合度,增强了代码的易维护性与可重用性。在实际应用中,该系统达到了良好的预期效果。
[1] 刘宜轩.ASP.NET环境下的网上审批流程的设计及实现[J].计算机工程与设计,2010,31(3):535-528.
[2] 刘钰红.基于.net三层架构技术的在线稿件管理系统的设计与实现[J].南昌大学学报:理科版,2008,32(6):556-559.
[3] 马燕.基于.NET的四层结构研究及其应用[J].微电子学与计算机,2008,32(11):188-190
[4] 刘成栋.ASP.NET技术在燕山水库智能监测系统开发中的应用[J].水电能源科学,2009,32(6):120-123.
[5] 孟玉环.基于ASP.NET2.0天津农学院青年科技基金项目申报系统的设计与实现[J].广东农业科学,2009,12:210-211.
【文章编号】1008-1151(2011)02-0060-02
2010-12-12
何首武(1979-),男,山西河曲人,桂林工学院高等职业技术学院讲师,硕士,研究方向为软件工程,数据库网络。