Web 应用之 UML 建模与 .NET 框架开发。Web 应用的 UML 建模与 .NET 框架开发。

by admin on 2018年10月5日

据悉Web的应用体系一般包含两部分:服务器和客户端浏览器。服务器主要针对业务进行逻辑处理,而用户指向服务器上工作逻辑的熏陶,使Web应用往往有
复杂性和惊人动态性的特征。这种特征令基于Web应用之网出比较复杂、管理困难。为了有效地解决上述问题,缩短开发周期,减少维护费用,主要政策是
对Web应用进行建模。UML是面向对象技术世界面临占有主导地位的联合建筑模语言。此外,.NET框架在通用语言运行时CLR的根基及,提供了周的根底类
库、数据库访问技术ADO.NET和网络开发技术ASP.NET,使开发者可以快构建Web应用。因此,本文主要探索基于.NET框架Web应用的
UML建模及开发方法,并以欠方法用于作者开发之研究所管理体系被,实际应用表明该法可以使得地落系统开发及管制的扑朔迷离,提高经济效益。

Web以之构架模式

因Web的运体系一般包含两有的:服务器和客户端浏览器。服务器主要对工作进行逻辑处理,而用户指向服务器上作业逻辑的震慑,使Web应用往往有
复杂性和高度动态性的特征。这种特性令基于Web应用之体系开发比较复杂、管理困难。为了实用地化解上述问题,缩短开发周期,减少维护费用,主要政策是
对Web应用进行建模。UML是面向对象技术领域中占主导地位的联修建模语言。此外,.NET框架在通用语言运行时CLR的根基及,提供了周全之根底类
库、数据库访问技术ADO.NET和网开发技术ASP.NET,使开发者可以迅速构建Web应用。因此,本文主要探索基于.NET框架Web应用的
UML建模及开发方法,并将拖欠方式用于作者开发的研究所管理体系受到,实际使用表明该办法好有效地降落系统开发与保管的纷繁,提高经济效益。

Web以之构架模式

Web以之骨干构架包括浏览器、网络及Web服务器。浏览器为服务器请求Web页,Web页可能包括由浏览器解释施行的客户端脚本,而且得同浏览器、页内容跟页中包含的其余控件(Java
Applet、ActiveX控件和插件等)进行互动。用户向Web页输入信息或者通过超级链接导航及其他Web页,与系统进行互,改变系统的“业务状态”。

Web用的中坚构架包括浏览器、网络和Web服务器。浏览器为服务器请求Web页,Web页可能连由浏览器解释施行的客户端脚本,而且得同浏览器、页内容跟页中包含的其余控件(Java
Applet、ActiveX控件和插件等)进行互动。用户向Web页输入信息或者透过超级链接导航及其他Web页,与网进行互,改变系统的“业务状态”。

1、瘦Web客户端

1、瘦Web客户端

重大适用于冲Internet的下,对客户端配置几乎从未控制。客户端只待专业Web浏览器,可以请求和展示专业的HTML页面。所有的业务逻辑都当服务器上实施。

着重适用于冲Internet的行使,对客户端配置几乎没控制。客户端只待专业Web浏览器,可以请和出示标准的HTML页面。所有的业务逻辑都当服务器上执行。

客户端浏览器通过HTTP协议为服务器请求页面资源,服务器将被呼吁的URL解析为文件系统中之公文,或者由于应用服务器处理并可能移工作状态,得到请求的页面,返回给客户端。

      客户端浏览器通过HTTP协议向服务器请求页面资源,服务器将让求的URL解析为文件系统中之公文,或者是因为应用服务器处理并可能改变工作状态,得到请求的页面,返回给客户端。

2、胖Web客户端

2、胖Web客户端

胖Web客户端对好确定客户端配置和浏览器版本的Web应用是最为可之。客户端通过HTTP与服务器通信,使用DHTML、Java
applet或者ActiveX控件执行工作逻辑。HTTP的不论连接特性,决定了客户端脚本、ActiveX控件和Java
Applet只能与客户端对象开展互动。图1形了构架中目标中的关联。

胖Web客户端对可以确定客户端配置以及浏览器版本的Web应用是无限契合的。客户端通过HTTP与服务器通信,使用DHTML、Java
applet或者ActiveX控件执行工作逻辑。HTTP的任连接特性,决定了客户端脚本、ActiveX控件和Java
Applet只能和客户端对象开展互动。图1出示了构架中目标期间的涉及。


图1 胖Web客户端构架中的主要参与者

图1  胖Web客户端构架中的主要参与者

