版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二十章新型软件开发技术近年来,由于计算机网络技术,尤其是Internet的高速发展,软件开发项目所基于的计算环境发生了深刻的变化,这些变化对软件工程和软件开发方法学提出了新的研究课题。本章将对当前软件工程领域和软件产业界的热点技术(包括Java,对象链接与嵌入技术,分布计算技术,Internet环境下的软件开发技术)进行简单介绍,以便读者了解当前软件开发技术的热点及其发展趋势。2023/1/41第二十章新型软件开发技术近年来,由于计算机网络技术,尤20.1Internet与Java简介作为一种全球性的信息交流与共享网络,Internet在近年获得了高速发展,国内的Internet用户数量也在迅速增长。Internet不仅具有丰富的信息资源,也具有方便灵活的信息服务设施。由于应用需求的牵引和各国政府对Internet的大力支持,Internet技术仍在不断进步,其应用领域也在不断拓宽。可以预计,Internet将发展成为信息社会的主要支柱之一。第二十章新型软件开发技术2023/1/4220.1Internet与Java简介作为一种全球性的信20.1.1Internet简介Internet的出现可以追溯到本世纪60年代初。1968美国国防部下属的高级研究计划局建立Internet的前身ARPANET。由于ARPANET网络项目名为“TheInternetworkingProject”,所以,由ARPANET发展起来的网络被称为“Internet”。从用户角度看,Internet是一个庞大的全球性计算机网络,它连接了大量相互独立的计算机并提供信息交流和共享的手段。从物理角度看,Internet是一个“网间网”,它以主干网连接一些规模较小的子网,子网再由规模更小的网络互连而成,依此类推,形成一种树型结构。20.1Internet与Java简介2023/1/4320.1.1Internet简介Internet的出现可Internet简介Internet所基于的传输协议是TCP/IP(传输控制协议/互连网协议)。Internet提供的信息服务包括电子邮件(E-mail),文件传输(FTP),远程登录(Telnet),网络新闻(News)以及各种查询服务(包括Gopher,WAIS和WWW)。20.1Internet与Java简介2023/1/44Internet简介Internet所基于的传输协议是TCP20.1.2Java的发展历史1991年,Sun公司成立Green小组,开始从事面向家用电器市场的软件产品的研究与开发。研究小组最初曾希望扩充C++作为编程语言,但后来发现C++在简单性和安全性方面无法满足家用电器集成控制软件的要求,因而决定自行开发新语言,这种语言就是Java的前身,当时名为Oak.1992年8月,Oak与GreenOS(一种操作系统)、用户接口模块和硬件模块被集成为StarSeven。Sun将Oak技术与WWW结合起来,并采用“InternetPlay”(允许用户在Internet上免费使用)策略占领市场份额。基于这种指导思想,JamesGosling和Naughton于95年1月分别完成了Oak的新版和第一个基于Oak的应用程序WebRunner.Oak从此更名为Java。20.1Internet与Java简介2023/1/4520.1.2Java的发展历史1991年,Sun公司成立20.1.3Java的特征1.简单性Java是“纯”面向对象语言,它摈弃了C++的过程式成分,从而使语法和语义都比较单纯,容易学习和使用。Java对C++中容易引起软件错误的成份进行了相当成功的改造,例如去掉指针,取消多重继承和操作符重载(OperatorOverloading),将内存管理任务由程序员移向Java内嵌的自动内存回收机制,等等,从而简化语义,减少出错机会,减轻程序员负担。Java提供大量功能丰富的可重用类库简化了编程工作量。20.1Internet与Java简介2023/1/4620.1.3Java的特征1.简单性20.1InternJava的特征2.面向对象与C++一样,Java的对象有模块化性质和信息隐藏能力,满足面向对象的封装要求。Java对面向对象的继承性的支持方式也与C++类似。Java通过抽象类和接口(interface)支持面向对象的多态性要求:一个对外接口,多种内部实现。20.1Internet与Java简介2023/1/47Java的特征2.面向对象20.1Internet与JavaJava的特征3.分布式特征。4.半编译、半解释特征。5.可移植性。6.安全性7.多线程20.1Internet与Java简介2023/1/48Java的特征3.分布式特征。20.1Internet与Ja20.1.4Java的语法机制由于Java的基本语法机制(例如数据类型、表达式、程序流控制、结构化异常处理等)都脱胎于C++,所以,本小节只讨论Java明显区别于C++的语法机制,它们包括:类、接口、程序包(package)、自动内存回收以及多线程。20.1Internet与Java简介2023/1/4920.1.4Java的语法机制由于Java的基本语法机制Java的语法机制1.类。类是Java中最基本、最重要的语法设施。2.接口。接口是一种抽象类,其中只能出现静态常量或抽象方法的定义。3.程序包。程序包是一些相关类或接口的集合。4.自动内存回收。5.多线程20.1Internet与Java简介2023/1/410Java的语法机制1.类。类是Java中最基本、最重要的语法20.1.5Java的意义Java的出现和流行对于软件产业乃至整个信息产业都有十分深远的影响:首先,Java与WWW的结合极大地丰富了WWW页面的表现能力、交互能力和动态能力,从而为Internet的进一步发展和普及奠定了较好的软件技术基础。其次,Java以其独具优势的小程序代码技术很好地支持了网络计算观念,用户可以通过WWW浏览器和Internet使用WWW服务器上的众多软件,不必在自己的机器上安装种种庞大而且复杂的应用软件。最后,Java与WWW的结合可望改变传统的软件生产和销售方式。20.1Internet与Java简介2023/1/41120.1.5Java的意义Java的出现和流行对于软件产20.2Java与Internet环境下的软件开发在Internet环境下使用Java进行软件开发的主要任务之一是制作功能丰富并具有交互能力的WWW主页(HomePage)。20.2.1基于Java的软件开发过程20.2.2Java与多媒体主页的制作20.2.3Java与交互式主页的制作20.2.4Java与图形界面20.2.5Java与网络程序设计第二十章新型软件开发技术2023/1/41220.2Java与Internet环境下的软件开发在In20.3对象链接与嵌入(OLE)技术如果将不同应用程序生成的数据构成复合文件,可以采用两种方法保持数据与其应用程序之间的关联:①数据仍位于初始创建处,复合文件中仅包含关联信息;②数据的拷贝以及数据与应用程序的关联信息都进入复合文件。这两种关联方法分别称为“链接”与“嵌入”。第二十章新型软件开发技术2023/1/41320.3对象链接与嵌入(OLE)技术如果将不同应用程序生20.3.1OLE简介OLE的初衷是通过一些规模较小、相互独立的应用软件的协同工作来为用户提供灵活的软件解决方案。按照软件工程的原理,规模较小的应用软件易于开发,也易于维护。只要这些应用软件遵循OLE2.0所定义的统一框架,它们便可独立开发与进化,并在不同的应用场合下重用。OLE的内容相当丰富,它包含构件对象模型、结构化存储与复合文件、数据对象传送、复合文档、OLE自动化、OLE控件等内容。20.3对象链接与嵌入(OLE)技术2023/1/41420.3.1OLE简介OLE的初衷是通过一些规模较小、相20.3.2构件对象模型构件对象模型(COM)是OLE其余部分的基础。作为规范,COM定义了OLE的基本术语:对象、接口和构件,同时也定义了用于对象创建和对象间彼此关联的标准机制,这种机制独立于对象的实现方法和编程语言,也独立于使用对象的客户。构件对象模型的实现(也称构件对象库)包含一些用于创建和管理对象的API函数,同时也包含跨越进程边界的接口函数调用的调度功能。所有的OLE对象都是通过接口来访问的。遵循COM规范的对象称为构件对象。20.3对象链接与嵌入(OLE)技术2023/1/41520.3.2构件对象模型构件对象模型(COM)是OLE其20.3.3结构化存储与复合文件正象不同应用程序希望共享存储设备一样,OLE的不同构件也希望共享同一磁盘文件,这样才便于构件的集成。于是,OLE提出了结构化存储(StructuredStorage)规范,它可形象地比喻为“文件内部的文件系统”。具体地说,它将单个文件视为存储和流对象的结构化集合,其中的存储对象可类比为文件系统中的目录,流对象可类比为文件。它们分别支持OLE的标准接口IStorage和IStream。存储对象可以象目录那样嵌套。20.3对象链接与嵌入(OLE)技术2023/1/41620.3.3结构化存储与复合文件正象不同应用程序希望共享结构化存储20.3对象链接与嵌入(OLE)技术2023/1/417结构化存储20.3对象链接与嵌入(OLE)技术2022/12复合文件复合文件是OLE系统中结构化存储规范的实现。复合文件允许用户以事务(transaction)方式打开存储对象。使用复合文件的另一好处是可以用OLE提供的标准接口浏览任何复合文件的结构。20.3对象链接与嵌入(OLE)技术2023/1/418复合文件复合文件是OLE系统中结构化存储规范的实现。20.320.3.4数据对象传输OLE的数据对象传送机制用于处理构件之间格式化数据的交换。OLE的数据传送机制不仅允许数据源描述其数据格式(例如标准的Windows剪贴板格式CF_TEXT、CF_BITMAP、CF_等),也允许数据源说明数据的目标显示设备(屏幕、打印机等),还可说明传输媒介。数据对象传送机制在OLE中被称为“一致数据传送”,这是因为该机制可以同时支持不同的OLE传送协议。Windows的剪贴板(Clipboard)主要用于在应用程序内部或应用程序之间传送数据。20.3对象链接与嵌入(OLE)技术2023/1/41920.3.4数据对象传输OLE的数据对象传送机制用于处理20.3.5复合文档OLE复合文档模型的主要目标是将不同应用程序生成的数据集成为单个文档,并在用户需要时启动相应的应用程序察看或编辑这些数据。在该模型中,被集成的数据表示为嵌入或链接数据对象,包含这些数据对象并为它们提供察看或编辑场所的应用程序称为包容器(Container),负责生成并编辑数据对象的应用程序称为服务器(Server)。因为,OLE是一般化的构件协同框架,所以,复合文档模型只规定了包容器、服务器、数据对象必须实现的一些标准接口。除些之外,它们互不相关。20.3对象链接与嵌入(OLE)技术2023/1/42020.3.5复合文档OLE复合文档模型的主要目标是将不同20.3.6OLE自动化长期以来,用户一直希望通过某种宏语言来控制多个应用程序,让它们协同完成某种工作流程。为了实现上述目标,OLE要求参与自动化过程的应用程序或构件具有可编程的对外接口。为OLE自动化提供宏编程环境的应用程序或构件称为自动化控制器(AutomationController)。20.3对象链接与嵌入(OLE)技术2023/1/42120.3.6OLE自动化长期以来,用户一直希望通过某种宏20.3.7OLE控件在Microsoft操作系统平台下,控件(Controls)是指能够将用户界面事件(鼠标动作、键盘动作等)转化为可编程的事件处理器的界面元素。OLE控件(OLEControls)不仅具备普通控件的特征,同时也是OLE自动化对象、OLE服务器和具有定位激活能力的嵌入对象。OLE控件的事件处理器位于控件包容器(ControlContainers)中,这就是说,控件包容器可以接收到OLE控件转发的用户界面事件,进而引发各种行为。20.3对象链接与嵌入(OLE)技术2023/1/42220.3.7OLE控件在Microsoft操作系统平台下OLE控件从控件包容器的角度来看,OLE控件包含以下内容:①属性。包容器可以通过控件提供的接口函数获取或设置属性值;②事件。控件将界面上发生的某些事件传送给包容器并引发包容器中相应的事件处理器;③方法。包容器通过OLE控件的外部可见方法获取或设置属性值。20.3对象链接与嵌入(OLE)技术2023/1/423OLE控件从控件包容器的角度来看,OLE控件包含以下内容:220.4CORBA与分布计算技术80年代以来,由于个人计算机、工作站和计算机网络技术的迅速发展,越来越多的用户已经自觉或不自觉地置身于资源分布的网络计算环境中。为了有效地共享网络资源,通过高效的信息传输实现没有平台和地理隔阂的协同工作,分布计算技术应运而生,并在近年获得了迅速发展。第二十章新型软件开发技术2023/1/42420.4CORBA与分布计算技术80年代以来,由于个人计20.4.1分布计算环境网络计算环境包括计算平台、网络通信设施以及支持网络计算的基本服务。用户在进行网络计算时不必关心网络传输过程。分布计算环境以网络计算环境为基础,增加支持平台无关和资源分布透明性的分布计算基础结构、支持分布计算的基本服务以及分布式应用软件,从而更好地支持分布式协同工作。20.4CORBA与分布计算技术2023/1/42520.4.1分布计算环境网络计算环境包括计算平台、网络通分布计算环境从用户角度看,分布计算环境是消除了计算平台差异和地理隔阂的信息处理环境;从分布式应用的开发人员角度看,分布式计算环境提供了统一的分布式软件结构框架和基本的分布式服务支持,从而简化了分布式应用的开发,提高了可重用性、可移植性和分布式应用之间的互操作性;对于采用分布式计算的组织机构而言,分布计算环境较网络计算环境具有更好的灵活性、可伸缩性,能更好地支持信息共享和协同工作。20.4CORBA与分布计算技术2023/1/426分布计算环境从用户角度看,分布计算环境是消除了计算平台差异和20.4.2分布式计算技术为了实现分布计算环境的目标,当前广泛采用的主要分布计算技术有:1.远程过程调用2.分布式文件系统3.分布式数据库系统4.名字服务5.安全服务6.时间服务7.多线程机制8.互操作技术20.4CORBA与分布计算技术2023/1/42720.4.2分布式计算技术为了实现分布计算环境的目标,当20.4.3CORBA概述分布计算环境下的互操作性是指多个软件元素相互通信并协同完成任务的能力。为了实现互操作性,分布计算环境应该提供:1自动通信机制。它负责传递请求、参数及结果,负责软件元素之间的同步。2抽象机制,即相互操作的软件元素在编程语言、实现细节和工作平台等方面应该相互独立。3动态机制。它负责提供动态搜索软件元素、动态构造请求及其参数的能力。面向对象技术成为解决互操作问题的最佳选择。对象管理集团(OMG)基于面向对象技术,给出了以对象请求代理(ObjectRequestBroker,简称ORB)为中心的对象管理结构。20.4CORBA与分布计算技术2023/1/42820.4.3CORBA概述分布计算环境下的互操作性是指多对象管理结构20.4CORBA与分布计算技术2023/1/429对象管理结构20.4CORBA与分布计算技术2022/12/ORB在OMG的对象管理结构中,ORB是一个关键的通信机制,它以实现互操作性为主要目标,处理对象之间消息分布。对象服务实现基本的对象创建和管理功能,通用服务则使用对象管理结构所规定的类接口实现一些通用功能。针对ORB,OMG又进一步提出了CORBA技术规范,主要内容包括接口定义语言(IDL),接口池(IR),动态调用接口(DII),对象适配器等。20.4CORBA与分布计算技术2023/1/430ORB在OMG的对象管理结构中,ORB是一个关键的通信机制,CORBA1.CORBA利用IDL统一地描述服务器对象(向调用者提供服务的对象)的接口。2.CORBA的接口池包括了分布计算环境中所有可用的服务器对象的接口表示。3.CORBA的动态调用接口提供了一些标准函数以供客户对象动态创建请求、动态构造请求参数。4.在CORBA中,对象适配器用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB内部的某些功能。20.4CORBA与分布计算技术2023/1/431CORBA1.CORBA利用IDL统一地描述服务器对象(向调20.4.4Internet环境下的分布式软件开发以Sun公司开发的支持CORBA规范的Joe系统为例说明如何使用CORBA在Internet环境下进行分布式软件开发。简而言之,Joe=CORBA+JAVA.Joe以标准的Java类机制实现了符合CORBA规范的对象请求代理功能,能够在Java小应用程序和远程对象之间透明地实现消息传递,能够接收远程对象发回的异步事件,能够根据对象接口的IDL描述自动生成Java类存根(classstub)供本地客户对象使用。此外,Joe还提供了许多软件项目管理功能。20.4CORBA与分布计算技术2023/1/43220.4.4Internet环境下的分布式软件开发以Su过程1.获取远程服务器对象的接口,该接口必定是用IDL语言描述的。将该接口交Joe的IDL-to-Java编译器生成远程对象的Java接口。2.使用IDL-to-Java编译器生成的Java接口编写访问远程对象的程序。此时,编程方法已非常类似于访问本地对象的编程方法。3.编译并运行Java应用程序。20.4CORBA与分布计算技术2023/1/433过程1.获取远程服务器对象的接口,该接口必定是用IDL语言小结本章简单介绍了近年来新兴的软件技术,包括Java,对象链接与嵌入技术,分布计算技术,Internet环境下的软件开发技术。限于篇幅,本章的介绍不可能全面、详尽。第二十章新型软件开发技术2023/1/434小结本章简单介绍了近年来新兴的软件技术,包括Java,对象链谢谢2023/1/435谢谢2022/12/2035第二十章新型软件开发技术近年来,由于计算机网络技术,尤其是Internet的高速发展,软件开发项目所基于的计算环境发生了深刻的变化,这些变化对软件工程和软件开发方法学提出了新的研究课题。本章将对当前软件工程领域和软件产业界的热点技术(包括Java,对象链接与嵌入技术,分布计算技术,Internet环境下的软件开发技术)进行简单介绍,以便读者了解当前软件开发技术的热点及其发展趋势。2023/1/436第二十章新型软件开发技术近年来,由于计算机网络技术,尤20.1Internet与Java简介作为一种全球性的信息交流与共享网络,Internet在近年获得了高速发展,国内的Internet用户数量也在迅速增长。Internet不仅具有丰富的信息资源,也具有方便灵活的信息服务设施。由于应用需求的牵引和各国政府对Internet的大力支持,Internet技术仍在不断进步,其应用领域也在不断拓宽。可以预计,Internet将发展成为信息社会的主要支柱之一。第二十章新型软件开发技术2023/1/43720.1Internet与Java简介作为一种全球性的信20.1.1Internet简介Internet的出现可以追溯到本世纪60年代初。1968美国国防部下属的高级研究计划局建立Internet的前身ARPANET。由于ARPANET网络项目名为“TheInternetworkingProject”,所以,由ARPANET发展起来的网络被称为“Internet”。从用户角度看,Internet是一个庞大的全球性计算机网络,它连接了大量相互独立的计算机并提供信息交流和共享的手段。从物理角度看,Internet是一个“网间网”,它以主干网连接一些规模较小的子网,子网再由规模更小的网络互连而成,依此类推,形成一种树型结构。20.1Internet与Java简介2023/1/43820.1.1Internet简介Internet的出现可Internet简介Internet所基于的传输协议是TCP/IP(传输控制协议/互连网协议)。Internet提供的信息服务包括电子邮件(E-mail),文件传输(FTP),远程登录(Telnet),网络新闻(News)以及各种查询服务(包括Gopher,WAIS和WWW)。20.1Internet与Java简介2023/1/439Internet简介Internet所基于的传输协议是TCP20.1.2Java的发展历史1991年,Sun公司成立Green小组,开始从事面向家用电器市场的软件产品的研究与开发。研究小组最初曾希望扩充C++作为编程语言,但后来发现C++在简单性和安全性方面无法满足家用电器集成控制软件的要求,因而决定自行开发新语言,这种语言就是Java的前身,当时名为Oak.1992年8月,Oak与GreenOS(一种操作系统)、用户接口模块和硬件模块被集成为StarSeven。Sun将Oak技术与WWW结合起来,并采用“InternetPlay”(允许用户在Internet上免费使用)策略占领市场份额。基于这种指导思想,JamesGosling和Naughton于95年1月分别完成了Oak的新版和第一个基于Oak的应用程序WebRunner.Oak从此更名为Java。20.1Internet与Java简介2023/1/44020.1.2Java的发展历史1991年,Sun公司成立20.1.3Java的特征1.简单性Java是“纯”面向对象语言,它摈弃了C++的过程式成分,从而使语法和语义都比较单纯,容易学习和使用。Java对C++中容易引起软件错误的成份进行了相当成功的改造,例如去掉指针,取消多重继承和操作符重载(OperatorOverloading),将内存管理任务由程序员移向Java内嵌的自动内存回收机制,等等,从而简化语义,减少出错机会,减轻程序员负担。Java提供大量功能丰富的可重用类库简化了编程工作量。20.1Internet与Java简介2023/1/44120.1.3Java的特征1.简单性20.1InternJava的特征2.面向对象与C++一样,Java的对象有模块化性质和信息隐藏能力,满足面向对象的封装要求。Java对面向对象的继承性的支持方式也与C++类似。Java通过抽象类和接口(interface)支持面向对象的多态性要求:一个对外接口,多种内部实现。20.1Internet与Java简介2023/1/442Java的特征2.面向对象20.1Internet与JavaJava的特征3.分布式特征。4.半编译、半解释特征。5.可移植性。6.安全性7.多线程20.1Internet与Java简介2023/1/443Java的特征3.分布式特征。20.1Internet与Ja20.1.4Java的语法机制由于Java的基本语法机制(例如数据类型、表达式、程序流控制、结构化异常处理等)都脱胎于C++,所以,本小节只讨论Java明显区别于C++的语法机制,它们包括:类、接口、程序包(package)、自动内存回收以及多线程。20.1Internet与Java简介2023/1/44420.1.4Java的语法机制由于Java的基本语法机制Java的语法机制1.类。类是Java中最基本、最重要的语法设施。2.接口。接口是一种抽象类,其中只能出现静态常量或抽象方法的定义。3.程序包。程序包是一些相关类或接口的集合。4.自动内存回收。5.多线程20.1Internet与Java简介2023/1/445Java的语法机制1.类。类是Java中最基本、最重要的语法20.1.5Java的意义Java的出现和流行对于软件产业乃至整个信息产业都有十分深远的影响:首先,Java与WWW的结合极大地丰富了WWW页面的表现能力、交互能力和动态能力,从而为Internet的进一步发展和普及奠定了较好的软件技术基础。其次,Java以其独具优势的小程序代码技术很好地支持了网络计算观念,用户可以通过WWW浏览器和Internet使用WWW服务器上的众多软件,不必在自己的机器上安装种种庞大而且复杂的应用软件。最后,Java与WWW的结合可望改变传统的软件生产和销售方式。20.1Internet与Java简介2023/1/44620.1.5Java的意义Java的出现和流行对于软件产20.2Java与Internet环境下的软件开发在Internet环境下使用Java进行软件开发的主要任务之一是制作功能丰富并具有交互能力的WWW主页(HomePage)。20.2.1基于Java的软件开发过程20.2.2Java与多媒体主页的制作20.2.3Java与交互式主页的制作20.2.4Java与图形界面20.2.5Java与网络程序设计第二十章新型软件开发技术2023/1/44720.2Java与Internet环境下的软件开发在In20.3对象链接与嵌入(OLE)技术如果将不同应用程序生成的数据构成复合文件,可以采用两种方法保持数据与其应用程序之间的关联:①数据仍位于初始创建处,复合文件中仅包含关联信息;②数据的拷贝以及数据与应用程序的关联信息都进入复合文件。这两种关联方法分别称为“链接”与“嵌入”。第二十章新型软件开发技术2023/1/44820.3对象链接与嵌入(OLE)技术如果将不同应用程序生20.3.1OLE简介OLE的初衷是通过一些规模较小、相互独立的应用软件的协同工作来为用户提供灵活的软件解决方案。按照软件工程的原理,规模较小的应用软件易于开发,也易于维护。只要这些应用软件遵循OLE2.0所定义的统一框架,它们便可独立开发与进化,并在不同的应用场合下重用。OLE的内容相当丰富,它包含构件对象模型、结构化存储与复合文件、数据对象传送、复合文档、OLE自动化、OLE控件等内容。20.3对象链接与嵌入(OLE)技术2023/1/44920.3.1OLE简介OLE的初衷是通过一些规模较小、相20.3.2构件对象模型构件对象模型(COM)是OLE其余部分的基础。作为规范,COM定义了OLE的基本术语:对象、接口和构件,同时也定义了用于对象创建和对象间彼此关联的标准机制,这种机制独立于对象的实现方法和编程语言,也独立于使用对象的客户。构件对象模型的实现(也称构件对象库)包含一些用于创建和管理对象的API函数,同时也包含跨越进程边界的接口函数调用的调度功能。所有的OLE对象都是通过接口来访问的。遵循COM规范的对象称为构件对象。20.3对象链接与嵌入(OLE)技术2023/1/45020.3.2构件对象模型构件对象模型(COM)是OLE其20.3.3结构化存储与复合文件正象不同应用程序希望共享存储设备一样,OLE的不同构件也希望共享同一磁盘文件,这样才便于构件的集成。于是,OLE提出了结构化存储(StructuredStorage)规范,它可形象地比喻为“文件内部的文件系统”。具体地说,它将单个文件视为存储和流对象的结构化集合,其中的存储对象可类比为文件系统中的目录,流对象可类比为文件。它们分别支持OLE的标准接口IStorage和IStream。存储对象可以象目录那样嵌套。20.3对象链接与嵌入(OLE)技术2023/1/45120.3.3结构化存储与复合文件正象不同应用程序希望共享结构化存储20.3对象链接与嵌入(OLE)技术2023/1/452结构化存储20.3对象链接与嵌入(OLE)技术2022/12复合文件复合文件是OLE系统中结构化存储规范的实现。复合文件允许用户以事务(transaction)方式打开存储对象。使用复合文件的另一好处是可以用OLE提供的标准接口浏览任何复合文件的结构。20.3对象链接与嵌入(OLE)技术2023/1/453复合文件复合文件是OLE系统中结构化存储规范的实现。20.320.3.4数据对象传输OLE的数据对象传送机制用于处理构件之间格式化数据的交换。OLE的数据传送机制不仅允许数据源描述其数据格式(例如标准的Windows剪贴板格式CF_TEXT、CF_BITMAP、CF_等),也允许数据源说明数据的目标显示设备(屏幕、打印机等),还可说明传输媒介。数据对象传送机制在OLE中被称为“一致数据传送”,这是因为该机制可以同时支持不同的OLE传送协议。Windows的剪贴板(Clipboard)主要用于在应用程序内部或应用程序之间传送数据。20.3对象链接与嵌入(OLE)技术2023/1/45420.3.4数据对象传输OLE的数据对象传送机制用于处理20.3.5复合文档OLE复合文档模型的主要目标是将不同应用程序生成的数据集成为单个文档,并在用户需要时启动相应的应用程序察看或编辑这些数据。在该模型中,被集成的数据表示为嵌入或链接数据对象,包含这些数据对象并为它们提供察看或编辑场所的应用程序称为包容器(Container),负责生成并编辑数据对象的应用程序称为服务器(Server)。因为,OLE是一般化的构件协同框架,所以,复合文档模型只规定了包容器、服务器、数据对象必须实现的一些标准接口。除些之外,它们互不相关。20.3对象链接与嵌入(OLE)技术2023/1/45520.3.5复合文档OLE复合文档模型的主要目标是将不同20.3.6OLE自动化长期以来,用户一直希望通过某种宏语言来控制多个应用程序,让它们协同完成某种工作流程。为了实现上述目标,OLE要求参与自动化过程的应用程序或构件具有可编程的对外接口。为OLE自动化提供宏编程环境的应用程序或构件称为自动化控制器(AutomationController)。20.3对象链接与嵌入(OLE)技术2023/1/45620.3.6OLE自动化长期以来,用户一直希望通过某种宏20.3.7OLE控件在Microsoft操作系统平台下,控件(Controls)是指能够将用户界面事件(鼠标动作、键盘动作等)转化为可编程的事件处理器的界面元素。OLE控件(OLEControls)不仅具备普通控件的特征,同时也是OLE自动化对象、OLE服务器和具有定位激活能力的嵌入对象。OLE控件的事件处理器位于控件包容器(ControlContainers)中,这就是说,控件包容器可以接收到OLE控件转发的用户界面事件,进而引发各种行为。20.3对象链接与嵌入(OLE)技术2023/1/45720.3.7OLE控件在Microsoft操作系统平台下OLE控件从控件包容器的角度来看,OLE控件包含以下内容:①属性。包容器可以通过控件提供的接口函数获取或设置属性值;②事件。控件将界面上发生的某些事件传送给包容器并引发包容器中相应的事件处理器;③方法。包容器通过OLE控件的外部可见方法获取或设置属性值。20.3对象链接与嵌入(OLE)技术2023/1/458OLE控件从控件包容器的角度来看,OLE控件包含以下内容:220.4CORBA与分布计算技术80年代以来,由于个人计算机、工作站和计算机网络技术的迅速发展,越来越多的用户已经自觉或不自觉地置身于资源分布的网络计算环境中。为了有效地共享网络资源,通过高效的信息传输实现没有平台和地理隔阂的协同工作,分布计算技术应运而生,并在近年获得了迅速发展。第二十章新型软件开发技术2023/1/45920.4CORBA与分布计算技术80年代以来,由于个人计20.4.1分布计算环境网络计算环境包括计算平台、网络通信设施以及支持网络计算的基本服务。用户在进行网络计算时不必关心网络传输过程。分布计算环境以网络计算环境为基础,增加支持平台无关和资源分布透明性的分布计算基础结构、支持分布计算的基本服务以及分布式应用软件,从而更好地支持分布式协同工作。20.4CORBA与分布计算技术2023/1/46020.4.1分布计算环境网络计算环境包括计算平台、网络通分布计算环境从用户角度看,分布计算环境是消除了计算平台差异和地理隔阂的信息处理环境;从分布式应用的开发人员角度看,分布式计算环境提供了统一的分布式软件结构框架和基本的分布式服务支持,从而简化了分布式应用的开发,提高了可重用性、可移植性和分布式应用之间的互操作性;对于采用分布式计算的组织机构而言,分布计算环境较网络计算环境具有更好的灵活性、可伸缩性,能更好地支持信息共享和协同工作。20.4CORBA与分布计算技术2023/1/461分布计算环境从用户角度看,分布计算环境是消除了计算平台差异和20.4.2分布式计算技术为了实现分布计算环境的目标,当前广泛采用的主要分布计算技术有:1.远程过程调用2.分布式文件系统3.分布式数据库系统4.名字服务5.安全服务6.时间服务7.多线程机制8.互操作技术20.4CORBA与分布计算技术2023/1/46220.4.2分布式计算技术为了实现分布计算环境的目标,当2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁矿石期货交易2025年度合同2篇
- 二零二五版绿城住宅小区项目委托代建施工合同4篇
- 二零二四年度庄队黄奎鱼塘养殖含技术培训与支持合同3篇
- 二零二四外架工程劳务分包与绿色施工协议3篇
- 一体化泵站施工方案
- 二零二四年农村中小学食堂托管服务与营养改善合同3篇
- 2025年果园承包项目农业机械化服务合同范本3篇
- 外墙凹槽施工方案
- 二零二五年度粮食储备与市场调拨合同4篇
- 2025年高校学生社会实践项目实习合同范本4篇
- 《天润乳业营运能力及风险管理问题及完善对策(7900字论文)》
- 医院医学伦理委员会章程
- xx单位政务云商用密码应用方案V2.0
- 农民专业合作社财务报表(三张报表)
- 动土作业专项安全培训考试试题(带答案)
- 大学生就业指导(高职就业指导课程 )全套教学课件
- 死亡病例讨论总结分析
- 第二章 会展的产生与发展
- 空域规划与管理V2.0
- JGT266-2011 泡沫混凝土标准规范
- 商户用电申请表
评论
0/150
提交评论