CN106371936B - 一种基于Web服务的部件远程调用方法及装置 - Google Patents
一种基于Web服务的部件远程调用方法及装置 Download PDFInfo
- Publication number
- CN106371936B CN106371936B CN201610751789.3A CN201610751789A CN106371936B CN 106371936 B CN106371936 B CN 106371936B CN 201610751789 A CN201610751789 A CN 201610751789A CN 106371936 B CN106371936 B CN 106371936B
- Authority
- CN
- China
- Prior art keywords
- component
- remote
- event
- information
- site
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000012634 fragment Substances 0.000 claims abstract description 60
- 238000009877 rendering Methods 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于Web服务的部件远程调用方法及装置,应用于本端站点,方法包括:预先在本端站点中注册远程站点的部件信息,根据注册的每一个部件信息,分别向注册的各个部件发送相应的第一调用指令;接收各个部件针对第一调用指令分别返回的HTML片段;对接收到的每一个HTML片段进行渲染;根据渲染后的HTML片段,在本端站点进行页面展示。本方案,通过将远程站点的部件信息在本端站点进行注册,可以根据每一个部件信息向各个部件发送第一调用指令,以使各个部件返回相应的HTML片段,由于直接调用过来的HTML片段可能无法直接在本端站点上使用,因此可以通过对HTML片段进行渲染,从而可以远程调用的部件在本端站点进行展示,实现了部件的远程调用。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种基于Web服务的部件远程调用方法及装置。
背景技术
随着互联网技术的不断发展,信息的重要程度越来越高,企业之间的竞争也越来越多的依赖于企业查询、发布、采集、处理信息的能力。为了提高自身的竞争力,企业可以通过创建站点来实现。
目前,企业在创建本端站点时,会针对本端站点开发多个功能模块,并针对每一个功能模块进行编码。然而大多数站点可能存在相同的功能模块,而不同站点之间对于相同功能模块的开发标准可能不同,那么导致相同功能模块对应的部件无法实现远程调用,因此,如何实现部件远程调用,成为急需解决的问题。
发明内容
本发明实施例提供了一种基于Web服务的部件远程调用方法及装置,以实现部件的远程调用。
一种基于Web服务的部件远程调用方法,应用于本端站点,预先在本端站点中注册远程站点的部件信息,所述方法还包括:
根据注册的每一个部件信息,分别向注册的各个部件发送相应的第一调用指令;
接收各个部件针对所述第一调用指令分别返回的HTML片段;
对接收到的每一个HTML片段进行渲染;
根据渲染后的HTML片段,在本端站点进行页面展示。
优选地,所述对接收到的每一个HTML片段进行渲染,包括:
确定每一个HTML片段中分别包括的资源文件;其中,所述资源文件包括:图片、样式和脚本中的至少一种;
确定每一个资源文件对应的远程站点的路径信息;
根据每一个资源文件对应远程站点的路径信息,以及根据每一个资源文件对应部件注册的部件信息,修改每一个资源文件的路径信息。
优选地,进一步包括:
在本端站点的本端第一部件监测到目标事件的触发消息时,根据所述触发消息确定所述目标事件对应的远程第一部件,以及确定所述目标事件对应的事件名称和事件值;
根据所述远程第一部件注册的部件信息,向所述远程第一部件发送第一事件请求,以使所述远程第一部件根据所述第一事件请求返回相应的第一事件信息;
根据所述远程第一部件返回的所述第一事件信息对所述触发消息进行响应。
优选地,
进一步包括:预先设定与各个远程站点间的约定条件;
进一步包括:配置部件拦截器;
进一步包括:利用所述部件拦截器对所述本端第一部件向所述远程第一部件发送的所述第一事件请求进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件请求进行处理,并将处理后的所述第一事件请求发送给所述远程第二部件;以及对所述远程第一部件向所述本端第一部件发送的第一事件信息进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件信息进行过滤,并将过滤后的所述第一事件信息发送给所述本端第一部件。
优选地,
进一步包括:接收远程站点发送的第二调用指令,所述第二调用指令用于调用本端第二部件,根据所述第二调用指令调用所述本端第二部件对应的远程调用接口,以获取所述本端第二部件对应的HTML片段,并将所述本端第二部件对应的HTML片段发送给所述远程站点;
进一步包括:在本端第二部件接收到远程站点的远程第二部件发送的第二事件请求,读取所述第二事件请求携带的事件名称和事件值,并根据读取的事件名称和事件值获取对应的第二事件信息,将所述第二事件信息发送给所述远程第二部件。
一种基于Web服务的部件远程调用装置,包括:
存储单元,用于存储注册的远程站点的部件信息;
发送单元,用于根据存储单元中存储的注册的每一个部件信息,分别向注册的各个部件发送相应的第一调用指令;
接收单元,用于接收各个部件分别返回的HTML片段;
渲染单元,用于对所述接收单元接收到的每一个HTML片段进行渲染;
展示单元,用于根据渲染后的HTML片段,在本端站点进行页面展示。
优选地,所述渲染单元,具体用于:
确定每一个HTML片段中分别包括的资源文件;其中,所述资源文件包括:图片、样式和脚本中的至少一种;
确定每一个资源文件对应的远程站点的路径信息;
根据每一个资源文件对应远程站点的路径信息,以及根据每一个资源文件对应部件注册的部件信息,修改每一个资源文件的路径信息。
优选地,进一步包括:本端第一部件;
所述本端第一部件,在监测到目标事件的触发消息时,根据所述触发消息确定所述目标事件对应的远程第一部件,以及确定所述目标事件对应的事件名称和事件值;根据存储单元中存储所述远程第一部件注册的部件信息,向所述远程第一部件发送第一事件请求,以使所述远程第一部件根据所述第一事件请求返回相应的第一事件信息,根据所述远程第一部件返回的所述第一事件信息对所述触发消息进行响应。
优选地,
所述存储单元,进一步用于存储与各个远程站点间设定的约定条件;
进一步包括:部件拦截器,用于对所述本端第一部件向所述远程第一部件发送的所述第一事件请求进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件请求进行处理,并将处理后的所述第一事件请求发送给所述远程第二部件;以及用于对所述远程第一部件向所述本端第一部件发送的第一事件信息进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件信息进行过滤,并将过滤后的所述第一事件信息发送给所述本端第一部件。
优选地,进一步包括:调用单元和本端第二部件;其中,
所述调用单元,用于接收远程站点发送的第二调用指令,所述第二调用指令用于调用本端第二部件,根据所述第二调用指令调用所述本端第二部件对应的远程调用接口,以获取所述本端第二部件对应的HTML片段,并将所述本端第二部件对应的HTML片段发送给所述远程站点;
所述本端第二部件,用于接收远程站点的远程第二部件发送的第二事件请求,读取所述第二事件请求携带的事件名称和事件值,并根据读取的事件名称和事件值获取对应的第二事件信息,将所述第二事件信息发送给所述远程第二部件。
本发明实施例提供了一种基于Web服务的部件远程调用方法及装置,通过将远程站点的部件信息在本端站点进行注册,可以根据每一个部件信息向各个部件发送第一调用指令,以使各个部件返回相应的HTML片段,由于直接调用过来的HTML片段可能无法直接在本端站点上使用,因此可以通过对HTML片段进行渲染,从而可以远程调用的部件在本端站点进行展示,实现了部件的远程调用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种方法流程图;
图2是本发明一个实施例提供的另一种方法流程图;
图3是本发明一个实施例提供的一种装置结构图;
图4是本发明一个实施例提供的另一种装置结构图;
图5是本发明一个实施例提供的又一种装置结构图;
图6是本发明一个实施例提供的再一种装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于Web服务的部件远程调用方法,应用于本端站点,预先在本端站点中注册远程站点的部件信息,该方法可以包括以下步骤:
步骤101:根据注册的每一个部件信息,分别向注册的各个部件发送相应的第一调用指令;
步骤102:接收各个部件针对所述第一调用指令分别返回的HTML片段;
步骤103:对接收到的每一个HTML片段进行渲染;
步骤104:根据渲染后的HTML片段,在本端站点进行页面展示。
可见,根据上述本发明实施例,通过将远程站点的部件信息在本端站点进行注册,可以根据每一个部件信息向各个部件发送第一调用指令,以使各个部件返回相应的HTML片段,由于直接调用过来的HTML片段可能无法直接在本端站点上使用,因此可以通过对HTML片段进行渲染,从而可以远程调用的部件在本端站点进行展示,实现了部件的远程调用。
在本发明一个实施例中,由于直接在远程站点调用过来的HTML片段可能存在无法直接在本端站点上使用的问题,可以通过如下一种方式对接收到的每一个HTML片段进行渲染,包括:
确定每一个HTML片段中分别包括的资源文件;其中,所述资源文件包括:图片、样式和脚本中的至少一种;
确定每一个资源文件对应的远程站点的路径信息;
根据每一个资源文件对应远程站点的路径信息,以及根据每一个资源文件对应部件注册的部件信息,修改每一个资源文件的路径信息。
以调用过来的资源文件中的图片为例,在远程站点中,对于部件在展示时加载的图片的路径信息是指针对远程站点的,例如,图片的路径信息为:/tencent/MicroMsg/。在远程站点中加载该图片时,可以直接根据该路径信息查找到该图片,而在本端站点加载该图片时,可能存在无法查找到该图片的情况,因此需要对路径信息进行修改,在修改时,需要根据部件注册的部件信息进行修改。
其中,部件信息可以包括:该部件的IP地址、主键信息、标识信息等。
在对路径信息进行修改时,需要将路径信息修改为对应远程站点IP地址的路径,例如,部件的IP地址为123.123,图片为例,可以对图片的路径信息/tencent/MicroMsg/进行如下修改:123.123/E盘/tencent/MicroMsg/。
上述实施例,通过对接收到的每一个HTML片段进行渲染,从而可以保证在本端站点能够对注册有部件信息的各个部件进行远程调用,进而可以在本端站点进行展示和使用。
在本发明一个实施例中,为了实现站点中包括的各个部件的正常运行,需要各个部件具有事件发布、事件接收和事件处理的功能,可以进一步包括:
在本端站点的本端第一部件监测到目标事件的触发消息时,根据所述触发消息确定所述目标事件对应的远程第一部件,以及确定所述目标事件对应的事件名称和事件值;
根据所述远程第一部件注册的部件信息,向所述远程第一部件发送第一事件请求,以使所述远程第一部件根据所述第一事件请求返回相应的第一事件信息;
根据所述远程第一部件返回的所述第一事件信息对所述触发消息进行响应。
例如,在本端站点中,若本端第一部件为城市天气的查询,远程第一部件用于实现查询结果的展示,在用户点击城市天气的查询栏中的北京时,本端第一部件会监测到目标事件的触发消息,根据该触发消息可以确定目标事件对应的事件名称为查询事件,事件值为数据库中查询事件为北京时对应的设定的值,例如,北京对应的事件值010,上海对应的事件值为021,天津对应的事件值为022,那么可以在数据库中确定北京对应的事件值为010。
远程第一部件在接收到第一事件请求时,可以读取该第一事件请求中的事件名称和事件值,并根据该事件名称和事件值确定需要获取北京的天气情况,那么可以根据自身存储信息或者与服务端进行交互,来获取北京的天气情况,将获取的北京的天气情况作为第一事件信息进行返回。
本端第一部件可以根据该第一事件信息中包括的北京的天气情况在本端站点进行展示。
上述实施例,通过给各个部件配置事件发布、事件接收和事件处理的功能,从而可以远程部件在本端站点的使用,保证了远程调用功能。
在本发明一个实施例中,为了保证本端站点与远程站点之间部件的正常调用,以及为了提高站点之间数据传输的安全性和隐私性,可以进一步包括:预先设定与各个远程站点间的约定条件;
进一步包括:配置部件拦截器;
进一步包括:利用所述部件拦截器对所述本端第一部件向所述远程第一部件发送的所述第一事件请求进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件请求进行处理,并将处理后的所述第一事件请求发送给所述远程第二部件;以及对所述远程第一部件向所述本端第一部件发送的第一事件信息进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件信息进行过滤,并将过滤后的所述第一事件信息发送给所述本端第一部件。
例如,本端站点与远程站点间的约定条件为:在进行部件的远程调用时,需要进行认证,只有认证通过才允许调用,以及可以包括远程调用后反馈的事件信息所包括的内容,需要将隐私内容删除。
部件拦截器在对第一事件请求进行拦截后,可以在第一事件请求中增加本端站点或本端第一部件的认证信息,远程第一部件可以根据该认证信息进行认证,只有在认证通过后才会反馈第一事件信息。
部件拦截器通过对第一事件信息进行拦截,确定远程第一部件是否将约定条件中的隐私内容发送了过来,如果是,可以将第一事件信息中的隐私内容进行删除处理,并将删除处理后的第一事件信息发送给本端第一部件。
上述实施例保证了本端站点与远程站点之间部件的正常调用,以及提高了站点之间数据传输的安全性和隐私性。
在本发明一个实施例中,本端站点可以作为其他站点的远程站点,将本端站点的部件注册到其他站点中,实现其他站点对本端站点中部件的远程调用,可以进一步包括:接收远程站点发送的第二调用指令,所述第二调用指令用于调用本端第二部件,根据所述第二调用指令调用所述本端第二部件对应的远程调用接口,以获取所述本端第二部件对应的HTML片段,并将所述本端第二部件对应的HTML片段发送给所述远程站点;
进一步包括:在本端第二部件接收到远程站点的远程第二部件发送的第二事件请求,读取所述第二事件请求携带的事件名称和事件值,并根据读取的事件名称和事件值获取对应的第二事件信息,将所述第二事件信息发送给所述远程第二部件。
上述实施例,实现了本端站点的本端第二部件被远程站点进行远程调用的过程。
下面以本端站点A和远程站点B之间进行部件远程调用为例,对本发明实施例提供的一种基于Web服务的部件远程调用方法进行进一步说明,请参考图2,可以包括以下内容:
步骤201:对本端站点A和远程站点B进行资源服务的配置。
为了实现本端站点A与远程站点B之间的部件远程调用,需要进行资源服务的统一配置,资源服务可以提供对HTTP协议的所有方面的完全控制。站点可以将部件在资源响应上指定的所有响应属性作为HTTP标头写出,部件的资源服务可以控制所提供的内容的语言、内容类型和其他信息。
其中,可以缺省标头信息进行设置,可以设置提供缺省标头信息,也可以设置不为响应提供任何缺省标头信息,所有信息都必须在资源服务过程中显式的进行设置。
步骤202:对本端站点A和远程站点B中的各个部件进行事件发布、事件接收和事件处理的功能配置。
步骤203:在本端站点A中注册远程站点B的部件信息。
其中,该部件信息可以包括:该部件的IP地址、主键信息、标识信息等。
例如,远程站点B的部件P的部件信息分别注册在本端站点A中,本端站点A可以对部件P进行远程调用。
例如,该部件P为城市天气的查询部件,或者,该部件P为用户名密码的修改部件。
步骤204:本端站点A向部件P发送调用指令。
步骤205:部件P根据该调用指令通过自身的远程调用接口将HTML片段发送给本端站点A。
其中,该HTML片段为已经渲染好的片段,该HTML片段在远程站点B中可以实现展示使用等其原有的功能。
步骤206:本端站点A确定HTML片段中包括的资源文件,并确定每一个资源文件对应的远程站点的路径信息,并修改每一个资源文件的路径信息,以将处理后的HTML片段在本端站点A进行展示。
其中,该资源文件可以包括:图片、样式和脚本中的至少一种;
以调用过来的资源文件中的图片为例,在远程站点中,对于部件在展示时加载的图片的路径信息是指针对远程站点的,例如,图片的路径信息为:/tencent/MicroMsg/。在远程站点中加载该图片时,可以直接根据该路径信息查找到该图片,而在本端站点加载该图片时,可能存在无法查找到该图片的情况,因此需要对路径信息进行修改,在修改时,需要根据部件注册的部件信息进行修改。
其中,部件信息可以包括:该部件的IP地址、主键信息、标识信息等。
在对路径信息进行修改时,需要将路径信息修改为对应远程站点IP地址的路径,例如,部件的IP地址为123.123,图片为例,可以对图片的路径信息/tencent/MicroMsg/进行如下修改:123.123/E盘/tencent/MicroMsg/。
其中,部件可以定义资源拦截器,并将拦截器名称配置于部件的配置文件中。当有远程部件调用请求时,资源拦截器负责将远程的资源文件转换为本地资源引用。
其中,部件还可以定义渲染拦截器,并将拦截器名称配置于部件的配置文件中。渲染拦截器负责调用远程部件的HTML渲染器,并将渲染完成后的HTML片段加载到本端站点A的部件的容器中。
步骤207:本端站点A中部件M在监测到事件的触发消息时,根据该触发消息确定需要调用远程站点B的部件P,并确定事件名称和事件值,部件M向部件P发送事件请求。
在本实施例中,为了实现事件名称和事件值的确定,需要预先与远程部件之间在portlet.xml中进行事件声明,以设定统一的事件名称和事件值,例如,部件P为城市天气情况的展示部件,那么部件M可以是提供城市的选择,在用户点击某个城市时,例如,点击了北京,那么部件M会监测到事件的触发消息,需要展示北京的天气情况,那么可以确定事件名称为查询事件,事件值为北京对应的设定值,例如为010。
对于事件的发布,部件M可以使用processAction()方法通过调用ActionResponse的setEvent()进行事件发布,其中,setEvent()方法的输入参数为事件名称和事件值。
步骤208:部件拦截器对事件请求进行拦截,并对事件请求进行处理,将处理后的事件请求发送给部件P。
在本实施例中,部件拦截器可以使用户对事件请求(request)或响应的事件信息(response)进行修改。部件拦截器不是一个部件(Portlet),他不能产生response,但可以在事件请求到达远程部件之前进行预处理,也可以在事件信息离开远程部件时进行处理。
其中,对事件请求的处理,可以根据与远程站点间设定的约定条件进行处理,例如,该约定条件为需要对事件请求进行验证,那么部件拦截器可以将部件M的认证信息添加在事件请求中,该认证信息例如为部件M的标识信息。
步骤209:部件P读取事件请求中的事件名称和事件值,并根据事件名称和事件值获取相应的事件信息,将事件信息发送给部件M。
其中,部件P需要实现IEventPortlet接口,事件的接收处理则在该接口包含processEvent()方法中进行,该方法提供了两个输入参数:EventRequest和EventResponse,通过调用EventRequest实例的getEvent()方法来获得当前事件,该方法返回一个事件对象的实例,该实例封装了事件的唯一标识和对应的值。获得事件对象后,通过getName()获得事件名称,通过事件的getValue()方法取得事件值。
在部件P进行事件信息的获取时,可能是需要与服务器进行交互来获取,也可能是在自身存储的数据中获取。
步骤210:部件拦截器对事件信息进行拦截,并对事件信息进行过滤,将过滤后的事件信息发送给部件M。
由于远程调用后反馈的事件信息所包括的内容中可能存在隐私内容,需要将隐私内容删除。那么可以利用部件拦截器对事件信息进行拦截,并修改response头和response数据。
在本实施例中,部件拦截器可以通过如下一种代码来实现:
步骤211:部件M根据该事件信息对触发消息进行响应。
例如,反馈的事件信息中包括北京的天气情况,事件信息是以数据的形式发送过来的,那么可以将数据以设定格式进行展示,以实现对触发消息的响应。
请参考图3,本发明实施例还提供了一种基于Web服务的部件远程调用装置,包括:
存储单元301,用于存储注册的远程站点的部件信息;
发送单元302,用于根据存储单元中存储的注册的每一个部件信息,分别向注册的各个部件发送相应的第一调用指令;
接收单元303,用于接收各个部件分别返回的HTML片段;
渲染单元304,用于对所述接收单元接收到的每一个HTML片段进行渲染;
展示单元305,用于根据渲染后的HTML片段,在本端站点进行页面展示。
在本发明一个实施例中,所述渲染单元,具体用于:
确定每一个HTML片段中分别包括的资源文件;其中,所述资源文件包括:图片、样式和脚本中的至少一种;
确定每一个资源文件对应的远程站点的路径信息;
根据每一个资源文件对应远程站点的路径信息,以及根据每一个资源文件对应部件注册的部件信息,修改每一个资源文件的路径信息。
在本发明一个实施例中,请参考图4,基于Web服务的部件远程调用装置可以进一步包括:本端第一部件401;
所述本端第一部件,在监测到目标事件的触发消息时,根据所述触发消息确定所述目标事件对应的远程第一部件,以及确定所述目标事件对应的事件名称和事件值;根据存储单元中存储所述远程第一部件注册的部件信息,向所述远程第一部件发送第一事件请求,以使所述远程第一部件根据所述第一事件请求返回相应的第一事件信息,根据所述远程第一部件返回的所述第一事件信息对所述触发消息进行响应。
在本发明一个实施例中,所述存储单元,进一步用于存储与各个远程站点间设定的约定条件;
请参考图5,基于Web服务的部件远程调用装置可以进一步包括:部件拦截器501,用于对所述本端第一部件向所述远程第一部件发送的所述第一事件请求进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件请求进行处理,并将处理后的所述第一事件请求发送给所述远程第二部件;以及用于对所述远程第一部件向所述本端第一部件发送的第一事件信息进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件信息进行过滤,并将过滤后的所述第一事件信息发送给所述本端第一部件。
在本发明一个实施例中,请参考图6,基于Web服务的部件远程调用装置可以进一步包括:调用单元601和本端第二部件602;其中,
所述调用单元,用于接收远程站点发送的第二调用指令,所述第二调用指令用于调用本端第二部件,根据所述第二调用指令调用所述本端第二部件对应的远程调用接口,以获取所述本端第二部件对应的HTML片段,并将所述本端第二部件对应的HTML片段发送给所述远程站点;
所述本端第二部件,用于接收远程站点的远程第二部件发送的第二事件请求,读取所述第二事件请求携带的事件名称和事件值,并根据读取的事件名称和事件值获取对应的第二事件信息,将所述第二事件信息发送给所述远程第二部件。
综上,本发明各个实施例至少可以具有如下有益效果:
1、在本发明实施例中,通过将远程站点的部件信息在本端站点进行注册,可以根据每一个部件信息向各个部件发送第一调用指令,以使各个部件返回相应的HTML片段,由于直接调用过来的HTML片段可能无法直接在本端站点上使用,因此可以通过对HTML片段进行渲染,从而可以远程调用的部件在本端站点进行展示,实现了部件的远程调用。
2、在本发明实施例中,通过对接收到的每一个HTML片段进行渲染,从而可以保证在本端站点能够对注册有部件信息的各个部件进行远程调用,进而可以在本端站点进行展示和使用。
3、在本发明实施例中,通过给各个部件配置事件发布、事件接收和事件处理的功能,从而可以远程部件在本端站点的使用,保证了远程调用功能。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种基于Web服务的部件远程调用方法,其特征在于,应用于本端站点,预先在本端站点中注册远程站点的部件信息,所述方法还包括:
根据注册的每一个部件信息,分别向注册的各个部件发送相应的第一调用指令;
接收各个部件针对所述第一调用指令分别返回的HTML片段;
对接收到的每一个HTML片段进行渲染;
根据渲染后的HTML片段,在本端站点进行页面展示;
所述对接收到的每一个HTML片段进行渲染,包括:
确定每一个HTML片段中分别包括的资源文件;其中,所述资源文件包括:图片、样式和脚本中的至少一种;
确定每一个资源文件对应的远程站点的路径信息;
根据每一个资源文件对应远程站点的路径信息,以及根据每一个资源文件对应部件注册的部件信息,修改每一个资源文件的路径信息。
2.根据权利要求1所述的基于Web服务的部件远程调用方法,其特征在于,进一步包括:
在本端站点的本端第一部件监测到目标事件的触发消息时,根据所述触发消息确定所述目标事件对应的远程第一部件,以及确定所述目标事件对应的事件名称和事件值;
根据所述远程第一部件注册的部件信息,向所述远程第一部件发送第一事件请求,以使所述远程第一部件根据所述第一事件请求返回相应的第一事件信息;
根据所述远程第一部件返回的所述第一事件信息对所述触发消息进行响应。
3.根据权利要求2所述的基于Web服务的部件远程调用方法,其特征在于,
进一步包括:预先设定与各个远程站点间的约定条件;
进一步包括:配置部件拦截器;
进一步包括:利用所述部件拦截器对所述本端第一部件向所述远程第一部件发送的所述第一事件请求进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件请求进行处理,并将处理后的所述第一事件请求发送给所述远程第二部件;以及对所述远程第一部件向所述本端第一部件发送的第一事件信息进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件信息进行过滤,并将过滤后的所述第一事件信息发送给所述本端第一部件。
4.根据权利要求1-3中任一所述的基于Web服务的部件远程调用方法,其特征在于,
进一步包括:接收远程站点发送的第二调用指令,所述第二调用指令用于调用本端第二部件,根据所述第二调用指令调用所述本端第二部件对应的远程调用接口,以获取所述本端第二部件对应的HTML片段,并将所述本端第二部件对应的HTML片段发送给所述远程站点;
进一步包括:在本端第二部件接收到远程站点的远程第二部件发送的第二事件请求,读取所述第二事件请求携带的事件名称和事件值,并根据读取的事件名称和事件值获取对应的第二事件信息,将所述第二事件信息发送给所述远程第二部件。
5.一种基于Web服务的部件远程调用装置,其特征在于,包括:
存储单元,用于存储注册的远程站点的部件信息;
发送单元,用于根据存储单元中存储的注册的每一个部件信息,分别向注册的各个部件发送相应的第一调用指令;
接收单元,用于接收各个部件分别返回的HTML片段;
渲染单元,用于对所述接收单元接收到的每一个HTML片段进行渲染;
展示单元,用于根据渲染后的HTML片段,在本端站点进行页面展示;
所述渲染单元,具体用于:
确定每一个HTML片段中分别包括的资源文件;其中,所述资源文件包括:图片、样式和脚本中的至少一种;
确定每一个资源文件对应的远程站点的路径信息;
根据每一个资源文件对应远程站点的路径信息,以及根据每一个资源文件对应部件注册的部件信息,修改每一个资源文件的路径信息。
6.根据权利要求5所述的基于Web服务的部件远程调用装置,其特征在于,进一步包括:本端第一部件;
所述本端第一部件,在监测到目标事件的触发消息时,根据所述触发消息确定所述目标事件对应的远程第一部件,以及确定所述目标事件对应的事件名称和事件值;根据存储单元中存储所述远程第一部件注册的部件信息,向所述远程第一部件发送第一事件请求,以使所述远程第一部件根据所述第一事件请求返回相应的第一事件信息,根据所述远程第一部件返回的所述第一事件信息对所述触发消息进行响应。
7.根据权利要求6所述的基于Web服务的部件远程调用装置,其特征在于,
所述存储单元,进一步用于存储与各个远程站点间设定的约定条件;
进一步包括:部件拦截器,用于对所述本端第一部件向所述远程第一部件发送的所述第一事件请求进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件请求进行处理,并将处理后的所述第一事件请求发送给所述远程第二部件;以及用于对所述远程第一部件向所述本端第一部件发送的第一事件信息进行拦截,并根据与所述远程第一部件所属远程站点间的约定条件,对所述第一事件信息进行过滤,并将过滤后的所述第一事件信息发送给所述本端第一部件。
8.根据权利要求5-7中任一所述的基于Web服务的部件远程调用装置,其特征在于,进一步包括:调用单元和本端第二部件;其中,
所述调用单元,用于接收远程站点发送的第二调用指令,所述第二调用指令用于调用本端第二部件,根据所述第二调用指令调用所述本端第二部件对应的远程调用接口,以获取所述本端第二部件对应的HTML片段,并将所述本端第二部件对应的HTML片段发送给所述远程站点;
所述本端第二部件,用于接收远程站点的远程第二部件发送的第二事件请求,读取所述第二事件请求携带的事件名称和事件值,并根据读取的事件名称和事件值获取对应的第二事件信息,将所述第二事件信息发送给所述远程第二部件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610751789.3A CN106371936B (zh) | 2016-08-29 | 2016-08-29 | 一种基于Web服务的部件远程调用方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610751789.3A CN106371936B (zh) | 2016-08-29 | 2016-08-29 | 一种基于Web服务的部件远程调用方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106371936A CN106371936A (zh) | 2017-02-01 |
CN106371936B true CN106371936B (zh) | 2019-09-06 |
Family
ID=57903820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610751789.3A Active CN106371936B (zh) | 2016-08-29 | 2016-08-29 | 一种基于Web服务的部件远程调用方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371936B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101569158A (zh) * | 2006-12-30 | 2009-10-28 | 英特尔公司 | 统一内容发布的智能系统 |
CN103247067A (zh) * | 2013-04-02 | 2013-08-14 | 深圳市瑞云科技有限公司 | 一种远程渲染方法及云渲染平台 |
CN103530338A (zh) * | 2013-10-01 | 2014-01-22 | 北界创想(北京)软件有限公司 | 在计算设备上进行页面渲染的框架及生成页面的方法 |
CN104714982A (zh) * | 2013-12-17 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种网页的加载方法和系统 |
-
2016
- 2016-08-29 CN CN201610751789.3A patent/CN106371936B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101569158A (zh) * | 2006-12-30 | 2009-10-28 | 英特尔公司 | 统一内容发布的智能系统 |
CN103247067A (zh) * | 2013-04-02 | 2013-08-14 | 深圳市瑞云科技有限公司 | 一种远程渲染方法及云渲染平台 |
CN103530338A (zh) * | 2013-10-01 | 2014-01-22 | 北界创想(北京)软件有限公司 | 在计算设备上进行页面渲染的框架及生成页面的方法 |
CN104714982A (zh) * | 2013-12-17 | 2015-06-17 | 阿里巴巴集团控股有限公司 | 一种网页的加载方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106371936A (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11659004B2 (en) | Networking flow logs for multi-tenant environments | |
US8341239B2 (en) | Method and system for providing runtime vulnerability defense for cross domain interactions | |
WO2016127793A1 (zh) | 消息发送方法、装置、系统和服务器 | |
CN109597957B (zh) | 第三方应用通信api | |
US9219787B1 (en) | Stateless cookie operations server | |
WO2017067227A1 (zh) | 一种第三方账号授权方法、设备、服务器及其系统 | |
KR102433089B1 (ko) | 제 3 자 애플리케이션 활동 데이터 수집을 위한 시스템 및 방법 | |
US20160014057A1 (en) | Method and system for providing dynamically customized web push messages in a wireless network | |
US20080196096A1 (en) | Methods for Extending a Security Token Based Identity System | |
US7984170B1 (en) | Cross-domain communication in domain-restricted communication environments | |
CN110769009B (zh) | 用户身份认证方法及系统 | |
EP2960793B1 (en) | Communication between frames of a web browser | |
WO2016107465A1 (zh) | 一种卡片式桌面的实现方法、装置和系统 | |
EP3348024B1 (en) | Content policy discovery | |
US20150150081A1 (en) | Template representation of security resources | |
KR20170095292A (ko) | 웹 페이지 상에 인증 정보를 제공하기 위한 방법 및 장치 | |
JP6898680B2 (ja) | 情報処理装置及びプログラム | |
CN112261111A (zh) | 一种应用程序内浏览器跨域访问实现方法及系统 | |
CN108512889B (zh) | 一种基于http的应用响应推送方法及代理服务器 | |
US20160335669A1 (en) | System and method for preventing a delivery of advertising contents | |
CN102209116A (zh) | 一种获取网络电视节目信息的方法、装置以及电视机 | |
US8510346B2 (en) | Efficiently handling information on changes to a UDDI registry including those resulting in virtual deletes | |
ZA200903243B (en) | A method of processing a credit application | |
CN106371936B (zh) | 一种基于Web服务的部件远程调用方法及装置 | |
CN112836186A (zh) | 一种页面控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |