分布式对象技术及其在Web上的应用

2024-10-15

分布式对象技术及其在Web上的应用(通用4篇)

分布式对象技术及其在Web上的应用 篇1

夏仕林,李海峰, 吴介一

东南大学 CIMS中心,南京 210096

linshixia@263.net

摘要:本文首先论述了分布式对象技术的重要概念和基本原理,然后分析了CORBA和Web相结合所带来的技术优势。最后,结合实例,介绍了开发基于CORBA/Web技术的应用系统的步骤和特点。

关键词:Web 分布式对象 CORBA IDL PDMS

1 引言

Internet/Intranet的飞速发展使得World Wide Web应用日益广泛,从而引发了一场Web技术的革命。目前,各种新型的Web应用,如电子出版,电子商务等层出不穷,许多应用系统也纷纷集成了Web浏览器和服务器,Web技术正以日新月异的速度变化着。Web已不再仅仅是超媒体信息的浏览工具,它正逐步成为人们事务处理的通用前端。在分布式环境中,异构性是一个十分明显的特点,一个典型的分布环境包括有大型主机、UNIX工作站和PC机,各种机器所采用的操作系统和网络通信协议也是千差万别。在这样的异构环境下实现信息和软件资源的共享将十分困难,而一个健壮的分布式计算框架将为分布式应用软件的开发带来巨大的好处。由于分布式对象技术,特别是CORBA技术对于提高Web的网络计算能力有着无可比拟的巨大作用,它已开始进入Web领域并投入应用。

分布式对象技术及其在Web上的应用 篇2

日新月异的信息交流技术促进了远程教育的飞速发展,而运程教育技术的关键是教育资源的开发、组织与管理。由于历史的原因,我国的远程教育站点往往都是自行建立远程教育系统,分散而且孤立。分散孤立的远程教育系统也已成为阻碍远程教育系统快速发展的一个因素,随着我国教育科研网带宽的不断提高,校内各服务站点的数据以及应用程序共享、校际间的远程教育合作越来越受到人们的关注。怎么样消除信息孤岛,使各信息站点能够共享数据,使得各高校之间能够优势互补,避免重复开发,节省开发教育资源和应用系统的人力和财力成为近来研究的热点。

分布式对象技术的体系结构和支撑环境都有较大发展,分布式对象技术在提高信息处理能力、系统协作能力、系统可靠性和可扩展性方面有良好的表现。鉴于此本文提出的分布式对象技术的设计框架,可以较好地解决网络教学系统中的可扩展性、共享性和跨平台应用的问题。

2 分布式对象技术

分布式对象技术主要是在分布式异构环境下建立应用系统框架和对象构件,在应用系统框架的支撑下,开发者可以将软件功能包装为更易管理和使用的对象,这些对象可以跨越不同的软硬件平台进行互操作。目前主要的分布式互操作标准有Microsoft的OLE/COM/DCOM标准、Sun公司的Java RMI标准和OMG组织的CORBA标准。下面对三种技术加以介绍,并对三种标准加以比较。

2.1 CORBA技术分析

CORBA是OMG组织在1991年提出的公用对象请求代理程序结构技术规范。CORBA有很广泛的应用,它易于集成各厂商的不同计算机,从大型机一直到微型内嵌式系统的终端桌面,是针对大中企业应用的优秀体系结构。

CORBA的底层结构是基于面向对象模型的,由OMG接口描述语言(OMG Interface Definition Language,OMG IDL)、对象请求代理(ObjectRequest Broker,ORB)和IIOP标准协议(Internet InterORB Protocol)3个关键模块组成。如图1。

使用接口描述语言编写的对象接口,使得与语言无关的独立性成为可能。IDL使得所有CORBA对象以一种方式被描述,仅仅需要一个由语言(C/C++、CORBA或Java)到IDL的“桥梁”。COR-BA对象的互通要以对象请求代理为中介,这种互通信可以在多种流行通信协议之上实现。在TCP/IP上。来自于不同开发商的ORB用于IIOP标准协议通讯。

