知识大全 Web应用的UML建模与.NET框架开发

Posted

篇首语:知是行的主意,行是知的功夫。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Web应用的UML建模与.NET框架开发相关的知识,希望对你有一定的参考价值。

Web应用的UML建模与.NET框架开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   引言

  基于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客户端

  主要适用于基于Internet的应用 对客户端配置几乎没有控制 客户端只需要标准Web浏览器 可以请求和显示标准的HTML页面 所有的业务逻辑都在服务器上执行

  客户端浏览器通过HTTP协议向服务器请求页面资源 服务器将被请求的URL解析为文件系统中的文件 或者由应用服务器处理并可能改变业务状态 得到请求的页面 返回给客户端

   胖Web客户端

  胖Web客户端对于可以确定客户端配置和浏览器版本的Web应用是最适合的 客户端通过HTTP与服务器通信 使用DHTML Java applet或者ActiveX控件执行业务逻辑 HTTP的无连接特性 决定了客户端脚本 ActiveX控件和Java Applet只能同客户端对象进行交互 图 显示了构架中对象之间的关系

  

  客户端显示接收的页面时 执行嵌入的脚本 这些脚本通常可以在不同的线程中执行 通过DOM接口与页面内容进行交互

   Web传输

  Web传输模式除了使用HTTP负责客户端和服务器的通信之外 还可以使用IIOP和D等协议以支持分布式对象系统 Web页面通过远程对象桩和远程对象传输协议与远程对象服务器通信 由服务器管理远程业务对象的生命周期 向客户端对象提供服务 图 显示了各组件之间的关系

  

  远程对象桩是一个对象 在客户端执行 并与远程对象具有相同的接口 当通过这个对象调用方法时 这些方法被封装起来 使用远程对象传输协议RMI/D发送到远程对象服务器 服务器解释请求 实例化并调用实际对象实例中的方法

  实际应用中 往往根据业务需要 综合使用上述构架 在我们的研究所管理系统中 综合采用了瘦Web客户端和Web传输构架 客户端使用了JavaScript进行客户端验证 把经过验证的数据提交服务器处理 在数据的后台管理上 采用了Web传输构架 保持客户端与服务器的开放连接 以便进行较长时间的 较复杂的会话

   UML 的 Web 应用扩展

  UML(Unified Modeling Language)是一种通用的可视化建模语言 适用于各种软件开发方法 软件生命周期的各个阶段 各种应用领域以及各种开发工具 但在对Web应用进行建模时 它的一些构件不能与标准UML建模元素一一对应 因此必须对UML进行扩展

  UML的三种核心扩展机制包括构造型 标记值和约束 其中最重要的扩展机制是构造型 它不能改变原模型的结构 但可以在模型元素上附加新的语义 通常用 《构造型名》 来表示 约束是模型元素中的语义关系 定义了模型如何组织在一起 通常用一对 之间的字符串表示 标记值是对模型元素特性的扩展 大多数的模型元素都有与之关联的特性 通常用带括号的字符串表示

   Web页建模

  Web页可能同时包含客户端脚本和服务器端脚本 因此必须分别进行建模 服务器端Web页面一般包含由服务器执行的脚本 每一次被请求时都在服务器上组合 更新业务逻辑状态 返回给浏览器 客户端Web页可能包含数据 表现形式甚至业务逻辑 由浏览器解释执行 并可以与客户端组件相关联 如Java Applet ActiveX 插件等 两者之间通过定向关系相互关联 这种关联关系的构造型为?build?

  Web应用中的超级链接代表导航路径 用构造型为?link?的关联关系表示 标记值用于定义随超级链接请求传递的参数列表 供服务器端Web页使用 图 描述了Web页之间的关系

  

   NET框架中大多数建立的是服务器端Web页 经编译后生成HTML代码传递到客户端浏览器 同时 为了提高效率 对于那些不包含业务逻辑的Web页 在 NET框架中可以直接用HTML元素建立客户端Web页 再建立起与对应的服务器端Web页之间的调用关系

   表单建模

  表单是Web页的基本输入机制 包括<input> <select> 和 <textarea>等输入元素

  用《Form》构造型进行建模 《Form》没有操作 与之交互的操作是包含表单的Web页的特性 它可以与作为输入控件的 Applet或ActiveX 控件关联 还可以把表单内容提交到服务器进行处理 图 描述了含有表单的客户端Web页与服务器的交互过程

  

   组件建模

  Web应用中的组件分为服务器端组件和客户端组件两类 服务器端较复杂的业务逻辑通常由中间层完成 包括一组封装了所有业务逻辑的已编译好的组件 因此 使用中间层不仅可以提高性能 而且可以共享整个应用的业务功能 客户端Web页中常见的组件是Java Applet和ActiveX 利用它们访问浏览器和客户端的各种资源 实现HTML无法实现的功能

  Web应用扩展定义了《static page》和《dynamic page》两个抽象组件构造型 《static page》实现客户端组件 《dynamic page》的主要任务是在运行时系统的物理文件和逻辑视图中的逻辑表现之间提供映射 图 和图 分别表示这两种组件实现的逻辑视图

  

  

   框架建模

  Web应用扩展定义了构造型《frameset》和《target》以及关联关系构造型《targeted link》来实现对框架的建模 《frameset》直接映射到HTML的<frameset>标记 《target》表示当前Web页引用的其它Web页或框架 《targeted link》是指向另一个Web页的超级链接 但它要在特定目标中才能提供 图 显示了论文管理的框架模型

  

   基于 NET 框架的 Web 应用开发

   NET框架是一种基于通用语言的编程框架 提供了崭新的编程模型 WebForm模型和WebService模型 提供了完善的基础类库 数据库访问技术ADO NET和网络开发技术ASP NET 为Web应用的开发提供了强有力的支持

   Web页的实现

   NET框架提供了WebForm开发模型 利用内嵌的各种服务器组件来生成服务器端Web页 它可以包含一些重要的页面元素 用户控件或者自定义控件等 用户控件User Control在 NET框架中是以 ascx为扩展名的文件 可以在多个Web页面中使用 实现代码的重用 自定义控件Custom Control是在 NET中创建或在原有控件上进行修改 添加新功能 以实现特定需求的控件 可以被多个应用程序调用

   Web页导航方式

   NET框架中的页面导航方式体现了Web页之间的关系 可以用下列四种方式实现

  ( )超级链接 使用HTML超链接控件或HyperLink控件可以实现页面之间的链接 其中HyperLink服务器控件允许在代码中改变其NavigateUrl属性 从而构造出具体目标可根据应用的当前状态动态变化的超链接

  ( )用Response Redirect 实现 当Response Redirect( )方法被调用时 创建HTTP应答

  其中指出了状态代码 (表示目标已经改变)和新的目标URL 浏览器接收到该应答 发出一个对新URL的请求 即重定向操作发生在客户端 涉及到两次与服务器的通信

  ( )用Server Transfer 实现 这种方法把执行流程从当前的ASPX页面转到同一服务器上的另一个ASPX页面 但新的页面仍使用前一页面创建的应答流 浏览器中的URL不会改变 重定向完全在服务器端进行 因此 这种方法能够避免不必要的网络通信 获得较好的性能和浏览效果

  ( )用Server Execute 实现 此方法允许当前的ASPX页面执行同一服务器上的指定ASPX页面 指定的ASPX页面执行完毕后 控制流程返回原页面中发出Server Execute( )调用的位置 被调用页面能够访问调用页面的表单数据和查询字符串集合 默认情况下 被调用页面的输出追加到当前应答流 但是 Server Execute( )方法有一个重载的方法 允许通过一个TextWriter对象获取被调用页面的输出 而不是直接追加到输出流 这样 在调用页面中可以方便地调整被调用页面输出结果的位置

   数据库操作

  数据库处于Web应用的最底层 存放系统数据和部分后台数据库逻辑 如存储过程 触发器等 它与业务逻辑层和用户界面分开 易于管理和维护 执行效率高 安全性能好

  ( )Oracle数据库操作 NET框架提供了System Data OracleClient和System Data OleDb 命名空间 实现对Oracle数据库的支持 其中前者的针对性较强 本文的实例中使用了此命名空间 数据库连接字符串为连接数据库提供必要的参数 通常保存在配置文件nfig中 以简化代码实现和便于部署 Web应用中对数据库的操作频繁 通常情况下 把对数据库的各种操作集成在一个数据库操作类中 在需要进行数据库操作的地方只需调用此类的各种方法即可

  ( )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字段的内容

   结束语

