Web应用的主干构架包含浏览器、互联网和Web服务器,浏览器向服务器请求Web页

据书上说Web的使用系统一般包罗两有些:服务器和客户端浏览器。服务器首要对业务举办逻辑处理,而用户对服务器上作业逻辑的熏陶,使Web应用往往拥有
复杂性和高度动态性的本性。那种特征使得基于Web应用的种类开发比较复杂、管理困难。为了实用地消除上述难题,收缩开发周期,缩小维护开销,首要政策是
对Web应用举办建立模型。UML是面向对象技术世界中占主导地位的统第3建工公司模语言。此外,.NET框架在通用语言运转时CL兰德XC90的根基上,提供了周到的根底类
库、数据库访问技术ADO.NET和互连网开发技术ASP.NET,使开发者能够长足营造Web应用。因而,本文首要探索基于.NET框架Web应用的
UML建立模型及开发方法,并将该措施用于小编开发的钻探所管理种类中,实际利用申明该方法能够使得地降落系统开发和管理的错综复杂,进步经济效益。

Web应用的构架形式

依照Web的应用类别一般包涵两片段:服务器和客户端浏览器。服务器主要对事情举行逻辑处理,而用户对服务器上作业逻辑的熏陶,使Web应用往往具有
复杂性和惊人动态性的特征。这种特征使得基于Web应用的系统开发相比复杂、管理困难。为了实用地缓解上述难题,减弱开发周期,减弱维护成本,主要策略是
对Web应用实行建立模型。UML是面向对象技术领域中占主导地位的联结建立模型语言。别的,.NET框架在通用语言运行时CL奥迪Q3的基础上,提供了完善的根基类
库、数据库访问技术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协议向服务器请求页面财富,服务器将被呼吁的U奇骏L解析为文件系统中的文件,大概由应用服务器处理并恐怕更改工作情形,获得请求的页面,再次来到给客户端。

      客户端浏览器通过HTTP协议向服务器请求页面能源,服务器将被呼吁的U宝马X5L解析为文件系统中的文件,或然由应用服务器处理并可能更改工作情形,得到请求的页面,重返给客户端。

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传输构架中的主要参与者

远程对象桩是二个目的,在客户端执行,并与远程对象具备同等的接口。当通过这么些目标调用方法时,那些点子被包裹起来,使用远程对象传输协议PAJEROMI/DCOM发送到远程对象服务器,服务器解释请求,实例化并调用实际目标实例中的方法。

长距离对象桩是三个目的,在客户端执行,并与长途对象拥有同样的接口。当通过那一个目的调用方法时,那几个方式棉被服装进起来,使用远程对象传输协议卡宴MI/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的二种基本增添机制包含构造型、标记值和自律。个中最注重的扩展机制是构造型,它无法改变原模型的构造,但足以在模型成分上附加新的语
义,经常用“《构造型名》”来代表。约束是模型成分中的语义关系,定义了模型怎么着社团在联合,平常用一对“{}”之间的字符串表示。标记值是对模型成分天性的扩展,超越3/6的模子成分都有与之提到的特点,平常用带括号的字符串表示。

      UML的三种为主扩展机制包含构造型、标记值和封锁。个中最要害的恢弘机制是构造型,它无法更改原模型的布局,但能够在模型成分上附加新的语
义,日常用“《构造型名》”来代表。约束是模型成分中的语义关系,定义了模型怎么样组织在一块儿,平常用一对“{}”之间的字符串表示。标记值是对模型成分天性的恢弘,超过百分之五十的模子成分都有与之提到的性状,经常用带括号的字符串表示。

1、Web页建模

1、Web页建模

Web页恐怕还要含有客户端脚本和劳动器端脚本,由此必须分别开始展览建立模型。服务器端Web页面一般包括由服务器执行的台本,每叁遍被呼吁时都在服务器上
组合,更新工作逻辑状态,重返给浏览器。客户端Web页大概带有数据、表现情势甚至业务逻辑,由浏览器解释实施,并得以与客户端组件相关联,如Java
Applet、ActiveX、插件等。两者之间通过定向关系互动关系。那种关系关系的构造型为?build?。

Web页大概还要富含客户端脚本和劳务器端脚本,因而必须分别展开建立模型。服务器端Web页面一般包涵由服务器执行的台本,每1次被呼吁时都在服务器上
组合,更新工作逻辑状态,重临给浏览器。客户端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代码传递到客户端浏览器。同时,为了提升功用,对于那1个不包涵业务逻辑的Web
页,在.NET框架中得以一贯用HTML成分建立客户端Web页,再建立起与相应的服务器端Web页之间的调用关系。

贰 、表单建立模型

② 、表单建立模型

表单是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页经过编写翻译后传送到客户端。

 

叁 、组件建立模型


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

Web应用中的组件分为服务器端组件和客户端组件两类。服务器端较复杂的事务逻辑平常由中间层完结,包蕴一组封装了拥有工作逻辑的已编写翻译好的机件。由此,使用中间层不仅可以增强品质,而且能够共享整个应用的工作作用。客户端Web页中常见的零部件是Java
Applet和ActiveX,利用它们访问浏览器和客户端的各个能源,实现HTML不可能落实的意义。

.NET中每七个页面唯有一个表单,包含全数的输入成分,通常表现为劳动器端控件或客户端控件,当中服务器端控件由服务器端Web页经过编译后传送到客户端。

Web应用扩充定义了《static page》和《dynamic
page》七个抽象组件构造型。《static page》达成客户端组件。《dynamic
page》的重庆大学职责是在运转时系统的物理文件和逻辑视图中的逻辑表现之间提供映射。图5和图5分别表示那三种组件完成的逻辑视图。

