框架开采

基于Web的采用种类一般包含两有些:服务器和客户端浏览器。服务器首要对业务进行逻辑管理,而用户对服务器上作业逻辑的震慑,使Web应用往往具有复杂性和可观动态性的特征。那种本性使得基于Web应用的系统开垦相比较复杂、管理困难。为了实用地缓慢解决上述难题,收缩开荒周期,减少维护开支,主要政策是
对Web应用进行建立模型。UML是面向对象才干世界中占主导地位的合并建立模型语言。其余,.NET框架在通用语言运转时CL奥迪Q三的功底上,提供了健全的底子类
库、数据库访问本领ADO.NET和互联网开辟技巧ASP.NET,使开荒者能够火速营造Web应用。由此,本文首要查究基于.NET框架Web应用的
UML建立模型及开采方法,并将该情势用于笔者开采的钻探所管理种类中,实际使用申明该方法能够使得地降落系统开发和管理的繁杂,提升经济效益。

Web应用的构架形式

依靠Web的应用种类一般包含两局地:服务器和客户端浏览器。服务器重要对职业进行逻辑管理,而用户对服务器上中国人民解放军海军事工业程高校业作逻辑的熏陶,使Web应用往往有着
复杂性和冲天动态性的天性。那种特征使得基于Web应用的种类开辟比较复杂、处理困难。为了使得地消除上述难点,缩小开拓周期,减少维护开销,主要计策是
对Web应用进行建立模型。UML是面向对象技能世界中占主导地位的集结建立模型语言。其它,.NET框架在通用语言运营时CLPAJERO的基本功上,提供了完美的底蕴类
库、数据库访问本领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协议向服务器请求页面能源,服务器将被呼吁的UPAJEROL解析为文件系统中的文件,只怕由应用服务器管理并恐怕更换职业意况,得到请求的页面,再次回到给客户端。

      客户端浏览器通过HTTP协议向服务器请求页面能源,服务器将被呼吁的UQX56L解析为文件系统中的文件,可能由应用服务器管理并只怕变动职业情形,得到请求的页面,重回给客户端。

2、胖Web客户端

2、胖Web客户端

胖Web客户端对于能够显明客户端配置和浏览器版本的Web应用是最适合的。客户端通过HTTP与服务器通讯,使用DHTML、Java
applet大概ActiveX控件施行职业逻辑。HTTP的无连接特性,决定了客户端脚本、ActiveX控件和Java
Applet只可以同客户端对象进行互动。图一来得了构架中目的之间的涉及。

胖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页面通过远程对象桩
和长途对象传输协议与长途对象服务器通信,由服务器管理远程业务对象的生命周期,向客户端对象提供劳务。图二展现了各组件之间的关联。

Web传输方式除了利用HTTP负担客户端和服务器的通讯之外,仍可以运用IIOP和DCOM等斟酌以支撑遍及式对象系统。Web页面通过远程对象桩
和长距离对象传输协议与远程对象服务器通讯,由服务器处理远程业务对象的生命周期,向客户端对象提供劳务。图二呈现了各组件之间的涉及。


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

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

长途对象桩是2个对象,在客户端施行,并与长途对象具有一样的接口。当通过这几个目标调用方法时,那几个点子被装进起来,使用远程对象传输协议福特ExplorerMI/DCOM发送到远程对象服务器,服务器解释请求,实例化并调用实际目标实例中的方法。

长距离对象桩是2个目的,在客户端试行,并与远程对象具有同等的接口。当通过这些目的调用方法时,这几个办法被卷入起来,使用远程对象传输协议途观MI/DCOM发送到远程对象服务器,服务器解释请求,实例化并调用实际目标实例中的方法。

骨子里使用中,往往按照作业要求,综合使用上述构架。在大家的研讨所管理种类中,综合运用了瘦Web客户端和Web传输构架。客户端应用了
java
script实行客户端验证,把经过认证的多少交由服务器管理。在数据的后台处理上,接纳了Web传输构架,保持客户端与服务器的怒放连接,以便
举办异常的短时间的、较复杂的对话。