cha138/Article/program/net/201311/11846

相关参考

知识大全 基于ASP.NET MVC框架开发Web论坛应用程序[3]

基于ASP.NETMVC框架开发Web论坛应用程序[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 基于ASP.NET MVC框架开发Web论坛应用程序[2]

基于ASP.NETMVC框架开发Web论坛应用程序[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 使用eclipse调用.net web service

  以前我用的开发框架都是net现在换成javaEE框架和linux平台还需要一段时间的学习有时在测试工作中需要实现一些功能但是又不会用java实现怎么办呢?这里有一个方法使用net的框架开发webs

知识大全 Java开源UML建模

Java开源UML建模  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ArgoUML  使用ja

知识大全 Web应用程序ASP.NET开发电子商务网站购物车

Web应用程序ASP.NET开发电子商务网站购物车  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET MVC上的Web应用

ASP.NETMVC4框架:ASP.NETMVC上的Web应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 .NET三层架构应用之十层框架

.NET三层架构应用之十层框架  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  凡是接触net开发

知识大全 结合JavaScript与ASP.NET Web窗体进行程序开发

结合JavaScript与ASP.NETWeb窗体进行程序开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 开发安全的ASP.NET应用程序

开发安全的ASP.NET应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Web应用程序会

知识大全 .net ajax 与Ext2框架在.net程序中的应用

.netajax与Ext2框架在.net程序中的应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!