一种利用标记语言描述并访问网络服务的方法

文档序号:6369226阅读:331来源:国知局
专利名称:一种利用标记语言描述并访问网络服务的方法
技术领域
本发明涉及互联网上网络服务的技术领域,特别是一种利用标记语言描述并访问网络服务的方法。
背景技术
网络服务指互联网上具有标准访问接口的支持通过网络进行访问的程序实体,它接收客户程序的访问请求,然后执行相应动作,网络服务中最典型的是万维网服务(Web Services),其他比如网格服务(GridServices)、CORBA、远程过程调用(RPC)、远程方法调用(RMI)等也可归入此类。随着需求的发展和互联网技术的进步,网络服务的重要性日益增加,有越来越多的系统和用户使用网络服务。因此开发使用方便、表达能力强的网络服务访问方法具有很重要的现实意义。
目前访问网络服务主要方法是在程序内部通过应用程序编程接口(API)直接调用,这种方法有以下不便之处一.编写网络服务客户端的用户需要与网络服务的底层,比如数据类型,服务物理位置等打交道,增加编程负担。
二.这种方法依赖于特定语言,甚至特定的库函数,用户如果使用不同语言或者使用不同的库,就需要了解新的API,也增加了编程负担。
三.网络服务只能通过API编程访问,限制了网络服务的使用。API编程只有具有一定计算机专业知识的人才能掌握,一般非专业用户就很难自己定义网络服务的访问。
四.网络服务只能通过API编程访问,而程序语言比如C和Java都是需要编译的,这样以后改变网络服务访问定义时只有修改源代码,重新编译才能实现,很不方便,在有些情况下,比如没有源码,不可能实现。
五.网络服务包含多个类型,目前每种类型都有自己的一套访问方法和API,以至于每一个服务类型对于开发者来说都是新的,都需要从头学习,增加了成本。

发明内容
鉴于现有的网络服务访问方法的种种不足,本发明提供了一种利用标记语言描述并访问网络服务的新方法。该方法利用网络服务的共性,设计了一种标记语言和支持系统,提供统一的,简便的网络服务访问功能。下面分别就标记语言中诸要素和支持系统原理和组成详细说明。
本发明用下述技术方案来实现一种利用标记语言描述并访问网络服务的方法该方法利用了网络服务的共性,设计了一种标记语言系统来描述多种网络服务,同时设计了一种支持系统来完成标记语言的解析和处理,实现对网络服务的访问,该方法实现了对网络服务统一的,动态的和灵活的访问。
对不同的网络服务用一种语言进行描述和访问。
该标记语言可以嵌入其他标记语言共同使用。
该标记语言可以作为编程语言函数的输入参数,也可以作为程序运行时的输入。
关于网络服务访问的参数定义,用户只要给出必要的最小描述,访问时系统会自动生成访问最终服务的完整描述和特定格式。
关于服务定位的描述有物理的和逻辑的方法,及直接和间接的方法,系统会自动进行必要的转换和最终定位。
一种利用标记语言描述并访问网络服务支持系统的方法其步骤如下;支持系统首先需要完成对使用标记定义的服务描述的字面解析;进入处理阶段,支持系统首先根据服务描述中的服务类型、服务定位和参数定义来判断决定是否需要获得附加信息;判断的标准是根据服务描述中的定义预先确定下来的,如果需要附加信息,则根据规则生成这些附加信息;新生成的附加信息与服务描述中的显式定义的信息合并成为完整的参数表;支持系统得到完整的参数表后,就根据服务定位描述信息建立到服务提供方的连接,完成该服务要求的初始化工作;随后按照服务提供方定义的格式发送请求命令和参数,启动网络服务;网络服务提供方在被请求后开始运行服务,生成结果后发给服务请求方;服务请求方在获得网络服务响应信息后,中断连接,该次网络服务调用完成,访问即完成。
标记语言使用尖括号括起来的标记字符串来标明其所引文字的含义,其一般结构为<标记字符串属性列表>被标记文字</标记字符串>
这种标记方法在SGML,XML中都被使用。本方法遵循XML中定义的标记规范定义了一套标记字符串及相应属性列表,来描述网络服务的访问。
网络服务的访问包含以下几个要素服务类型、服务定位、参数定义。
服务类型包含Web Services、Grid Services、CORBA、RPC、RMI等。本方法的支持系统需要这些信息来访问网络服务实体。
服务定位使得用户意图使用的服务与其他服务有所区分,它既可以是基于位置的,也可以使基于描述的,它既可以是定义最终实体的,也可以是定义中介实体的。在Web Services中,这方面的灵活性具体体现为服务定位既可以使用服务物理位置,也可使用WSDL文档,或者使用UDDI定义。
参数定义包含了此次访问需要传给网络服务作为输入的值。完整的参数由三元组{名字,类型,值}组成的列表构成。该三元组只是作为一般的通用定义,具体到某种服务类型上,在标记定义中可以有所取舍,比如不显式定义参数类型。在支持系统中需要依据缺省定义或者某种推理方法或者其他相关信息把标记定义中缺失的要素补上,这样才能访问网络服务。
根据以上诸要素,给出标记系统的一种定义,如下所示<netservice type=服务类型>
<locator>服务定位描述</locator>
<parameters>
<item name=参数名字type=参数类型>参数值</item>
<item name=参数名字type=参数类型>参数值</item>
......
</parameters>
</netservice>
标记的具体实现并不局限于一种,只要能够表达前面所述的诸要素即可。