其实利用中,往往依照事业须求,综合运用上述构架。在大家的商量所管理连串中,综合应用了瘦Web客户端和Web传输构架。客户端应用了
java
script实行客户端验证,把经过验证的数码交到服务器管理。在数量的后台管理上,采取了Web传输构架,保持客户端与服务器的开放连接,以便
进行较长时间的、较复杂的对话。

  UML的Web应用增添

  UML的Web应用扩大

UML(Unified Modeling
Language)是壹种通用的可视化建立模型语言,适用于各样软件开荒方法、软件生命周期的顺序阶段、各样应用领域以及各个开采工具。但在对Web应用实行建立模型时,它的壹部分构件不能够与标准UML建模成分一1对应,由此必须对UML举办扩充。

UML(Unified Modeling
Language)是一种通用的可视化建立模型语言,适用于各样软件开垦方法、软件生命周期的逐壹阶段、种种应用领域以及各样开荒工具。但在对Web应用举行建立模型时,它的部分公司件不能够与标准UML建模成分1一对应,由此必须对UML实行扩大。

UML的二种为主扩充机制包含构造型、标识值和封锁。在那之中最重大的恢宏机制是构造型,它无法改动原模型的构造,但足以在模型成分上附加新的语
义,平常用“《构造型名》”来表示。约束是模型成分中的语义关系,定义了模型怎样组织在联合签名,平时用一对“{}”之间的字符串表示。标记值是对模型成分天性的扩充,大多数的模子成分都有与之提到的表征,平日用带括号的字符串表示。

      UML的两种为主增添机制包蕴构造型、标识值和封锁。个中最重大的扩大长沙制是构造型,它不可能改动原模型的构造,但能够在模型成分上附加新的语
义,常常用“《构造型名》”来代表。约束是模型成分中的语义关系,定义了模型怎样组织在壹道,常常用一对“{}”之间的字符串表示。标识值是对模型成分特性的庞大,大诸多的模子成分都有与之提到的天性,经常用带括号的字符串表示。

1、Web页建模

1、Web页建模

Web页只怕还要富含客户端脚本和劳务器端脚本,因而必须各自举行建立模型。服务器端Web页面一般包罗由服务器推行的台本,每2次被呼吁时都在服务器上
组合,更新专门的职业逻辑状态,重返给浏览器。客户端Web页或然含有数据、表现形式乃至业务逻辑,由浏览器解释执行,并得以与客户端组件相关联,如Java
Applet、ActiveX、插件等。两者之间通过定向关系互动关联。那种关联关系的构造型为?build?。

Web页只怕还要含有客户端脚本和服务器端脚本,因此必须各自展开建立模型。服务器端Web页面一般包括由服务器实践的本子,每3遍被呼吁时都在服务器上
组合,更新职业逻辑状态,重返给浏览器。客户端Web页也许含有数据、表现情势以致业务逻辑,由浏览器解释试行,并得以与客户端组件相关联,如Java
Applet、ActiveX、插件等。两者之间通过定向关系互相关系。这种关涉关系的构造型为?build?。

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

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

 


图3  Web页之间的关系

图3 Web页之间的关系

.NET框架中诸多起家的是服务器端Web页,经编写翻译后生成HTML代码传递到客户端浏览器。同时,为了提升功能,对于那个不带有业务逻辑的Web
页,在.NET框架中能够向来用HTML成分建立客户端Web页,再建立起与相应的服务器端Web页之间的调用关系。

.NET框架中山高校部分确立的是服务器端Web页,经编写翻译后生成HTML代码传递到客户端浏览器。同时,为了进步功效,对于那个不分包业务逻辑的Web
页,在.NET框架中得以平素用HTML成分建立客户端Web页,再建立起与相应的服务器端Web页之间的调用关系。

