仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1146|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页设计组件模子:COM/DCOM、CORBA、KCOM仓酷云

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:32:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net网页编程的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。从第一台盘算机发生入手下手,硬件手艺和软件手艺几近同时入手下手它们的开展过程。可是半个世纪以来硬件手艺的开展速率要远远高于软件手艺的开展,从电子管到晶体管,从集成电路到超年夜范围集成电路,运算速率从每秒几千次到每秒上万亿次。比拟之下软件手艺就远远跟不上硬件手艺的开展,个中的本源应当是很长工夫内没有找到无效软件机关办法。可喜的是七十年月入手下手呈现的面向对象的认知办法和编程言语,经由二十多年的开展,于九十年月结出累累硕果,在二十世纪末呈现了由面向对象开展而来的组件手艺,它恰是软件业等候多年的如许一种无效的软件机关办法。

组件模子界说组件的制造办法,运转体例,和互相感化机制。本文先容今朝盛行的两种组件模子:COM(和创建在COM基本之上的DCOM)组件模子、CORBA组件模子,最初引进一种便于进步组件机关效力的、更实在地反应实际天下的源码级组件模子——KCOM组件模子。
1.COM/DCOM组件模子

COM(theComponentObjectModel)是一种平台自力的、散布式、面向对象的体系,用于创立可互操纵的二进制软件组件。COM是微软的OLE(复合文档),ActiveX(可用于Internet的组件),和很多别的手艺的基本。COM最后是由微软公司提出并自力开展,如今,它已交给一个自力的构造办理。
为了了解COM和一切创建COM基本之上的手艺,有一点必需铭刻在心,那就是COM不是一种面向对象言语,而是一种尺度。COM也不指定一个使用程序应当怎样构建。言语,布局,和完成细节都留给使用开辟职员。COM指定一种组件模子和COM组件(或对象)之间互相感化所需具有的编程请求。COM组件能够散布在统一个历程内,大概在分歧的历程间,乃至是远真个呆板上。COM组件能够是用分歧的言语编写,布局也能够有很年夜的分歧。COM被以为是一种二进制尺度,由于它是一种当程序被编译成二进制呆板码后才起感化的尺度。
COM对言语的独一请求就是必需能创立布局指针,而且能显式地或隐式地经由过程指针挪用函数。面向对象言语,如C++、Smalltalk等,都供应简化COM组件完成的编程机制。别的言语情况,如C、Pascal、Ada、Java、BASIC等也都能创立和利用COM组件。
COM界说了COM组件的实质特性。一样平常来讲,软件是由一组数据和利用这些数据的函数组成的。COM组件经由过程一个或多个相干函数集来存取组件的数据,这些函数集称为接口,而接口的函数称为办法。COM组件经由过程接口指针挪用接口的办法。
除指定二进制组件尺度,COM还界说一些基础的接口以供应一些一切基于COM组件的手艺所私有的函数。别的,COM还供应一些一切组件所必要的API函数。
DCOM(theDistributedComponentObjectModel)扩大COM,以撑持分歧盘算机之间的对象间通讯,这些盘算机能够是位于局域网,广域网,乃至是互连网。
DCOM是COM这一天下盛行的组件手艺的天然开展,因而能够在充实使用已有的基于COM的使用程序、组件、工具、常识等的基本之上转向散布式盘算。DCOM利用户能将重点放在真实的贸易使用上,而不用体贴太多的收集协定细节。
DCOM位于使用程序的组件之间,将组件以不成见的体例胶合在一同构成具有完全功效的使用程序。
DCOM的特征使得编写散布式使用程序变得简单:
合适从最小的单机情况到最年夜的集群服务器
供应组件间的丰厚的、平衡的通信
能够强无力地扩大以顺应功效需求
可充实使用已有组件,好比说COM组件
精晓分歧编程言语和开辟工具的小组能够协同事情
为终端用户供应最快的呼应,同时又无效地节俭收集带宽
固有的平安性
负载均衡和容错特性
分发、设置和办理的高效性
能够同任何收集协定相分离并集成就任何硬件平台
能够充实使用别的Internet尺度和协定DCOM划定了收集上组件之间的通讯协议,因而DCOM能够说是组件之间的TCP/IP协定。
COM/DCOM组件今朝普遍地用于Windows平台,因为Windows平台的极年夜的市场占据率,因而COM/DCOM现实上已成为一种组件尺度。COM/DCOM的盛行还得益于浩瀚优异的开辟工具的撑持,VisualC++、VisualBasic、Delphi等言语工具都撑持COM组件的制造。
2.CORBA组件模子