CORBA技术规范利用了当今软件技术发展的最新成果,在基于网络的分布式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境下实现重用、可移植和互操作。其特点如下:

(1)在CORBA规范中引入了代理(Broker)的概念,一个代理至少可以完成对客户方提出的抽象服务请求的映射;自动发现和寻找服务器;自动设定路由,实现到服务器方的执行。

(2)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。

(3)应用程序间的统一接口。CORBA提供软总线机制,这是系统定义的一组接口规范,使得在任何环境下,采用任何语言开发的软件只要符合接口规范的定义,均能集成到CORBA系统中。

(4)CORBA采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。

(5)分层的设计原则和实现方式。CORBA规范只是针对OMA体系结构中的ORB制定的工业标准,而面向对象定义则可以在OMA的应用对象或应用开发环境中逐步分层定义和实现。

2.2 DCOM

目前,Microsoft的分布式组件对象模型(Distributed Componont Object Model)仅运行于两种操作系统之上:Windows95和WindowsNT4。Microsoft正在与第三方开发商协作,以将DCOM移到其它的操作系统上(包括MVS和几种UNIX操作系统)。象CORBA一样,DCOM是独立于语言的,它用Microsoft的对象描述语言(ODL)通过接口对对象加以描述。

与CORBA相比,DCOM有三个缺点。首先,它由单一开发者(微软)定义并控制,这大大限制了DCOM使用者的选择范围(比方说开发工具和风格)。其次,DCOM缺乏众多的平台支持,这极大程度地制约了代码的可重用性和DCOM应用的可扩展性。最后,与CORBA相比,DCOM是一种非常不成熟的技术。尽管微软目前正为DCOM加入消息和事务支持,但这些功能在1994年的COR-BA2.0就已经实现了,并且正由几家不同的CORBA软件开发商所发行。

2.3 RMI

Remote Method Invocation是最新的JDK1.1中的重要特色。RMI使得Java客户能够访问远程服务对象。这听起来似乎十分类似于CORBA,但两者并不一样。其关键在于服务器端的应用程序也必须用Java编写,且只能使用JDK1.1中提供的工具。你根本无法把过去编制的代码加到新程序中去,除此之外,RMI还有许多其它缺陷。

与CORBA不同,RMI没有服务这一概念。另外,根据RMI写出的Java服务器对象往往性能低劣,这个缺点源于Java虚拟机。(有趣的是,JavaCORBA服务器比RMI服务器表现出更好的性能。)RMI也不包括象CORBAORB那样的对象击活功能。

实际上,RMI及Java技术更可能向OMG的标准靠拢,而不是背道而驰。Sun已经宣布,Java事务服务(JavaTransactionServeces)将建立在OMG的对象事务服务(ObjectTransactionServeces)。该公司还曾发布其长远计划:使RMI对象可以通过IIOP互通讯。

3 CORBA技术在网络教学中的应用和实现

3.1 系统结构

基于CORBA技术的分布式远程教育系统的框架结构,其组成如下:

1)若干Web服务器。按照分布式服务的要求,这些服务器理论上可以处在网络上的任何位置。服务器承载整个远程教育系统的服务,响应用户的请求,将教学资源处理后,以适当的方式传送到客户端,供学习者使用。

2)一个或数个CORBA代理。CORBA代理的功能是在监听到网络上有对某一对象的服务请求时,负责寻找提供该对象服务的应用程序,使请求者和服务者之间建立网络连接,以便进行相应的服务。

3)一个或数个数据库服务器或者XML资源库。存放教学资源,按照实际需要,可以使用数据库服务系统,也可以是纯粹的XML文件。数据库系统中也可以存放XML格式的数据,这只是XML格式的数据的存在形式。而数据库中的其他格式的数据,也可以经过处理,转化成XML格式的数据,以便在网络上传输。