二、表单建模

二、表单建立模型

表单是Web页的大旨输入机制,包蕴<input>、<select> 和
<textarea>等输入成分,用《Form》构造型进行建立模型。《Form》没有操作,与之相互的操作是带有表单的Web页的风味。它能够与作为输入控件的
Applet或ActiveX
控件关联,还能把表单内容交给到服务器举办管理。图四叙述了含有表单的客户端Web页与服务器的相互进程。

表单是Web页的为主输入机制,包蕴<input>、<select> 和
<textarea>等输入成分,用《Form》构造型进行建立模型。《Form》未有操作,与之相互的操作是富含表单的Web页的天性。它能够与作为输入控件的
Applet或ActiveX
控件关联,还是能把表单内容交给到服务器实行处理。图4描述了包罗表单的客户端Web页与服务器的相互进程。


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

 

.NET中每贰个页面唯有3个表单,包罗全体的输入成分,平日表现为劳动器端控件或客户端控件,当中服务器端控件由服务器端Web页经过编写翻译后传送到客户端。

 

3、组件建立模型


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

Web应用中的组件分为服务器端组件和客户端组件两类。服务器端较复杂的事务逻辑平时由中间层落成,包含壹组封装了富有事务逻辑的已编写翻译好的零部件。因此,使用中间层不仅能够增加质量,而且能够共享整个应用的作业职能。客户端Web页黑龙江中国广播集团大的零件是Java
Applet和ActiveX,利用它们访问浏览器和客户端的种种能源,落成HTML不可能落到实处的效应。

.NET中每二个页面唯有七个表单,包涵全部的输入成分,平常表现为服务器端控件或客户端控件,在这之中服务器端控件由服务器端Web页经过编写翻译后传送到客户端。

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

3、组件建立模型


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

Web应用中的组件分为服务器端组件和客户端组件两类。服务器端较复杂的政工逻辑经常由中间层完毕,蕴涵一组封装了独具职业逻辑的已编写翻译好的机件。因而,使用中间层不仅能够加强品质,而且能够共享整个应用的事情职能。客户端Web页中常见的零部件是Java
Applet和ActiveX,利用它们访问浏览器和客户端的种种能源,落成HTML不恐怕兑现的功效。


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

Web应用扩充定义了《static page》和《dynamic
page》三个抽象组件构造型。《static page》达成客户端组件。《dynamic
page》的重要职务是在运作时系统的大意文件和逻辑视图中的逻辑表现之间提供映射。图伍和图6分别代表那二种组件完毕的逻辑视图。

四、框架建立模型


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

Web应用扩大定义了构造型《frameset》和《target》以及涉嫌关系构造型《targeted
link》来得以达成对框架的建立模型。《frameset》直接照射到HTML的<frameset>标志。《target》表示近期Web页引用
的其他Web页或框架。《targeted
link》是指向另三个Web页的顶级链接,但它要在特定对象中本事提供。图七来得了舆论管理的框架模型


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

图7  论文管理框架模型
 

四、框架建立模型

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

Web应用扩张定义了构造型《frameset》和《target》以及涉嫌关系构造型《targeted
link》来兑现对框架的建立模型。《frameset》直接照射到HTML的<frameset>标志。《target》表示近期Web页引用
的其他Web页或框架。《targeted
link》是指向另八个Web页的一流链接,但它要在特定对象中技巧提供。图七显得了舆论处理的框架模型

.NET框架是壹种基于通用语言的编制程序框架,提供了全新的编制程序模型:WebForm模型和WebService模型,提供了宏观的底子类库、数据库访问技艺ADO.NET和互联网开荒能力ASP.NET,为Web应用的开辟提供了强压的支撑。

 

一、Web页的兑现

 