CORBA(theCommonObjectRequestBrokerArchitecture)是OMG(theObjectManagementGroup)制订的开放的、自力于开辟商的系统布局和基本机关,经由过程CORBA,盘算机使用程序能够经由过程收集协同运作。由于利用尺度的IIOP(theInternetInter-ORBProtocol)协定,两个基于CORBA的程序,不论是来自任何开辟商、运转在何种呆板、接纳哪一种操纵体系和编程言语、经由过程分歧的收集,都能够互相操纵。OMG,建立于1989年,是开辟商,开辟职员,和终极用户的同盟。OMG的方针是勉励一种对象办理系统布局(OMA)的开展和尺度化,这类对象办理系统布局供应在异种收集下面向对象的散布式组件的普遍互操纵性。CORBA标准组成OMA系统布局的中心。
CORBA的系统布局是基于面向对象手艺的,而且是环绕着三个关头成分构建的:OMG的接口界说言语(IDL)、对象哀求代办署理(ORB)、尺度协定(IIOP)。
在对一个散布式体系举行初始的剖析和计划以后,紧接着就是界说对象的接口。对象接口表达客户端和服务器端使用程序之间的协定。在CORBA体系中,利用IDL(theInterfacesDefinitionLanguage)来形貌接口。IDL是自力于言语的,它的语法和C++类似,包含模块布局、接口、操纵、属性、用户自界说范例、非常,等等。IDL其实不指明接口的完成体例。分歧的CORBA产物有分歧的处置完成形貌的办法。一切的CORBA产物都天生基于IDL界说的指定言语的绑定。C言语是第一个由CORBA指定的映照言语,别的,OMG还承认C++、Java、Smalltalk等言语绑定。IDL界说能够贮存在一个接口堆栈中,客户端可使用接口堆栈举行范例反省和实行静态接口操纵。
ORB(theObjectRequestBroker)是CORBA体系的中心。一个ORB将客户端使用程序的哀求递送到服务器端使用程序。客户真个接口完整自力于对象的完成。对散布式体系开辟职员来讲,底层的ORB完成体例是不主要的。主要的是ORB的接口和对象的接口是不是有充足好的界说以供应跨全部散布式情况的一致的框架,和经由过程ORB创建起来的使用程序在分歧平台之间是不是能很好地相同。ORB供应一种将客户端哀求转达到方针对象完成的机制。ORB经由过程减低客户端对办法挪用细节的懂得水平而简化散布式开辟,它使得客户真个哀求看上往象是当地历程挪用。当客户端挪用一个办法,ORB卖力找到对象的完成,需要时激活对象,将哀求递送给对象,并将任何呼应了局前往给挪用者。


IIOP界说一整套数据格局化划定规矩,这些划定规矩称为CDR,而且是按CORBA的接口界说言语所撑持的范例来制订的。IIOP标准还经由过程利用CDR数据格局化划定规矩界说了一套动静范例,这些动静范例撑持CORBA中心标准中一切的ORB语义。CDR格局化划定规矩和动静范例配合组成一个笼统的协定——GIOP(GeneralInter-ORBProtocol),GIOP动静能够经由过程任何传输协定发送,如:TCP/IP协定,SPX协定,SNA协定,等等。可是,为了确保ORB产物之间的互操纵性,IIOP标准请求ORBs发送GIOP动静时要经由过程TCP/IP协定,由于TCP/IP是Internet上的面向毗连的尺度传输协定。复杂来讲,GIOP加上TCP/IP就是IIOP。
CORBA有目共睹的特性包含:
极普遍的平台和编程言语撑持
与面向对象办法完整兼容,以坚持散布式使用程序的天真性和可晋级性
具有普遍的开辟商、开辟职员、和用户撑持
开放的、可互操纵的系统布局
包括一种天真的对象间通信的互联网协定尺度
撑持面向对象的散布式使用程序
成熟的对象观点
接口和完成之间的优秀分开
CORBA组件能运转于任何一种平台之上,出格是在Unix平台上,它已成为编写散布式使用程序和两头件的尺度组件模子。CORBA从一入手下手就是为了成为一种跨平台的散布式组件尺度,经由多年的开展,已成为一种成熟、完整的组件模子。CORBA和COM/DCOM之间一向是一种合作干系,由于微软只尽力推许本人界说的COM/DCOM,因而在微软所供应的盛行的开辟工具,如:VisualC++、VisualBasic等,都不撑持CORBA组件的编程,这对CORBA在Windows这一最次要的操纵体系平台上的提高形成了极年夜的停滞。
2.KCOM组件模子