客户端展示接收的页面时,执行放到的本子,这些本子通常可以在不同之线程中履行,通过DOM接口和页面内容进行互。

客户端展示接收的页面时,执行放到的台本,这些本子通常可以当不同之线程中尽,通过DOM接口及页面内容进行相互。

3、Web传输

3、Web传输

Web传输模式除了行使HTTP负责客户端与服务器的通信之外,还得行使IIOP和DCOM等合计为支持分布式对象系统。Web页面通过远距离对象桩
和长途对象传输协议以及远程对象服务器通信,由服务器管理远程业务对象的生命周期,向客户端对象提供服务。图2显示了各国组件之间的涉及。

Web传输模式除了以HTTP负责客户端与服务器的通信之外,还可行使IIOP和DCOM等商为支持分布式对象系统。Web页面通过远程对象桩
和长途对象传输协议及长途对象服务器通信,由服务器管理远程业务对象的生命周期,向客户端对象提供服务。图2显示了各级组件之间的涉嫌。


图2 Web传输构架中的主要参与者

图2  Web传输构架中的主要参与者

长距离对象桩是一个靶,在客户端执行,并跟长途对象拥有同样的接口。当通过者目标调用方法时,这些艺术为打包起来,使用远程对象传输协议RMI/DCOM发送至长途对象服务器,服务器解释请求,实例化并调用实际目标实例中之方法。

远程对象桩是一个对象,在客户端执行,并同长途对象具备同等的接口。当通过是目标调用方法时,这些点子为打包起来,使用远程对象传输协议RMI/DCOM发送至长途对象服务器,服务器解释请求,实例化并调用实际目标实例中的措施。

实际上采用被,往往因作业需,综合应用上述构架。在我们的研究所管理网中,综合使用了瘦Web客户端与Web传输构架。客户端采用了
java
script进行客户端验证,把通过证实的数码交到服务器处理。在数码的后台管理及,采用了Web传输构架,保持客户端和服务器的怒放连接,以便
进行较长时间的、较复杂的对话。

实际上行使中,往往因业务要,综合运用上述构架。在我们的研究所管理网受,综合采取了瘦Web客户端以及Web传输构架。客户端应用了
java
script进行客户端验证,把通过证实的数目交到服务器处理。在数据的后台管理及,采用了Web传输构架,保持客户端与服务器的开连接,以便
进行较长时间的、较复杂的对话。

  UML的Web应用扩展

  UML的Web应用扩展

UML(Unified Modeling
Language)是均等种通用的可视化建模语言,适用于各种软件开发方法、软件生命周期的一一阶段、各种应用领域以及各种开发工具。但每当针对Web应用进行
建模时,它的片段部件不能够同标准UML建模元素一一对应,因此须对UML进行扩展。

UML(Unified Modeling
Language)是平栽通用的可视化建模语言,适用于各种软件开发方法、软件生命周期的逐条阶段、各种应用领域以及各种开发工具。但每当针对Web应用进行
建模时,它的片构件不克同标准UML建模元素一一对应,因此要对UML进行扩张。

UML的老三种为主扩展机制包括组织型、标记值和封锁。其中最重点的扩充机制是布局型,它不可知改变原模的构造,但好于范元素上附加新的语
义,通常用“《构造型名》”来代表。约束是范元素被的语义关系,定义了范如何组织于协同,通常用同样对“{}”之间的字符串表示。标记值是本着范元素特
性的扩张,大多数之模型元素都有同之提到的性状,通常用带括号的字符串表示。

      UML的老三种植基本扩展机制包括组织型、标记值和束缚。其中最重点的扩大机制是组织型,它不能够更改原来模的结构,但可在范元素上附加新的语
义,通常用“《构造型名》”来表示。约束是范元素中之语义关系,定义了型如何组织在联合,通常用同对准“{}”之间的字符串表示。标记值是指向范元素特
性的扩充,大多数的模型元素还来和的提到的风味,通常用带括号的字符串表示。

1、Web页建模

1、Web页建模

Web页可能而涵盖客户端脚本和服务器端脚本,因此要分别展开建模。服务器端Web页面一般含由服务器执行之脚本,每一样次等给求时犹以服务器上
组合,更新工作逻辑状态,返回给浏览器。客户端Web页可能含数据、表现形式甚至业务逻辑,由浏览器解释实施,并可以跟客户端组件相关联,如Java
Applet、ActiveX、插件等。两者之间通过定向关系互动关联。这种关联关系的组织型也?build?。

