第 7 章 工具和运行平台 对外经济贸易大学信息学院
第七章. 工具和运行平台 第一节. 分析设计工具 第二节.Java 技术开发工具 第三节. 应用服务器介绍
第一节. 分析设计工具 电子商务应用 – 复杂软件系统 – 开发过程是一个复杂的过程。 系统的分析与设计 – 分析是翻译软件需求和深入理解问题的过程。 – 设计是一个逐步精化方案和适应实施环境的 过程 。 分析活动回答 “ 要做什么 ” ,设计活动回答 “ 该怎 么做 ” 。
7.1.1 分析设计意义 意义 – 捕捉现实问题的本质 – 简化现实问题 – 形成用户需求的形式化描述,即模型,简化求解过 程。 建模过程应该完成下列四个目标。 – 辅助项目组使系统直观化,表现出其原有的风貌或 投资的设想。 – 附注说明系统的结构和行为。 – 提供一个模板,指导系统的构建。 – 将项目开发组的决策付诸于文档。
7.1.2 分析设计方法概述 什么是模型 – 是现实世界中的某些事物的一种抽象表示。 – 抽象的含义是抽取事物的本质特性,忽略事物的其 他次要因素。 模型的表示形式 – 数学公式 – 缩小的物理装置 – 图表文字说明 – 专用的形式化语言。 模型建立的思路有两种:自顶向下、逐步求精和自底 向上、综合集成。
在信息系统中,模型是开发过程中的一个不可缺 少的工具。 描述信息系统模型最常见的方法 – 形式化描述 – 图示化描述。 信息系统的建模方法 – 面向过程的建模 – 面向数据的建模 – 面向信息的建模 – 面向决策的建模 – 面向对象的建模
面向对象方法 面向对象技术最初是从面向对象的程序 设计开始的,它的出现以 60 年代 simula 语言为标志。 20 世纪 90 年代很多面向对象方法已经拥 有了自己的符号体系,其中有三种比较 突出: – Jim Rumbaugh 的 OMT 方法 – Grady Booch 的 Booch 方法 – Ivar Jacbson 的 OOSE 方法
面向对象的开发 vs. 结构化分 析与设计开发 加工说明 数据对象 说明 STD 图 DFD 图 E-R 图 DD 控制说明 属性、操作、协作者 对象 - 行为模型 对象 - 关系模型 类 / 对 象模型 使用 实例 结构化分析设计模型面向对象分析设计模型
统一建模语言 UML UML 是面向的对象的建模语言 UML 融合了 Booch 、 OMT 和 OOSE 方法 中的基本概念。 UML 的定义包括: – UML 语义: UML 语义描述基于 UML 的精确元模型定义。 – UML 表示法:定义 UML 符号的表示法, 为开发者或开发工具使用这些图形符 号和文本语法为系统建模提供了标准。
UML 描述模型的三种基本词汇 1. 要素( Things ) – 表述结构的要素 包括用例 Use Case 、类 Class 、接口 Interface 和协作 Collaboration 。 – 表述行为的要素 包括交互 Interaction 和状态机 State Machine 。 – 表述组织的要素 即包 Package 。 – 用作辅助说明的要素 即注释 Notes 。
UML 描述模型的三种基本词汇 2. 关系( Relationships ) – 关联关系 (Association) 表达两个类的势力之间存在连接。聚合关系 (Aggregation) 和组合关系 (Composition) 是关联关 系的强化形式。 – 依赖关系 (Dependency) 依赖者 “ 使用 ” 被依赖者的关系。 – 泛化关系 (Generalization) 表达 “ 特殊的 ” 是 “ 一般的 ” 一种。 – 实现关系 (Realization) “ 被实现者 ” 是对要求的说明, “ 实现者 ” 是针对要 求的解决方案。
UML 描述模型的三种基本词汇 3. 图( Diagrams ) – 静态图 类图、对象图、用例图 – 动态图 活动图、序列图、协作图、状态图 – 体系结构图 构件图、部署图
面向对象的系统分析和设计的 基本步骤 面向对象的系统分析和设计的过程,是 一个应用逻辑模型建立的过程 五项 “ 任务 ” – 全局分析 – 局部分析 – 全局设计 – 局部设计 – 细节设计
面向对象分析工具 IBM Rational Rose 是一个面向对象的软件分析设计建模工具。 Rational ROSE 包括了统一建模语言( UML ), OOSE 及 OMT 。 描述规范它使用 UML( 统一建模语言 ) 的图形化 的模型描述规范,对软件系统的内 / 外部特性和 结构进行描述和定义,在描述和定义的过程中, 自动生成和管理设计文档和源代码框架。
第七章. 工具和运行平台 第一节. 分析设计工具 第二节.Java 技术开发工具 第三节. 应用服务器介绍
第二节.Java 技术开发工具 WebSphere Studio Application Developer – 简称 WSAD – 是 VisualAge® for Java™ 和 WebSphere Studio 的战略替代品。 – IBM 基于 Eclipse 工作平台开发. – 提供的 e-business 集成开发工具 可用于所有的 e-business 开发任务,包括 Web developers , Java developers , business analysts , architects , and enterprise programmers 。 – 是一个面向 J2EE 应用程序开发人员的集成开发环境( IDE )。 它为建立完整的 Web 、 EJB 和 EAR 应用程序所涉及的所有元素 提供了创建、测试和管理所需的全部工具。
Eclipse
WSAD 特点 使用可视化工具 使用统一建模语言( UML ) 用图形化性能分析和跟踪工具 使用 IBM Rational ClearCase LT 版本控 制 使用 Swing 和 AWT 组件 可视调试工具和内置的单元测试环境, 实现应用程序测试的流线化
运用 WSAD 建立和测试一个简单 的 Web 应用程序 实例: – 建立一个把华氏温度转换为摄氏温度的应用 程序。 在建立了一个用于处理温度转换逻辑的小 的 Java bean 后,使用 “JavaBean™ Web 页面 ” 向导来自动的生成 Web 应用程序的 其余部分。 Web 应用程序包含一个 HTML 页面、一个 JSP 页面和一个 servlet 。
步骤 1 :创建一个 Web Project ① 选择 File => New => Other 打 开向导列表。 ② 选择 Web => Web Project 。 单击 Next 。 ③ 在 Name 域中输入 MyWeb 。 ④ 单击 Finish 。在工作空间中就 创建了一个 Web 工程。
步骤 2 :创建一个温度转换的 Java bean ① 选择 MyWeb 项目。 ② 选择 File => New => Other 来 打开向导列表。 ③ 选择 Java => Java Class 。单 击 Next 。 ④ 在 Package 域中输入 com.test 。 ⑤ 在 Name 域中输入 TemperatureBean 。单击 Finish 。 ⑥ 当 TemperatureBean.java 编 辑器出现时,把右面的代码 加到封闭的花括号中 。 ⑦ 保存文件并关闭编辑器 下一步是使用向导从这个 Java bean 中快速生成一个 HTML 页面、一个 servlet 和 JSP 页面。
步骤 3 :创建 Web 资源 ① 选择 File => New => Other 来打开向 导列表。 ② 选择 Web => Java Bean Web Pages 。 单击 Next 。 ③ 用 Browse 按钮在 Destination folder 域中选择 /MyWeb/webApplication 。 ④ 在 Web page prefix 域中输入 Temperature 。 ⑤ 在 Java package 下,单击 Browse 。 ⑥ 选择 com.sample ,并单击 OK 。 ⑦ 在出现右图所示的向导页后,单击 Next 。
① 在 Bean 域下,单击 Browse 。 ② 从列表中选择 TemperatureBean , 并单击 OK 。 ③ 从列表中选择 convertToCelsius() 。 ④ 单击 Next
① 在向导左下方的表中, 选择 Page 选项卡。 ② 编辑 Page Title 域,并输 入 Temperature Conversion 。 ③ 在页的左上方的列表中 选择 temperature 域。 在下面的表中,把 Label 域改为 Fahrenheit 。 ④ 单击 Next 。
① 确保选中了左上方列表 中的 temperature 域。在 下面的表中,把 Label 域 改为 Celsius 。 ② 在向导左下方的表中, 选择 Page 选项卡。 ③ 编辑 Page Title 域,输入 Converted Temperature 。 ④ 单击 Finish 。
新生成的文件 TemperatureServlet Results.java TemperatureInputFo rm.html TemperatureResults. jsp
步骤 4 :测试 Web 应用程序 选择 MyWeb/webApplication 文件夹中的 temperatureInputForm.html 文件。单击右键,选择 Run on Server 。 一个新的 WebSphere 单元测 试服务器将会被自动创建。 在 Fahrenheit 域中输入 77 。 单击 Submit 链接。 已经建立和测试了一个 Web 模块,得到了一个 HTML 文件、一个 servlet 和 一个 JSP 页面。
7.2.2 其他开发工具 JDK ( Java Development Kit ) – JDK 是整个 Java 的核心,包括了 Java 运行环境( Java Runtime Envirnment ) 一个免费的 Java 开发工具集 (JDK) 和 Java 基础的 类库 (rt.jar) 。 – JDK 版本 Sun 公司发布的 JDK IBM 公司开发的 JDK BEA 公司的 Jrocket GNU 组织开发的 JDK 等等
Java Workshop JCreator Borland 的 JBuilder Oracle 的 JDeveloper IBM 的 Visual Age for Java BEA 的 WebLogic Workshop
第七章. 工具和运行平台 第一节. 分析设计工具 第二节.Java 技术开发工具 第三节. 应用服务器介绍
信息系统体系结构 – 信息系统应用体系结构也经历了三个 阶段:主机计算( Mainframe )、客 户 / 服务器( Client/Server )和多层结 构( N-Tier )。
多层结构( N-Tier ) 1. 客户层 – 客户层是消耗应用数据的层。大多数 通用客户层都是 Web 浏览器。 2. 信息发布层 – 信息发布层由负载均衡器和 Web 服务 器组成 3. 应用服务器层 – 应用服务器层提供应用的业务逻辑处 理。
4. 数据层 – 数据层由数据库服务器和存储系统组成。数据层是一 个中心存储库,是业务应用系统中所有数据资源的管 理中心。 除了核心应用层之外,多层体系结构共用组件 包括安全和管理: – 多层体系结构中的安全应分布在多层结构的各个层面, 并可得到统一的规划和实施。 – 多层体系结构中的第二个共用组件是管理。多层体系 结构涉及许多异构系统平台,它们协同工作以提供全 面的应用。
多层结构( N-Tier )核心思想 三层应用结构的核心概念 – 是把服务器端的功能和角色细化,利用应用服务器将应用的 业务逻辑、表示逻辑和数据存储分为三个不同的处理层。 多层结构核心思想 – 在三层结构上发展起来的,核心思想还是主要业务逻辑和客 户端与数据库独立出来。 – 优势: 多层结构( N-Tier )把业务逻辑完全独立出来,提高了系 统的灵活性和扩展能力,而且核心业务数据不被客户端直 接操作,在系统的安全性上提高了一大步。 从资源分配上来看,这样的结构充分发挥了系统的整体资 源。
7.3.1 应用服务器 功能: – 应用服务器层提供应用的业务逻辑处理。 – 应用逻辑服务器检索并处理来自数据库、业务系 统等应用的数据,然后向 Web 服务器返回格式化 的结果。 – 通过采用中间件技术可实现应用逻辑服务器的高 可用性及可伸缩性。 – 从技术实现的角度看,应用服务器通常是选用适 合的中间件软件系统,在中间件提供的基础框架 下建立、运行和管理一个三层客户机 / 服务器模式 的应用。
应用服务器解决的问题 负载均衡 高可靠性 数据库连接池 分布会话管理 嵌入对象 开发方法 高速缓存机制
应用服务器是发展方向 功能日渐完整 方便开发的工具日益增多 基于 XML 的开放性通信体系
7.3.2 WebSphere Application Server 安装硬件要求 – 至少为 Intel(R) Pentium(R) II 处理器(建议使用 Pentium III 500 MHz 或更快的处理器) – 至少为 512 MB RAM (建议使用 768 MB RAM ) – 磁盘空间: 至少需要具有 940 MB ,并且还应具有额外的磁盘空间用于开发 资源。 注意:如果不安装可选功能部件和运行时环境,则所需 最小磁盘空间可以减少。 如果下载电子映象,则还需要额外的磁盘空间。 – 显示器分辨率: Windows 至少为 800 x 600 显示器(建议使用 1024 x 768 ) Linux 至少为 1024 x 768 显示器
软件环境要求: – Windows(R) 2000 Professional (带有 Service Pack 2 或更高版本) – Windows XP Professional – Windows NT(R) Workstation 或 Server V4.0 (带有 Service Pack 6a 或 更高版本) – Linuz Red Hat V7.2 – Linux SuSE V7.2
7.3.3 其他应用服务器 BEA WebLogic Oracle Internet Application Server 8i Sybase Enterprise Application Server(EAServer)