图1是标记描述支持系统工作流程图。
该方法需要支持系统来解析网络服务标记描述,并访问该描述所定义的服务。支持系统完整的流程如附图一所示,其步骤详细描述如下支持系统首先需要完成对使用上述标记定义的服务描述的字面解析,获得用户待访问服务的服务类型、服务定位和参数定义信息,随后的处理将依据这些信息进行(图一中步骤1)。
随后进入处理阶段。其中支持系统首先根据服务描述中的服务类型、服务定位和参数定义来判断决定是否需要获得附加信息(图一中步骤2),判断的标准是根据服务描述中的定义预先确定下来的。如果需要附加信息,则根据规则生成这些附加信息(图一中步骤3),然后与服务描述中的显式定义的信息合并并建立成为完整的参数表,该参数表完全满足服务提供方的要求(图一中步骤4),否则直接到下一步。支持系统得到完整的参数表后,就根据服务定位描述信息建立到服务提供方的连接,完成该服务要求的初始化工作(图一中步骤5),随后按照服务提供方定义的格式发送请求命令和参数,启动网络服务(图一中步骤6)。网络服务提供方在被请求后开始运行服务,生成结果后发给服务请求方。服务请求方在获得网络服务响应信息后,中断连接,该次网络服务调用完成,访问即完成。(图一中步骤7)。
该支持系统分别以库,和程序的形式提供。库系统提供单一的API函数,以标记描述为输入参数,用户在其程序中调用此函数就可以实现对网络服务的调用。程序系统运行时直接接收用户的标记描述,然后调用相应网络服务。
本发明的效果体现在一.该发明统一了多种网络服务的访问界面,用户掌握这种标记系统就可以实现对全部网络服务的访问。
二.该发明定义的标记系统屏蔽了网络服务复杂的底层结构,定义的要素简单直观,用户易于学习使用。
三.该发明定义的标记系统与语言,系统无关,实现了跨语言与跨平台。
四.该发明允许不直接使用API调用,支持在程序运行时接收服务描述,满足用户动态多变的网络服务调用请求。
五.该发明定义的标记描述系统可以嵌入在其他的标记语言中共同使用。
本发明的方法简化了用户对网络访问访问的定义,用户只需要提供必要的最小信息,系统会自动完成剩下的工作。该方法实现了对多种网络服务统一的,动态的和灵活的访问,适用于多种平台和语言,适合编程开发者和最终用户使用。
权利要求
1.一种利用标记语言描述并访问网络服务的方法该方法利用了网络服务的共性,设计了一种标记语言系统来描述多种网络服务,同时设计了一种支持系统来完成标记语言的解析和处理,实现对网络服务的访问,该方法实现了对网络服务统一的,动态的和灵活的访问。
2.如权利要求1所述的利用标记语言描述并访问网络服务的方法,其特征在于对不同的网络服务用一种语言进行描述和访问。
3.如权利要求1所述的利用标记语言描述并访问网络服务的方法,其特征在于该标记语言可以嵌入其他标记语言共同使用。
4.如权利要求1所述的利用标记语言描述并访问网络服务的方法,其特征在于该标记语言可以作为编程语言函数的输入参数,也可以作为程序运行时的输入。
5.如权利要求1所述的利用标记语言描述并访问网络服务的方法,其特征在于关于网络服务访问的参数定义,用户只要给出必要的最小描述,访问时系统会自动生成访问最终服务的完整描述和特定格式。
6.如权利要求1所述的利用标记语言描述并访问网络服务的方法,其特征在于关于服务定位的描述有物理的和逻辑的方法,及直接和间接的方法,系统会自动进行必要的转换和最终定位。
7.一种利用标记语言描述并访问网络服务支持系统的方法其步骤如下;支持系统首先需要完成对使用标记定义的服务描述的字面解析;进入处理阶段,支持系统首先根据服务描述中的服务类型、服务定位和参数定义来判断决定是否需要获得附加信息;判断的标准是根据服务描述中的定义预先确定下来的,如果需要附加信息,则根据规则生成这些附加信息;新生成的附加信息与服务描述中的显式定义的信息合并成为完整的参数表;支持系统得到完整的参数表后,就根据服务定位描述信息建立到服务提供方的连接,完成该服务要求的初始化工作;随后按照服务提供方定义的格式发送请求命令和参数,启动网络服务;网络服务提供方在被请求后开始运行服务,生成结果后发给服务请求方;服务请求方在获得网络服务响应信息后,中断连接,该次网络服务调用完成,访问即完成。
全文摘要
一种利用标记语言描述并访问网络服务的方法,设计了一种标记语言来统一描述多种网络服务,同时为此设计了一种支持系统来完成该标记语言的解析和处理,并实现对网络服务的访问。包括字面解析;判断是否需要附加信息;建立完整的参数表;完成初始化工作;启动网络服务;该方法简化了用户对网络访问访问的定义,用户只需要提供必要的最小信息,系统会自动完成剩下的工作。该方法实现了对多种网络服务统一的,动态的和灵活的访问,适用于多种平台和语言,适合编程开发者和最终用户使用。
文档编号G06F13/00GK1474270SQ0314514
公开日2004年2月11日 申请日期2003年6月18日 优先权日2003年6月18日
发明者徐志伟, 刘东华, 李伟, 李丙辰 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1