4)客户端,嵌入JAVA运行时环境的浏览器。

3.2 系统配置及其实现

1)Web服务器。采用Windows 2000 Server,在该服务器上安装Sun公司的J2SDK 1.4.1 for Windows,使之具有JAVA开发环境,然后再安装Sun公司的jwsdp-1_0_01 for Windows,该软件包是一个支持JAVA的Web服务器,与Windows 2000 Server的Interne Information Server配合使用,其服务端口为8080,根据用户的情况,可以更改为其他端口。

2)CORBA代理。采用Borland公司的Visibroker4.51 for JAVA,在网络中安装在某几台PC上,使用时,只需要运行内含程序Smart Agent即可。

3)数据库系统。采用Oracle数据库系统。

4)开发及其运行。用Jbuilder 7.0进行开发应用系统,将所用教学资源以XML文件的形式置入合适的目录中,或者将数据存入到数据库中;使用IDL文件定义服务对象接口;用Html_CORBA Client向导制作Web页面,为了充分使用JAVA所具有的各种功能,该页面可以用Jsp来实现;用CORBA Application Server向导制作服务器端对象的服务实现;多媒体信息的传送和显示可以用JAVA Applet来完成,因此需要将这些JAVA Applet置入合适的位置,以便让页面文件调用。系统工作时,首先由客户端通过浏览器发出服务请求,当该请求不涉及CORBA对象时,Web服务器就直接处理,而当涉及到CORBA对象时,就会通过SmartAgent去寻找该对象的实现,对于用户来讲,并不关心对象服务实现的方式和位置。

3.3 系统中的核心问题及解决方法

该系统的核心问题是服务器端CORBA对象服务的实现及其XML信息的处理。基于CORBA的分布式远程教育系统,其服务分布在不同的服务器上,并且这种服务是透明的。对于用户来讲,并不知道服务是由谁来提供和怎样提供的。要保证这种服务,服务器端最核心的也是最重要的工作就是CORBA服务对象的实现,而这种服务又和教育资源紧密相连,本系统中教育资源又往往以XML信息的形式存在,因此,在CORBA服务对象中,怎样处理XML信息,也是非常关键的。

我们以前面谈到的XML文件信息为例来说明怎样来解决XML信息的处理和CORBA服务对象的实现。我们知道,上述的XML文件信息表示的是分形树图像,它内含了分形树的所有信息。

如果在系统中,服务器端需要提供向客户端传送并显示分形树的服务,那么,可以用如下IDL文件来定义CORBA对象接口:

对其进行编译分别得到符合IIOP协议的服务器端skeleton文件和客户端stub文件。客户端程序的编写,只需把调用fractal对象的方法display()置入相关页面,而在服务器端,在skeleton文件的基础上,实现fractal对象中的display()方法。在实现该方法的过程中,完成对XML信息的处理。对XML信息的处理,可以采用三种模型:SAX、DOM或JDOM。分形树是用JDOM模型实现的,当然,最终的结果,不会因为不同的处理模型而改变。

对于服务器端,只要设计好服务对象,并用IDL接口文件进行描述,那么余下的工作,便是CORBA对象服务的实现了。只要大家共用的是同一个IDL文件,就不会存在服务上的冲突。在通常情况下,该类系统可以参照上述的模式进行开发。

3.4 利用CORBA技术开展远程教学的益处

基于CORBA技术的分布式远程教育系统和传统的网络教学系统最大的差异是结构上的不同和教育资源存在形式的不同,正因为如此,具有多方面的优势,可以归纳为以下几点:

1)我们可以使用各种信息、数据,无论它们分布在数字世界的哪个角落。

2)我们可以对信息、数据进行各种自动化处理,无论它们需要哪个公司的哪个软件。这种处理是无缝集成的,就好像使用专门编制的软件一样。

3)我们可以随意更改事务处理流程,实行物业动态管理。这种改变,革新对办公室自动化、电子商务的现有设施影响很小。我们可以最大限度的重用已经存在的软件、硬件和数据信息。