.NET框架提供了WebForm开荒模型,利用内嵌的各个服务器组件来变化服务器端Web页。它能够包含部分最主要的页面成分:用户控件也许自定义控
件等。用户控件User
Control在.NET框架中是以.ascx为增添名的公文,能够在三个Web页面中使用,完成代码的任用。自定义控件Custom
Control是在.NET中创建或在原本控件上海展览中心开修改,加多新功用,以促成特定须要的控件,能够被三个应用程序调用。


图7 论文管理框架模型

贰、Web页导航格局

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

.NET框架中的页面导航情势浮现了Web页之间的涉嫌,能够用下列各种格局完毕。

.NET框架是1种基于通用语言的编制程序框架,提供了斩新的编制程序模型:WebForm模型和WebService模型,提供了宏观的根底类库、数据库访问技能ADO.NET和网络开采技能ASP.NET,为Web应用的支付提供了有力的支撑。

(一)顶级链接

1、Web页的贯彻

应用HTML超链接控件或HyperLink控件能够完毕页面之间的链接。个中HyperLink服务器控件允许在代码中改造其NavigateUrl属性,从而构造出实际对象可依据使用的日前情况动态变化的超链接。

.NET框架提供了WebForm开垦模型,利用内嵌的各样服务器组件来扭转服务器端Web页。它能够包含部分要害的页面成分:用户控件只怕自定义控
件等。用户控件User
Control在.NET框架中是以.ascx为扩张名的文件,能够在多少个Web页面中使用,完结代码的重用。自定义控件Custom
Control是在.NET中开创或在原来控件上进展改造,增添新职能,以促成特定必要的控件,可以被多少个应用程序调用。

(2)用Response.Redirect 实现

贰、Web页导航格局

当Response.Redirect(
)方法被调用时,创立HTTP应答,个中提出了气象代码302(表示目标已经济体改成)和新的对象U卡宴L。浏览器接收到该答复,发出贰个对新U奥德赛L的央求。 
即重定向操作产生在客户端,涉及到一次与服务器的通讯。

.NET框架中的页面导航格局显示了Web页之间的涉嫌,能够用下列三种方法贯彻。

(3)用Server.Transfer 实现

(壹)一流链接

      这种措施把实施流程从最近的ASPX页面转到同1服务器上的另三个ASPX页面。但新的页面仍使用前壹页面创制的应答流。 浏览器中的UBMWX3L不会变动,重定向完全在劳务器端进行。由此,那种格局可以制止不须求的互连网通信,获得较好的习性和浏览效果。

选择HTML超链接控件或HyperLink控件能够落成页面之间的链接。当中HyperLink服务器控件允许在代码中改造其NavigateUrl属性,从而构造出实际对象可依照使用的此时此刻情景动态变化的超链接。

(4)用Server.Execute 实现

(2)用Response.Redirect 实现

此办法允许当前的ASPX页面试行同1服务器上的内定ASPX页面,钦定的ASPX页面实行实现后,调节流程重返原页面中发出Server.Execute(
)调用的任务,被调用页面能够访问调用页面包车型地铁表单数据和询问字符串集结。暗许情形下,被调用页面包车型客车出口追加到当下应答流。不过,Server.Execute(
)方法有3个重载的章程,允许通过一个TextWriter对象得到被调用页面包车型地铁输出,而不是直接扩大到输出流,这样,在调用页面中能够便宜地调度被调用页面输出结果的职位。 

当Response.Redirect(
)方法被调用时,创制HTTP应答,当中建议了情景代码30二(表示目的已经转移)和新的靶子U奇骏L。浏览器接收到该答复,发出一个对新UEscortL的伸手。
即重定向操作发生在客户端,涉及到五遍与服务器的通讯。

三、数据库操作

(3)用Server.Transfer 实现

数据库处于Web应用的最底部,存放系统数据和局地后台数据库逻辑,如存款和储蓄进程、触发器等。它与专门的学问逻辑层和用户分界面分开,易于管理和保卫安全,施行功效高,安全品质好。