不管是COM/DCOM,仍是CORBA,它们都烙有很深的盘算机软硬件体系的印记。我们构建组件模子的目标是供应形貌、反应、摹拟实际天下的办法和工具。固然盘算机是我们的完成工具,可是我们的组件模子应当只管制止遭到盘算机软硬件体系的影响,想举措构建最靠近实际天下的组件模子。别的,一个好的组件模子应当成为一般人的一样平常工具,而不该该只是盘算机专家的专有工具。上面先容一种全新的组件模子——KCOM组件模子。
KCOMSpace是一种组件开辟及运转平台,KCOM组件模子是KCOMSpace的最主要的构成部分。

KCOM这个称号由K和COM构成。K是Knowledge的首字母,代表常识和智能;COM是Component的缩写,也是Commerce的缩写,代表组件和商务。KCOM既代表KCOM组件模子,也暗示它是一种用于完成和运转电子商务的常识化、智能化的工具平台。
KCOM组件模子创建在如许的看法之上:组件能够层层包裹,统一条理的组件互相之间不间接感化,而是经由过程父(外层)组件直接感化,父组件绝对子(内层)组件而言起了胶互助用。父组件和子组件之间经由过程动静通信:父组件经由过程子组件的称号向子组件发送动静;子组件由于没法晓得父组件的称号而只能向外播送动静,隐含的承受者就是父组件。一个组件吸收到的动静来自两方面:父组件和子组件。组件的事务与办法实质上是一样的,从父组件发给子组件的动静叫做办法,从子组件发给父组件的动静叫办事件。
KCOM组件的子组件的物理地位能够散布在收集的分歧中央,只需能经由过程某种体例传送动静,父组件和子组件就能够当作一个一致的全体。KCOM组件的这一特征体现为散布式组件盘算。
KCOM组件所包括的子组件能够是静态的,时时刻刻,都能够有新的子组件到场出去,也能够有子组件分开。一个最分明的例子能够很好地申明静态组件的观点:假如将商铺当作一个父组件,而主顾视为子组件,那末主顾和商铺之间就组成如许一种静态干系。
因为KCOM组件之间是包括的干系,子组件绝对父组件是一种部分的干系,因而KCOM组件的定名划定规矩就很复杂了,只需在统一层组件之间称号不反复就能够了,而每个KCOM组件所包括的子组件的数量是无限的,如许对KCOM组件来讲,就不用要有象GUID如许的全局的标识。关于位于收集分歧地位的KCOM组件,能够经由过程收集地点加上组件称号来标识。
KCOM组件模子的方针就是最实在地反应实际天下。实际天下就是由年夜巨细小的组件组成:年夜到宇宙,小到原子,组件层层包裹;物资天下云云,人类社会的构成也是如许,从作为个别的人,到个人,到全部社会,都能够用组件加以形貌。
COM/DCOM是今朝业内盛行的组件尺度,将KCOM与COM/DCOM做对照,将有助于更好地舆解KCOM的内在。
COM/DCOM组件模子?
COM/DCOM组件模子是一种平台自力、散布式、面向对象的体系,用于创立可互相感化的二进制软件组件。COM/DCOM是微软的OLE(复合文档)和ActiveX(可用于Internet的组件)和很多别的手艺的基本手艺。
COM/DCOM之以是被以为是一种二进制尺度,是由于它是一种在使用程序被编译成二进制呆板码以后才起感化的尺度。
COM/DCOM不是一种面向对象言语,它也不指定一个使用程序怎样机关,它是一种尺度,它指明一种组件模子和使组件之间可以互相操纵的编程需求。COM/DCOM组件能够运转在单一历程、分歧历程、乃至是远端呆板。
COM/DCOM组件能够经由过程很多编程言语来创立。很多面向对象言语,诸如C++,都供应可简化COM/DCOM组件完成的编程机制。
COM/DCOM界说了一个COM/DCOM组件的中心本色。一样平常来讲,一个软件组件由一组数据和办理这些数据的函数组成。一个COM/DCOM组件是如许的一种软件组件,它专门经由过程一组或多组相干的函数存取组件数据。这些函数汇合称为接口,而接口的函数称为办法。对COM/DCOM来讲,它必要的独一的挪用接口办法的路子就是指向接口的指针。
编译好的COM/DCOM组件是不克不及修正的,要增添新的功效只能由开辟商对组件源码举行修正、更新,然后从头编译天生新的COM/DCOM组件。
KCOM组件模子
KCOM是KCOMSpace界说的一种组件模子,用于创立可互相组互助用的软件组件。KCOM组件模子是KCOMSpace平台及其使用程序的基本。
KCOM不是一种二进制组件模子,KCOM组件不间接面向呆板代码,KCOM有本人的假造机运转KCOM组件。KCOM是一种源码级的组件模子,它间接对布局化存储在HKB文件内的KCOM组件起感化。KCOM假造机屏障了盘算机完成的细节。
KCOM间接指明一个KCOM组件应当包含的成分:组件表面(KCOMAspect),用于组件与外界交互的界面;组件办法(KCOMMethod),用于引导组件怎样操纵运转;组件属性(KCOMProperty),用于寄存组件的形态值;组件事务(KCOMEvent),用于界说在特定的运转过程当中将会触发的事务。KCOM有本人的言语,经由过程言语组件化,KCOM言语能够体现为多种形状,以后完成的是KCOMBasic言语。KCOM对编程言语加以改革和扩大,引进组件运算的功效。
在KCOMSpace内,能够不异的利用办法编纂KCOM组件和一般组件,别的,还供应一些操纵便于KCOM组件的利用,如装载、导进、导出KCOM组件,当场制造、检进、检出KCOM组件。
KCOM组件的运转体例分歧于运转COM组件:COM组件运转前必需先将全部OCX、DLL文件下载到客户端操纵体系注册;而KCOM组件的运转则不用将全部HKB文件下载到客户端扫瞄器,而只下载以后用到的数据、代码。实践历程是如许的:先下载KCOM组件首页;用户鼠标、键盘操纵发生事务,将呼应事务的响应的KCOM办法下载运转;链接到分页面,将响应的页面数据下载,反复这些历程。KCOMStageControl将下载过的KCOM页面、办法寄存在当地硬盘,当下次运转该KCOM组件时,KCOMStage能正确地晓得哪些页面和办法已下载过,哪些页面和办法已更新必要从头下载,关于下载过的还未更新的页面和办法就从当地硬盘调进。KCOM组件的这一特征是使组件空间使用软件能无效地运转于Web情况的主要要素之一,由于它使KCOM组件运转时必要经由过程Web传输的数据量削减到能充实顺应Web情况的无限带宽。
对KCOM使用程序来讲,它的意义不单单是在于它是由组件组合而成,另有一个很主要的意义在于它本身又能够作为组件使用在别的使用情况当中。
制造好的KCOM组件除能运转以完成特定的功效外,用户还能够对它间接举行修正、更新,以供应定制的功效。
界说KCOM组件模子的目标在于以加倍烦琐、直不雅、高效的办法将使用软件组件化。

Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。
沙发
发表于 2015-1-24 10:01:11 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
活着的死人 该用户已被删除
板凳
发表于 2015-1-29 09:13:33 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
深爱那片海 该用户已被删除
地板
发表于 2015-2-1 10:07:17 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
小妖女 该用户已被删除
5#
发表于 2015-2-7 02:51:02 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
若天明 该用户已被删除
6#
发表于 2015-2-10 04:20:24 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
admin 该用户已被删除
7#
发表于 2015-2-10 07:15:19 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
蒙在股里 该用户已被删除
8#
发表于 2015-2-22 22:40:40 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-1 00:57:38 | 只看该作者
是一种为 Internet发展的计算机语言
老尸 该用户已被删除
10#
发表于 2015-3-6 19:02:58 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
谁可相欹 该用户已被删除
11#
发表于 2015-3-13 06:08:24 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
小魔女 该用户已被删除
12#
发表于 2015-3-13 06:11:31 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
小女巫 该用户已被删除
13#
 楼主| 发表于 2015-3-17 18:09:38 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
愤怒的大鸟 该用户已被删除
14#
发表于 2015-3-18 02:27:50 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
透明 该用户已被删除
15#
发表于 2015-3-25 09:11:43 | 只看该作者
是一种使用者不需花费很多时间学习的语言
飘灵儿 该用户已被删除
16#
发表于 2015-3-25 10:30:38 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
飘飘悠悠 该用户已被删除
17#
发表于 2015-4-3 05:22:06 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
不帅 该用户已被删除
18#
发表于 2015-4-14 00:13:08 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
分手快乐 该用户已被删除
19#
发表于 2015-4-29 06:51:10 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
变相怪杰 该用户已被删除
20#
发表于 2015-4-30 09:18:20 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 16:55

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表