




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
组件技术,潘爱民北京大学计算机研究所2002-9-13,内容,关于本课程软件技术的发展当前软件状况COM和CORBA简介本课程的内容和安排(optional)基础:C+Overview,关于本课程,历史:2001年上半年第一次开设课程请参考,计算机科学的本质,计算机的定义冯-诺伊曼定义:defineacomputerasadevicethatacceptsdata,processesdata,storesdata,andproducesoutput.指令流处理方式本质:动态计算静态存储,软件领域的发展,程序设计方法的发展软件需求的变化软件环境的变化软件开发模式的变化,程序设计方法的发展,功能分解法计算任务结构化程序设计以数据为中心面向对象程序设计以对象为中心组件程序设计以组件为中心,综合使用,软件需求的变化,计算,实用,管理(MIS),分布式系统,软件环境的变化,单任务,多任务,文字界面,图形界面,单线程,多线程,平台相关,跨平台,单机(本地),网络(分布式),单一语言,多种语言,软件开发模式,机器码,高级语言和脚本代码,OS+Compiler+Editor,OS+Compilers+IDEs+Libraries+Wizards+Components+otherinforstructures+经验,发展变化的结果,软件学科的形成不变因素:计算机的基本运作模式探求新的计算模型量子计算软件学科怎么办?生物信息学(?),回顾软件学科10多年来的变化,软件的产生过程:原始代码-编译-Link-终代码、脚本混合软件的分发过程:文档、说明书、自动安装工具、培训、升级软件工程:需求-分析-设计-code-test-使用对象技术和组件技术的不断普及,与大环境发展相结合,对象技术,用一种新的思路来看待问题10多年的发展证明了OO符合软件的规律对象技术的发展需要开发工具和开发语言的支持三大特性:封装性、继承性、多态性两种思想Object-BasedObject-Oriented,组件技术,组件技术适合于现代的软件环境软件更新快、规模大、强调协作等组件的概念、软件IC组件的可独立发布性要求“接口与实现分离”组件infrastructure,组件体系COM、CORBA(和Java)中间件(middleware)市场,国内的状况,在对象技术和组件技术方面,国内落后问题:好的技术没能及时引进来(怎么引进来?)缺乏好的教材、技术杂志、技术书籍(?)缺乏良好的教育环境和工业环境,基础,编译过程,程序产生的过程回归“冯-诺伊曼”模型C+之必要性:最能反映对象技术、组件技术的核心概念存在的问题:缺乏好的书籍(?)国内的应用领域不够广泛(?),概念:类、对象,类是定义,它封装了状态和操作对象是实例,它反映了具体的事物,对象由类来定义一个对象可以与多个具有继承关系的类相联系,概念:组件,定义:可独立发布的二进制单元有的地方称作“package”,容易混淆:服务器(server)、对象,例如:COM组件、JavaApplet,概念:reuse(重用、复用),软件设计的目标,不同形式的reuse,不同层次的reuse,例子:类库、中间件,概念:接口与实现分离,Interfaceandimplementation对象技术和组件技术都强调,接口是对象或者组件的通信协议实现是对象或者组件的内部细节,接口的发布客户只关心接口,概念:decouple,去耦尽可能地消除软件之间或者软件的不同部分之间的联系,是软件设计的重要手段,也是目标,不同层次上的decouple,概念:多态性(polymorphism),对象技术中的重要概念以一致的方式来看待不同的事物,在C+中,通过继承和虚成员函数来实现运行时刻绑定:runtimebinding区分两个词:overloadvs.override,在组件技术中,通过接口来体现,概念:module,模块不同层次上有不同的定义,在Windows和Linux中,指可独立装载的二进制代码单元,有些操作与模块相关,概念:模板(template),函数模板和类模板抽象层次更高泛型技术(genericprogramming),已纳入C+标准之中,例子:STL、ATL,概念:C/S和多层结构,这是指软件的结构C/S是基础多层结构具有较好的灵活性和可扩展性,多层结构与基于组件的系统相结合,变种:B/S,概念:其他,现代软件的发展形成了很多重要的概念掌握这些概念对于提高自己的软件理解水平非常重要防止混淆和滥用概念,软件形式,单机软件整体发布Client/Server软件简单的网络应用分布式软件,软件发展面临的问题,软件的复杂度增加代码开发管理软件升级和更新牵一而发动全身?分布式软件的发布和配置用户需要培训,程序员和设计人员更需要,软件发展面临的问题(续),Custom-madeversusstandardsoftware如何平衡?依赖于全才开发人员软件层次划分软件的可扩展性用户可定制、脚本支持与标准接轨如WebB/S,软件发展趋势,组件软件、软件组件中间件市场已经形成软件基础设施的重要性经验和成果的重用软件的可重用性要求重用粒度不同API的多样化软件方案(solution),consulting市场,组件软件,部分升级补丁缩短软件的更新周期增加了异构软件的可能标准接口、标准规范、标准协议动态组合,提高软件生产力符合现代软件的发展要求,软件组件,关键:接口设计接口不变性接口可扩展性对基础设施的依赖COM、CORBA、.内部独立设计、独立开发独立发布、独立测试,基础设施:组件体系,COM(ComponentObjectModel)93年发布,脱胎于MS的OLE规范+实现CORBA(CommonObjectRequestBrokerArchitecture)91年第1版,OMG(ObjectManagementGroup)规范+实现,COM:组件对象模型,建立在二进制层次上的标准许多概念与C+的特征相似,如vtable程序与程序之间的通信建立在此基础上COM规范平台无关定义了大量的标准接口用于各种用途COM实现平台相关Windows实现了规范要求以及许多辅助功能,COM特性,语言无关规范和实现都是语言无关的进程透明位置透明inprocserver、out-of-procserver可重用性多线程特性可扩展性,COM:接口,COM接口IID:128位整数接口定义语言COMIDL对应于C+中由纯虚函数组成的类单继承,基接口:IUnknownCOM接口特性:接口不变性继承性多态性运行时刻的多态性,COM:对象,COM对象CLSID实现多个接口,COM对象特性:身份确定封装可重用,COM:组件,COM对象的载体包含多个COM对象进程内组件DLLExportEntrys进程外组件IPC:RPC/LPC,COM:进程内组件,InprocserverExportEntrys,COM:进程外组件,Out-of-procserver,COM:远程组件,remoteserver,COM:组件信息发布,注册表发布组件的信息、对象的信息、接口的信息等注册工具和配置工具Regsvr32.exe.reg自注册-RegServerDCOMCNFG.EXEMTSExplorer、活动目录,COM:创建COM对象,对象的创建过程,COM:COM对象管理,客户使用规则,控制对象生命周期COM实现优化各种辅助手段组件类别componentcategoryMTS和COM+,COM:COM体系,基本的功能扩展功能连接点结构化存储名字服务自动化其他COM+,COM:COM+,建立在COM的基础上,COM的自然延伸Services事件服务队列服务事务服务负载平衡其他,COM:应用,OLEActiveXcontrol脚本功能扩展OLEDBADSIASP其他,COM:分布式应用,COM/COM+为基于Windows的分布式应用提供了基础设施TransactionSecurityOLEDBWeb集成ActiveDirectory管理功能,CORBA,OMG,800多家厂商联合制定的标准91年1.0,主要是C语言映射95年2.0,加入IIOP目前最新版本3.0CORBA规范制订了互操作规范,上层标准协议一系列映射到多种语言的规范各种服务相关的规范CORBA实现:ORB,CORBA体系结构,CORBA:跨平台、跨语言,典型的语言:C+语言、Java语言、Smalltalk多种平台关键:IOR(InteroperableObjectreference)ORB实现,部分ORB实现,商业ORBOrbix,IONA公司Visibroker,Inprise公司,4.0版完全支持2.3规范Netscapecommunicator浏览器嵌入Visibroker自由ORBORBit,遵循CORBA2.2规范,支持C语言,性能较高mico,GNU,OpenSourceTAO,美国华盛顿大学分布式对象计算研究小组omniORB,AT&T剑桥实验室国产ORB国防科大的嵌入式CORBA(eBus)东南大学的ORBUS,CORBA:客户,客户通过stub或者CORBA库与对象或者ORB进行通信,CORBA:对象,对象与OA进行通信,CORBA:C+映射开发过程,编写IDLIDL-C+利用生成的stub类编写客户利用生成的impl类编写服务器对象以字符串形式传递OR,CORBA:核心,CORBAIDL支持多继承支持结构化数据类型字符串形式的ORPOACORBA对象的环境context策略设置,CORBA:核心,GIOP(GeneralInter-ORBProtocol)互操作协议框架IIOP(InternetInter-ORBProtocol)IORCORBA对象的标识实现仓库、接口仓库未标准化,CORBA:服务,命名服务层次命名绑定TradingService功能更强、使用更灵活的对象查询服务事件服务事件发送方和接受方之间的decouple,课程内容(一),准备知识组件技术介绍C+基础(略),课程内容(二),COM/DCOM/COM+(缩减一部分)COM接口和IDLCOM对象和COM实现COM重用性和COM跨
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年验船师考试(C级船舶检验专业实务)综合试题及答案一
- 北京市门头沟区2024-2025学年八年级上学期第一次月考地理试题及答案
- 北京市门头沟区2023-2024学年九年级下学期中考适应性训练(三模)道德与法制试题含参考答案
- 2025年高级无人机植保操作员实操模拟题与理论知识点解析
- 2026届漯河市重点中学化学高一上期中统考模拟试题含解析
- 公务员英雄面试题及答案
- 2025年项目管理办公室专员招聘考试模拟题
- 江苏泰兴一中2026届化学高三第一学期期末综合测试模拟试题含解析
- 2026届新疆乌鲁木齐市高二化学第一学期期中检测试题含解析
- 2025年法律顾问招聘面试预测题与法律实务经验
- 药事管理培训课件
- 2025-2030中国电网储能行业盈利模式与投资方向可行性报告
- 2024中国高血压防治指南要点解读
- 无废工厂宣传课件
- 酒店预算培训课件
- 关于财富的课件
- 2025-2030中国汽车工程服务外包(ESO)行业现状调查与前景趋势研究报告
- 华为荣誉激励管理办法
- 2025至2030全球及中国实验室PH电极行业发展趋势分析与未来投资战略咨询研究报告
- 相控阵超声检测技术及应用
- 第四单元整本书阅读《红岩》课件 2025-2026学年统编版语文八年级上册
评论
0/150
提交评论