软件开发方法.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库访问接口JDBC同ODBC一样,允许程序员使用相 同的接口访问不同的数据库,JDBC还具有跨平台访问各 种数据库的功能。
消息服务JMS是一套与消息驱动的中间件通信的API。
Java Server Papes(JSP)可以使不懂Java的人也能用 Java编写动态网页。
Java 接口定义语言IDL通过建立远程接口支持Java和 CORBA应用的通信。
▪ 可以看出,构件沿袭了对象的封装特性,但
同时并不局限于一个对象,其内部可以封装
上一页
一个或多个类、原型对象甚至过程,结构是
下一页
灵活的。
停止放映
第7|83页
构件的使用
▪
▪ ▪ ▪
▪
▪ ▪ ▪
上一页 下一页 停止放映
每个构件都需要先注册才能使用。构件是通过它们的接口 特征来标识的,它们所提供的服务与访问方式是接口特征 的一部分内容。要考虑的因素包括: 应用编程接口(API)。 构件所需的开发和集成。 运行需求,例如资源的使用(内存和硬盘),时间或速度 以及网络协议。 服务需求,例如操作系统的接口,或需要其他构件的支持 等。 安全特征,例如访问控制和身份验证协议等。 嵌入式设计假定,有特定的数值/非数值算法使用。 异常处理。
供的基础设施。MTS可以为分布式企业应用提供服务器端
的构件运行和部署环境,它把企业应用系统的客户程序、
应用构件和各种资源有机结合起来(而COM/DCOM无
法有效地实现)。
第21|83页
Windows DNA
▪
▪ ▪ ▪ ▪ ▪ ▪ ▪
上一页
下一页 ▪ 停止放映 ▪
为了使Windows真正成为企业应用平台,Microsof公司又 推出了Windows DNA(分布式互联网应用体系结构)。它 是一个完整的、多层的新一代企业应用体系结构,也是一个 服务器端的开发平台,它包含以下主要产品:
▪ J2EE(Java 2 Platform,Enterprise Edition)是一个 基于Java的完整的企业级应用开发平台,它与Java
上一页 Enterprise API有机地结合、适合服务器端构件体系结构 下一页 的开发。
停止放映
第15|83页
J2EE的核心技术
上一页 下一页 停止放映
上一页 下一页 停止放映
第3|83页
软件开发技术
▪ 构件技术 ▪ 软件复用技术 ▪ C/S技术 ▪ B/S技术
上一页 下一页 停止放映
第4|83页
构件技术
▪ 软件产业和软件工程技术正面临着新的挑战。 而传统的软件设计思想根本无法应对。在这一 背景下,构件技术应运而生。
▪ 构件技术是基于OO技术上的更高级的抽象。它 把底层的对象集合打成包,组成功能“插件”。
基于构件技术的软件生产就是把已存在的构件
组装(集成)到当前软件系统的框架结构中, 从而生产出新的软件产品。
▪ 可以预见,构件技术是软件产业化革命的必然
发展趋势。
上一页
下一页
停止放映
第5|83页
构件技术概述
▪ OO技术是在“数据十算法”的基础上提升了对事物的 认识方法。而构件技术则在“对象+算法”的基础上将 认识事物的角度从对象个体本身提升到个体在群体中的 作用。这个认识的提高具有本质的不同。
上一页 下一页 停止放映
第19|83页
EJB的特点包括:
▪ 清晰的体系结构:支持多层应用体系结构和基于构件开发。
▪ 简化的编程模型:EJB构件的开发者只需关注于业务服务 实现,复杂的任务比如生命周期管理、持久性、事务处理、 安全、一致性及资源管理等等都是由EJB容器负责。
▪ 通用的编程模型:提供各种服务的高层API,Java是其编 程语言。
第8|83页
实现构件技术的必备条件
▪ 有标准软件体系结构,保证构件间通信协议统一, 实现同步和异步操作控制,突破本地空间限制, 充分利用网络环境。
▪ 构件有标准接口,保证系统可分解成多个功能独 立的单元,用构件组装而成。
▪ 构件独立于编程语言。 ▪ 构件提供版本兼容,来实现应用系统的扩展和更
新。
上一页 下一页 停止放映
下一页
wenku.baidu.com
停止放映
第10|83页
中间件
▪ 构件是依赖于平台环境的。那么在分布式异构 环境中如何应用构件呢?
▪ 中间件就是基于跨环境的构件应用而发展起来 的。中间件是介于应用层和网络层之间的一个 功能层次,是使应用系统独立于由异构操作环 境(操作系统、硬件平台及通信协议等)组成 的开发环境。
▪ 中间件扩展了客户/服务器结构,形成了一个
▪ J2ME(Java 2 Platform,Micro Edition)是可用于 Java设备(如Palm Pilots、呼机、手表等)开发平台。
▪ J2SE(Java 2 Platform,Standard Edition)支持标准 JDK编程,包含基本的Java语言支持、JFC库及其对 applet和application的支持。
中间件可实现互操作。
第12|83页
中间件分类
① 基于远程过程调用RPC(Remote Procedure Call) 的中间件,被调用的对象可以在分布系统中的任何物理 平台上。SunSoft的ONC+属于这种中间件。
② 面向消息的中间件,支持基于消息机制的进程间通信 方式。例如,SunSoft的ToolTalk。
第18|83页
EJB组件的分类
▪ EJB组件模型将EJB组件划分为两大类: • 实体组件 • 会话组件 • 消息驱动组件( EJB2.0 还包括第三类 )
▪ 组件模型对组件类型的划分实际上是将在应 用实践中证明行之有效的设计模式固化在组 件模型中,为开发人员提供一种简单、有效 的组件开发与部署途径。
在EJB组件模型中,一个组件本身只需执行那些与企业应 用的业务逻辑密切相关的代码,而将组件的生存周期管理、 命名与查找、并发控制、安全性、持久性、事物处理等服 务交由组件的运行环境去执行。
EJB的目标是为服务器端构件系统定义一个技术规范,该 规范能提供一个标准的、分布的、基于OO的体系结构; 能屏蔽复杂的系统级功能需求;能兼容CORBA标准;具 有与非Java应用之间的互操作能力。
上一页 Connect和BEA公司的WebLogic等。
下一页
停止放映
第13|83页
中间件面临的问题
▪ 中间件提供的服务不是万能的,它所应遵循的一 些原则离实际还有很大距离。表现在:
▪ 多数流行的中间件服务使用专有的API和专有的 协议,使得应用建立于单一厂家的产品,来自不 同厂家的实现很难互操作。
第9|83页
构件设计
▪ 因为构件依赖于平台环境,所以设计时有特殊要求:
⑴ 以接口为核心,使用开放标准。 统一的开放标准有, CORBA、DCOM、EJB等。
⑵ 构件语义的描述要形式化。在不同标准中,它们都有自
己的形式化语义规定。如在EJB中有会话Bean和实体 Bean事务描述符等。
⑶ 提炼封装构件过程要严格记录。由于构件允许第三方使
③ 基于对象请求代理ORB(Object Request Brokers) 的中间件,消息通过ORB进行路由选择,ORB同时处 理集成和安全方面的问题。如Microsoft的COM、 OMG的CORBA等。
④ 数据库中间件,支持对异构的关系数据库系统的透明 访问。例如Sybase的Open Server、Oracle的SQL
▪ 这种思想正在改变着软件的开发方法和人们的思维方式。
上一页 下一页 停止放映
第6|83页
构件的属性
▪ 构件是可独立配置的单元,因此构件必须自 包容。
▪ 构件强调与环境和其他构件的分离,因此构 件的实现是严格封装的,外界没机会或没必 要知道构件内部的实现细节。
▪ 构件可以在适当的环境中被复合使用,因此 构件需要提供清楚的接口规范,可以与环境 交互。
▪ 从抽象程度来看,OO技术已达到了类级重用(代码重 用),它以类为封装的单位。而构件是对一组类的组合 进行封装,可以将底层的多个逻辑组合成高层次上的粒 度更大的新构件,甚至直接封装到一个系统,使模块的 重用从代码级、对象级、架构级到系统级都可能实现。 显然,构件技术将抽象的程度提到了一个更高的层次。
用,所以要保证第三方用户能正确理解构件设计思想, 就必须记录每次提炼的变化。通常,要用版本来管理。
⑷ 设计模式也可以重用。基于构件的系统开发的优点之一 是重用,它的目标是代码、设计、解决方案都能重用。
⑸ 利用开发工具。利用开发工具创建构件和应用软件。工 上一页 具如Jbuilder、EJBMaker等。
第16|83页
J2EE的核心技术
▪
▪ ▪ ▪
▪ ▪ 上一页 ▪
下一页 停止放映
▪
EJB是J2EE规约中最重要的部分。EJB提供了让客户端使 用远程分布式对象的框架,规定了EJB构件如何与EJB容 器进行交互等服务。
RMI-IIOP用于实现Java和CORBA应用之间互操作。
Java 名字及目录接口JNDI提供命名服务和目录服务,它 是客户端代码连接EJB构件所必需的关键技术。
▪ 构件的封装、设计与实现隔离,构件间的交互通过规范定 义的接口进行;中间件在分布式交互模式上都规定了接口 机制,可以解决构件间的交互问题。
▪ 中间件将应用构件与系统资源隔离,使得构件开发者不用 考虑下层的系统平台。
▪
上一页 下一页
停止放映 ▪
中间件提供了构件封装、构件交互规则、构件与环境隔离 等机制,为软件重用提供了解决方案。
包括客户、中间件和服务器在内的三层次结构
上一页
及多层次结构,为开发可靠的、可扩展的、复
下一页
杂的事物密集型应用提供了有力的支持。
停止放映
第11|83页
构件和中间件
▪ 中间件是构件技术的一种实现,是构件存在的基础,它的 本质是对分布式应用的抽象,应用是在中间件提供的环境 中以构件的形式存在。
▪ 基于中间件开发的应用是面向需求的构件应用;构件专门 用于处理应用的业务逻辑,而中间件负责解决与业务无直 接关系的分布式应用中的支撑环境问题(例如,通信、互 操作、可靠性、容错性等)。
第1章 软件开发方法 (三)软件开发技术
计算机教学实验中心
问题的提出
▪ 什么是构件、中间件? ▪ 什么是CORBA、DOM和JEB? ▪ 什么是软件复用? ▪ 什么是C/S?B/S? ▪ C/S和B/S的区别? ▪ ……
上一页 下一页 停止放映
第2|83页
1.了解目前主要的软件开发技术 2.了解构件技术 3.了解软件复用技术 4.了解CORBA、DCOM和J2EE技术 5.了解C/S和B/S技术及开发基础
Java Mail 基于Java的电子邮件API。
第17|83页
EJB技术
▪
▪
▪
上一页 下一页 停止放映
EJB(Enterprise Java Beans)不是一种“产品”,而 是为开发和使用基于事务和分布对象应用的服务器端构件 而定义的一种技术规约。EJB体系结构相对于CORBA而言, 其最大的特点是简单性,可帮助软件开发人员快速地构建 分布式应用系统。
▪ 有些中间件服务只提供一些平台的实现,从而限 制了应用在异构系统之间的移植。
▪ 应用开发者在这些中间件服务上建立自己的应用 还要承担相当大的风险,随着技术的发展他们往 往还需要重写自己的系统。
上一页
下一页
停止放映
第14|83页
J2EE技术简介
▪ Java平台的第一个参考实现是 JDK(Java Development Kit),但 JDK并不支持服务器端构件开发。为了提供服务 器端部署的企业级服务,Sun公司开发了一些Enterprise API。但是早期的这些应用服务器暴露了Enterprise API 的许多问题。为了解决Enterprise API的问题,Sun公司 提出了三个不同的Java平台:
▪ 易移植性:可以部署到任何兼容的EJB容器中。
▪ 支持事务处理:可通过在代码外的描述来定义事务处理。
▪ 可扩展性:可以根据应用的增长而扩展,EJB服务器往往 还提供了负载平衡。
▪ 安全性:由EJB服务器提供资源的访问权限控制。
上一页
下一页
停止放映
第20|83页
COM+技术简介
▪ COM(构件对象模型)是Microsoft提出的第一个构件模 型。它起源于OLE,当时的OLE使用DDE(动态数据交换) 机制来支持程序之间的通信,由于DDE建立在Windows 消息机制基础上,稳定性和效率都很差,由此诞生了 COM。
▪ DCOM(分布构件对象模型)是COM技术在分布式环境 中的延伸(COM仅支持同一台计算机上构件之间的互操 作)。DCOM用网络协议来代替本地进程之间的通信,并 针对分布环境提供了一些新的特性,如网络安全性、跨平 台调用等。
▪
上一页 下一页 停止放映
MTS( Microsoft 事务服务器)是为满足企业应用而提