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

据悉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页,与系统举办交互,改变系统的“业务处境”。

1、瘦Web客户端

第一适用于按照Internet的使用,对客户端配置几乎没有决定。客户端只需要正统Web浏览器,可以请求和出示标准的HTML页面。所有的工作逻辑都在服务器上实施。

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

2、胖Web客户端

胖Web客户端对于能够确定客户端配置和浏览器版本的Web应用是最适合的。客户端通过HTTP与服务器通信,使用DHTML、Java
applet或者ActiveX控件执行工作逻辑。HTTP的无连接特性,决定了客户端脚本、ActiveX控件和Java
Applet只好同客户端对象举办互动。图1显得了构架中目的之间的关联。


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

客户端显示接收的页面时,执行放到的台本,这个本子常常可以在不同的线程中履行,通过DOM接口与页面内容举办相互。

3、Web传输

Web传输格局除了采纳HTTP负责客户端和服务器的通信之外,还足以应用IIOP和DCOM等商议以支撑分布式对象系统。Web页面通过远程对象桩
和长途对象传输协议与长途对象服务器通信,由服务器管理远程业务对象的生命周期,向客户端对象提供服务。图2呈现了各组件之间的关联。


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

长距离对象桩是一个对象,在客户端执行,并与长途对象具备同样的接口。当通过这些目的调用方法时,这多少个形式被包裹起来,使用远程对象传输协议RMI/DCOM发送到远程对象服务器,服务器解释请求,实例化并调用实际目的实例中的方法。

实际上运用中,往往按照业务需要,综合应用上述构架。在我们的探讨所管理系列中,综合运用了瘦Web客户端和Web传输构架。客户端接纳了
java
script举行客户端验证,把通过认证的多少提交服务器处理。在多少的后台管理上,拔取了Web传输构架,保持客户端与服务器的盛开连接,以便
举行较短时间的、较复杂的对话。

  UML的Web应用扩展

UML(Unified Modeling
Language)是一种通用的可视化建模语言,适用于各样软件开发方法、软件生命周期的相继阶段、各类应用领域以及各类开发工具。但在对Web应用举行建模时,它的一部分构件不可能与标准UML建模元素一一对应,因而必须对UML举办扩充。

      UML的两种基本扩大机制包括构造型、标记值和束缚。其中最关键的恢弘机制是构造型,它不可能更改原模型的布局,但足以在模型元素上附加新的语
义,平常用“《构造型名》”来代表。约束是模型元素中的语义关系,定义了模型如何协会在一块,日常用一对“{}”之间的字符串表示。标记值是对模型元素特
性的扩充,大多数的模子元素都有与之提到的表征,常常用带括号的字符串表示。

1、Web页建模

Web页可能同时涵盖客户端脚本和劳动器端脚本,由此必须各自举行建模。服务器端Web页面一般包含由服务器执行的本子,每两回被呼吁时都在服务器上
组合,更新工作逻辑状态,重回给浏览器。客户端Web页可能带有数据、表现格局甚至业务逻辑,由浏览器解释施行,并可以与客户端组件相关联,如Java
Applet、ActiveX、插件等。两者之间通过定向关系相互关联。这种关涉关系的构造型为?build?。

Web应用中的一流链接代表导航路径,用构造型为?link?的关系关系表示。标记值用于定义随顶尖链接请求传递的参数列表,供服务器端Web页使用。图3叙述了Web页之间的涉及。


图3  Web页之间的关系

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

2、表单建模

表单是Web页的中央输入机制,包括<input>、<select> 和
<textarea>等输入元素,用《Form》构造型举行建模。《Form》没有操作,与之并行的操作是富含表单的Web页的表征。它能够与作为输入控件的
Applet或ActiveX
控件关联,还足以把表单内容交给到服务器举办处理。图4讲述了带有表单的客户端Web页与服务器的交互过程。


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

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

3、组件建模

Web应用中的组件分为服务器端组件和客户端组件两类。服务器端较复杂的业务逻辑平常由中间层完成,包括一组封装了独具事务逻辑的已编译好的零部件。因此,使用中间层不仅能够增长性能,而且可以共享整个应用的政工职能。客户端Web页中广大的组件是Java
Applet和ActiveX,利用它们访问浏览器和客户端的各样资源,实现HTML不可以兑现的效能。