Web页可能又含有客户端脚本和劳动器端脚本,因此须各自开展建模。服务器端Web页面一般含由服务器执行的脚本,每一样蹩脚吃呼吁时还以服务器上
组合,更新工作逻辑状态,返回给浏览器。客户端Web页可能带有数据、表现形式甚至业务逻辑,由浏览器解释实施,并得以跟客户端组件相关联,如Java
Applet、ActiveX、插件等。两者之间通过定向关系互动关联。这种关系关系的组织型也?build?。

Web以中之超级链接代表导航路径,用建筑造型吧?link?的涉关系表示。标记值用于定义准超级链接请求传递的参数列表,供服务器端Web页使用。图3叙了Web页之间的涉及。

Web用中之超级链接代表导航路径,用修造型也?link?的干关系表示。标记值用于定义准超级链接请求传递的参数列表,供服务器端Web页使用。图3讲述了Web页之间的关联。

 


图3  Web页之间的关系

图3 Web页之间的关系

.NET框架中大部分起之是服务器端Web页,经编译后生成HTML代码传递到客户端浏览器。同时,为了提高效率,对于那些休包含业务逻辑的Web
页,在.NET框架中得以一直用HTML元素建立客户端Web页,再立起与相应之服务器端Web页之间的调用关系。

.NET框架中多数树之是服务器端Web页,经编译后生成HTML代码传递至客户端浏览器。同时,为了提高效率,对于那些未包含业务逻辑的Web
页,在.NET框架中得以一直用HTML元素建立客户端Web页,再立从及相应之服务器端Web页之间的调用关系。

2、表单建模

2、表单建模

表单是Web页的中心输入机制,包括<input>、<select> 和
<textarea>等输入元素,用《Form》构造型进行建模。《Form》没有操作,与之相的操作是富含表单的Web页的性状。它可同当输入控件的
Applet或ActiveX
控件关联,还足以管表单内容提交至服务器进行处理。图4描述了含蓄表单的客户端Web页与服务器的互相过程。

表单是Web页的骨干输入机制,包括<input>、<select> 和
<textarea>等输入元素,用《Form》构造型进行建模。《Form》没有操作,与之相互的操作是含有表单的Web页的性状。它可跟当输入控件的
Applet或ActiveX
控件关联,还可以把表单内容交给至服务器进行处理。图4讲述了含蓄表单的客户端Web页与服务器的互动过程。


图4  包含表单的客户端Web页与服务器的交互过程

 

.NET中各一个页面只生一个表单,包含有的输入元素,通常表现吧劳动器端控件或客户端控件,其中服务器端控件由服务器端Web页经过编译后传送到客户端。

 

3、组件建模


图4 包含表单的客户端Web页与服务器的交互过程

Web以中之零部件分为服务器端组件和客户端组件两近似。服务器端较复杂的事情逻辑通常由中层就,包括一组封诈了颇具事情逻辑的已经编译好的机件。因
此,使用中间层不仅可加强性,而且好共享整个应用的业务职能。客户端Web页中广泛的机件是Java
Applet和ActiveX,利用她访问浏览器与客户端的各种资源,实现HTML无法落实之功效。

.NET中列一个页面就生一个表单,包含有的输入元素,通常表现为服务器端控件或客户端控件,其中服务器端控件由服务器端Web页经过编译后传送至客户端。

Web用扩展定义了《static page》和《dynamic
page》两单泛组件构造型。《static page》实现客户端组件。《dynamic
page》的要任务是当运转时系统的物理文件以及逻辑视图中之逻辑表现中提供映射。图5和图6分别代表马上半种组件实现之逻辑视图。

3、组件建模


图5  由《dynamic page》实现的逻辑视图类

Web用被的机件分为服务器端组件和客户端组件两看似。服务器端较复杂的工作逻辑通常由中间层就,包括一组封佯装了独具工作逻辑的已编译好之零件。因
此,使用中间层不仅可以增进性,而且可共享整个应用之事体功能。客户端Web页中广泛的零件是Java
Applet和ActiveX,利用其访问浏览器和客户端的各种资源,实现HTML无法实现之效力。


图6  由《static page》实现的客户端组件

Web用扩展定义了《static page》和《dynamic
page》两单泛组件构造型。《static page》实现客户端组件。《dynamic
page》的重要职责是当运行时系统的大体文件以及逻辑视图中的逻辑表现中提供映射。图5和图6分别代表即简单种组件实现的逻辑视图。

4、框架建模


图5 由《dynamic page》实现的逻辑视图类