4)我们可以使用、控制各种数字化的设施:嵌入程序的智能电视、录像机、报警系统、传感器以及各种几乎类似“职业选手”的“个人数字助理”——PDA等,只要这些带程序的入式数字化设备接入了互联网。

4 总结

总之分布式对象技术中的三个标准技术都有其优势,特别是CORBA技术是一种方兴未艾的中间件技术,它的出现是软件发展的进步,由于CORBA规范能够充分利用现今各种技术发展的最新成果,所以CORBA规范和中间件产品正受到越来越多的重视。而DCOM和RMI都有其各自特点,他们能和CORBA集合使用发展未来分布式系统,如果我们能将这些技术合理地运用于之相适应在远程网络教育中,一定能推动远程教育的快速发展。随之会产生网络教育,网络虚拟实验等一系列方便于教学和研究的系统。

摘要:传统的远程教育系统,一般都是孤立和分散的,其结构基本上都是Client/Serve模式,无法将教育资源和显示方式相分离,这对于信息的查询、传输都是不利的。而分布式技术在远程教育中应用,改变了传统的远程教育系统的结构,解决了传统的远程教育系统的不足。该文首先对分布式对象技术的标准及其特点进行了介绍,然后探讨了基于CORBA技术在网络远程教学系统的应用与研究。

关键词:CORBA,RMI,DCOM,网络教学,分布式远程教育系统

参考文献

[1]王志坚,费玉奎,娄渊清.软件构件技术及其应用[M].北京:科学出版社,2005.

[2]王晓东.实时CORBA及应用研究[J].计算机应用研究,2002,(1):96-98.

[3]何克抗.网络教学结构与网络教学模式探讨[J].教育技术通讯,2001,(5).

[4]Andrew S.Tanenbaum Maarten van Steen.分布式系统原理与范型[M].杨剑峰,常晓波,李敏,译.北京:清华大学出版社,2001.

[5]何克抗.网络教学结构与网络教学模式探讨[J].教育技术通讯,2001.

分布式对象技术及其在Web上的应用 篇3

1 前言

Internet的迅速發展使得web技术应用日益广泛,从而引发了一场Web技术的革命。Web已不再仅仅是超媒体信息的浏览工具,它正逐步成为人们事务处理的通用前端。在分布式环境中,异构性是一个重要的特点,一个典型的分布环境包括有大型主机、UNIX工作站和PC机,各种机器所采用的操作系统和网络通信协议也是不尽相同,在这样的异构环境下实现信息和软件资源的共享将十分困难,而分布式计算框架将为分布式应用软件的开发带来巨大的益处。

2 分布式对象技术

分布式对象技术主要是在分布式异构环境下建立应用系统框架和对象构件,在应用系统框架的支撑下,开发者可以将软件功能包装为更易管理和使用的对象,这些对象可以跨越不同的软硬件平台进行互操作。目前主要的分布式互操作标准有Microsoft的OLE/COM/DC-OM标准、Sun公司的Java RMI标准和OMG组织的CORBA标准。下面以CORBA为代表分析了分布式对象技术的体系结构,并对四种标准加以论述。

2.1 CORBA体系结构。

过去网络计算模式是从两层模式扩展到今天的三层模式,在三层结构中,客户端与数据库或其它资源管理器之间加进了一个中间层,即应用服务层。三层结构模型将应用的业务逻辑和用户界面分离,在保证客户端功能的前提下,为用户提供一个简洁的界面。

2.2 基于CORBA的三层模型。

中间件把应用程序与系统所依附软件的较低层细节和复杂性隔离开,使应用程序开发者只处理某种类型的单个API,而其他细节则由中间件处理。应用程序开发人员可以通过使用中间件工作在应用程序较高的层次上,而中间件提供了较低层的细节。基于CORBA的三层架构,客户方程序与服务方程序完全分离,客户将不再与服务方发生直接的联系,而仅需要与代理发生联系,客户与服务器方都可方便升级。提供"软件总线"机制,任何应用系统只要符合CORBA系统定义的接口规范,就可以方便地集成到CORBA系统中,这个接口规范独立于任何实现语言和环境。

