对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模型和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字段的始末;

 

相关文章