Web以扩展定义了组织型《frameset》和《target》以及涉嫌关系构造型《targeted
link》来兑现对框架的建模。《frameset》直接照射到HTML的<frameset>标记。《target》表示目前Web页引用
的别样Web页或框架。《targeted
link》是凭于其他一个Web页的超级链接,但其要当特定对象中才会提供。图7亮了论文管理的框架模型


图6 由《static page》实现的客户端组件

图7  论文管理框架模型
 

4、框架建模

   基于.NET框架的Web应用开发

Web用扩展定义了组织型《frameset》和《target》以及涉及关系构造型《targeted
link》来兑现对框架的建模。《frameset》直接照射到HTML的<frameset>标记。《target》表示目前Web页引用
的任何Web页或框架。《targeted
link》是赖为其他一个Web页的超级链接,但她一旦于一定对象被才能够提供。图7展示了舆论管理之框架模型

.NET框架是同样种基于通用语言的编程框架,提供了新的编程模型:WebForm模型与WebService模型,提供了周全之基本功类库、数据库访问技术ADO.NET和网开发技术ASP.NET,为Web应用之开提供了强劲的支持。

 

1、Web页的兑现

 

.NET框架提供了WebForm开发模型,利用内嵌的各种服务器组件来转服务器端Web页。它可以蕴涵部分重要的页面元素:用户控件或者由定义控
件等。用户控件User
Control在.NET框架中是以.ascx为扩展名的公文,可以以差不多单Web页面中运用,实现代码的选定。自定义控件Custom
Control是于.NET中开创或者当原有控件上进展改动,添加新成效,以实现特定需求的控件,可以吃多只应用程序调用。


图7 论文管理框架模型

2、Web页导航方式

  基于.NET框架的Web应用开发

.NET框架中之页面导航方式体现了Web页之间的关系,可以为此下列四种植方式贯彻。

.NET框架是一致种植基于通用语言的编程框架,提供了全新的编程模型:WebForm模型和WebService模型,提供了一揽子之根底类库、数据库访问技术ADO.NET和网开发技术ASP.NET,为Web应用之开提供了强的支持。

(1)超级链接

1、Web页的兑现

应用HTML超链接控件或HyperLink控件可以实现页面内的链接。其中HyperLink服务器控件允许以代码中改变其NavigateUrl属性,从而构造出切实可行目标而依据使用的当前状态动态变化的超链接。

.NET框架提供了WebForm开发模型,利用内嵌的各种服务器组件来转服务器端Web页。它可以蕴涵有要之页面元素:用户控件或者由定义控
件等。用户控件User
Control在.NET框架中凡是以.ascx为扩展名的公文,可以以差不多个Web页面中运用,实现代码的录取。自定义控件Custom
Control是于.NET中开创或者当原控件上进展改动,添加新成效,以促成特定需求的控件,可以叫多只应用程序调用。

(2)用Response.Redirect 实现

2、Web页导航方式

当Response.Redirect(
)方法吃调用时,创建HTTP应答,其中指出了状态代码302(表示目标都改变)和初的靶子URL。浏览器接收及该对,发出一个对准新URL的恳求。 
即再定向操作发生在客户端,涉及到一定量涂鸦和服务器的通信。

.NET框架中的页面导航方式体现了Web页之间的涉,可以就此下列四种方法实现。

(3)用Server.Transfer 实现

(1)超级链接

      这种艺术把履行流程从眼前的ASPX页面转到平服务器上的其他一个ASPX页面。但新的页面仍使用前一页面创建的答应答流。 浏览器中之URL不会见改,重定向完全在劳务器端进行。因此,这种方法能够避免不必要的网通信,获得比好的性及浏览效果。

动HTML超链接控件或HyperLink控件可以实现页面中的链接。其中HyperLink服务器控件允许以代码中改变其NavigateUrl属性,从而构造出切实可行目标而因使用之目前状态动态变化的超链接。

(4)用Server.Execute 实现

(2)用Response.Redirect 实现

夫方式允许时的ASPX页面执行同样服务器上之指定ASPX页面,指定的ASPX页面执行完毕后,控制流程返回原页面中发生Server.Execute(
)调用的职务,被调用页面会访问调用页面的表单数据以及查询字符串集合。默认情况下,被调用页面的出口追加至当前许答流。但是,Server.Execute(
)方法发生一个重载的道,允许通过一个TextWriter对象获得给调用页面的出口,而非是直长到输出流,这样,在调用页面被好一本万利地调为调用页面输出结果的职务。 

当Response.Redirect(
)方法为调用时,创建HTTP应答,其中指出了状态代码302(表示目标已改成)和新的靶子URL。浏览器接收到拖欠回应,发出一个针对性新URL的请求。
即重定向操作有在客户端,涉及到片不善以及服务器的通信。

