欢迎来到我的范文网!

组件技术的作用

文秘知识 时间:2018-01-10

【www.myl5520.com--文秘知识】

谈组件技术(一)
篇一:组件技术的作用

谈组件技术(一)

------必备知识

何谓组件技术?组件技术有什么作用?为什么要应用组件技术?如何应用组件技术?我们现在都知道什么?我们现在应该做什么?又能做什么?当这些问题缠绕在心头时,也许您自己也承认,不得不学一学组件技术了,其码要了解组件技术(组件技术本文以后将以组件代替)。那么现在问一问自己,你是如何看待组件的?你心目中的组件是一个什么样子呢?感觉很好说,也许每个编程的人员对组件都有一个轮廓的概念,是的,Windows平台已经用了快十多年了,怎么能没有听过组件?从大的方面而言,当MS应用了OLE的时候,组件已经在慢慢的发展着,从最初的OLE 到COM 到CMO+甚至到了现在的.Net,无处不见组件的存在,然而这仅仅是一个轮廓的影响,我想,在学习组件的时候,首先应该明白一些基本的概念。而写这篇文章的最终目的就是要回答开篇是提出的几个问题以及教您如何写组件(本文将以编写一个ocx组件、应用MTS组件、COM+组件结束,而对于COM+ 就是MTS的更新版本所存在的某些歧义也将给于解释)。

何谓组件技术?具体死板的概念在各种书籍上有很多的定义,组件技术就是利用某种编程手段,将一些人们所关心的,但又不便于让最终用户去直接操作的细节进行了封装,同时对各种业务逻辑规则进行了实现,用于处理用户的内部操作细节,甚至于将安全机制和事物机制体现的淋漓尽止。而这个封装体就常常的被我们称作组件。或许这个定义有些勉强,但这样的解释对现在的你是有帮助的,而这个封装的过程中,编程工具仅仅是充当了一个单纯的工具罢了,没有什么实际的意义,也就是说为了完成某一规则的封装,可以用任何支持组件编写的工具来完成,而最终完成的组件是与语言本身已经没有了任何的关系,甚至可以实现跨平台。对我们而言,它就是实现了某些功能的、有输入输出接口的黑匣子罢了。 组件有什么作用?这个问题似乎有些笼统,试着想一想windwos何以实现如此强大的生产力?而在它的背后到底有什么在服务着?一句话:组件就是windows的灵魂,脱离了组件,windows系统将不再如今天一样如日冲天,windows

如此,Unix也同样是如此,作为一个操作系统,它所完成的功能无不提体着组件的服务,一个很轻松的Copy – Paster都要靠DDE来支持,而DDE就是一种组件服务对象,而具体到某一个细节,如今的大型ERP靠的是什么?多层系统又靠的是什么?组件!组件封装了系统运行的各种规则甚至运行环境,而组件又何以完成如此多的服务?这儿就不得不提起组件对象,所谓的组件对象是组件的一个集合,而这个集合又并非是随意性的组合,必须要考虑到组件对象中的各个组件的协调功能,虽然,在理论上讲,一个组件对象里的各个组件应该是互不干涉、互不影响的,但是这并不意味着组件对象就是一个无协调的组件的集合,我们必须理解,通过访问一个组件对象中的某个组件,就有可能访问此组件对象中的另外的组件以此循环下去.而这些都由谁来管理?肯定是组件对象,可以这样理解:组件有其自身的规则实现,而规则的实现又提体到了接口的实现,但是组件对象本身也是一个组件,它也有业务逻辑规则需要处理,它也要起到所集合的组件的协调。如此一来,可以能过某一个组件对象来协调的实现一些、一部分的业务逻辑规则!而对于应用者来说,这一切完全没有必要去得知,甚至是没有意义的。