3 CORBA标准的四个部分

3.1 接口与IDL语。

接口是CORBA系统中一个非常重要的概念,因为它代表了对象的服务能力,为客户提供了操作对象的唯一方法,简单的说,接口就是一组相关函数的集合,接口中每一个函数都给出了详细的说明,包括函数名、参数个数、参数类型、返回类型以及可能出现的异常。必须指出的是接口只定义了函数的原型,并没有给出具体的实现,这就留给开发者足够的灵活性来提供他们自己的函数实现。IDL用于说明CORBA服务对象完成的功能,但不能够利用IDL实现该功能。IDL是独立于其他编程语言的功能描述性语言,这从另外一个侧面说明了CORBA的语言环境独立性。

3.2 对象请求代理。

CORBA规范将那些相对固定的、单一的功能提取出来交由ORB内核实现以保证它的可靠性、高效性与可重用性。作为整个CORBA系统的基础,ORB内核使对象在分布式环境中透明地收发请求和响应,为分布环境中的对象屏蔽了网络、操作系统和实现语言的异构性,提供对象寻址、激活和通信的透明性,使得分布对象间的通信就如同在同一个地址空间一样。而实际的应用系统存在着各种不同的对象实现方式。因此,如果将现存的所有对象实现的解决方案都包含在ORB内核中,它必将非常庞大、冗余并且难以移植。为了确保ORB内核的高效与可移植性,一个称为对象适配器的中间层加入到ORB之间,其主要功能是定位服务对象,分析客户对象的请求,获取服务对象的功能接口,在客户与服务对象间建立通信连接。

3.3 动态调用接口和动态构架接口。

动态调用接口和动态构架接口提供了动态调用的方式和动态实现的方式。它们使得用户可以在事先不知道对象接口信息的情况下通过查询接口库或采取其它手段动态地获得对象接口信息,然后使用ORB核心接口中的DII动态调用方法构造客户请求并发送到对象实现,在对象实现方可以使用DSI的动态分发机制处理客户方的请求。与静态方式相比,动态方式提供了很大的灵活性,但是它的工作效率没有静态方式高。客户方支持静态和动态两种调用方式,服务器方也支持静态和动态两种实现方式,经过组合得到的四种方式都可能出现。

3.4 桩和构架。

桩可以看成是实际对象在客户进程中的映像,其中的接口必须是预先定义好的,因此它为客户提供了一种静态的调用方式。与桩相对应的构架为服务器提供了一种静态的实现方式。IDL编译器翻译描述对象接口的IDL文件,生成对应具体编程语言的IDL桩和IDL构架。桩负责将客户请求进行编码,发送到对象实现端,并对收到的结果进行解释,然后把结果或异常返回给客户。与此相反,构架对客户的请求进行解码,定位目标对象和请求执行的对象方法,激活该方法,然后把结果或异常信息编码返回给客户端。

4 CORBA与Web 相结合

在CORBA与Web的结合技术上,Java是CORBA结合Web的一个很好的切入点。CORBA规范中定义了IDL/Java的映射,CORBA产品提供商则根据规范开发了Java ORB。Java ORB不仅能开发分布式的Java应用,更重要的是它能够开发Web的CORBA应用。在这种结构中,CORBA客户方程序从Web服务器上下载执行,与应用服务器上的CORBA应用对象通过IIOP协议进行通讯,调用其指定的操作。CORBA应用对象首先对客户的请求进行认证和解释,根据客户请求的内容,或是直接访问资源层的数据库,或是与网络上的其它CORBA对象交互,共同完成客户请求。

5 结束语

分布式对象技术及其在Web上的应用 篇4

