Web应用的中央构架包含浏览器、互联网和Web服务器,对Web应用举行建模

基于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模型和Web瑟维斯模型,提供了宏观的根基类库、数据库访问技术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字段的内容;