为什么要应用组件技术?或许你会说,我们通过编程的手段同样可以处理一些简单的或稍微复杂的业务规则,的确,不否认,通过编程的手段我们可以实现如组件对象一般实现的规则处理。然而如果仅仅是因为此我们就说组件对象或组件和我们平时的编码是一致的,那么现在可以明确的告诉你,这是一个很糟糕的想法。使用组件技术的的目的是实现各种规则{你想要实现的规则}的实现,而且组件对象还将从更广阔的方面来考虑,它能将一个大型的分布式系统进行统一的规划、合理的处理冗余、安全、平衡负载……等单纯的编程手段不能实现的功能,这就是我们要应用组件的一个很重要的原因。再者,组件对象不是普通的可执行文件,更不是将各种规则定死在其内部,它可以很平滑的实现自身的升级、扩展(前提:不大量的更动接口),举一个很简单的例子,当我们发现某项业务逻辑规则已经很陈旧的时候,我们不得不用新的业务逻辑规则去替换它,而这个替换过程将会提现出组件对于普通的.Dll文件或是.Exe可执行文件的具大差别。当我们需要进行更新的时候,对于组件对象而言,在最理想的情况下用户可以一边进行组件对象的应用,一边无知觉的接受新的组件技术,而试问一个Dll文件或是某一个可执行文件可以达到这样的效果吗?答案是否定的。如果你说这些理由还

不够的话,我可以举出很多的应用来说明组件应用的必要性,然而,理由实在太多,也没有必要一一列举,你可以参考其它的技术资料或是在平时的操作中去发现。

如何应用组件?在这点上或许我们更关心的是我们如何通过编程的手段来实现组件,在开篇的时候已经提起过,组件就是利用某种编程的手段来封装业务规则,而且也强调了语言在此处仅仅是一个工具罢了。但你可以完整的写出一个组件的时候,那么对于其应用就会更明确,对其给工作带来的效率而惊叹不已。那么到底如何应用组件技术?组件技术属于高组的应用部分,它可以从系统的底层作起,一直到我们可以感觉的明显出来的功能的封装。而在此过程中,我们就是要通过自己熟悉的工具来写一个好的组件对象或是组件。

我们现在都知道什么?虽然组件技术属于高级编程范畴,但是只要它是可以编程实现{又有那一种技术不可以实现呢?}的,我们就可以去实现一个组件。并且我们已经知道了组件的应用、作用,那们我们现在所应该做的就是熟悉一门开发工具,所谓的工欲善其事,必先利其器就是说我们只要很好的掌握了一个工具才有可能跨进组件技术这个大门(请不要在组件技术是语言无关性上和此处的表达方式进行纠缠,再如何的语言无庆性也必须要靠工具去实现,不是吗?),否则就算对组件技术理解的再透彻也只能站在门外徘徊。所以我们现在知道的无非就两点:组件和我们所掌握的工具。

我们现在应用做什么?又能做什么?没有基石的大厦必将会倒塌,我们没有坚实的基础做后盾,那么我们所写出来的组件必将也是一些垃圾!或是不成形的玩具罢了。或许你对组件很了解,而且也很明白FrameWork的设计,但是这一切都是建立在对其内核不理解的基础这上,只能说这是一种空白的设计,因为你将无法的切身体会的那种设计模设将会给你的组件带来质的飞跃,组件如此,其它也如此,就如一个好的项目经理需要有灵敏的思维和高超或是相当不错的技艺一样,否则,别人只会认为他在空谈自己的构想。所以我们现在应该做的就是充分的理解组件的应用之处、组件自身的规则以及我们的开发利器。这就是我们应该做的而且也是我们目前唯一可以做的。

当我们对组件有了一个基本的轮廓或是比较清楚的影响时,下一步就是来将我们的工具与组件结合起来。每一个开发工具都有其自身的特点,不同的语言虽然可以实现某些相同的功能,甚至被人们所说使用何种开发工具都一样的言辞所一概而论,此时我们就应该意识到这点是错误的,因为开发工具都有其利有其弊,应用其利是我们应该做的(并非是要大家对弊端弃之),此为其一,另外我们也必须要知道用什么样的技术所实现的更能给我们的组件带来效益上的飞跃、冗余上的放心、负载平衡上的可靠等。到现今为止,我们在熟悉我们的开发工具的同时还需要将面向对象编程的思想深深的渗透。为什么要这样说呢?.Net的

