已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
组件设计,华东理工大学计算机科学与工程系雷向欣,组件设计第二讲,主要内容CORBAEJBCOM/DCOM,CORBA,CORBA是一种标准的面向对象应用程序体系规范。CORBA最初是对象管理组织(OMG)在1990年11月出版的对象管理体系指南中定义的。OMG是一个非盈利性的组织成立于1989年,现有500多个成员公司。OMG致力于推广在现有技术基础上集成应用程序的面向对象标准。,CORBA的用途,现在企业所面临的主要问题是需要集成多种工作单元,以使企业能用现有软硬件解决当前的或将来遇到的业务问题。这个问题的一个重要部分是用较新的桌面环境集成大型机上已有的应用程序。重新创建解决方案则太花时间和金钱。,CORBA的用途,CORBA提供如下能力:存取来自现行桌面应用程序的分布信息和资源。使现有业务数据和系统成为可提供利用的网络资源。为某一特定业务用的定制的功能和能力来增强现行桌面工具和应用程序。改变和发展基于网络的系统以反映新的拓扑结构或新资源。,CORBA增强了分布式计算,CORBA用如下手段增强分布式(客户机/服务器)计算允许客户机与服务器间灵活变化的关系支持同步及异步两种通信形式加入一个称为代理器的中介允许服务器有多个进程支持同步及异步两种通信形式,允许客户机与服务器间灵活变化的关系,在传统的客户机/服务器术语中,客户集合服务器间的关系是固定的,也就说,客户机总是提供一个执行任务的请求,而服务器总是完成所请求的任务。CORBA允许这种固定的关系,同时也允许更灵活的关系。实际上,在CORBA内,某个软件可以作为客户机提出一个请求,但同时也可能是下一个请求的服务器。这种灵活的关系是CORBA的面向对象方法的副产品。,加入一个称为代理器的中介代理器的加入带来了几个进步:CORBA客户机和服务器无须直接了解对方CORBA并不要求客户机和服务器之间是一对一的关系。CORBA客户机应用程序能在运行时定位新的对象与服务器并与之交互。,加入代理器,允许服务器有多个进程,允许服务器有多个进程在传统的客户机/服务器环境里,开发者认为客户机与服务器都是单个进程。这在CORBA中并没有必要。在CORBA中,虽然典型的客户机依然是单个进程,但服务器可以是单个进程也可以不是。,支持同步及异步两种通信形式,支持同步及异步两种通信形式同步通信是指一个软件向另一个软件发送消息,然后等待回答。异步通信是指一个软件向另一个软件发送消息,然后继续工作,期待迟些时候会有回答。CORBA把自己的异步通信形式称为延迟同步(deferredsynchronous)。CORBA对异步通信的定义实际上是轮询模型(pollingmodel),客户机在此模型重要查询一个操作是否完成。CORBA还定义了一个单向请求(one-wayrequest),即应用程序无需等待请求的完成,也没有返回参数,对象模型,OMG在ObjectManagementArchitectureGuide中定义的对象模型描述了对象外部特征的标准语义,其中对象、类型、操作、属性、对象实现等语义与Java、C+、Eiffel等面向对象程序设计语言十分相近。在该模型中,客户程序通过一个由IDL书写的接口向服务对象提出服务请求。在OMG的对象模型中,对象可以被创建或撤销。但从客户程序的角度看,并没有什么特别的机制用于创建或撤销对象,对象创建与撤销只是发出请求的结果。客户程序通过对象引用指称新创建的对象。,CORBA结合对象模型的优点,由于CORBA使用了对象模型,CORBA把CORBA系统中的所与应用程序都看成是对象及其相关的操作的集合。网络中底层应用程序所在的位置及其运行的操作系统对客户机来说是透明的。CORBA的面向对象模型提供了许多优点,使应用程序更容易集成到一个分布式系统中。,CORBA,使用CORBA的面向对象体系结构和方法的一些优点使我们能够实现以下功能:1.在创建系统是使用面向对象设计技术2.重用更多的软件3.使用熟悉的编程语言,CORBA,在CORBA系统中,分布式计算和对象模型的结合实现了相互促进。表现在以下两个方面:分布式计算方面的增强对象模型方面的增强,CORBA,分布式计算方面的增强对分布式计算环境,CORBA在环境中加入了特定对象的引用。在CORBA中,要完成某个操作,所需要做的仅仅是请求某个有能力完成该操作的对象去完成它。对象模型方面的增强对于对象模型,CORBA加入了代理器的概念。代理器使应用程序不需要知道对方在网络上哪个地方和对方是如何工作的就可以进行交互。客户机向代理器发送一个请求,要求在一个对象上执行某个操作。只有代理器需要知道CORBA服务器和客户机在网络上的位置。,CORBA体系结构,CORBA特点,CORBA在提高组件重用性、增强分布计算功能方面具有的突出特点:引入对象请求代理ORB;客户程序与服务器程序完全分离;与面向对象的建模概念相结合;引入接口定义语言IDL描述服务对象功能。,CORBA和SUN,因为Sun是OMG的创始成员,CORBA标准中的许多内容(例如IDL标准、IIOP标准)是以SUN公司提交的方案为核心制定的,所以CORBA技术与Java技术存在天然的联系。,EJB,SUN公司的EnterpriseJavaBeans(EJB)是一个开发和部署分布式服务器端的、带事务处理的、安全的商业组件的规范和结构,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。,EnterpriseJavaBeans体系结构,EJB,它具有以下优点:EJB模型在应用系统业务逻辑和系统功能之间定义了清晰的分界,应用系统开发者只需要关注应用系统本身的业务逻辑,而复杂的低层事务处理、对象持久性、多线程、安全性、资源缓冲池和其它复杂的低层API的详细信息及远程通讯等的管理则交由EJS(EnterpriseJavaService)管理。平台独立:能够开发一次,然后在多个平台上展开,不需要重新编写或进行源代码修改。中间件独立:通过使用不同供应商工具的组合构件开发,使建立分布式应用程序成为可能。体系结构独立:体系结构不是在开发时确定的,而是在开发以后的展开时确定.,Microsoft的DCOM,目前,Microsoft的分布式组件对象模型DCOM仅运行于两种操作系统之上:Windows9X和WindowsNT4。Microsoft正在与第三方开发商协作,以将DCOM移到其它的操作系统上(包括MVS和几种UNIX操作系统)。象CORBA一样,DCOM是独立于语言的,它用Microsoft的对象描述语言(ODL)通过接口对对象加以描述。,COM和DCOM,COM和DCOM(DistributedComponentObjectModel)是微软公司提出的组件标准及实现,它使开发人员可以利用COM的通讯机制组装不同开发商提供的组件。COM的核心是一组应用程序调用接口(API),该接口提供了创建组件、组装组件的方法。DCOM是微软为支持网络环境而对COM进行扩充的结果,它的目标与CORBA类似,都是为了支持不同结点上、不同操作系统、由不同语言实现的对象进行互操作。微软提出DCOM作为未来的Internet计算的模型。,组件对象模型(COM),组件对象模型ComponentObjectModel(COM)出发点(定义):让软件系统S由组件C1,C2,组成(COMobject)这些组件C不一定是专门为S所设计的,有些在S之前已存在为这系统所设计的组件将来可被其它系统所用,将来设计的组件还可用来扩充系统S的功能,不需重新编译链接.组件的内部改变不影响其所参与的系统的功能,COM对象,COM:给出了一个关于什么能被称为组件(COM对象)的规定提供了一种以系统软件形式存在的基础设施,使得满足其规定的组件能够“互操作”(interoperate).,COM对象,多界面(interface),每个界面包含一组方法每个界面有两个名字,一是供程序员识别(如LookUpWord),二是GUID(GloballyUniqueIdentifier,128位),特殊生成,供计算机使用.界面通常由Microsoft的IDL(界面描述语言)描述一旦在发布的软件中实现,界面就再不许修改.每个组件必须实现界面IUnknown,其它界面必须从它继承.,OMG组织,OMG于1997年月发布的OMA1997取代了早期(1990年11月)的OMA1990,该指南定义了面向对象分布式应用程序的总体框架OMA,并介绍了OMG的技术目标与规范制订过程。OMA是所有CORBA相关规范的概念模型基础。,CORBA产品一览,自从CORBA规范颁布后,许多公司推出了遵从CORBA规范的产品,产生了一定的影响。主要产品有:1)IONA公司的OrbixIONA公司是目前最大的CORBA系统软件和服务提供商,其标志产品Orbix是一个基于库的CORBA规范实现,支持Windows、OS/2、各种UNIX等20余种操作平台。它提供了C+语言映射器和C+代码产生器,最近又推出了Orbix的Java版本OrbixWeb。网址:,CORBA产品一览,2)Inprise公司的VisiBroker网址:,EJB,SUN公司的EJB。平台独立:中间件独立:,EJB,EJB(EnterpriseJavaBean)是一种面向企业应用,基于Java平
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广场蹦迪活动策划方案
- 高三生物重点难点归纳与考点预测
- PEP版小学英语词汇分类学习指导
- 工程质量监管专项检查报告范本
- 血管支架手术风险及患者同意书模板
- 小学生科技创新手抄报设计模板
- 教育行业线上教学平台运营指南
- 物流配送安全操作规程手册
- 可燃气体检测仪日常维护与使用记录
- 机关事务管理标准化工作流程
- 咏史完整版本
- 汉字笔画练习字帖
- 塔磨机安全操作规程
- 消防水泵房巡检签到表
- 全科医师转岗培训理论考试试题及答案
- 公会之间挂靠主播合作协议书
- 实验三基因组序列分析
- 2022年澄迈县辅警招聘笔试试题及答案解析
- 小学语文人教三年级上册 童话中有趣的角色
- 2022年临沧边境经济合作区国有资本投资运营有限公司招聘笔试试题及答案解析
- 思想道德与法治课件:第六章 第三节 维护宪法权威
评论
0/150
提交评论