CN107770225A - 一种 webService访问系统和访问webService的方法 - Google Patents

一种 webService访问系统和访问webService的方法 Download PDF

Info

Publication number
CN107770225A
CN107770225A CN201610701634.9A CN201610701634A CN107770225A CN 107770225 A CN107770225 A CN 107770225A CN 201610701634 A CN201610701634 A CN 201610701634A CN 107770225 A CN107770225 A CN 107770225A
Authority
CN
China
Prior art keywords
webservice
request
service
access
parameter
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.)
Granted
Application number
CN201610701634.9A
Other languages
English (en)
Other versions
CN107770225B (zh
Inventor
温树庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610701634.9A priority Critical patent/CN107770225B/zh
Publication of CN107770225A publication Critical patent/CN107770225A/zh
Application granted granted Critical
Publication of CN107770225B publication Critical patent/CN107770225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

本发明提供一种webService访问系统和访问webService的方法,能够灵活访问webService接口。本发明的webService访问系统包括:服务接入层,接收客户端发送过来的webService访问请求,所述访问请求包括服务名和参数表;请求转换层,根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求,所述请求转换模板根据所述服务名获取;服务提供层,根据预先配置的请求服务地址和所述webService接口访问特定请求调用相应的webService服务以得到响应结果,所述请求服务地址根据所述服务名获取。

Description

一种webService访问系统和访问webService的方法
技术领域
本发明涉及计算机和计算机软件技术领域,特别地涉及一种webService访问系统和访问webService的方法。
背景技术
webService是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
webService是一种跨编程语言和跨操作系统的远程调用技术。webService技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据webService规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。webService是自描述、自包含的可用网络模块,可以执行具体的业务功能。webService也很容易部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。webService减少了应用接口的花费。webService为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
但是,webService在跨语言和使用不同框架开发时的差异多,且webService通过编码方式开发成本高。webService在编码过程中引入多种框架的开发工具包之间的冲突问题多,并且当需要切换webService服务地址时需要重启应用。
总之,webService对于开发者来说,工作量大,出现问题的几率多;对于运维者来说,运维工作量大,运维难度高;对于管理者来说,接口性能如何、访问量分布如何、接口性能拐点在哪等问题都不能做到一目了然。
发明内容
有鉴于此,本发明提供一种webService访问系统和访问webService的方法,能够。
为实现上述目的,根据本发明的一个方面,提供了一种webService访问系统。
一种webService访问系统,包括:服务接入层,所述服务接入层接收客户端发送过来的webService访问请求,所述访问请求包括服务名和参数表;请求转换层,所述请求转换层根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求,所述请求转换模板根据所述服务名获取;服务提供层,所述服务提供层根据预先配置的请求服务地址和所述webService接口访问特定请求调用相应的webService服务以得到响应结果,所述请求服务地址根据所述服务名获取。
可选地,还包括结果封装层,所述结果封装层封装所述响应结果并把封装的响应结果返回所述客户端。
可选地,所述服务接入层提供http Servlet形式的接口。
可选地,还包括服务控制层,该服务控制层用于根据预先保存的服务功能配置信息实现接入控制,所述服务功能配置信息包括:服务功能刷新配置、访问请求参数记录设置、访问时间限值设置、控制策略配置和安全认证。
可选地,所述参数表由参数项构成,每个参数项包括参数名和参数类型,所述请求转换层所执行的转换包括:将所述参数表转换为Map数据结构,从而获取每个参数项对应的参数值;获取所述请求转换模板,所述请求转换模板为webService接口访问特定模板;将所述参数值填充在所述请求转换模板的对应部分以生成所述webService接口访问特定请求。
可选地,所述响应结果被封装成消息的形式,且所述消息包括消息码和消息体,所述消息码用于标示结果返回是否成功,所述消息体用于标示所述响应结果。
可选地,所述服务提供层包括调用器,所述调用器通过将所述请求服务地址和所述通用请求封装成httpClient来调用相应的webService服务。
可选地,还包括缓存层,该缓存层用于缓存所述服务功能配置信息。
根据本发明的另一方面,提供了一种访问webService的方法。
一种访问webService的方法,包括:接收客户端发送过来的webService访问请求,所述访问请求包括服务名和参数表;根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求,所述请求转换模板根据所述服务名获取;根据预先配置的请求服务地址和所述webService接口访问特定请求调用相应的webService服务以得到响应结果,所述请求服务地址根据所述服务名获取。
可选地,得到响应结果之后,还包括:装所述响应结果并把封装的响应结果返回所述客户端。
可选地,通过提供http Servlet形式的接口来接收客户端发来的webService访问请求。
可选地,接收客户端发送过来的webService访问请求之后,还包括:根据预先保存的服务功能配置信息实现webService接入控制,所述服务功能配置信息包括:服务功能刷新配置、访问请求参数记录设置、访问时间限值设置、控制策略配置和安全认证。
可选地,所述参数表由参数项构成,每个参数项包括参数名和参数类型,根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求的步骤包括:将所述参数表转换为Map数据结构,从而获取每个参数项对应的参数值;获取所述请求转换模板,所述请求转换模板为webService接口访问特定模板;将所述参数值填充在所述请求转换模板的对应部分以生成所述webService接口访问特定请求。
可选地,所述响应结果被封装成消息的形式,且所述消息包括消息码和消息体,所述消息码用于标示结果返回是否成功,所述消息体用于标示所述响应结果。
可选地,通过将所述请求服务地址和所述通用请求封装成httpClient的方式来调用相应的webService服务。
可选地,还包括:缓存所述服务功能配置信息,并在所述服务功能配置信息发生变化时,通过服务功能刷新配置来更新缓存。
根据本发明的又一方面,提供了一种webService访问系统。
一种webService访问系统,包括:存储器和处理器,其中,所述存储器存储指令;所述处理器执行所述指令用于:接收客户端发送过来的webService访问请求,所述访问请求包括服务名和参数表;根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求,所述请求转换模板根据所述服务名获取;根据预先配置的请求服务地址和所述webService接口访问特定请求调用相应的webService服务以得到响应结果,所述请求服务地址根据所述服务名获取。
根据本发明的技术方案,提出了一种通用的访问webService接口的系统,无论接口提供方以何种方式提供webService接口,都可以通过本发明的访问webService接口的系统快速集成访问。本发明简化了webService接口的访问方式,接入方通过访问servlet即可实现webService访问;在访问过程中按实际需求可设置接口访问控制策略,对吞吐量低的接口予以保护,同时保证了应用的稳定性;可以明确了解webService服务的访问情况,接口性能透明化,便于及时发现及解决问题。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的webService访问系统的主要模块示意图;
图2是根据本发明一个实施例的webService访问系统的分层结构示意图;
图3是根据本发明一个实施例的webService访问系统的工作原理图;
图4是根据本发明一个实施例的webService访问系统的通用访问实现原理示意图;
图5是根据本发明一个实施例的webService访问系统的访问过程示意图;
图6是根据本发明一个实施例的访问webService的方法的主要步骤示意图;
图7是根据本发明另一实施例的webService访问系统的主要模块示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的webService访问系统的主要模块示意图。如图1所示,本发明的webService访问系统10主要包括服务接入层11、请求转换层12和服务提供层13。
其中,服务接入层11接收客户端发送过来的webService访问请求,所述访问请求包括服务名和参数表;请求转换层12根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求,所述请求转换模板根据所述服务名获取;服务提供层13根据预先配置的请求服务地址和所述webService接口访问特定请求调用相应的webService服务以得到响应结果,所述请求服务地址根据所述服务名获取。
本发明的webService访问系统10还可以包括结果封装层,所述结果封装层封装所述响应结果并把封装的响应结果返回所述客户端。
服务接入层11提供http Servlet形式的接口。
本发明的webService访问系统10还可以包括服务控制层,该服务控制层用于根据预先保存的服务功能配置信息实现接入控制,所述服务功能配置信息包括:服务功能刷新配置、访问请求参数记录设置、访问时间限值设置、控制策略配置和安全认证。
本发明中,所述参数表由参数项构成,每个参数项包括参数名和参数类型,请求转换层12所执行的转换包括:将所述参数表转换为Map数据结构,从而获取每个参数项对应的参数值;获取所述请求转换模板,所述请求转换模板为webService接口访问特定模板;将所述参数值填充在所述请求转换模板的对应部分以生成所述webService接口访问特定请求。
本发明中,所述响应结果被封装成消息的形式,且所述消息包括消息码和消息体,所述消息码用于标示结果返回是否成功,所述消息体用于标示所述响应结果。
服务提供层13包括调用器,所述调用器通过将所述请求服务地址和所述通用请求封装成httpClient来调用相应的webService服务。
本发明的webService访问系统10还可以包括缓存层,该缓存层用于缓存所述服务功能配置信息。
下面结合具体实施例介绍本发明的实施过程。
图2是根据本发明一个实施例的webService访问系统的分层结构示意图。如图2所示,本发明的webService访问系统主要可以包括:服务接入层、服务控制层、请求转换层、服务提供层、结果封装层、缓存层(redis)以及报表层。
服务接入层,主要功能是统一入口封装,对外统一暴露为http Servlet方式,用于简化访问,达到统一访问的目的。服务接入层用于接收客户端输入的webService访问请求,访问请求的参数例如包括:服务名、系统用户名ID、系统密码以及业务参数等信息。其中,服务名例如是对接口进行封装后的接口名等,根据服务名即可查找到接口的相关配置信息。比如:需要查找某个人的工资,那么在servlet里输入的请求的参数就包括“查询工资(服务名)、用户名、密码”等信息,后续即可根据服务名,从服务配置表中直接获取预先配置的服务配置表中的所有信息。
服务控制层,主要功能是用于安全控制,根据需要实现访问控制,此外还可以按需开启入参记录,用于异常跟踪。安全控制可通过系统名称以及访问密码实现接入控制,也可使用签名方式控制,或者访问IP控制等方式相组合。
另外,服务控制层还可以执行一下的控制操作,例如:服务刷新,通过服务名即可以刷新服务配置;访问超时控制,通过设置访问超时时间来进行控制,如果未设置超时时间,则以默认超时时间来进行控制,默认时间例如为30秒等;请求日志开关控制,当请求日志开关打开时,则记录请求日志;当请求日志开关关闭时,则不记录日志,请求日志主要用于分析接入的访问请求参数,以及根据访问请求参数是否缺少或者是否正确等,来判断是否存在异常;以及线程数控制,webService接口访问请求服务可以设置访问线程数上限,在访问过程中会检查该服务线程数是否达到上限,如果达到上限则直接返回,不调用服务提供的接口,用于保护接口不被压垮。其中,访问线程数的上限检查规则为:根据webService接口服务配置线程数控制策略,访问次数会记录到分布式计数器比如redis中,在访问开始时线程数加1,在访问结束时线程数减1,同时在访问接口接入时检查分布式计数器的上限是否达到配置上限,如果达到上限就中断请求并返回中断原因,否则执行webService接口访问后返回。
请求转换层,主要功能是通过webService接口特定的访问模板完成请求参数转换为webService接口访问特定请求。下面将举例介绍请求转换层的工作原理。
首先,将服务接入层接收的webService访问请求的参数转换为Map数据结构,从而获取每个参数项对应的参数值。其中,webService访问请求的参数可以参数表的形式存在,参数表由参数项构成,每个参数项包括参数名和参数类型,多个参数用逗号分隔。webService访问请求的参数例如包括:{Arg0:int,arg1:string,arg2:string,arg3:string}。将运行状态下如上的参数转换为Map数据结构显示例如可得:
Map<String,Object>param=new
HashMap<String,Object>();
param.put(“arg0”,new Integer(10));
param.put(“arg1”,“key”);
param.put(“arg2”,“value”);
param.put(“arg3”,“timeout”);
通过上述的代码,即可得到这4个参数所对应的参数值。
其次,获取请求转换模板,该请求转换模板为webService接口访问特定模板,已预先保存在数据库中。请求转换模板例如:
其中,“?”所指代的是可变的部分,也就是参数填充部分。
最后,将参数值填充在请求转换模板的对应部分以生成webService接口访问特定请求。生成的webService接口访问特定请求例如:
如此,即可得到可用于访问webService服务接口的特定请求。
缓存层,主要功能是用于缓存预先配置好的服务配置信息(如表1所示),例如:缓存访问实例、缓存访问次数、服务访问线程数、请求转换模板等,以便为其它层提供服务。缓存层一般可以实现为redis。在redis中,数据存储以key-value的形式进行。在redis中缓存服务配置信息,例如可以是key为“service_+服务名的英文名称”,value为“Service对象”。通过服务名加载服务配置,只需要应用启动时加载到redis中,在后续访问中不需要读取数据库,当服务配置信息发生变化时,通过服务刷新功能刷新redis即可,从而可以减少性能消耗,做到启动后数据库无关性。
另外,在进行服务配置信息缓存时,也可根据服务配置信息中包含的不同内容选用不同的key和value。例如,在缓存请求转换模板时,可以是key为“soap_template_服务名的英文名称”,value为“通过soapUI等工具生成的请求转换模板”。在通过httpClient访问webService前,需要通过请求转换模板把入参转换为可用的webService请求,请求模板频繁使用,也有可能发生变化,需要用缓存来减少频繁访问数据库带来的性能消耗。
表1
服务提供层的主要功能是提供各种类型的webService服务,可以是JAVA实现的,也可以是PHP等其他语言实现的。服务提供层的开发框架例如axis、cxf、xfire等等。服务提供层通过调用器的调用,来提供远程的webService服务。
调用器通过封装httpClient完成服务提供层的调用,调用过程如下:
1、通过预先配置在服务配置信息里的请求服务地址与服务提供层建立连接;
2、通过post方式,根据转换后的webService接口特定请求来调用远程webService服务,当httpClient返回状态为200时,说明接口正常返回,则获取返回的应答信息;当httpClient返回状态为非200时,说明远程接口调用异常。
结果封装层,主要功能是根据webService服务的响应结果,执行响应结果的封装并以消息的形式返回。返回的消息可分为消息码和消息体两部分。消息码用于告知返回是否成功,消息体为业务服务的响应结果。例如,可设置返回的消息码如果为“200”,则表示正常返回,如果为“非200”,则为异常返回。返回的消息体例如可以是Json格式的内容。
报表层,主要功能是通过分析整个webService的访问过程日志,输出系统访问量、服务访问量、服务性能、服务成功率等信息。
下面根据以上所介绍的本发明的webService访问系统的各个层的功能,来介绍本发明的webService访问系统的工作原理。
如图3,是根据本发明一个实施例的webService访问系统的工作原理图。当服务接入层接收到用户输入的webService接口访问请求时,将执行服务接入操作;之后,将调用服务控制层进行安全认证,若安全认证不通过则直接返回认证失败,若安全认证通过则记录访问参数,然后判断是否超过访问次数限值,若已超过访问次数限值,则返回认证失败,否则调用请求转换层;请求转换层根据访问请求参数和保存的请求转换模板进行访问请求参数转换;访问请求参数转换完成后,将通过调用器调用服务提供层提供的webService服务,并等待webService服务应答;最后,若webService服务应答且访问未超时,则将结果封装并返回给请求方,若webService服务未应答或访问已超时,则返回认证失败。
图4是根据本发明一个实施例的webService访问系统的通用访问实现原理示意图。如图4所示,访问webService服务接口的实现原理主要可以包括如下的步骤S41至步骤S45。
步骤S41:服务接入,服务接入时可将参数转化为map结构,以便支持多参数访问,并将参数进行封装;
步骤S42:配置加载,根据封装后参数里的服务名,从系统数据库或者缓存中加载服务配置信息;
步骤S43:请求参数转换,根据服务配置信息中包含的请求转换模板,把服务接入的业务参数填充到请求转换模板中以生成webService接口访问特定请求。其中,请求转换模板可以通过soapUI等工具生成;
步骤S44:服务调用,通过封装的httpClient请求访问webService服务;
步骤S45:结果封装,当webService服务响应后,截取httpClient的应答信息,并封装后提供给webService服务请求方。
图5是根据本发明一个实施例的webService访问系统的访问过程示意图。如图5所示,本发明的webService访问系统的访问过程主要可以包括如下步骤S51至步骤S55。
步骤S51:客户端根据输入的http方式的请求访问服务接入层,该请求中携带服务名、系统编码、密码、业务访问参数等信息;
步骤S52:服务接入层执行服务接入,根据服务名从缓存中加载服务配置信息(图中省略)后,调用服务控制层;
步骤S53:服务控制层主要进行安全控制、访问次数控制、访问线程数控制以及超时控制等。以安全控制为例,服务控制层根据系统编码、密码执行安全认证,认证失败后调用结果封装,封装失败信息并返回;认证通过后,携带业务访问参数等信息进入请求转换器;
步骤S54:请求转换器根据预先保存的请求转换模板以及请求参数中的业务访问参数等信息,完成请求转换,以得到webService接口访问特定请求,之后通过调用器来访问webService服务接口;
步骤S55:调用器根据服务配置信息中包含的请求服务地址以及转换后的webService接口访问特定请求向webService服务接口发起请求。如果webService服务接口正常返回,则解析该webService服务接口返回的soap消息以得到响应结果,并调用结果封装将响应结果返回给客户端;如果webService服务接口访问失败,则直接调用结果封装将访问失败的消息返回给客户端。
根据以上所述的步骤S51至步骤S55,即可使用本发明的webService访问系统进行webService服务接口的访问。由此,本发明提出了一种访问webService的方法,如图6。
图6是根据本发明一个实施例的访问webService的方法的主要步骤示意图。如图6所示,本发明的访问webService的方法主要包括如下的步骤S61至步骤S63。
步骤S61:接收客户端发送过来的webService访问请求,访问请求包括服务名和参数表;
步骤S62:根据服务名和参数表以及预先保存的请求转换模板把访问请求转换为webService接口访问特定请求,请求转换模板根据服务名获取;
步骤S63:根据预先配置的请求服务地址和webService接口访问特定请求调用相应的webService服务以得到响应结果,请求服务地址根据服务名获取。
根据本发明的技术方案,在得到响应结果之后,还可以封装所述响应结果并把封装的响应结果返回所述客户端。
本发明通过提供http Servlet形式的接口来接收客户端发来的webService访问请求。
在接收客户端发送过来的webService访问请求之后,还包括:根据预先保存的服务功能配置信息实现webService接入控制,所述服务功能配置信息包括:服务功能刷新配置、访问请求参数记录设置、访问时间限值设置、控制策略配置和安全认证。
本发明中,所述参数表由参数项构成,每个参数项包括参数名和参数类型,根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求的步骤包括:将所述参数表转换为Map数据结构,从而获取每个参数项对应的参数值;获取所述请求转换模板,所述请求转换模板为webService接口访问特定模板;将所述参数值填充在所述请求转换模板的对应部分以生成所述webService接口访问特定请求。
本发明中,所述响应结果被封装成消息的形式,且所述消息包括消息码和消息体,所述消息码用于标示结果返回是否成功,所述消息体用于标示所述响应结果。
根据本发明的实施例,通过将所述请求服务地址和所述通用请求封装成httpClient的方式来调用相应的webService服务。
另外,本发明的访问webServic的方法还可以包括:缓存所述服务功能配置信息,并在所述服务功能配置信息发生变化时,通过服务功能刷新配置来更新缓存。
图7是根据本发明另一实施例的webService访问系统的主要模块示意图。如图7所示,本发明的webService访问系统70主要包括存储器71和处理器72。
其中,存储器71存储指令;处理器72执行所述指令用于:接收客户端发送过来的webService访问请求,所述访问请求包括服务名和参数表;根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求,所述请求转换模板根据所述服务名获取;根据预先配置的请求服务地址和所述webService接口访问特定请求调用相应的webService服务以得到响应结果,所述请求服务地址根据所述服务名获取。
根据本发明的技术方案,处理器72得到响应结果之后,还可以用于封装所述响应结果并把封装的响应结果返回所述客户端。
处理器72通过提供http Servlet形式的接口来接收客户端发来的webService访问请求。
处理器72在接收客户端发送过来的webService访问请求之后,还可以用于:根据预先保存的服务功能配置信息实现webService接入控制,所述服务功能配置信息包括:服务功能刷新配置、访问请求参数记录设置、访问时间限值设置、控制策略配置和安全认证。
本发明中,所述参数表由参数项构成,每个参数项包括参数名和参数类型,且处理器72还可以用于:将所述参数表转换为Map数据结构,从而获取每个参数项对应的参数值;获取所述请求转换模板,所述请求转换模板为webService接口访问特定模板;将所述参数值填充在所述请求转换模板的对应部分以生成所述webService接口访问特定请求。
所述响应结果被封装成消息的形式,且所述消息包括消息码和消息体,所述消息码用于标示结果返回是否成功,所述消息体用于标示所述响应结果。
处理器72通过将所述请求服务地址和所述通用请求封装成httpClient的方式来调用相应的webService服务。
处理器72还可以用于缓存所述服务功能配置信息,并在所述服务功能配置信息发生变化时,通过服务功能刷新配置来更新缓存。
根据本发明实施例的技术方案,提出了一种通用的访问webService接口的系统,无论接口提供方以何种方式提供webService接口,都可以通过本发明的访问webService接口的系统快速集成访问。本发明简化了webService接口的访问方式,接入方通过访问servlet即可实现webService访问;在访问过程中按实际需求可设置接口访问控制策略,对吞吐量低的接口予以保护,同时保证了应用的稳定性;可以明确了解webService服务的访问情况,接口性能透明化,便于及时发现及解决问题。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (17)

1.一种webService访问系统,其特征在于,包括:
服务接入层,所述服务接入层接收客户端发送过来的webService访问请求,所述访问请求包括服务名和参数表;
请求转换层,所述请求转换层根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求,所述请求转换模板根据所述服务名获取;
服务提供层,所述服务提供层根据预先配置的请求服务地址和所述webService接口访问特定请求调用相应的webService服务以得到响应结果,所述请求服务地址根据所述服务名获取。
2.根据权利要求1所述的webService访问系统,其特征在于,还包括结果封装层,所述结果封装层封装所述响应结果并把封装的响应结果返回所述客户端。
3.根据权利要求1所述的webService访问系统,其特征在于,所述服务接入层提供httpServlet形式的接口。
4.根据权利要求1所述的webService访问系统,其特征在于,还包括服务控制层,该服务控制层用于根据预先保存的服务功能配置信息实现接入控制,所述服务功能配置信息包括:
服务功能刷新配置、访问请求参数记录设置、访问时间限值设置、控制策略配置和安全认证。
5.根据权利要求1所述的webService访问系统,其特征在于,
所述参数表由参数项构成,每个参数项包括参数名和参数类型,
所述请求转换层所执行的转换包括:
将所述参数表转换为Map数据结构,从而获取每个参数项对应的参数值;
获取所述请求转换模板,所述请求转换模板为webService接口访问特定模板;
将所述参数值填充在所述请求转换模板的对应部分以生成所述webService接口访问特定请求。
6.根据权利要求1所述的webService访问系统,其特征在于,所述响应结果被封装成消息的形式,且所述消息包括消息码和消息体,所述消息码用于标示结果返回是否成功,所述消息体用于标示所述响应结果。
7.根据权利要求1所述的webService访问系统,其特征在于,所述服务提供层包括调用器,所述调用器通过将所述请求服务地址和所述通用请求封装成httpClient来调用相应的webService服务。
8.根据权利要求1所述的webService访问系统,其特征在于,还包括缓存层,该缓存层用于缓存所述服务功能配置信息。
9.一种访问webService的方法,其特征在于,包括:
接收客户端发送过来的webService访问请求,所述访问请求包括服务名和参数表;
根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求,所述请求转换模板根据所述服务名获取;
根据预先配置的请求服务地址和所述webService接口访问特定请求调用相应的webService服务以得到响应结果,所述请求服务地址根据所述服务名获取。
10.根据权利要求9所述的方法,其特征在于,得到响应结果之后,还包括:
封装所述响应结果并把封装的响应结果返回所述客户端。
11.根据权利要求9所述的方法,其特征在于,通过提供http Servlet形式的接口来接收客户端发来的webService访问请求。
12.根据权利要求9所述的方法,其特征在于,接收客户端发送过来的webService访问请求之后,还包括:
根据预先保存的服务功能配置信息实现webService接入控制,
所述服务功能配置信息包括:
服务功能刷新配置、访问请求参数记录设置、访问时间限值设置、控制策略配置和安全认证。
13.根据权利要求9所述的方法,其特征在于,
所述参数表由参数项构成,每个参数项包括参数名和参数类型,
根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求的步骤包括:
将所述参数表转换为Map数据结构,从而获取每个参数项对应的参数值;
获取所述请求转换模板,所述请求转换模板为webService接口访问特定模板;
将所述参数值填充在所述请求转换模板的对应部分以生成所述webService接口访问特定请求。
14.根据权利要求9所述的方法,其特征在于,所述响应结果被封装成消息的形式,且所述消息包括消息码和消息体,所述消息码用于标示结果返回是否成功,所述消息体用于标示所述响应结果。
15.根据权利要求9所述的方法,其特征在于,通过将所述请求服务地址和所述通用请求封装成httpClient的方式来调用相应的webService服务。
16.根据权利要求9所述的方法,其特征在于,还包括:缓存所述服务功能配置信息,并在所述服务功能配置信息发生变化时,通过服务功能刷新配置来更新缓存。
17.一种webService访问系统,其特征在于,包括:存储器和处理器,其中,
所述存储器存储指令;
所述处理器执行所述指令用于:
接收客户端发送过来的webService访问请求,所述访问请求包括服务名和参数表;
根据所述服务名和参数表以及预先保存的请求转换模板把所述访问请求转换为webService接口访问特定请求,所述请求转换模板根据所述服务名获取;
根据预先配置的请求服务地址和所述webService接口访问特定请求调用相应的webService服务以得到响应结果,所述请求服务地址根据所述服务名获取。
CN201610701634.9A 2016-08-22 2016-08-22 一种webService访问系统和访问webService的方法 Active CN107770225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610701634.9A CN107770225B (zh) 2016-08-22 2016-08-22 一种webService访问系统和访问webService的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610701634.9A CN107770225B (zh) 2016-08-22 2016-08-22 一种webService访问系统和访问webService的方法

Publications (2)

Publication Number Publication Date
CN107770225A true CN107770225A (zh) 2018-03-06
CN107770225B CN107770225B (zh) 2020-11-03

Family

ID=61263957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610701634.9A Active CN107770225B (zh) 2016-08-22 2016-08-22 一种webService访问系统和访问webService的方法

Country Status (1)

Country Link
CN (1) CN107770225B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150893A (zh) * 2018-09-12 2019-01-04 山东中创软件工程股份有限公司 一种服务请求转发方法及相关装置
CN109325067A (zh) * 2018-08-07 2019-02-12 东软集团股份有限公司 数据库与客户端的数据交互方法、装置、存储介质和设备
CN110035104A (zh) * 2018-11-30 2019-07-19 阿里巴巴集团控股有限公司 适配处理方法及装置、服务处理系统
CN110048907A (zh) * 2019-03-29 2019-07-23 苏宁易购集团股份有限公司 一种集群环境下的全局流控方法及装置
CN110049001A (zh) * 2019-02-27 2019-07-23 新奥特(北京)视频技术有限公司 一种实现WebService服务的方法、装置、存储介质和服务器
WO2020015170A1 (zh) * 2018-07-18 2020-01-23 平安科技(深圳)有限公司 接口调用方法、装置及计算机可读存储介质
CN111597059A (zh) * 2020-04-18 2020-08-28 北京奇保信安科技有限公司 接口调用请求处理方法、装置及电子设备
CN111740938A (zh) * 2019-06-28 2020-10-02 北京京东尚科信息技术有限公司 信息处理方法、装置、客户端和服务器
CN111813567A (zh) * 2019-08-08 2020-10-23 安徽水利开发股份有限公司 一种协同系统中印章软件接口调用方法及系统
CN112291380A (zh) * 2020-09-01 2021-01-29 上海泛微软件有限公司 网络请求处理方法、装置、设备及计算机可读存储介质
CN112953892A (zh) * 2021-01-26 2021-06-11 山东浪潮通软信息科技有限公司 第三方系统的访问认证方法和装置
CN114116067A (zh) * 2021-12-02 2022-03-01 多点生活(武汉)科技有限公司 内外系统的信息配置方法、装置、电子设备和可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242423A (zh) * 2007-02-09 2008-08-13 中国电信股份有限公司 利用HTTP重定向技术实现开放Web会议能力的系统和方法
CN101645885A (zh) * 2009-05-21 2010-02-10 南京联创科技股份有限公司 基于服务配置标记语言身份管理协议实现数据传送高效压缩方法
CN101834845A (zh) * 2010-03-26 2010-09-15 南京联创科技集团股份有限公司 基于tcp短连接的soap客户端协议封装方法
CN102255969A (zh) * 2011-07-14 2011-11-23 南京邮电大学 一种基于表述性状态转移的网络服务安全模型
WO2012129684A1 (en) * 2011-03-25 2012-10-04 International Business Machines Corporation Transforming http requests into web services trust messages for security processing
CN102857582A (zh) * 2012-10-15 2013-01-02 福建师范大学 一种具有自动适配功能的Web服务集成系统
CN103699386A (zh) * 2013-12-27 2014-04-02 云南电网公司玉溪供电局 一种基于osgi的通用数据转换引擎系统
CN105824926A (zh) * 2016-03-17 2016-08-03 浪潮通用软件有限公司 一种动态选择调用外部系统接口的方法
CN105827703A (zh) * 2016-03-18 2016-08-03 浪潮通用软件有限公司 一种基于http的数据交互接口实现与访问方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242423A (zh) * 2007-02-09 2008-08-13 中国电信股份有限公司 利用HTTP重定向技术实现开放Web会议能力的系统和方法
CN101645885A (zh) * 2009-05-21 2010-02-10 南京联创科技股份有限公司 基于服务配置标记语言身份管理协议实现数据传送高效压缩方法
CN101834845A (zh) * 2010-03-26 2010-09-15 南京联创科技集团股份有限公司 基于tcp短连接的soap客户端协议封装方法
WO2012129684A1 (en) * 2011-03-25 2012-10-04 International Business Machines Corporation Transforming http requests into web services trust messages for security processing
CN102255969A (zh) * 2011-07-14 2011-11-23 南京邮电大学 一种基于表述性状态转移的网络服务安全模型
CN102857582A (zh) * 2012-10-15 2013-01-02 福建师范大学 一种具有自动适配功能的Web服务集成系统
CN103699386A (zh) * 2013-12-27 2014-04-02 云南电网公司玉溪供电局 一种基于osgi的通用数据转换引擎系统
CN105824926A (zh) * 2016-03-17 2016-08-03 浪潮通用软件有限公司 一种动态选择调用外部系统接口的方法
CN105827703A (zh) * 2016-03-18 2016-08-03 浪潮通用软件有限公司 一种基于http的数据交互接口实现与访问方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020015170A1 (zh) * 2018-07-18 2020-01-23 平安科技(深圳)有限公司 接口调用方法、装置及计算机可读存储介质
CN109325067A (zh) * 2018-08-07 2019-02-12 东软集团股份有限公司 数据库与客户端的数据交互方法、装置、存储介质和设备
CN109150893B (zh) * 2018-09-12 2021-10-26 山东中创软件工程股份有限公司 一种服务请求转发方法及相关装置
CN109150893A (zh) * 2018-09-12 2019-01-04 山东中创软件工程股份有限公司 一种服务请求转发方法及相关装置
CN110035104A (zh) * 2018-11-30 2019-07-19 阿里巴巴集团控股有限公司 适配处理方法及装置、服务处理系统
CN110035104B (zh) * 2018-11-30 2021-11-23 创新先进技术有限公司 适配处理方法及装置、服务处理系统
CN110049001A (zh) * 2019-02-27 2019-07-23 新奥特(北京)视频技术有限公司 一种实现WebService服务的方法、装置、存储介质和服务器
CN110048907A (zh) * 2019-03-29 2019-07-23 苏宁易购集团股份有限公司 一种集群环境下的全局流控方法及装置
CN110048907B (zh) * 2019-03-29 2022-12-30 苏宁易购集团股份有限公司 一种集群环境下的全局流控方法及装置
CN111740938A (zh) * 2019-06-28 2020-10-02 北京京东尚科信息技术有限公司 信息处理方法、装置、客户端和服务器
CN111740938B (zh) * 2019-06-28 2022-12-02 北京京东尚科信息技术有限公司 信息处理方法、装置、客户端和服务器
CN111813567A (zh) * 2019-08-08 2020-10-23 安徽水利开发股份有限公司 一种协同系统中印章软件接口调用方法及系统
CN111813567B (zh) * 2019-08-08 2022-07-05 安徽建工集团股份有限公司 一种协同系统中印章软件接口调用方法及系统
CN111597059A (zh) * 2020-04-18 2020-08-28 北京奇保信安科技有限公司 接口调用请求处理方法、装置及电子设备
CN112291380A (zh) * 2020-09-01 2021-01-29 上海泛微软件有限公司 网络请求处理方法、装置、设备及计算机可读存储介质
CN112953892A (zh) * 2021-01-26 2021-06-11 山东浪潮通软信息科技有限公司 第三方系统的访问认证方法和装置
CN112953892B (zh) * 2021-01-26 2022-04-19 浪潮通用软件有限公司 第三方系统的访问认证方法和装置
CN114116067A (zh) * 2021-12-02 2022-03-01 多点生活(武汉)科技有限公司 内外系统的信息配置方法、装置、电子设备和可读存储介质
CN114116067B (zh) * 2021-12-02 2024-02-27 多点生活(武汉)科技有限公司 内外系统的信息配置方法、装置、电子设备和可读存储介质

Also Published As

Publication number Publication date
CN107770225B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN107770225A (zh) 一种 webService访问系统和访问webService的方法
US7213049B2 (en) System and method for transaction processing with transaction property feature
US7340714B2 (en) System and method for using web services with an enterprise system
US7930701B2 (en) JMS integration into an application server
US8326963B2 (en) System and method for migrating applications from a legacy system
US20040044656A1 (en) System for web service generation and brokering
CN112286503A (zh) 多注册中心的微服务统一管理方法、装置、设备及介质
US20030018832A1 (en) Metadata-aware enterprise application integration framework for application server environment
AU2002318249A1 (en) System and method for transaction processing with transaction property feature
US7920852B2 (en) Compression of data transmitted between server and mobile device
US7673028B2 (en) Method and system for container-managed configuration and administration
US10802801B1 (en) Grand unified processor
WO2005106666A1 (en) A system and method for modeling and dynamically deploying services into a distributed networking architecture
CN107908488A (zh) 消息请求接口交互方法、装置、计算机设备及存储介质
US20080162564A1 (en) Back-end field control for multiple software layers
CN112685020A (zh) 动态创建服务接口的方法、装置、电子设备及存储介质
US20040243693A1 (en) Inbound connector
US11803786B2 (en) Enterprise integration platform
US10289462B1 (en) Systems and methods for integration of websphere optimized local adapters with the spring framework
Quinot et al. From functional to architectural analysis of a middleware supporting interoperability across heterogeneous distribution models
US11966719B2 (en) Event consumption for high-level programing language platform
US20240036946A1 (en) Event provisioning for high-level programing language platform
CN116755677A (zh) 原子服务编排方法、装置、设备及存储介质
CN114115817A (zh) 一种业务开发方法、装置、电子设备及存储介质
Horowitz Bringing java to TMN

Legal Events

Date Code Title Description
PB01 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