1、2023-5-131第二十章第二十章 新型软件开发技术新型软件开发技术o近年来,由于计算机网络技术,尤其是近年来,由于计算机网络技术,尤其是Internet的高速发展,软件开发项目所基于的计算环境发生的高速发展,软件开发项目所基于的计算环境发生了深刻的变化,这些变化对软件工程和软件开发方了深刻的变化,这些变化对软件工程和软件开发方法学提出了新的研究课题。法学提出了新的研究课题。o本章将对当前软件工程领域和软件产业界的热点技本章将对当前软件工程领域和软件产业界的热点技术术(包括包括Java,对象链接与嵌入技术,分布计算技对象链接与嵌入技术,分布计算技术,术,Internet环境下的软件开发技术环
2、境下的软件开发技术)进行简单进行简单介绍,以便读者了解当前软件开发技术的热点及其介绍,以便读者了解当前软件开发技术的热点及其发展趋势。发展趋势。2023-5-13220.1 Internet与与Java简介简介o作为一种全球性的信息交流与共享网络,作为一种全球性的信息交流与共享网络,Internet在近年获得了高速发展,国内的在近年获得了高速发展,国内的Internet用户数量用户数量也在迅速增长。也在迅速增长。oInternet不仅具有丰富的信息资源,也具有方便灵不仅具有丰富的信息资源,也具有方便灵活的信息服务设施。活的信息服务设施。o由于应用需求的牵引和各国政府对由于应用需求的牵引和各国政
3、府对Internet的大力的大力支持,支持,Internet技术仍在不断进步,其应用领域也技术仍在不断进步,其应用领域也在不断拓宽。在不断拓宽。o可以预计,可以预计,Internet将发展成为信息社会的主要支将发展成为信息社会的主要支柱之一。柱之一。第二十章第二十章 新型软件开发技术新型软件开发技术2023-5-13320.1.1 Internet简介简介oInternet的出现可以追溯到本世纪的出现可以追溯到本世纪60年代初。年代初。1968美国美国国防部下属的高级研究计划局建立国防部下属的高级研究计划局建立Internet的前身的前身ARPANET。o由于由于ARPANET网络项目名为网络
4、项目名为“The Internetworking Project”,所以,由所以,由ARPANET发展起来的网络被称为发展起来的网络被称为“Internet”。o从用户角度看,从用户角度看,Internet是一个庞大的全球性计算机网络,是一个庞大的全球性计算机网络,它连接了大量相互独立的计算机并提供信息交流和共享的手它连接了大量相互独立的计算机并提供信息交流和共享的手段。段。o从物理角度看,从物理角度看,Internet是一个是一个“网间网网间网”,它以主干网,它以主干网连接一些规模较小的子网,子网再由规模更小的网络互连而连接一些规模较小的子网,子网再由规模更小的网络互连而成,依此类推,形成一
5、种树型结构。成,依此类推,形成一种树型结构。20.1Internet与与Java简介简介2023-5-134Internet简介简介oInternet所基于的传输协议是所基于的传输协议是TCP/IP(传输控制传输控制协议协议/互连网协议互连网协议)。oInternet提供的信息服务包括电子邮件提供的信息服务包括电子邮件(E-mail),文件传输文件传输(FTP),远程登录远程登录(Telnet),网络新闻网络新闻(News)以及各种查询服务以及各种查询服务(包括包括Gopher,WAIS和和WWW)。20.1Internet与与Java简介简介2023-5-13520.1.2 Java的发展历
6、史的发展历史o1991年,年,Sun公司成立公司成立Green小组,开始从事面向家用小组,开始从事面向家用电器市场的软件产品的研究与开发。研究小组最初曾希望电器市场的软件产品的研究与开发。研究小组最初曾希望扩充扩充C+作为编程语言,但后来发现作为编程语言,但后来发现C+在简单性和安在简单性和安全性方面无法满足家用电器集成控制软件的要求,因而决全性方面无法满足家用电器集成控制软件的要求,因而决定自行开发新语言,这种语言就是定自行开发新语言,这种语言就是Java的前身,当时名为的前身,当时名为Oak.o1992年年8月,月,Oak与与GreenOS(一种操作系统一种操作系统)、用户接、用户接口模块
7、和硬件模块被集成为口模块和硬件模块被集成为Star Seven。oSun将将Oak技术与技术与WWW结合起来,并采用结合起来,并采用“Internet Play”(允许用户在允许用户在Internet上免费使用上免费使用)策略占领市场份策略占领市场份额。基于这种指导思想,额。基于这种指导思想,James Gosling和和Naughton于于95年年1月分别完成了月分别完成了Oak的新版和第一个基于的新版和第一个基于Oak的应的应用程序用程序WebRunner.Oak从此更名为从此更名为Java。20.1Internet与与Java简介简介2023-5-13620.1.3 Java的特征的特征
8、1.简单性简单性nJava是是“纯纯”面向对象语言,它摈弃了面向对象语言,它摈弃了C+的过程式的过程式成分,从而使语法和语义都比较单纯,容易学习和使用。成分,从而使语法和语义都比较单纯,容易学习和使用。nJava对对C+中容易引起软件错误的成份进行了相当成中容易引起软件错误的成份进行了相当成功的改造,例如去掉指针,取消多重继承和操作符重载功的改造,例如去掉指针,取消多重继承和操作符重载(Operator Overloading),将内存管理任务由程序将内存管理任务由程序员移向员移向Java内嵌的自动内存回收机制,等等,从而简内嵌的自动内存回收机制,等等,从而简化语义,减少出错机会,减轻程序员负
9、担。化语义,减少出错机会,减轻程序员负担。nJava提供大量功能丰富的可重用类库简化了编程工作提供大量功能丰富的可重用类库简化了编程工作量。量。20.1Internet与与Java简介简介2023-5-137Java的特征的特征2.面向对象面向对象o与与C+一样,一样,Java的对象有模块化性质和信息隐的对象有模块化性质和信息隐藏能力,满足面向对象的封装要求。藏能力,满足面向对象的封装要求。oJava对面向对象的继承性的支持方式也与对面向对象的继承性的支持方式也与C+类类似。似。oJava通过抽象类和接口通过抽象类和接口(interface)支持面向对支持面向对象的多态性要求:一个对外接口,多
10、种内部实现。象的多态性要求:一个对外接口,多种内部实现。20.1Internet与与Java简介简介2023-5-138Java的特征的特征3.分布式特征。分布式特征。4.半编译、半解释特征。半编译、半解释特征。5.可移植性。可移植性。6.安全性安全性7.多线程多线程20.1Internet与与Java简介简介2023-5-13920.1.4 Java的语法机制的语法机制o由于由于Java的基本语法机制的基本语法机制(例如数据类型、表达式、例如数据类型、表达式、程序流控制、结构化异常处理等程序流控制、结构化异常处理等)都脱胎于都脱胎于C+,所以,本小节只讨论所以,本小节只讨论Java明显区别于
11、明显区别于C+的语法的语法机制,它们包括:类、接口、程序包机制,它们包括:类、接口、程序包(package)、自动内存回收以及多线程。自动内存回收以及多线程。20.1Internet与与Java简介简介2023-5-1310Java的语法机制的语法机制1.类。类是类。类是Java中最基本、最重要的语法设施。中最基本、最重要的语法设施。2.接口。接口是一种抽象类,其中只能出现静态常接口。接口是一种抽象类,其中只能出现静态常量或抽象方法的定义。量或抽象方法的定义。3.程序包。程序包是一些相关类或接口的集合。程序包。程序包是一些相关类或接口的集合。4.自动内存回收。自动内存回收。5.多线程多线程20
12、.1Internet与与Java简介简介2023-5-131120.1.5 Java的意义的意义oJava的出现和流行对于软件产业乃至整个信息产业都有十的出现和流行对于软件产业乃至整个信息产业都有十分深远的影响:分深远的影响:n首先,首先,Java与与WWW的结合极大地丰富了的结合极大地丰富了WWW页面页面的表现能力、交互能力和动态能力,从而为的表现能力、交互能力和动态能力,从而为Internet的进一步发展和普及奠定了较好的软件技术基础。的进一步发展和普及奠定了较好的软件技术基础。n其次,其次,Java以其独具优势的小程序代码技术很好地支以其独具优势的小程序代码技术很好地支持了网络计算观念,
13、用户可以通过持了网络计算观念,用户可以通过WWW浏览器和浏览器和Internet使用使用WWW服务器上的众多软件,不必在自服务器上的众多软件,不必在自己的机器上安装种种庞大而且复杂的应用软件。己的机器上安装种种庞大而且复杂的应用软件。n最后,最后,Java与与WWW的结合可望改变传统的软件生产的结合可望改变传统的软件生产和销售方式。和销售方式。20.1Internet与与Java简介简介2023-5-131220.2 Java与与Internet环境下的软件开发环境下的软件开发o在在Internet环境下使用环境下使用Java进行软件开发的主进行软件开发的主要任务之一是制作功能丰富并具有交互能
14、力的要任务之一是制作功能丰富并具有交互能力的WWW主页主页(HomePage)。o20.2.1 基于基于Java的软件开发过程的软件开发过程o20.2.2 Java与多媒体主页的制作与多媒体主页的制作o20.2.3 Java与交互式主页的制作与交互式主页的制作o20.2.4 Java与图形界面与图形界面o20.2.5 Java与网络程序设计与网络程序设计第二十章第二十章 新型软件开发技术新型软件开发技术2023-5-131320.3 对象链接与嵌入对象链接与嵌入(OLE)技术技术o如果将不同应用程序生成的数据构成复合文件,可如果将不同应用程序生成的数据构成复合文件,可以采用两种方法保持数据与其
15、应用程序之间的关联:以采用两种方法保持数据与其应用程序之间的关联:数据仍位于初始创建处,复合文件中仅包含关联数据仍位于初始创建处,复合文件中仅包含关联信息;信息;数据的拷贝以及数据与应用程序的关联信息都进数据的拷贝以及数据与应用程序的关联信息都进入复合文件。入复合文件。o这两种关联方法分别称为这两种关联方法分别称为“链接链接”与与“嵌入嵌入”。第二十章第二十章 新型软件开发技术新型软件开发技术2023-5-131420.3.1 OLE简介简介oOLE的初衷是通过一些规模较小、相互独立的应的初衷是通过一些规模较小、相互独立的应用软件的协同工作来为用户提供灵活的软件解决方用软件的协同工作来为用户提
16、供灵活的软件解决方案。案。o按照软件工程的原理,规模较小的应用软件易于开按照软件工程的原理,规模较小的应用软件易于开发,也易于维护。只要这些应用软件遵循发,也易于维护。只要这些应用软件遵循OLE 2.0所定义的统一框架,它们便可独立开发与进化,所定义的统一框架,它们便可独立开发与进化,并在不同的应用场合下重用。并在不同的应用场合下重用。oOLE的内容相当丰富,它包含构件对象模型、结的内容相当丰富,它包含构件对象模型、结构化存储与复合文件、数据对象传送、复合文档、构化存储与复合文件、数据对象传送、复合文档、OLE自动化、自动化、OLE控件等内容。控件等内容。20.3对象链接与嵌入对象链接与嵌入(
17、OLE)技术技术2023-5-131520.3.2 构件对象模型构件对象模型o构件对象模型构件对象模型(COM)是是OLE其余部分的基础。作其余部分的基础。作为规范,为规范,COM定义了定义了OLE的基本术语:对象、接的基本术语:对象、接口和构件,同时也定义了用于对象创建和对象间彼口和构件,同时也定义了用于对象创建和对象间彼此关联的标准机制,这种机制独立于对象的实现方此关联的标准机制,这种机制独立于对象的实现方法和编程语言,也独立于使用对象的客户。法和编程语言,也独立于使用对象的客户。o构件对象模型的实现构件对象模型的实现(也称构件对象库也称构件对象库)包含一些用包含一些用于创建和管理对象的于
18、创建和管理对象的API函数,同时也包含跨越进函数,同时也包含跨越进程边界的接口函数调用的调度功能。程边界的接口函数调用的调度功能。o所有的所有的OLE对象都是通过接口来访问的。对象都是通过接口来访问的。o遵循遵循COM规范的对象称为构件对象。规范的对象称为构件对象。20.3对象链接与嵌入对象链接与嵌入(OLE)技术技术2023-5-131620.3.3 结构化存储与复合文件结构化存储与复合文件o正象不同应用程序希望共享存储设备一样,正象不同应用程序希望共享存储设备一样,OLE的不同构件也希望共享同一磁盘文件,这样才便于的不同构件也希望共享同一磁盘文件,这样才便于构件的集成。构件的集成。o于是,
19、于是,OLE提出了结构化存储提出了结构化存储(Structured Storage)规范,它可形象地比喻为规范,它可形象地比喻为“文件内部的文件内部的文件系统文件系统”。o具体地说,它将单个文件视为存储和流对象的结构具体地说,它将单个文件视为存储和流对象的结构化集合,其中的存储对象可类比为文件系统中的目化集合,其中的存储对象可类比为文件系统中的目录,流对象可类比为文件。它们分别支持录,流对象可类比为文件。它们分别支持OLE的的标准接口标准接口IStorage和和IStream。o存储对象可以象目录那样嵌套。存储对象可以象目录那样嵌套。20.3对象链接与嵌入对象链接与嵌入(OLE)技术技术202
20、3-5-1317结构化存储结构化存储20.3对象链接与嵌入对象链接与嵌入(OLE)技术技术2023-5-1318复合文件复合文件o复合文件是复合文件是OLE系统中结构化存储规范的实现。系统中结构化存储规范的实现。o复合文件允许用户以事务复合文件允许用户以事务(transaction)方式打方式打开存储对象。开存储对象。o使用复合文件的另一好处是可以用使用复合文件的另一好处是可以用OLE提供的标提供的标准接口浏览任何复合文件的结构。准接口浏览任何复合文件的结构。20.3对象链接与嵌入对象链接与嵌入(OLE)技术技术2023-5-131920.3.4 数据对象传输数据对象传输oOLE的数据对象传送
21、机制用于处理构件之间格式的数据对象传送机制用于处理构件之间格式化数据的交换。化数据的交换。oOLE的数据传送机制不仅允许数据源描述其数据的数据传送机制不仅允许数据源描述其数据格式格式(例如标准的例如标准的Windows剪贴板格式剪贴板格式CF_TEXT、CF_BITMAP、CF_等等),也允许数,也允许数据源说明数据的目标显示设备据源说明数据的目标显示设备(屏幕、打印机等屏幕、打印机等),还可说明传输媒介。还可说明传输媒介。o数据对象传送机制在数据对象传送机制在OLE中被称为中被称为“一致数据传一致数据传送送”,这是因为该机制可以同时支持不同的这是因为该机制可以同时支持不同的OLE传传送协议。
22、送协议。oWindows的剪贴板的剪贴板(Clipboard)主要用于在应主要用于在应用程序内部或应用程序之间传送数据。用程序内部或应用程序之间传送数据。20.3对象链接与嵌入对象链接与嵌入(OLE)技术技术2023-5-132020.3.5 复合文档复合文档oOLE复合文档模型的主要目标是将不同应用程序复合文档模型的主要目标是将不同应用程序生成的数据集成为单个文档,并在用户需要时启动生成的数据集成为单个文档,并在用户需要时启动相应的应用程序察看或编辑这些数据。相应的应用程序察看或编辑这些数据。o在该模型中,被集成的数据表示为嵌入或链接数据在该模型中,被集成的数据表示为嵌入或链接数据对象,包含
23、这些数据对象并为它们提供察看或编辑对象,包含这些数据对象并为它们提供察看或编辑场所的应用程序称为包容器场所的应用程序称为包容器(Container),负责生负责生成并编辑数据对象的应用程序称为服务器成并编辑数据对象的应用程序称为服务器(Server)。o因为,因为,OLE是一般化的构件协同框架,所以,复是一般化的构件协同框架,所以,复合文档模型只规定了包容器、服务器、数据对象必合文档模型只规定了包容器、服务器、数据对象必须实现的一些标准接口。除些之外,它们互不相关。须实现的一些标准接口。除些之外,它们互不相关。20.3对象链接与嵌入对象链接与嵌入(OLE)技术技术2023-5-132120.3
24、.6 OLE自动化自动化o长期以来,用户一直希望通过某种宏语言来控制多长期以来,用户一直希望通过某种宏语言来控制多个应用程序,让它们协同完成某种工作流程。个应用程序,让它们协同完成某种工作流程。o为了实现上述目标,为了实现上述目标,OLE要求参与自动化过程的要求参与自动化过程的应用程序或构件具有可编程的对外接口。应用程序或构件具有可编程的对外接口。o为为OLE自动化提供宏编程环境的应用程序或构件自动化提供宏编程环境的应用程序或构件称为自动化控制器称为自动化控制器(Automation Controller)。20.3对象链接与嵌入对象链接与嵌入(OLE)技术技术2023-5-132220.3.
25、7 OLE控件控件o在在Microsoft操作系统平台下,控件操作系统平台下,控件(Controls)是指能够将用户界面事件是指能够将用户界面事件(鼠标动作、键盘动作等鼠标动作、键盘动作等)转化为可编程的事件处理器的界面元素。转化为可编程的事件处理器的界面元素。oOLE控件控件(OLE Controls)不仅具备普通控件的不仅具备普通控件的特征,同时也是特征,同时也是OLE自动化对象、自动化对象、OLE服务器和服务器和具有定位激活能力的嵌入对象。具有定位激活能力的嵌入对象。oOLE控件的事件处理器位于控件包容器控件的事件处理器位于控件包容器(Control Containers)中,这就是说,
26、控件包容器可以接中,这就是说,控件包容器可以接收到收到OLE控件转发的用户界面事件,进而引发各控件转发的用户界面事件,进而引发各种行为。种行为。20.3对象链接与嵌入对象链接与嵌入(OLE)技术技术2023-5-1323OLE控件控件o从控件包容器的角度来看,从控件包容器的角度来看,OLE控件包含以下内控件包含以下内容:容:属性。包容器可以通过控件提供的接口函数获取属性。包容器可以通过控件提供的接口函数获取或设置属性值;或设置属性值;事件。控件将界面上发生的某些事件传送给包容事件。控件将界面上发生的某些事件传送给包容器并引发包容器中相应的事件处理器;器并引发包容器中相应的事件处理器;方法。包容
27、器通过方法。包容器通过OLE控件的外部可见方法获控件的外部可见方法获取或设置属性值。取或设置属性值。20.3对象链接与嵌入对象链接与嵌入(OLE)技术技术2023-5-132420.4 CORBA与分布计算技术与分布计算技术o80年代以来,由于个人计算机、工作站和计算机年代以来,由于个人计算机、工作站和计算机网络技术的迅速发展,越来越多的用户已经自觉或网络技术的迅速发展,越来越多的用户已经自觉或不自觉地置身于资源分布的网络计算环境中。不自觉地置身于资源分布的网络计算环境中。o为了有效地共享网络资源,通过高效的信息传输实为了有效地共享网络资源,通过高效的信息传输实现没有平台和地理隔阂的协同工作,
28、分布计算技术现没有平台和地理隔阂的协同工作,分布计算技术应运而生,并在近年获得了迅速发展。应运而生,并在近年获得了迅速发展。第二十章第二十章 新型软件开发技术新型软件开发技术2023-5-132520.4.1 分布计算环境分布计算环境o网络计算环境包括计算平台、网络通信设施以及支网络计算环境包括计算平台、网络通信设施以及支持网络计算的基本服务。用户在进行网络计算时不持网络计算的基本服务。用户在进行网络计算时不必关心网络传输过程。必关心网络传输过程。o分布计算环境以网络计算环境为基础,增加支持平分布计算环境以网络计算环境为基础,增加支持平台无关和资源分布透明性的分布计算基础结构、支台无关和资源分
29、布透明性的分布计算基础结构、支持分布计算的基本服务以及分布式应用软件,从而持分布计算的基本服务以及分布式应用软件,从而更好地支持分布式协同工作。更好地支持分布式协同工作。20.4CORBA与分布计算技术与分布计算技术2023-5-1326分布计算环境分布计算环境o从用户角度看,分布计算环境是消除了计算平台差从用户角度看,分布计算环境是消除了计算平台差异和地理隔阂的信息处理环境;异和地理隔阂的信息处理环境;o从分布式应用的开发人员角度看,分布式计算环境从分布式应用的开发人员角度看,分布式计算环境提供了统一的分布式软件结构框架和基本的分布式提供了统一的分布式软件结构框架和基本的分布式服务支持,从而
30、简化了分布式应用的开发,提高了服务支持,从而简化了分布式应用的开发,提高了可重用性、可移植性和分布式应用之间的互操作性;可重用性、可移植性和分布式应用之间的互操作性;o对于采用分布式计算的组织机构而言,分布计算环对于采用分布式计算的组织机构而言,分布计算环境较网络计算环境具有更好的灵活性、可伸缩性,境较网络计算环境具有更好的灵活性、可伸缩性,能更好地支持信息共享和协同工作。能更好地支持信息共享和协同工作。20.4CORBA与分布计算技术与分布计算技术2023-5-132720.4.2 分布式计算技术分布式计算技术o为了实现分布计算环境的目标,当前广泛采用的主为了实现分布计算环境的目标,当前广泛
31、采用的主要分布计算技术有:要分布计算技术有:1.远程过程调用远程过程调用2.分布式文件系统分布式文件系统3.分布式数据库系统分布式数据库系统4.名字服务名字服务5.安全服务安全服务6.时间服务时间服务7.多线程机制多线程机制8.互操作技术互操作技术20.4CORBA与分布计算技术与分布计算技术2023-5-132820.4.3 CORBA概述概述o分布计算环境下的互操作性是指多个软件元素相互通信并分布计算环境下的互操作性是指多个软件元素相互通信并协同完成任务的能力。为了实现互操作性,分布计算环境协同完成任务的能力。为了实现互操作性,分布计算环境应该提供:应该提供:1自动通信机制。它负责传递请求
32、、参数及结果,自动通信机制。它负责传递请求、参数及结果,负责软件元素之间的同步。负责软件元素之间的同步。2抽象机制,即相互操作的软件元素在编程语言、抽象机制,即相互操作的软件元素在编程语言、实现细节和工作平台等方面应该相互独立。实现细节和工作平台等方面应该相互独立。3动态机制。它负责提供动态搜索软件元素、动动态机制。它负责提供动态搜索软件元素、动态构造请求及其参数的能力。态构造请求及其参数的能力。o面向对象技术成为解决互操作问题的最佳选择。对象管理面向对象技术成为解决互操作问题的最佳选择。对象管理集团集团(OMG)基于面向对象技术,给出了以对象请求代理基于面向对象技术,给出了以对象请求代理(O
33、bject Request Broker,简称简称ORB)为中心的对象管为中心的对象管理结构。理结构。20.4CORBA与分布计算技术与分布计算技术2023-5-1329对象管理结构对象管理结构20.4CORBA与分布计算技术与分布计算技术2023-5-1330ORBo在在OMG的对象管理结构中,的对象管理结构中,ORB是一个关键的通是一个关键的通信机制,它以实现互操作性为主要目标,处理对象信机制,它以实现互操作性为主要目标,处理对象之间消息分布。之间消息分布。o对象服务实现基本的对象创建和管理功能,通用服对象服务实现基本的对象创建和管理功能,通用服务则使用对象管理结构所规定的类接口实现一些通
34、务则使用对象管理结构所规定的类接口实现一些通用功能。用功能。o针对针对ORB,OMG又进一步提出了又进一步提出了CORBA技术规技术规范,主要内容包括接口定义语言范,主要内容包括接口定义语言(IDL),接口池接口池(IR),动态调用接口动态调用接口(DII),对象适配器等。对象适配器等。20.4CORBA与分布计算技术与分布计算技术2023-5-1331CORBA1.CORBA利用利用IDL统一地描述服务器对象统一地描述服务器对象(向调用向调用者提供服务的对象者提供服务的对象)的接口。的接口。2.CORBA的接口池包括了分布计算环境中所有可用的接口池包括了分布计算环境中所有可用的服务器对象的接
35、口表示。的服务器对象的接口表示。3.CORBA的动态调用接口提供了一些标准函数以供的动态调用接口提供了一些标准函数以供客户对象动态创建请求、动态构造请求参数。客户对象动态创建请求、动态构造请求参数。4.在在CORBA中,对象适配器用于屏蔽中,对象适配器用于屏蔽ORB内核的实内核的实现细节,为服务器对象的实现者提供抽象接口,以现细节,为服务器对象的实现者提供抽象接口,以便他们使用便他们使用ORB内部的某些功能。内部的某些功能。20.4CORBA与分布计算技术与分布计算技术2023-5-133220.4.4 Internet环境下的分布式软件开发环境下的分布式软件开发o以以Sun公司开发的支持公司
36、开发的支持CORBA规范的规范的Joe系统为系统为例说明如何使用例说明如何使用CORBA在在Internet环境下进行环境下进行分布式软件开发。分布式软件开发。o简而言之,简而言之,Joe=CORBA+JAVA.Joe以标准的以标准的Java类机制实现了符合类机制实现了符合CORBA规范的对象请求规范的对象请求代理功能,能够在代理功能,能够在Java小应用程序和远程对象之小应用程序和远程对象之间透明地实现消息传递,能够接收远程对象发回的间透明地实现消息传递,能够接收远程对象发回的异步事件,能够根据对象接口的异步事件,能够根据对象接口的IDL描述自动生成描述自动生成Java类存根类存根(clas
37、s stub)供本地客户对象使用。供本地客户对象使用。o此外,此外,Joe还提供了许多软件项目管理功能。还提供了许多软件项目管理功能。20.4CORBA与分布计算技术与分布计算技术2023-5-1333过程过程1.获取远程服务器对象的接口,该接口必定是用获取远程服务器对象的接口,该接口必定是用IDL语言描述的。将该接口交语言描述的。将该接口交Joe的的IDL-to-Java编编译器生成远程对象的译器生成远程对象的Java接口。接口。2.使用使用IDL-to-Java编译器生成的编译器生成的Java接口编写接口编写访问远程对象的程序。此时,编程方法已非常类似访问远程对象的程序。此时,编程方法已非常类似于访问本地对象的编程方法。于访问本地对象的编程方法。3.编译并运行编译并运行Java应用程序。应用程序。20.4CORBA与分布计算技术与分布计算技术2023-5-1334小结小结o本章简单介绍了近年来新兴的软件技术,包括本章简单介绍了近年来新兴的软件技术,包括Java,对象链接与嵌入技术,分布计算技术,对象链接与嵌入技术,分布计算技术,Internet环境下的软件开发技术。环境下的软件开发技术。o限于篇幅,本章的介绍不可能全面、详尽。限于篇幅,本章的介绍不可能全面、详尽。第二十章第二十章 新型软件开发技术新型软件开发技术2023-5-1335