Framework的设计模式给了我们很大的忠告,一个组件其实就是一个工程,一个项目,而实现工程、项目的最好方法就是充分的利用OOP思想,当然,如果你要是能确定你此处的版本是最终版本的话,倒也无妨,无非就是在此版本中的编码系统上复杂一些罢了。

组件技术1
篇二:组件技术的作用

软件复用(Software Reuse)  起源:1968年NATO(北大西洋公约组织)软件工程会议上McIlroy的论文“大量生产的软件构件”社会分工及软件产业的分工

 表现方面:1时间维:使用以前的软件版本作为新版本的基础,加入新功能,适应新需求,即软件维护。2平台维:以某平台上的软件为基础,修改其和运行平台相关的部分,使其运行于新平台,即软件移植。3应用维:将某软件(或其中构件)用于其它应用系统中,新系统具有不同功能和用途,即软件集成(Software Integration)

 实施软件复用的一种手段  组件技术是基础

 已经成为软件生产的一种主要方式 组件技术产生的动因(一)

 传统软件 体现为:独立的整体性系统(铁桶式程序)同一团队,同一编程语言,同一机器运行 真正的软件复用。(真正复用) 软件复用的自然产生

 应用系统中通常包含三类成分:①通用基本构件:是特定于计算机系统的构成成分,如基本的数据结构、用户界面元素等,它们可以存在于各种应用系统中;②领域共性构件:是应用系统所属领域的共性构成成分,它们存在于该领域的各个应用系统中;③应用专用构件:是每个应用系统的特有构成成分。

 应用系统开发中的重复劳动主要在于前两类构成成分的重复开发。

 软件复用是在软件开发中避免重复劳动的解决方案,其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验,如:需求分析结果、设计方案、源代码、测试计划及测试案例等,从而将开发的重点集中于应用的特有构成成分。

软件复用的关键因素

 前提:必须有可以复用的对象;所复用的对象必须是有用的;复用者需要知道如何去使用被复用的对象。

 两个关键过程:可复用软件(构件)的开发(Development for Reuse),基于可复用软件(构件)的应用系统构造(集成和组装)

 实现软件复用的关键技术因素主要包括:软件构件技术(Software Component Technology)、领域工程(Domain Engineering)、软件构架(Software Architecture)、软件再工程(Software Reengineering)、开放系统(Open System)、软件过程(Software Process)、CASE等。

 众多的非技术因素,如:机构组织如何适应复用的需求;管理方法如何适应复用的需求;开发人员知识的更新;创造性和工程化的关系;开发人员的心理障碍;知识产权问题;保守商业秘密的问题;复用前期投入的经济考虑;标准化问题等等。 软件复用的分类

 不同的角度,划分的结果不同。

 根据软件工程活动中所涉及到得事物,可分为:产品复用和过程复用。  产品复用:复用已有的软件构件,通过构件集成(组装)得到新系统。

 过程复用:复用已有的软件开发过程,使用可复用的应用生成器来自动或半自动地生成所需系统。过程复用依赖于软件自动化技术的发展,适用于一些特殊的应用领域。  产品复用是目前现实的、主流的途径。

 依据对可复用信息进行复用的方式,可以将软件复用区分为黑盒复用和白盒复用。  黑盒复用指对已有构件不需作任何修改,直接进行复用。这是理想的复用方式。

 白盒复用指已有构件并不能完全符合用户需求,需要根据用户需求进行适应性修改后才可使用。  多数应用的组装过程中,构件的适应性修改是必须的。  按照软件开发过程划分

 代码级别 代码拷贝、粘贴,子程序和函数库,类,类库(不强调关系)  设计级别 类层次(类库,强调类之间的关系)、设计模式(设计思想)、设计框架(设计结果)软件体系结构风格(软件体系结构: 构件,连接件,风格)、架构(软件体系结构)(Design Patterns, Frameworks, Architecture, Style, Component, Connector)  需求级别 功能描述(用例use cases模式)

 子系统级别(组件) 一个独立或相对独立的系统或子系统中的部分功能,体现为组件形式(体系结构中的构件可以是组件,但组件不一定是构件,构件可以是程序模块,组件强调标准的组成形式)(component) 开发过程体现为:分析、设计、实现