现有主流的文档管理系统主要面向的是企业内部用户, 文档管理工作主要还是分部门进行, 不能够满足文档信息在企业内部、合作伙伴以及客户之间的共享, 这降低了文档的使用率和价值。同时, 它也无法和企业中现有的管理信息系统实现很好的结合, 可移植性和可扩展性较差, 增加了企业文档管理系统的开发周期和成本。

文献[1]提出了基于Web的分布式文档管理系统实现了企业文档信息跨部门、跨地区的协同工作, 但是这种集成环境中的Web服务的主要不足体现在它使用集中式UDDI的服务发布和检索机制。集中式UDDI服务器容易受到非法攻击, 并且随着服务发布和检索数量的不断增加, UDDI服务器性能瓶颈凸显, 容易造成整个系统的单点故障。

针对目前存在的这些问题, 让企业文档信息能够得到更充分的应用, 本文提出了基于Web Service和P2P技术的文档管理系统, 使用P2P技术的分布式特性为Web服务提供了更好的环境, Web Service可以利用P2P的离散化技术来提高网络的可扩展性, P2P技术还可以改善UDDI的分布式检索能力, 克服文档数据集中存放对搜索广度带来的限制问题。因此, 在P2P平台上建立Web Service是一种比较理想的WebService实现方案, 结合二者优势, 可以提高文档管理系统服务的整体功能。

2、Web Service和P2P技术分析

2.1 Web Service技术

Web Service技术利用标准的XML传递消息, 独立于平台和编程语言, 是一种新的Web应用程序分支, 是建立可互操作的分布式应用程序的新平台, 它们是自包含、自描述、模块化的应用, 可以在网络中被描述、发布、查找以及通过Web来调用。Web Service的基本构架是基于以下3个角色 (服务提供者, 注册中心, 服务请求者) 的交互。Web Service是一个集自包含、自描述、模块化的应用, 可以发布、定位, 通过Web调用, 可以执行从简单请求到复杂文档处理的任何功能。XML是Web Service的主要的基石, 无论是数据格式, 还是注册文件以及服务描述都是用XML文档来表示的。用WSDL来描述服务, UDDI来发布服务。其基本架构如图1所示。

2.2 P2P技术

P2P是一种网络体系结构, 在这种体系结构中的每台计算机都拥有同等的能力、负有相同的责任。

P2P技术去除了集中式服务器, 使节点之间可以直接交换资源和服务。同时, 在P2P系统中, 任何一个节点可以自由地加入和离开该系统。JXTA是为开发P2P应用而制定的一组协议规范和一个开源的参考实现, JXTA网络是有一系列相互连接的节点 (对等点) 组成。对等点可以自组织成对等点组 (Peer组) , 通过Peer组来提供一系列的通用服务。JXTA的对等点通过被称作广告 (advertisement) 的XML文档来广告它们的服务。广告使得网络上的其他对等点能够知道如何连接到对等点, 并与其所提供的服务通过管道进行交互。JXTA协议设计成独立于编程语言和传输协议的。

2.3 Web Service和P2P技术结合

现行Web Service提供的是一种基于集中式服务器的模式, 这样会受限于单点错误, 而且每个服务器负载都有其特定的阀值。P2P环境的分散化可以有效的降低单点错误并利用边缘资源提供可能的服务, 建立一个更加对称化的信息流。P2P与Web服务两种模技术结合可以相互弥补各自的不足。

这种P2P环境下Web服务文档管理系统在文档Web应用服务器上嵌入P2P核心模块 (JXTA) , 使得Web应用服务器在完成Web应用服务, 提供Web服务运行环境的同时, 还加入到Web服务发现的专用P2P网络中, 成为P2P网络中一个Peer。在系统运行期间, Web服务的调用仍然使用现有的给予Web的网络环境, 但服务的描述信息通过P2P网络进行交换。[6]

3、系统的体系结构

