Web应用开发的架构和过程

VIP免费
3.0 陈辉 2024-11-19 13 4 3.22MB 73 页 15积分
侵权投诉
目录
1
目 录
摘要
Abstract
目录
第一章 .................................................................................................................1
$1.1 背景..................................................................................................................1
$1.1.1 Web 应用开发成为企业级开发的主流 ............................................... 1
$1.1.2 分布式应用技术呈现百花齐放的态势................................................2
$1.1.3 企业应用开发非常复杂........................................................................3
$1.1.4 平台之争结果尚未明朗........................................................................3
$1.2 主要的 Web 应用开发平台 ............................................................................ 4
$1.2.1 Java ........................................................................................................ 4
$1.2.2 .NET .......................................................................................................6
$1.2.3 其他平台................................................................................................9
$1.3 本论文的研究内容...........................................................................................9
第二章 Web 应用开发的框架 ...................................................................................... 11
$2.1 应用程序开发框架........................................................................................11
$2.1.1 使用框架开发程序的动因.................................................................11
$2.1.2 黑盒框架和白盒框架.........................................................................12
$2.2 Web 框架的理论基础-Model 2 ................................................................... 13
$2.2.1 Model-1 ................................................................................................13
$2.2.2 Model-2 ................................................................................................14
$2.3 常见的 Web 应用框架 .................................................................................. 14
$2.3.1 Apache Struts ....................................................................................... 14
$2.3.2 Turbine ................................................................................................. 15
$2.3.3 Jetspeed ................................................................................................ 15
$2.3.4 Tapestry ................................................................................................ 16
$2.4 Struts 的工作机制 .......................................................................................... 17
$2.5 Struts 应用实例 .............................................................................................. 19
$2.5.1 问题描述.............................................................................................19
$2.5.2 环境设置.............................................................................................19
$2.5.3 登录页面.............................................................................................20
$2.5.4 struts-config.xml .................................................................................. 21
$2.5.5 FormBean .............................................................................................22
Web 应用开发的架构和过程
2
$2.5.6 Action ...................................................................................................23
$2.6 Struts 开发工具 .............................................................................................. 24
$2.6.1 Exadel Struts Studio .............................................................................24
$2.6.2 Scioworks Camino ............................................................................... 25
$2.6.3 JBuilderJDeveloperWebsphere Application Developer 5.1 .......25
$2.7 上海旅游网电子商务网站的开发................................................................26
$2.7.1 背景.....................................................................................................26
$2.7.2 架构设计.............................................................................................26
$2.7.3 系统实现.............................................................................................29
第三章 Web 应用开发过程 ..........................................................................................33
$3.1 概述................................................................................................................33
$3.1.1 Web 应用独特属性 ............................................................................. 33
$3.1.2 Web 应用的质量属性 ......................................................................... 34
$3.2 软件工程的最新成果....................................................................................35
$3.2.1 CMM....................................................................................................35
$3.2.1.2 CMM 5 级模型.................................................................................36
$3.2.2 XP 和敏捷开发 ................................................................................... 37
$3.2.3 RUP......................................................................................................39
$3.2.4 PSP TSP .......................................................................................... 42
$3.2 上海旅游网电子商务网站的开发过程和质量控制....................................43
$3.2.1 背景.....................................................................................................44
$3.2.2 里程碑和检查点.................................................................................44
$3.2.3 技术人员构成及职责.........................................................................46
$3.2.4 项目的开发过程.................................................................................49
$3.2.5 项目开发过程详细图.........................................................................51
第四章 设计的探.......................................................................................................56
$4.1 利用设计模式改善设计................................................................................56
$4.1.1 概述.....................................................................................................56
$4.1.2 Singleton 模式 ..................................................................................... 58
$4.1.3 Interpreter 模式 ....................................................................................60
$4.2 改善架构设计................................................................................................60
$4.2.1 概述.....................................................................................................61
$4.2.2 将系统层次化.....................................................................................61
$4.2.3 使用代理简化设计.............................................................................62
$4.3 Portal 的页面风格 .......................................................................................... 62
$4.3.1 Portal 的页面风格 ............................................................................... 63
$4.3.2 使用.NET Web 控件实现 MSN 风格的页面布局 .......................63
目录
3
$4.3.3 使用 Portal 技术实现 MSN 风格的页面布局 .................................. 64
第五章 总结 ...................................................................................................................69
参考文献 .........................................................................................................................70
在读期间公开发表的论文和承担科研项目及取得成果 ............................................ 71
.............................................................................................................................72
第一章 绪
1
第一章 绪
$1.1 背景
$1.1.1 Web 应用开发成为企业级开发的主流
早在 70 年代末第一个关系型数据库管理系统出现时,计算机的数据库时代就
经悄开始,那时的观念是由应用程序与关系型数据库共享统一文件系统,这种
数据处理的模式一般称为单层结构(1-Tier)。由于这种结构的数据库程序占用计算
机资源较多也不利于多用户环境数据库的访问,于是在 80 年代中期,数据库应用
开始转向 C/SClient/Server)结构,也就是所谓的两层结构(2Tier[1]
两层结构在近十年内不但得到了广泛的运用,而且相当成功。然而,在两层
C/S 结构成功的背后却逐渐暴露出其架构上的缺陷,其中最明显的问题表现在应用
程序的伸缩性和维护方面。例如,一个跨国企业如何把数据库管理系统及其应用
程序分散到十分缓慢的网络上,如何控制数据的统一性和完整性;一旦应用程序
有任何改动,维护人员就必须修改每一个客户端上的应用。特别是每一个客户端
往往必须配置数据库的客户端服务和 ODBC/BDE 软件,使得客户端占用资源很多,
配置也很繁琐。
90 年代中后期,由于分布式计算技术和 Web 的迅速发展,数据库应用系统在
传统C/S 结构的基础上,出现了两个重要的转变:一是在客户层与数据库服务
器层之间增加了应用程序服务器层,应用程序服务器包括了统一的界面、业务规
则的封装和数据处理逻辑的规定等等。这种新的结构就是所谓的 3层或多层结构。
多层应用服务技术允许分割应用程序,本地计算机上无须安装一整套数据库客户
工具,就可以在另一台机器上存取数据,本地计算机上无须安装一整套数据库客
户工具,就可以在另一台机器上存取数据。同时它允许对业务规则和进程进行集
中管理,并在整个网络上分发、实现进程负载的动态调节。
随着 Internet/Intranet 的流行,越来越多的客户需要数据库的前端能够在浏
器中运行,于是出现了 B/SBrowser/Server)结构。应用服务器的出现使原来
用资源很多的应用程序客户端(称作肥客户)转变成占用资源较少的瘦客户端,
也使得瘦客户端可以在浏览器中运行。这两个转变实际上同时发展并且相互推进,
可以认为,CGI Web 数据库访问方案是三层结构与 B/S 结构共同的鼻祖。
由此可见,上述的基于 B/S 结构的应用程序,即 Web 应用程序,不但消除了
客户端部署的成本,而且使企业可以低成本的在互联网上展现自己并整合自己的
Web 应用开发的架构和过程
2
业务流程。
$1.1.2 分布式应用技术呈现百花齐放的态势
1COMDCOM COM
COM 通过为组件规定二进制标准、定义通信接口和提供动态链接组件的方法
解决了早期组件开发者面临的问题,把开发者从繁琐的底层设计和连通性事务中
解放了出来,让他们可以专心于组件的设计;后来,开发者产生了需要附加服务
来支持分布式的、面向事务处理的应用程序的需求,所以 MS 1995 发布
DCOM即分布式 COM一种分布式组件的规范和服务,从而让位于不同的计算
机上的组件可以被远程调用;98 年,MS 发布 MTS 即微软事务服务器,为组件开
发者提供新的服务,包括事务管理、基于角色的安全模型、实例激活管理、组件
的部署和安装以及组件配置的管理工具等。
MS DCOM MTS 融合到一起,
将其命名为 COM[2]
2CORBA
CORBACommon Object Request Broker Architecture, 公共对象请求代理
系结构)是由 OMG(对象管理组织,Object Management Group提出的应用软件
体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异构
分布应用程序间的互操作性及独立于平台和编程语言的对象重用。1990 11 月,
OMG 发表《对象管理体系指南》初步阐明了 CORBA 的思想1991 10 月,
OMG 推出 1.0 版,其中定义了接口定义语言IDL、对象管理模型以及基于动态
请求的 API 和接口仓库等内容;
1991 12 月,
OMG 推出了 CORBA 1.1 版,在澄
清了 1.0 版中存在的一些二义性的基础上,引入了对象适配器的概念;1996 8
月,OMG 基于以前的升级版本,完成了 2.0 版的开发,该版本中重要的内容是对
象请求代理间协议(IIOPInternet Inter-ORB Protocol)的引入,用以实现不同厂
商的 ORB 真正意义上的互通; 1998 9月,OMG 发表CORBA 2.3 版,增加了
支持 CORBA 对象的异步实时传输、服务质量规范等内容。目前,宣布支持 CORBA
2.3 规范的中间件厂商包括 Inprise(Borland)IonaBEA System 等著名大厂。
3Java RMI
RMIJava Remote Method Invocation(远程方法调用),提供了针对 Java
对象的一种简单而直接的分布式计算模型。RMI Java 的安全性和便携性融入
了分布式计算中,当你把 Java 用到你的系统中时,
RMI 带给你 Java 所有的优越性。
Java RMI 的优点有:完全用 Java 实现;支持对象概念,
RMI 能够将任何对象作为
参数和返回值;能够实现客户端和服务器端对象(接口的实现)的互传递;能够
在分布式计算中运用所有的面向对象的技术,如设计模式;使用内建的 Java 安全
机制来保护用户的系统安全;容易书写使用等。
4Web 服务
第一章 绪
3
Web 服务包含了一系列标准和一些正在发展中的标准。这些标准是由 W3C
设计和指定的,用来促进跨平台的程序对程序通信。W3C 目前已经指定了一个模
板(WSDL)和一个过程调用协议(SOAP)的编程接口作为正式的 Web 务标
准。Web 服务体系结构有关的其他 Web 服务标准有 UDDIXMLHTTP 等。
Web Service 实现了真正互联网层次的远程方法调用,并且可以穿过防火墙,这些
都是它的先进性所在。Web Service Java 平台和.NET 下都已经被实现。
$1.1.3 企业应用开发非常复杂
企业一方面要应付同行的竞争,另一方面有内部的利益驱动。在这两种动力
下,企业要重组自己的业务流程以提高竞争力和提供更好的服务。与之相配和就
是将计算机技术应用到企业的生产管理中来。
但是企业,尤其是制造业的问题相当多。以下是常见的问题[3]
市场预测困难:一方面,市场变化如此之快,而常常导致刚做完预测,
产品技术或市场需求已经变化;另一方面,正确性越高的预测,其可用
性就越低。
前置时间短、交货急迫:前置时间即一件工作从开始到结束的时间。当
市场快速成长时期,订单交期相当急迫;当市场缓和时候,顾客倾向于
尽量晚下订单。所以,不论生意好或不好,出货都很急。
设计变更难以控制:造成设计变更的原因很多,如设计或品质发生问题、
顾客偏好改变等。设计变更涉及行销、研发、工程、生产、采购、仓储、
会计、售后服务等各个方面。因此,设计变更程序很难控制。
相关活动协调困难:在企业中,有许多活动必须适当协调以确保生产效
率。这些协调活动很复杂,因此也变得非常困难。
生产流程经常变动:因为变化不断发生,所以制造业很难维持一个稳定
的生产排程表。企业要经常处理这些生产流程的变动。
对于生产排程表的改变因应不良。
制造现场生产进度不明确,无法提供准确和及时的回馈。
制造现场的绩效衡量往往也很困难。
如果零件、原料的成本记录没有妥善维护,会造成制造成本的计算不正
确。
缺乏管理决策所需的信息
供货商的交货时期难以控制
供货商的商品品质不稳定
由于这些复杂性的存在,造成了企业应用的开发也有很大的复杂性。
$1.1.4 平台之争结果尚未明朗
Web 应用开发的架构和过程
4
目前的企业级开发平台基本上MS .NET 平台和 Java 平台,两者互不兼容,在未
来究竟那种平台会占据主流还是两者长期共存目前还没有一致的或明确的看法。目前这
两个平台的竞争很激烈。
$1.2 主要的 Web 应用开发平台
$1.2.1 Java
$1.2.1.1 Java 语言的历史
Java 语言的出现是计算机发展史上的戏剧性的事件[4]似乎体现了中国古代的
“祸兮,福之所依”的哲理。1990 Sun 司开始了一Green 目,开发用
于电器中的软件,从而使电器更加智能化。开始使用的是 C++语言,但是很快 Sun
就发现使用 C++语言做这件事情是一个错误。C++控制嵌入式系统足够灵活,但可
能出现会毁坏系统的问题。特别是 C++使用对系统资源的直接引用,要求编程人
员跟踪这些资源的管理方式,这对编程人员是很大的负担。Sun 于是开发了新语言
Oak 来解决这个问题。Oak 保留了熟悉的 C++语法,但省略了明确的资源引用、
针算法等潜在的危险特性。(注:原文献还提到了操作符重载,但笔者不认为这是
个危险特性,正因为如此,操作符重载才在 C#语言中得以保留)
Oak 是一种用于网络的精巧而安全的语言,Sun 公司曾依此投标一个交 互式
视项目,结果SGI 败。Oak 几乎家可归,巧这Mark Ardreesen
Mosaic Netscape 发了 Oak 项目组成员,他们用 Java 制了 HotJava
浏览器,得到了 Sun 公司首席执行官 Scott McNealy 的支持,触发了 Java
Internet也正是赶上Internet 大潮,从而使 Java 如日中天,成为了最受欢迎
的互联网语言。
$1.2.1.2 Java 语言的特点
Java 语言作为新一代的开发语言,具有如下特点:
简单(Simple)Java 的简单是相对于 C++而言的,Java 掩盖了 C++中一些
很复杂的低层动作,如网络通信、远程过程调用、线程模型等,从而是
Java 的开发效率更高。
纯面向对象(Object-Oriented)不同于 C++的混合兼容 C的面向对象,
Java
是纯面向对象的。
分布式(Distributed)Java 平台一方面把网络功能作为自己的核心功能,
第一章 绪
5
另一方面将远程过程调用也集成到平台中来。
稳健性(Robust)Java 引入了自动垃圾收集,消除了 C++中的指针,从而
大大提高了程序的稳健性。
安全性(Security)Java 拥有好几个层次上的保护措施,能有效地防止病
毒的侵入和破坏行为的发生。
结构中立性(Architecture Neutral):即软硬件平台独立性。Internet 有很多
不同机型的计算机,CPU 和操作系统都有所不同。Java 专门进行了一些
设计。Java 的编译器能产生一种结构中立的“字节码”,使得程序能在很
多种系统中执行。
可移植性(Portable):在不同的系统中使用一致的虚拟机规范,所以 Java
程序是有方便的可移植性。
高性能(High Performance)
Java 字节码能迅速地被 JIT 编译器转换成机器
(Machine Code)。随着 JIT 编译技术的不断发展,Java 的性能也越来越
逼进 CC++开发的程序。
多线程(Multi threaded)Java 平台内建的支持多线程和简洁的多线程编程
模型。
动态性(Dynamic)Java CC++语言更具有动态性,更能适应环境的
变化,Java 不会因类库的更新而重新编译程序。
$1.2.1.3 J2EE
为了更好的细分市场,Sun java 平台细分为 J2SE,J2EE,J2ME 三种版本(最
近又加入了 Java Card,它们分别具有不同的应用场合。J2SEJava2 Standard
Edition,是后两种版本的基础。J2EE,即 Java2 Enterprise Edition,用于企业级应用
开发。J2ME,即 Java2 Micro Edition,主要用于手持设备、嵌入式设备的开发。
J2EE 1.4 规范描述 J2EE 平台的架构[5],见下图:
摘要:

目录1目录摘要Abstract目录第一章绪论.................................................................................................................1$1.1背景..................................................................................................................1$1.1.1Web应用开发成为企业级开发的主流.......................

展开>> 收起<<
Web应用开发的架构和过程.pdf

共73页,预览8页

还剩页未读, 继续阅读

作者:陈辉 分类:高等教育资料 价格:15积分 属性:73 页 大小:3.22MB 格式:PDF 时间:2024-11-19

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 73
客服
关注