发布前集成了广泛的应用特性(考虑完整)特性不能独立地被删除、升级和替代难以被复用(部分功能无法提供给其它软件系统) 传统软件典型形式

编译后以整体形式发布给用户。版本升级时,用户需要重新安装新版本,完整取代原有版本。例如:模块B变动

即使很好地采用了结构化方法,也难以解决版本升级等问题;开发周期长,维护费用高,扩展功能风险大等等。

组件技术的目标之一

四个模块分别编译,相对独立地交给用户;模块之间的调用仍然存在;版本更新时,用户只需获得某一新版本的模块。同一计算机系统内,有两个系统S1和S2都使用模块B,版本更新后,S1可使用B’提供的功能,s2可以继续使用B原有的功能。 组件技术产生的动因(二)

 新技术的产生和发展(冲击)软件开发方式必须改变硬件性能价格比的提高 (软件成本压力)网络计算技术(分布式计算技术)Internet的突起及基于Web的软件应用需求

群体生产力的提高越来越多的可用资源,资源共享 组件技术的目标之二

组成一个系统的不同模块,可以在网络的不同计算机系统系统中,对系统的用户来说,他不需要关心组成该系统的各模块的位置,对于任何一个模块来说,也不需要知道它所“调用”的模块位置,被调用模块也不需要知道调用者位置。调用了谁,被谁调用均不需要知道(位置透明) 组件技术产生的动因(三)  面向对象范型的不足

Clinet的实现紧紧依赖于Server的实现,使用与实现的分离体现在一个类的实现中,当然,也可以进一步体现在一个包(子系统)中。 组件技术的目标之三

使用和实现的进一步分离(下面仅仅是一种方案)

所有对象均把请求提交给Common对象,Common对象负责查找能完成请求的Server对象,并把请求转交给Server对象,Server对象完成后的结果通过Common对象转交给Client对象。能实现请求的Server可以有多个,Client对Server的使用与Server的实现分离。 组件技术(基于组件的技术)  Component Based Technology

90年代软件业的重要进展,复用和集成手段构造新的软件系统 以面向对象方法为基础  组件

在软件系统设计中能够重复使用的构造模块。组件包装了一系列相关联的操作和服务。一般具有相对独立性。

基于组件技术的软件开发(CBD)

 软件系统不再是固化的整体系统,灵活性  组件技术是一种社会化的软件开发技术  不同平台、语言  不同供应商

 CBD必须解决的问题:复用:功能能被多个系统使用集成:不同来源的组件协调工作,完成更复杂的任务

与可复用软件模块比较  模块,设计时概念  组件,运行时概念

 二进制形式的组件能有效的嵌入其它开发商的组件、应用系统中 与面型对象编程语言的关系  是一种更高层次的对象技术

 独立于语言,只要遵循组件规范,就可用方便的语言实现  只规定了组件的外在表现,不关心内部实现  可用对象语言也可用非对象语言实现

主要优点(这些也是软件工程研究的主要目标)

 提高开发速度,降低开发成本,提高软件质量,增加软件的灵活性,降低软件的维护费用 主要组件技术 • Microsoft COM/DCOM • OMG CORBA • SUN JavaBeans J2EE  Microsoft .NET  SOA Why CORBA

• 在整个企业内共享信息 数以千计的软件,数十种软硬件配置 • 集成,还是集成 – 多信息源公司CAD sgi,Excel PC大型制造公司不同年代大/小/PC机,DBs,OSs形成新解决方案 – 机构合并的融合问题

