框架开荒

听他们说Web的采取种类常常富含两有的:服务器和顾客端浏览器。服务器主要对作业进行逻辑管理,而客商对服务器上中国人民解放军海军事工业程高校业作逻辑的熏陶,使Web应用往往有着
复杂性和中度动态性的脾性。这种天性使得基于Web应用的种类开采相比复杂、管理困难。为了实用地解决上述问题,缩小开荒周期,减少维护费用,首要政策是
对Web应用进行建立模型。UML是面向对象本事世界中占主导地位的统第一建工公司模语言。其他,.NET框架在通用语言运营时CL奥德赛的底子上,提供了完备的底蕴类
库、数据库访问能力ADO.NET和网络开垦技艺ASP.NET,使开荒者能够长足创设Web应用。因而,本文主要研究基于.NET框架Web应用的
UML建立模型及开拓方法,并将该方式用于作者开辟的讨论所管理系列中,实际选取表明该办法能够有效地裁减系统开采和拘押的头晕目眩,进步经济效果与利益。

Web应用的构架方式

Web应用的骨干构架包涵浏览器、互联网和Web服务器。浏览器向服务器诉求Web页,Web页大概包含由浏览器解释试行的顾客端脚本,並且能够与浏览器、页内容和页中包蕴的别样控件(Java
Applet、ActiveX控件和插件等)实行交互。客商向Web页输入消息或透过一级链接导航到别的Web页,与系统举行相互,退换系统的“业务景况”。

lovebet爱博体育,1、瘦Web客户端

非常重要适用于依赖Internet的使用,对客商端配置大概从不调整。顾客端只必要标准Web浏览器,能够央求和显示专门的学业的HTML页面。所有事情逻辑都在服务器上进行。

      顾客端浏览器通过HTTP公约向服务器央浼页面能源,服务器将被呼吁的U奇骏L分析为文件系统中的文件,也许由应用服务器管理并大概改换专门的工作意况,获得供给的页面,再次回到给客商端。

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模型,提供了周密的功底类库、数据库访谈本领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(
卡塔尔(英语:State of Qatar)方法被调用时,创设HTTP应答,个中建议了情景代码302(表示目的已经济体改成)和新的目的UENVISIONL。浏览器选用到该答复,发出三个对新UHighlanderL的伸手。 
即重定向操作发生在顾客端,涉及到一遍与服务器的通讯。

(3)用Server.Transfer 实现

      这种办法把推行流程自一时一刻的ASPX页面转到同一服务器上的另三个ASPX页面。但新的页面仍利用前后生可畏页面成立的应答流。 浏览器中的U翼虎L不会转移,重定向完全在劳务器端进行。因而,这种办法能够幸免不供给的互连网通信,得到较好的天性和浏览效果。

(4)用Server.Execute 实现

此措施允许当前的ASPX页面试行同少年老成服务器上的钦命ASPX页面,钦命的ASPX页面实施实现后,调节流程重返原页面中发出Server.Execute(
卡塔尔国调用的岗位,被调用页面能够访谈调用页面包车型大巴表单数据和查询字符串会集。私下认可情状下,被调用页面的出口追加到方今应答流。可是,Server.Execute(
卡塔尔国方法有四个重载的法子,允许通过二个TextWriter对象拿到被调用页面包车型大巴输出,并非平昔增至输出流,那样,在调用页面中能够方便地调动被调用页面输出结果的任务。 

3、数据库操作

数据库处于Web应用的最尾部,贮存系统数据和局地后台数据库逻辑,如存款和储蓄进程、触发器等。它与业务逻辑层和客商分界面分开,易于管理和掩护,推行成效高,安全品质好。

(1)Oracle数据库操作

.NET框架提供了System.Data.OracleClient和System.Data.奥莱Db
命名空间,达成对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字段的剧情;