三 、组件建立模型


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

澳门黄冠娱乐备用网址,Web应用中的组件分为服务器端组件和客户端组件两类。服务器端较复杂的事体逻辑平时由中间层完成,包含一组封装了拥有工作逻辑的已编译好的零件。由此,使用中间层不仅能够提升品质,而且能够共享整个应用的业务职能。客户端Web页中广泛的机件是Java
Applet和ActiveX,利用它们访问浏览器和客户端的种种能源,完结HTML不可能完毕的功效。


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

Web应用增添定义了《static page》和《dynamic
page》三个抽象组件构造型。《static page》实现客户端组件。《dynamic
page》的显要职分是在运营时系统的情理文件和逻辑视图中的逻辑表现之间提供映射。图5和图五分别代表那二种组件达成的逻辑视图。

四 、框架建立模型


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

Web应用扩展定义了构造型《frameset》和《target》以及涉嫌关系构造型《targeted
link》来贯彻对框架的建立模型。《frameset》直接照射到HTML的<frameset>标记。《target》表示如今Web页引用
的任何Web页或框架。《targeted
link》是指向另二个Web页的一级链接,但它要在一定目的中才能提供。图7来得了故事集物管理理的框架模型


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

图7  论文管理框架模型
 

④ 、框架建模

   基于.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应用的费用提供了强劲的支撑。

 

一 、Web页的贯彻

 

.NET框架提供了WebForm开发模型,利用内嵌的各类服务器组件来扭转服务器端Web页。它能够包含部分重点的页面成分:用户控件也许自定义控
件等。用户控件User
Control在.NET框架中是以.ascx为扩展名的文件,能够在八个Web页面中运用,达成代码的重用。自定义控件Custom
Control是在.NET中开创或在原始控件上拓展修改,添加新职能,以促成特定需要的控件,能够被两个应用程序调用。


图7 论文管理框架模型

② 、Web页导航格局

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

.NET框架中的页面导航方式突显了Web页之间的关联,能够用下列多样艺术达成。

.NET框架是一种基于通用语言的编制程序框架,提供了全新的编程模型: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 实现

(1)一流链接

      那种情势把举行流程从眼下的ASPX页面转到同一服务器上的另三个ASPX页面。但新的页面仍采纳前一页面创造的应答流。 浏览器中的U昂CoraL不会改变,重定向完全在服务器端举行。由此,那种艺术能够制止不要求的互连网通讯,得到较好的质量和浏览效果。

动用HTML超链接控件或HyperLink控件能够兑现页面之间的链接。在那之中HyperLink服务器控件允许在代码中改变其NavigateUrl属性,从而构造出切实目的可依照使用的当前情景动态变化的超链接。

(4)用Server.Execute 实现

(2)用Response.Redirect 实现

此办法允许当前的ASPX页面执行同样服务器上的钦赐ASPX页面,钦赐的ASPX页面执行完毕后,控制流程重临原页面中产生Server.Execute(
)调用的职位,被调用页面能够访问调用页面包车型地铁表单数据和查询字符串集合。暗中认可情形下,被调用页面包车型大巴出口追加到当下应答流。不过,Server.Execute(
)方法有三个重载的主意,允许通过3个TextWriter对象得到被调用页面包车型地铁出口,而不是直接扩张到输出流,这样,在调用页面中得以便宜地调整被调用页面输出结果的职位。 

当Response.Redirect(
)方法被调用时,创建HTTP应答,其中建议了动静代码302(表示指标已经济体改成)和新的对象U途乐L。浏览器接收到该答复,发出三个对新UOdysseyL的请求。
即重定向操作产生在客户端,涉及到五回与服务器的通讯。

③ 、数据库操作

(3)用Server.Transfer 实现

数据库处于Web应用的最尾部,存放系统数据和部分后台数据库逻辑,如存款和储蓄进度、触发器等。它与工作逻辑层和用户界面分开,易于管理和维护,执行效用高,安全品质好。

那种格局把举办流程从眼下的ASPX页面转到同一服务器上的另1个ASPX页面。但新的页面仍选用前一页面创制的应答流。
浏览器中的U奥迪Q7L不会改变,重定向完全在服务器端进行。因而,那种方式可避防止不必要的网络通讯,获得较好的性质和浏览效果。

(1)Oracle数据库操作

(4)用Server.Execute 实现

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

此格局允许当前的ASPX页面执行同样服务器上的钦赐ASPX页面,钦点的ASPX页面执行完成后,控制流程重返原页面中发出Server.Execute(
)调用的任务,被调用页面能够访问调用页面包车型大巴表单数据和查询字符串集合。默许情状下,被调用页面包车型客车出口追加到当前应答流。不过,Server.Execute(
)方法有一个重载的章程,允许通过二个TextWriter对象得到被调用页面包车型地铁输出,而不是直接扩充到输出流,那样,在调用页面中得以便宜地调动被调用页面输出结果的任务。

数据库连接字符串为总是数据库提供须要的参数,平常保存在安插文件web.config中,以简化代码完毕和造福安顿。

叁 、数据库操作

Web应用中对数据库的操作频仍,平日状态下,把对数据库的种种操作集成在四个数据库操作类中,在需求展开数据库操作的地点只需调用此类的各样措施即可。

数据库处于Web应用的最底部,存放系统数据和部分后台数据库逻辑,如存款和储蓄进度、触发器等。它与作业逻辑层和用户界面分开,易于管理和保障,执行效能高,安全质量好。

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

(1)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字段的写入;

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

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

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

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

①用SQL语句向数据库中添加1个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字段的内容;

 

相关文章