• 目标:集成多种工作单元,使企业能用现有的软硬件解决当前或将来面临的业务问题。 • CORBA

• Common Object Request Broker Architecture – 是一种标准的面向对象应用程序体系规范 – 由OMG(Object Management Group)在1990年定义在《对象管理体系指南》中 – CORBA发布的定义包含在《公共对象请求代理:体系结构和规范》中(1991.12)。 • 是分布式计算和对象模型的结合 • 使用了代理器

组件技术(汇总)第一版
篇三:组件技术的作用

1.组件技术产生的原因

1)体现为独立的整体系统,同一团队,同一语言,同一机器,开发过程分析、设计、实现发布前集成了广泛的应用特性,特性不能独立的被删除、升级和替换。难以被复用,版本升级繁琐,必须整体升级

2)新技术的冲击

3)面向对象范型不足 使用和实现进一步分离

COM组件规范的内容

用新版本的组件直接替换旧版本的组件有什么影响?(有答案)可参考不变性

什么叫客户桩?(有答案)

2.组件技术的优点

提高开发速度

降低开发成本

提高软件质量

增加软件的灵活性

降低软件的维护费用

3.COM组件的目标

易于动态组装

组件实现与语言无关

可以以二进制发布

支持向前兼容

DCOM支持分布式计算

接口的定义及作用

接口是有序排列的一组函数指针,可以简单理解为一组函数,每一个接口相当于该组件对外的一个窗口

4.COM接口有哪些规定

1)IUknown:所有组件都有一个称为IUknown的接口,该接口中依次给出的三个函数是:QueryInterface(对组件的接口进行查询,若存在某个接口,客户可以获得该接口中的服务),

QueryInterface(int interfaceID, void**pValue)第一个参数为接口ID,第二个存放返回值(支持接口约定的实体)

AddRef,Release(通过计数器共同完成引用计数功能[为何用计数器?组件使用时需载入内存,又可以被多个客户使用,无论哪个用户把它载入内存,为了知道何时可以从内存中卸载,需要一个计数器来记录组件的使用情况,实际可以为每个接口安排一个计数器,当一个组件所有接口计数器都为0,就可以卸载了])。一个组件可以同时被多个客户所使用,卸载时需要确定没有人使用,即计数器为0时

2

它任何一个接口的前三个函数与IUknown接口中的三个函数相同。客户获得一个接口后,可以查询其它接口是否存在。每个接口能够进行引用计数。

3)不变性:一旦公开了某一个接口,该接口将永远不能发生改变。包括函数在接口中的顺序。改变接口部分的唯一方式是:为组件增加新的接口。目的是兼容。版本升级不影响老客户。每一个接口有唯一的接口标识(ID)。

5.编写COM组件的步骤(利用DLL?)

1)定义接口,在接口中声明组件中需要使用的方法和变量,声明方法使用虚函数声明,定义的接口都要继承IUknown。

2)定义实现接口方法的抽象类。实例化类之后,才会对已经实例化的类对象分配内存空间。对类中接口的引用,可以通过对象指向接口的指针来调用。

3)以动态链接库DLL的形式,定义指向是实例化类对象的指针,并可以向调用它的接口返回标识,生成模块,定义文件,并在客户可以获取某个组件接口之前,将DLL装载到过程空间中并创建此组件。

4)创建类厂。在类厂中使用CreateInstance方法连接到动态链接库接口,并用指针指向这个接口。用DLLGetClassObject函数创建类厂,并根据类厂的接口标识返回类厂指针。

5)实例化类厂。使用CoCreateInstance实例化类厂,即生成一个实例类厂的对象,这个对象是可以被用户调用的。

6.类厂(IClassFactory)接口的作用