那种措施把施行流程从脚下的ASPX页面转到同1服务器上的另3个ASPX页面。但新的页面仍使用前壹页面成立的应答流。
浏览器中的U昂CoraL不会变动,重定向完全在劳务器端举行。因而,那种办法能够防止不须求的网络通讯,得到较好的天性和浏览效果。

(一)Oracle数据库操作

(4)用Server.Execute 实现

.NET框架提供了System.Data.OracleClient和System.Data.奥莱Db
命名空间,落成对Oracle数据库的支撑,在那之中前者的指向较强,本文的实例中使用了此命名空间。

此方法允许当前的ASPX页面施行同1服务器上的钦点ASPX页面,钦定的ASPX页面实施完结后,调整流程重返原页面中生出Server.Execute(
)调用的任务,被调用页面能够访问调用页面包车型客车表单数据和查询字符串集结。暗中同意情形下,被调用页面的输出追加到当前应答流。不过,Server.Execute(
)方法有2个重载的措施,允许通过二个TextWriter对象获得被调用页面包车型的士输出,而不是向来扩张到输出流,那样,在调用页面中能够1本万利地调动被调用页面输出结果的职务。

数据库连接字符串为连日来数据库提供必需的参数,经常保存在布置文件web.config中,以简化代码达成和福利陈设。

3、数据库操作

Web应用中对数据库的操作频仍,平日情状下,把对数据库的各类操作集成在二个数据库操作类中,在急需进行数据库操作的地点只需调用此类的各类法子就可以。

数据库处于Web应用的最尾巴部分,存放系统数据和局地后台数据库逻辑,如存款和储蓄进程、触发器等。它与事务逻辑层和用户分界面分开,易于管护,执行功能高,安全品质好。

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

(一)Oracle数据库操作

Web应用中的二进制文件、图片、大段文本等在数据库中的存取,平时都要用大目的(LOB)完成。.NET框架提供了OracleLob类来产生对
Oracle中BLOB、CLOB、NCLOB等数据类型的操作。Oracle中完成大段文本存入CLOB字段的进度能够象征为:

.NET框架提供了System.Data.OracleClient和System.Data.奥莱Db
命名空间,完毕对Oracle数据库的支撑,在那之中前者的针对性较强,本文的实例中选拔了此命名空间。

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

数据库连接字符串为一连数据库提供必需的参数,平常保存在安顿文件web.config中,以简化代码完结和方便布署。

贰发端作业,锁定刚投入的记录,把要写入CLOB字段的始末用流或CLOB的Write(
)方法写入;

Web应用中对数据库的操作频仍,平日状态下,把对数据库的种种操作集成在一个数据库操作类中,在急需开始展览数据库操作的地方只需调用此类的各样格局就能够。

三交付业务,落成对CLOB字段的写入;

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

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

Web应用中的贰进制文件、图片、大段文本等在数据库中的存取,平常都要用大目标(LOB)达成。.NET框架提供了OracleLob类来成功对
Oracle中BLOB、CLOB、NCLOB等数据类型的操作。Oracle中得以实现大段文本存入CLOB字段的进程能够表示为:

1奉行SQL 语句获得OracleDataReader对象;

1用SQL语句向数据库中加多二个CLOB字段为empty_clob( )的记录;

二用OracleData里德r对象的GetOracleLob(
)方法获得要读取的CLOB字段的OracleLob对象;

二起来业务,锁定刚投入的笔录,把要写入CLOB字段的剧情用流或CLOB的Write(
)方法写入;

3用OracleLob对象的Read( )方法或流读出CLOB字段的始末;

3交由业务,落成对CLOB字段的写入;

Oracle中对CLOB类型数据的读取进度相对轻巧,不须要对数据库记录进行锁定:

1实践SQL 语句得到OracleDataReader对象;

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

叁用OracleLob对象的Read( )方法或流读出CLOB字段的始末;