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