笔记版:提供了一种灵活的控制组件创建的方法,这种方法中组件由特定的类厂创建:通过CreateInstance(int interfaceID, void** pValue),而特定的类厂实现了类厂接口,给出了CreateInstance的具体实现,客户使用接口指针,可决定用特定的工厂来产生特定的组件,将不同组件的实例化延迟。

资料版:

CoCreateInstance函数是创建组件的时候使用最多的一种方法,但是它的灵活性不能够满足所有组件的需求,它没有给客户提供一种能够控制组件创建过程的方法,在建立好一个组件之后,无法控制将组件装载或检查客户是否具有权限。因此需要引入类工厂以获得更高的灵活性。

CoCreatInstance实际上并没有直接创建组件,用CoCreateInstance创建的组件实际上是通过IClassFactory创建的,类厂唯一的功能就是创建其他组件。客户可以通过类厂所支持的接口来对类厂创建组件的过程加以控制。创建组件的标准接口就是IClassFactory。

客户可以通过类厂组件创建其他组件,使用类厂来创建组件可以给客户提供一种能够控制组件创建过程的方法,并且在建立好一个组件之后可控制将组件装载到内存中何处或者检查客户是否有权限

7.使用动态链接库做组件的一般过程

1)编写头文件,定义各种业务接口以及接口标识符,其他的接口需要继承IUnknown接口,包括类厂接口及ID。这个文件需要客户知道(客户知道组件的接口)

2)实现定义好的业务接口,可以用一个类来实现所有接口,也可以每个类实现

一个接口,后者使用一个类聚合了每个接口的实现类,考虑到组件的自身复用问题,可以预留一个IUnknown组件类型指针,指针是0时代表一般客户程序,非0代表另一个复用自己的组件。也可以用已有组件代码直接拿过来实现复用。

3)实现类厂接口,实现CreateInstance方法,这个方法用来产生组件实例

4)编写DLL,导出函数GetClassObject用来返回工厂实例(指针)DllMain可以显示如组件名称等信息。可能会用到注册表函数来注册组件等。

5)导出函数的设计

简述利用动态链接库实现COM组件的一般过程:

1)定义各业务接口,各接口都能继承IUnknown接口

2)为每个组件和接口分配一个唯一的标识符

3)实现各业务接口的功能

4)定义类厂接口并分配唯一标识符(此接口继承自IClassFactory接口)

5)实现类厂接口以实现动态生成组件

6)编写DLL,在DLL函数中有注册组件到注册表的函数,取消注册的函数,与类厂相连的函数。

COM组件如何区分不同组件实例

利用IUnknown接口的值,用QueryInterface查询IUnknown接口,然后比较pIUnk(pIUnk分别为指向不同组件IUnknown接口指针)若相同则是同一组件,若不同则是不同组件

9.COM组件与模块的区别

模块:设计时的结构化分

组件:运行时的二进制代码

COM组件是运行时的二进制代码,其一旦公布,其中已定义和实现的接口就不能修改,模块可随时改动

8.IDL

生成语言映射接口

生成stub桩代码

生成服务器框架skeleton(不完全实现接口)

IDL编译器作用

1)生成与编程语言相关的文件(IDL文件,接口仓库)

2)生成客户桩文件stub,头文件head,服务器框架文件skeleton

定义了某类对象的特征和行为,包括服务器能在这类对象上施加的操作

如何在IDL工作基础上实现一个CORBA组件

Stub和skeleton生成原理,作用,理解

10.对客户桩的理解

客户stub是IDL接口的假实现,只是单纯的使用这种假实现,IDL接口的完整实现是由CORBA服务器实现的。Stub提供了在客户机应用程序中使用桩类型激发时所需要的定义和其他与CORBA供应商有关的信息。是程序激发请求时使用的一套例程,它把一个对象类型的IDL操作定义映射到激发请求时要用的一套与编程语言相关的例程

Skeleton:

1)框架包含把对象上的操作映射到合适的实现和方法上的必要信息。

2)框架把BOA的调用映射到所请求操作的特定实现的方法

3)提供BOA与完成在某个对象上各种操作的方法间的连接