分布式文档管理系统涉及到多个文档系统的数据源。由于各成员在分布式系统建立之前就已存在, 所以本文侧重于进行数据集成, 而不是功能集成。通过本系统为用户提供访问各系统数据的统一界面和接口, 并且借助于P2P网络的自组织能力将分布在不同地理位置的文档服务描述信息汇集在一起, 形成丰富的、可用性强的Web服务候选集。系统结构如图2所示。

1) P2P文档管理网络平台中可以存在多个UDDI文档服务注册中心, 以解决传统集成环境中Web服务的瓶颈。

2) 多个UDDI注册中心自组织, 即只要仍有一个UDDI没有瘫痪, 用户就可以在P2P网络上进行正常的Web文档服务发布与检索操作;当有新的UDDI启动时, 能够立即自动的投入到P2P网络的UDDI服务工作中。

3) UDDI注册中心对于用户的发布Web服务及检索Web服务操作透明。

4) 当P2P网络中不同的Peer部署了完全相同的文档Web服务时, 服务调用者可以同时调用不同Peer上的Web服务以达到并行处理。

在系统内部存在两种节点:UDDI服务节点和Client节点, 它们各自的功能和协同工作过程如下:

1) UDDI服务节点 (UDDI Peer) , 提供了发布自身UDDI注册中心信息的P2P节点服务。最终的发布文档Web服务和文档检索Web服务的操作是同时在多个UDDI服务节点上并行进行的。

2) Client节点 (Client Peer) , 用户 (包括服务使用者和服务发布者) 可以通过Web应用服务器在该节点上调用P2P组服务来发布或者检索Web服务。

3) 发布自身UDDI注册中心信息的P2P节点服务 (UDDI peer service) , 该网络节点服务部署在UDDI节点上, 与P2P组服务进行交互。正是因为该节点服务的存在, P2P组服务才能获知当前P2P网络上所有具有UDDI注册中心功能节点的访问信息。

4) 发布Web服务的P2P组服务 (Publish group service) , Client节点想要发布文档Web服务时, 首先获得该节点所在P2P组的Publish group service组服务, Publish group service组服务通过检索UDDI peer service节点文档服务得到所有的当前P2P网络中的UDDI节点, 然后将Web服务分别发布到各个UDDI服务节点。发布完成之后, 该组服务将返回Client节点响应信息, 响应信息包含了文档Web服务是否发布成功, 以及所有成功发布到的UDDI服务节点的地址。

5) 检索文档Web服务的P2P组服务 (Inquiry group service) , Clinet节点想要检索Web服务时, 首先获得该节点所在P2P组的Inquiry group service组服务, Inquiry group service组服务通过检索UDDI的节点服务得到所有的当前P2P网络中的UD-DI节点, 然后创建多个线程在每个UDDI服务节点上检索Web服务, 然后将检索结果合并在一起, 去除他们之中重复的Web服务信息 (这里重复的Web服务指服务访问点相同的Web服务) 。最后, 将所有最终的Web服务信息通过管道返回给Client节点。[2]

4、结束语

基于Web Service和P2P技术的分布式文档管理系统为企业并行环境下各个文档管理子系统数据交换和处理提供了有效的集成手段, 它利用P2P技术很好地解决了文档系统的分布性、自治性和异构性。

参考文献

[1].刘丽, 吴秋云, 李军.基于Web的分布式文档管理系统的设计与实现[J].计算机工程与科学

[2].岳昆, 王晓玲, 周傲英.Web服务核心支撑技术:研究综述[J].软件学报.2004, 15 (3) .

[3].许斌JXTA-Java P2P网络编程技术[M].清华大学出版社.2003.6

[4].Project JXTA.JXTA-J2SE PublicAPIs JavaDochttp://platform.jxta.org/nonav/Java/api/index.html 2005.1

[5].Changtao Qu, Wolfgang Nejdl.Interacting the Edutella/JXTAPeer-to-Peer Networkwith Web Services[J].IEEE.2004

上一篇:从梦想出发优秀作文下一篇:旅游业务员销售技巧