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