4)通常由OMG IDL定义生成

激发方式(有答案)组件技术的作用。

CORBA的静态激发(桩类型激发)

(服务器(S),客户端(C)的每个交互都是基于C发送一个请求或S响应一个请求。发送请求的过程称为“激发”)

1)用IDL定义接口(.idl文件)

2)将接口定义生成一个或多个客户桩(用IDL编译器)

3)把客户桩连接到客户机应用程序

4)得到请求所需对象的引用

5)从客户机程序中调用声明的客户桩

6)如果有结果,处理并使用它们

7)释放不再需要的对象占用的存储区

特征:支持同步和单向通信形式,不支持异步使用例程调用,只能用于客户桩编译时就已完全可知的接口比动态激发快。

客户如何使用一个COBRA对象所提供的服务(有答案)

构造CORBA客户机的一般过程(有答案)

11.构造CORBA服务器一般过程

1)决定实现所支持的激活策略

2)生成服务器框架

3)把框架和服务器应用程序及对象适配器连接起来

4)编写服务器初始化代码

5)编写代码通知BOA实现已经被激活

6)编写代码创建消息分发循环

7)编写方法支持框架中的实现,上下文,异常

8)编写代码冻结实现

9)编写关闭服务器代码

10)如果同时也是客户机,参照客户机过程

什么是EJB类、EJB对象、Bean类、消息拦截(有答案)

结合EJB容器谈谈对中间件的认识

中间件是位于平台(硬件和操作系统)和应用之间的通信服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现,中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。中间件是处于应用程序及其所在系统内部工作方式之间的软件。

12.EJB容器完成的一般性功能(作用)

EJB容器加载EJB组件并管理其运行,可以创建EJBObject类

根据接口自动生成,实现方法由容器提供商决定,规范只规定容器生成这个对象与相应的桩

容器还创建Home类,实现EJB提供定义的Home接口,并产生Home桩类供客户端与Home对话

EJBObject对象的作用?

EJBObject对象接受客户端的请求,并把这个请求传给Bean实例,可以把EJBObject对象看成是Bean类的代理

对象请求代理ORB(有答案)

构造EJB组件一般过程

EJB部署描述文件作用(有答案)

谈组件技术(二) 必备知识
篇四:组件技术的作用

{在理解了OOP之后,我们对于组件所要必备的另一个知识点:接口 进行阐述,也许作为刚刚接触接口的您来说,这有些枯燥,但是必须给您说明的是,此处所说的接口将会百分百的引用到以后的组件技术或是组件对象中,因为它们最终就是对接口的实现、封装!引用上篇文章}

什么是接口? 接口有什么作用?如何用接口?

一系列的问题都会缠绕着你,如果你不想做组件、分布式、本地的应用程序调用的话,就不用看了;

COM1/COM2等硬件接口,我们都不陌生;但是如果要将软件中的接口和它们一样吗?又如何用接口呢?而且用好的话,并不一定很容易;让我们继续吧;

我们所谓的接口其实就是一些过程、函数、属性集;记住,接口不可以有字段的,如果你有这个想法的话,那么从现在开始就要认识是错误的,对接口的访问就是对它提供的方法、事件、属性的访问,而且,接口所提供的方法都是公开的,是全部的公开的,所以就不必要用Public了;

在组件中,接口就是一切,一个组件就是一个接口集,用户只用通过接口才能组件进行打交道;

最通用的接口

IunKnown: InterFace;//默认接口

首先我们来看一个简单的例程,然后进行详细的介绍;组件技术的作用。

unit Main;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls,ComObj,ActiveX,StdVCL;

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

组件技术的作用。

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

ILC = Interface(IUnknown)

['{4FFE6DDB-80B9-4E2D-A05F-5F3B35311ED7}']

//GUID,它是用来唯一标识一个接口的标识符,可以通过Ctrl + Shift + G产生

本文来源:http://www.myl5520.com/fanwendaquan/88766.html

推荐内容