Web应用扩大定义了《static page》和《dynamic
page》六个抽象组件构造型。《static page》实现客户端组件。《dynamic
page》的重中之重职责是在运作时系统的情理文件和逻辑视图中的逻辑表现之间提供映射。图5和图6分别代表这二种组件实现的逻辑视图。


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

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

4、框架建模

Web应用扩充定义了构造型《frameset》和《target》以及涉及关系构造型《targeted
link》来实现对框架的建模。《frameset》直接照射到HTML的<frameset>标记。《target》表示近来Web页引用
的别样Web页或框架。《targeted
link》是指向另一个Web页的顶级链接,但它要在特定目的中才能提供。图7出示了舆论管理的框架模型


图7  论文管理框架模型
 

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

.NET框架是一种基于通用语言的编程框架,提供了崭新的编程模型:WebForm模型和WebService(Service)模型,提供了一揽子的功底类库、数据库访问技术ADO.NET和网络开发技术ASP.NET,为Web应用的付出提供了强有力的支撑。

1、Web页的兑现

.NET框架提供了WebForm开发模型,利用内嵌的各类服务器组件来变化服务器端Web页。它可以涵盖部分重中之重的页面元素:用户控件或者自定义控
件等。用户控件User
Control在.NET框架中是以.ascx为扩充名的文书,可以在六个Web页面中利用,实现代码的录用。自定义控件Custom
Control是在.NET中创立或在原来控件上开展修改,添加新效率,以贯彻特定需求的控件,可以被三个应用程序调用。

2、Web页导航情势

.NET框架中的页面导航形式映现了Web页之间的关系,可以用下列四种形式贯彻。

(1)顶级链接

采纳HTML超链接控件或HyperLink控件可以兑现页面之间的链接。其中HyperLink服务器控件允许在代码中改变其NavigateUrl属性,从而构造出切实目的可遵照使用的近日场合动态变化的超链接。

(2)用Response.Redirect 实现

当Response.Redirect()方法被调用时,成立HTTP应答,其中提出了情况代码302(表示目的已经改变)和新的对象URL。浏览器接收到该回应,发出一个对新URL的呼吁。 
即重定向操作暴发在客户端,涉及到一回与服务器的通信。

(3)用Server.Transfer 实现

      这种情势把推行流程从当前的ASPX页面转到同一服务器上的另一个ASPX页面。但新的页面仍使用前一页面创造的应答流。 浏览器中的URL不会变动,重定向完全在劳务器端举办。由此,这种艺术可以避免不必要的网络通信,得到较好的性能和浏览效果。

(4)用Server.Execute 实现

此格局允许当前的ASPX页面执行同一服务器上的指定ASPX页面,指定的ASPX页面执行完毕后,控制流程重临原页面中发出Server.Execute()调用的岗位,被调用页面可以访问调用页面的表单数据和询问字符串集合。默认情状下,被调用页面的输出追加到眼前应答流。不过,Server.Execute()方法有一个重载的格局,允许通过一个TextWriter对象得到被调用页面的出口,而不是直接扩充到输出流,这样,在调用页面中得以一本万利地调整被调用页面输出结果的岗位。 

3、数据库操作

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

(1)Oracle数据库操作

.NET框架提供了System.Data.OracleClient和System.Data.OleDb
命名空间,实现对Oracle数据库的辅助,其中前者的针对较强,本文的实例中行使了此命名空间。

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

Web应用中对数据库的操作频繁,经常状态下,把对数据库的各个操作集成在一个数据库操作类中,在急需开展数据库操作的地点只需调用此类的各种办法即可。

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

Web应用中的二进制文件、图片、大段文本等在数据库中的存取,平时都要用大目标(LOB)实现。.NET框架提供了OracleLob类来成功对
Oracle中BLOB、CLOB、NCLOB等数据类型的操作。Oracle中贯彻大段文本存入CLOB字段的经过可以代表为:

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

②始发业务,锁定刚加盟的笔录,把要写入CLOB字段的始末用流或CLOB的Write()方法写入;

③提交业务,完成对CLOB字段的写入;

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

①推行SQL 语句拿到OracleDataReader对象;

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

③用OracleLob对象的Read( )方法或流读出CLOB字段的情节;

相关文章