引言
基于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页,与系统进行交互,改变系统的“业务状态”。
1、瘦Web客户端
主要适用于基于Internet的应用,对客户端配置几乎没有控制。客户端只需要标准Web浏览器,可以请求和显示标准的HTML页面。所有的业务逻辑都在服务器上执行。
客户端浏览器通过HTTP协议向服务器请求页面资源,服务器将被请求的URL解析为文件系统中的文件,或者由应用服务器处理并可能改变业务状态,得到请求的页面,返回给客户端。
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传输构架。客户端使用了JavaScript进行客户端验证,把经过验证的数据提交服务器处理。在数据的后台管理上,采用了Web传输构架,保持客户端与服务器的开放连接,以便进行较长时间的、较复杂的会话。