3、数据库操作

(3)用Server.Transfer 实现

数据库处于Web应用之太底部,存放系统数据及一些后台数据库逻辑,如存储过程、触发器等。它和工作逻辑层和用户界面分开,易于管理与掩护,执行效率高,安全性能好。

这种办法把实行流程从当前之ASPX页面转至同样服务器上的旁一个ASPX页面。但新的页面仍用前一页面创建的应允答流。
浏览器被的URL不会见变动,重定向完全以劳务器端进行。因此,这种措施能够避免不必要之网络通信,获得比好的特性及浏览效果。

(1)Oracle数据库操作

(4)用Server.Execute 实现

.NET框架提供了System.Data.OracleClient和System.Data.OleDb
命名空间,实现对Oracle数据库的支撑,其中前者的针对较强,本文的实例中应用了这命名空间。

本条道允许时的ASPX页面执行同样服务器上的指定ASPX页面,指定的ASPX页面执行了后,控制流程返回原页面被生出Server.Execute(
)调用的位置,被调用页面会访问调用页面的表单数据与询问字符串集合。默认情况下,被调用页面的输出追加至手上允诺答流。但是,Server.Execute(
)方法发生一个重载的章程,允许通过一个TextWriter对象获得给调用页面的输出,而未是直长至输出流,这样,在调用页面被可以方便地调为调用页面输出结果的位置。

数据库连接字符串为连日来数据库提供必要的参数,通常保存于配置文件web.config中,以简化代码实现同方便安排。

3、数据库操作

Web以中对数据库的操作频繁,通常情况下,把对数据库的各种操作并以一个数据库操作类中,在得开展数据库操作的地方只待调用此类的各种方法即可。

数据库处于Web应用的顶底部,存放系统数据与有后台数据库逻辑,如存储过程、触发器等。它跟事务逻辑层和用户界面分开,易于管理和保护,执行效率高,安全性能好。

(2)Oracle数据库中LOB对象的存取

(1)Oracle数据库操作

Web以中之二进制文件、图片、大段文本等以数据库被的存取,通常都要用老目标(LOB)实现。.NET框架提供了OracleLob类来成功对
Oracle中BLOB、CLOB、NCLOB等数据类型的操作。Oracle中实现大段文本存入CLOB字段的历程得象征也:

.NET框架提供了System.Data.OracleClient和System.Data.OleDb
命名空间,实现对Oracle数据库的支撑,其中前者的针对性较强,本文的实例中采取了之命名空间。

①所以SQL语句向数据库中上加一个CLOB字段为empty_clob( )的记录;

数据库连接字符串为连续数据库提供必要的参数,通常保存于布局文件web.config中,以简化代码实现与方便安排。

②开始工作,锁定刚加盟的笔录,把要描写入CLOB字段的情用流或CLOB的Write(
)方法勾勒副;

Web以中对数据库的操作频繁,通常情况下,把对数据库的各种操作并以一个数据库操作类中,在用进行数据库操作的地方仅待调用此类的各种办法即可。

③交业务,完成对CLOB字段的勾勒副;

(2)Oracle数据库中LOB对象的存取

Oracle中对CLOB类型数据的读取过程相对简便易行,不需要针对数据库记录进行锁定:

Web以被的二进制文件、图片、大段文本等当数据库中之存取,通常还设为此特别目标(LOB)实现。.NET框架提供了OracleLob类来成功对
Oracle中BLOB、CLOB、NCLOB等数据类型的操作。Oracle中落实大段文本存入CLOB字段的历程可以表示为:

①实践SQL 语句获得OracleDataReader对象;

①于是SQL语句向数据库中上加一个CLOB字段为empty_clob( )的记录;

②就此OracleDataReader对象的GetOracleLob(
)方法取得要读取的CLOB字段的OracleLob对象;

②始业务,锁定刚在的笔录,把要描绘入CLOB字段的内容用流或CLOB的Write(
)方法勾勒副;

③为此OracleLob对象的Read( )方法还是流读出CLOB字段的始末;

③交付业务,完成对CLOB字段的状副;

Oracle中针对CLOB类型数据的读取过程相对简便易行,不需要针对数据库记录进行锁定:

①执行SQL 语句获得OracleDataReader对象;

②就此OracleDataReader对象的GetOracleLob(
)方法取得要读取的CLOB字段的OracleLob对象;

③用OracleLob对象的Read( )方法还是流读出CLOB字段的始末;

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图