CN104935619A - 基于中间件的网络服务方法 - Google Patents

基于中间件的网络服务方法 Download PDF

Info

Publication number
CN104935619A
CN104935619A CN201410106334.7A CN201410106334A CN104935619A CN 104935619 A CN104935619 A CN 104935619A CN 201410106334 A CN201410106334 A CN 201410106334A CN 104935619 A CN104935619 A CN 104935619A
Authority
CN
China
Prior art keywords
service
middleware
network
task
business processing
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
CN201410106334.7A
Other languages
English (en)
Other versions
CN104935619B (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.)
Shanghai Baosight Software Co Ltd
Original Assignee
Shanghai Baosight Software 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 Shanghai Baosight Software Co Ltd filed Critical Shanghai Baosight Software Co Ltd
Priority to CN201410106334.7A priority Critical patent/CN104935619B/zh
Publication of CN104935619A publication Critical patent/CN104935619A/zh
Application granted granted Critical
Publication of CN104935619B publication Critical patent/CN104935619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明提供的基于中间件的网络服务方法,包括启动网络服务组件;监听模块侦听来自网络的连接请求并向业务处理池的业务列表中增加待处理业务;由业务处理池内空闲的业务处理线程检查任务列表并处理新任务;由服务传递模块从待传递任务列表取出待传递任务请求并将生成的服务返回数据放入中间件服务的队列;接收服务返回数据,由中间件服务的应用服务程序处理完成后,由网络服务组件的接收模块执行指令或生成新数据接收任务发送到业务处理列表中;由业务处理线程从业务处理列表中获取新数据接收任务时并生成网络数据包返回应用客户。本发明可供任何使用标准SOAP协议的网络客户对中间件进行访问,丰富了访问方式,给使用带来极大的便利。

Description

基于中间件的网络服务方法
技术领域
本发明涉及信息系统,具体地,涉及一种基于中间件的网络服务方法。
背景技术
随着计算机技术的不断发展,企业的信息系统不断进步,简单的客户机/服务器系统与单机结构已经不能满足企业应用的需求,企业应用向着三层及多层体系结构的分布式环境发展。分布式系统中不难出现不同的软硬件平台,要在这些异构平台上开发和运行应用软件,就需要一种基于标准的、独立于计算机系统及硬件的开发和运行环境。中间件技术正是提供这样环境的技术。
中间件处于三层架构的中间一层,为上层应用软件提供下层硬件和操作系统支撑,并且屏蔽底层硬件和系统差异,使得上层应用可以基于中间件在不同的硬件系统平台无差异地开发及运行。
客户机/服务器的访问方式仍然是中间件系统基本的访问方式,虽然随着计算机技术的发展,也出现了很多网络中间件如Sun J2EE、WebLogic、Microsoft.Net等,但这些网络中间件都是重新建立一套网络架构,其应用程序也是基于网络架构而编写,而事实上客户机/服务器模式的中间件已经得到了很好的应用,要在这些已有的场景中添加网络服务支持,就要重新架构和编写应用程序,必然大大增加了工程负担,甚至于重复工作。因此,一种不影响原有中间件环境,不需要额外的开发工作,复用原有的中间件应用程序,使中间件按需要提供网络服务的设计方案就有了诞生的必要。
针对现有技术进行搜索发现下面公开的技术方案
申请(专利)号:200610024440.6,名称:基于中间件平台提供网络服务的方法。该专利文献公开了一种基于中间件平台提供网络服务的方法,该方法包括网络服务器在CAR中间件平台上启动CAR网络服务代理程序,通过该程序解析SOAP请求的数据包或WSDL文件的下载请求的数据包,并通过CAR中间件平台完成SOAP请求或WSDL文件的下载请求的服务。通过该方法复用原有CAR中间件平台中的已有软件产品,使互联网上的远程客户可通过标准网络服务协议访问CAR中间件平台上注册为命名服务的构件对象,以实现其它支持网络服务开发的开发工具对CAR构件的复用。
技术要点比较:
1.该方案中,基于CAR(Component Assembly Runtime)中间件平台,通过在平台运行网络服务代理程序以提供网络服务。在接收到网络请求时依次创建HTTP数据包读写实例、命名服务代理模块实例、WSDL生成模块实例、编码/解码实例、SOAP包读写模块实例等,一次访问过程需要经历大量实例创建、销毁过程,效率会受影响。本发明方案中,各模块预先初始化,提高响应效率。
2.该方案中,所有中间件服务都对网络开放,即网络客户可以对所有中间件的服务进行访问,这其实是不安全的。而本发明方案中通过配置只开放需要的服务而隐藏不应被网络客户访问的服务,提高安全性。
3.该方案中,通过创建多实例的方式来响应多个请求,而本发明方案采用业务处理池来实现并发。
4.该方案中,WSDL文件请求处理过程中生成,服务基于中间件的服务,参数基于元数据,在服务较多时,生成过程较长,响应较慢。本发明方案WSDL文件完全依赖元数据,可预先生成,响应请求只要读取文件即可。
相关检索结果2:
申请(专利)号:200810104714.1,名称:一种C/S和B/S混合架构模式实现方法和平台。该专利文献公开了一种C/S和B/S混合架构模式实现方法和平台,基于web服务技术和AJAX技术分别为C/S和B/S模式下不同的客户端提供统一的服务器实现,C/S模式客户端基于SOAP协议访问服务,B/S模式富客户端基于AJAX技术访问服务,采用了面向服务的设计思想,使得C/S模式客户端和B/S模式富客户端可以共享同一个服务器实现。对于来自C/S客户端或者B/S模式富客户端的大量的重复请求就可以避免重复的数据库访问,从而有助于降低请求的平均响应时间。为不同模式客户端提供统一的服务器实现,从而改善软件系统的可维护性、可扩展性和可伸缩性。
技术要点比较:
1.该方案中,B/S模式基于AJAX技术形成富客户端,而C/S与B/S分别调用服务端的相应接口,再由相应的Web服务接口与AJAX服务接口去调用统一服务接口,将客户端与网络的请求转到统一的服务去处理。对C/S和B/S的请求建立了两套不同的处理方案,服务端基于面向服务的网络架构。本发明方案基于中间件,添加网络服务支持,但并不影响原来的平台及架构。
2.该方案中,因为混合调用,在调用统一服务接口时先查询是否存在相同参数的服务结果,如果有则直接取结果返回。没有则调用服务逻辑,更新服务结果。这种设计是为避免相同服务逻辑的重复调用。本发明方案中客户端和网络的调用完全是独立的。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于中间件的网络服务方法。
本发明基于中间件,提出一种组件式设计方案,通过该组件,复用中间件现有的应用服务程序,将网络请求转到对应的中间件服务程序中进行处理,通过请求数据的转换,使中间件不必进行额外的开发就能同时处理来自中间件客户端和网络客户的访问请求。
本发明针对中间件单一的客户端访问方式,通过网络服务组件式设计,在复用原有中间件平台及服务的前提下,提供网络访问支持。
本发明只需通过配置的方式而无需进行复杂的应用开发,复用原有的中间件平台及服务,使得来自客户端的和网络的服务请求得到相应的服务响应和处理。
根据本发明提供的基于中间件的网络服务方法,包括如下步骤:
步骤1:启动网络服务组件,初始化服务传递模块、业务处理池、监听模块和消息响应模块;
步骤2:监听模块侦听来自网络客户的连接请求并根据连接请求向业务处理池的业务列表中增加待处理业务;
步骤3:由业务处理池内空闲的业务处理线程不断检查任务列表并处理增加的待处理任务,当待处理任务处理完成后,新建相应的待传递任务请求,并添加到待传递任务列表;
步骤4:由服务传递模块从待传递任务列表取出待传递任务请求并向中间件平台注册客户端编号,后将待传递任务中相应的服务请求数据放入相应的中间件服务队列;
步骤5:由中间件应用服务程序处理服务请求数据完成后,将处理结果返回给网络服务组件接收队列,由网络服务组件的接收模块根据处理结果执行指令或生成新数据接收任务发送到业务处理列表中;
步骤6:由业务处理池中的空闲业务处理线程从业务处理列表中获取新数据接收任务并生成网络数据包返回网络客户。
优选地,所述步骤1包括如下步骤:
步骤1.1:网络服务组件读取在中间件系统中作为独立模块运行时需要的配置参数;
步骤1.2:网络服务组件读取元数据配置,元数据配置提供网络服务的名称和请求服务中输入输出参数;
步骤1.3:网络服务组件将作为中间件系统的子模块连接到中间件系统中;
步骤1.4:网络服务组件根据配置参数对服务传递模块、业务处理池、监听模块进行初始化;
步骤1.5:初始化消息响应模块,消息响应模块用于对来自中间件系统的管理指令的响应以及对服务返回数据的响应。
优选地,所述步骤2包括如下步骤:
步骤2.1:对新侦听到的连接请求进行合法性验证,若验证未通过,则连接请求被拒绝,原因被记录到服务日志;若验证通过则转到步骤2.2;
步骤2.2:监听模块根据合法性验证通过的连接请求向业务处理池的业务列表中增加待处理业务。
优选地,所述步骤3包括如下步骤:
步骤3.1:业务处理线程检查任务列表是否有待处理任务,若有,则转入步骤3.2,若没有,则继续空闲等待;
步骤3.2:当待处理任务为网络请求时,则解析网络请求的http包,从中取得SOAP协议块;
步骤3.3:判断网络请求是否为WSDL文件请求,若为是,则转到步骤3.4。若为否,则为服务请求同时转到步骤3.5;
步骤3.4:业务处理线程读取相应路径下的WSDL文件并组装成SOAP协议块发送给网络客户;
步骤3.5:根据服务请求,解析出相应的服务名称;
步骤3.6:根据服务名称,查询元数据信息;
步骤3.7:判断相应的服务是否存在,当服务存在,则取出服务相对应的元数据信息,并且根据元数据信息从SOAP协议块中取出服务请求的参数名称和数值,若服务名称不存在,则记录相应错误并返回给客户;
步骤3.8:根据元数据信息,将取得的参数名称和数值转换成中间件所支持的中间件数据;
步骤3.9:根据中间件数据,新建传递任务请求,并添加到待传递任务列表。
优选地,所述步骤5包括如下步骤:
步骤5.1:当处理结果为管理指令时,则接收模块执行查询或操作指令;
步骤5.2:当处理结果为服务返回数据时,则接收模块生成新数据接收任务,并将新数据接收任务置入业务处理池的任务列表。
优选地,所述步骤6包括如下步骤:
步骤6.1:业务处理线程从任务列表获取新数据接收任务且从中间件平台的共享内存中获取与新数据接收任务相对应的服务请求数据处理之后的消息内容和返回数据;
步骤6.2:从消息内容中取得作为任务关键字的句柄,以句柄为关键字从任务记录中获取与新数据接收任务相关的网络连接和元数据信息;
步骤6.3:从消息内容中判断连接请求在中间件应用服务中处理是否成功。若没有成功,则转到步骤6.4,若成功,则转到步骤6.5;
步骤6.4:从消息内容中获取异常处理结果的错误代号,将错误代号作为请求应答,由业务处理线程调用网络响应模块,将异常处理结果响应给网络客户;
步骤6.5:业务处理线程获取返回数据并根据元数据信息将返回数据转换成网络参数;
步骤6.6:业务处理线程调用网络响应模块,将网络参数组装成网络数据包并返回网络客户。
优选地,网络服务组件根据所述配置参数配置监听地址、端口、业务处理池的大小和SOAP协议相关设定。
优选地,所述元数据配置经过网络服务组件提供的元数据编译工具校验与编译处理后被网络服务组件读取。
优选地,当步骤1.1~1.5中任何一个步骤出现异常则网络服务组件启动失败,将错误信息记录到日志备查。
优选地,所述合法性验证包括过滤网络地址和要求用户权限验证。
与现有技术相比,本发明具有如下的有益效果:
1.本发明实现了一种在中间件基础上通过配置网络服务组件的方式,不需要进行多余的开发,直接复用原中间件平台和应用服务程序,即可使中间件支持网络服务;
2.本发明除了复用服务,网络服务组件相对独立,对原有的中间件服务运行及调用不会产生任何影响,甚至可以在原中间件正常运行时通过配置将组件添加到中间件平台以提供网络服务;
3.本发明中网络服务组件可以供任何使用标准SOAP协议的网络客户对中间件进行访问,丰富了访问方式,给使用带来极大的便利,在移动应用中拥有更广泛的应用前景。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明中中间件网络服务架构的示意图;
图2为本发明中网络服务组件模块划分的示意图;
图3为本发明中网络服务组件启动流程的示意图;
图4为本发明中监听模块流程图;
图5为本发明中业务处理池线程处理网络请求流程图;
图6为本发明中间件接收模块流程图;
图7为本发明业务处理池返回数据处理流程图;
图8为本发明的步骤流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
本发明的主要内容,如图1所示,在本发明提供的基于中间件的网络服务方法中网络服务组件作为扩展组件添加到中间件的运行环境中,通过配置中间件服务的方式实现,由中间件管理程序启动网络服务组件。网络服务组件启动后连接到中间件平台,并且受中间件管理程序控制。
根据应用需要配置对网络公开的服务信息。此处配置的信息是网络服务组件成功运行的核心,需要配置的相关信息有:提供网络调用的网络服务名称;网络服务对应到中间件中服务的名称;网络服务的传入传出参数,网络服务的传入传出参数包括名称、类型、大小、数目;对应的中间件服务的传入传出参数,主要由中间件中支持的参数类型指定。
网络服务组件根据元数据配置生成WSDL文件,可供网络客户使用和进行网络访问,网络客户可以通过访问网络服务组件开放的端口下载此WSDL文件。网络客户将基于SOAP的网络请求发送到网络服务组件,网络服务组件解析此请求,返回WSDL描述文件或根据元数据信息将网络请求数据转换并传递给相应的中间件服务的程序进行处理。网络服务组件接收中间件服务的处理结果,根据元数据信息,将处理成功的数据或者出错信息打包成SOAP消息发回给网络请求客户端。网络服务组件对并发网络请求的处理。网络服务组件将处理网络请求的流程进行划分,以线程池的方式实现业务并发处理。
如图2所示,本发明包括如下模块:
监听模块:监听模块负责监听网络客户的连接请求,将连接请求转给业务处理池中的空闲线程。
业务处理池模块:业务处理池是网络服务组件的核心业务处理模块,业务处理池的大小根据配置在启动时初始化。在接收连接请求时,业务处理线程解析连接请求数据,若为WSDL请求,则读取WSDL文件,并调用网络响应模块接口将WSDL文件发送给请求的网络客户;若为应用服务请求,则根据连接请求的服务名称查找元数据信息,根据元数据信息将连接请求的网络数据解析出来并转换成中间件可处理的数据类型,最后将连接请求及数据转给服务传递模块。在处理中间件服务完成返回消息及数据时,业务处理池线程检查返回消息中服务处理结果是否成功,若失败则取出出错代号作为应答,调用网络响应模块返回给网络客户,若成功则根据元数据信息将取得的数据转换成网络参数,再调用网络响应模块将参数组装成网络数据返回给网络客户。
服务传递模块:网络服务组件连接中间件系统,读取名称服务公告板,由服务传递模块将请求数据传递给相应的中间件服务进行处理。中间件接收网络服务组件传递来的服务请求,处理完毕后将处理结果返回到网络服务组件。
消息响应模块:消息响应模块主要负责接收来自中间件的消息,包括管理控制消息和服务处理应答消息。消息响应模块接收到处理结果,交给业务处理池中空闲线程解析成网络参数,由网络响应模块返回给网络客户。
网络响应模块:网络响应模块提供网络数据包解码及编码、网络应答等接口供业务处理线程使用,以解析网络请求或组装SOAP数据包,返回给相应的网络客户。
如图8所示,本发明的具体步骤如下:
步骤1:网络服务组件启动流程,在中间件管理程序启动时启动网络服务组件。如图3随时,步骤1包括如下步骤:
步骤1.1:网络服务组件读取在中间件系统中作为独立模块运行时需要的配置参数,根据配置参数配置监听地址、端口、业务处理池的大小和SOAP协议相关设定等。这些配置作为中间件系统服务与中间件系统配置在一起。
步骤1.2:网络服务组件读取元数据配置,元数据配置为支撑提供服务的基础。元数据配置提供了网络服务的名称和请求服务中输入输出参数。元数据配置经过网络服务组件提供的元数据编译工具校验与编译处理后被网络服务组件读取。
步骤1.3:网络服务组件将作为中间件系统的子模块连接到中间件系统中,从而使得网络服务组件能被中间件管理控制并且能使用中间件系统中的服务资源。
步骤1.4:网络服务组件根据配置参数对服务传递模块、业务处理池、监听模块进行初始化。
步骤1.5:消息响应模块初始化。消息响应模块用于对管理命令的响应以及对中间件返回数据的响应。由于管理命令来自中间件系统,因此消息响应模块也是中间件接收模块。
当步骤1.1~1.5中任何一个步骤出现异常则启动失败,将错误信息记录到日志备查。
步骤2:监听模块处理流程,监听模块负责侦听来自网络客户的连接请求,如图4所示,步骤2包括如下步骤:
步骤2.1:对新侦听到的连接请求进行合法性验证,包括过滤网络地址和要求用户权限验证。若验证未通过,则连接请求被拒绝,原因被记录到服务日志;若验证通过则转到步骤2.2。
步骤2.2:监听模块组织连接数据且向业务列表中新增待处理业务。
步骤3:处理网络请求流程,业务处理池内空闲的业务处理线程不断检查任务列表,取出待处理任务进行处理。其任务主要包括处理网络请求和处理中间件返回数据,其中处理网络请求,如图5所示,包括如下步骤:
步骤3.1:线程检查任务列表是否有待处理任务,如果有则触发业务处理流程,如果没有则继续空闲等待。
步骤3.2:当业务线程取得待处理任务为网络请求时,解析网络请求的http包,从中取得SOAP协议块等关键信息。
步骤3.3:判断网络请求是否为WSDL文件请求,若为是,则转到步骤3.4。若为否,则为服务请求同时转到步骤3.5。
步骤3.4:当发现网络请求为WSDL文件请求时,线程会读取服务端指定路径下的WSDL文件,并组装成SOAP协议块发送给网络客户。因此运行时需要预先执行网络服务组件的WSDL文件生成指令,生成WSDL文件以备访问。
步骤3.5:当网络请求为服务请求时,解析出要访问的服务名称。
步骤3.6:根据步骤3.5解析出的服务名称,查询元数据信息,检验要请求的相应的服务是否存在。
步骤3.7:当服务存在时,取出相关的元数据信息,并且根据元数据信息从SOAP协议块中取出服务请求的各个详细参数名称及数值;当查询元数据发现服务不存在,或者在解析网络参数时有参数名、类型等不匹配,记录相应错误并返回错误给客户。
步骤3.8:根据元数据信息,将取得的参数名称和数值转换成中间件所支持的中间件数据。
步骤3.9:根据中间件数据,新建请求传递任务,并添加到待传递任务列表,交给服务传递模块将请求传递任务发送给中间件服务队列。
步骤4:服务传递,服务传递模块从服务传递列表取出待传递的请求传递任务,向中间件平台注册客户端编号,后将待传递任务中相应的服务请求数据放入指定的中间件服务队列。
步骤5:接收服务返回数据,中间件应用服务程序处理服务请求数据完成后,将处理结果返回给网络服务组件接收队列,网络服务组件的接收模块负责检查接收队列,接收队列用于接收来自中间件管理程序的管理指令和来自中间件应用服务的服务返回数据。如图6所示,包括如下步骤。
步骤5.1:当接收到中间件的消息,即处理结果为管理指令,则接收模块执行查询或操作指令。
步骤5.2:当接收到中间件的消息,即处理结果为服务返回数据,则接收模块生成新数据接收任务,并将新数据接收任务置入业务处理池的任务列表。
步骤6:返回数据处理流程,当业务处理池中空闲线程从业务处理列表中取出数据接收任务时,执行返回数据处理及应答。如图7所示,步骤6包括如下步骤:
步骤6.1:业务处理线程从任务列表取得数据接收任务,据任务描述,从中间件平台的共享内存中取出与新数据接收任务相对应的应用服务结果,即服务请求数据处理之后的消息内容和返回数据。
步骤6.2:从步骤6.1取得的消息内容中取得作为任务关键字的句柄,以句柄为关键字从任务记录中取得该任务相关的网络连接以及元数据信息。
步骤6.3:从步骤6.1取得的消息内容中取得连接请求在中间件应用服务中处理是否成功。若没有成功,则转到步骤6.4,成功则转到步骤6.5。
步骤6.4:从步骤6.1取得的消息内容中取得异常处理结果的错误代号,将此错误代号作为请求应答,业务处理线程调用网络响应模块,将异常处理结果响应给网络客户。
步骤6.5:若中间件应用服务处理数据成功,则业务处理线程从步骤6.1可取得应用服务处理的返回数据,此返回数据为中间件内部的数据类型,因此需要根据相关的元数据信息将此数据转换成网络类型的参数。
步骤6.6:业务处理线程使用处理后的数据调用网络响应模块,将数据组装成网络数据包并返回给应用客户。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (10)

1.一种基于中间件的网络服务方法,其特征在于,包括如下步骤:
步骤1:启动网络服务组件,初始化服务传递模块、业务处理池、监听模块和消息响应模块;
步骤2:监听模块侦听来自网络客户的连接请求并根据连接请求向业务处理池的业务列表中增加待处理业务;
步骤3:由业务处理池内空闲的业务处理线程不断检查任务列表并处理增加的待处理任务,当待处理任务处理完成后,新建相应的待传递任务请求,并添加到待传递任务列表;
步骤4:由服务传递模块从待传递任务列表取出待传递任务请求并向中间件平台注册客户端编号,后将待传递任务中相应的服务请求数据放入相应的中间件服务队列;
步骤5:由中间件应用服务程序处理服务请求数据完成后,将处理结果返回给网络服务组件接收队列,由网络服务组件的接收模块根据处理结果执行指令或生成新数据接收任务发送到业务处理列表中;
步骤6:由业务处理池中的空闲业务处理线程从业务处理列表中获取新数据接收任务并生成网络数据包返回网络客户。
2.根据权利要求1所述的基于中间件的网络服务方法,其特征在于,所述步骤1包括如下步骤:
步骤1.1:网络服务组件读取在中间件系统中作为独立模块运行时需要的配置参数;
步骤1.2:网络服务组件读取元数据配置,元数据配置提供网络服务的名称和请求服务中输入输出参数;
步骤1.3:网络服务组件将作为中间件系统的子模块连接到中间件系统中;
步骤1.4:网络服务组件根据配置参数对服务传递模块、业务处理池、监听模块进行初始化;
步骤1.5:初始化消息响应模块,消息响应模块用于对来自中间件系统的管理指令的响应以及对服务返回数据的响应。
3.根据权利要求1所述的基于中间件的网络服务方法,其特征在于,所述步骤2包括如下步骤:
步骤2.1:对新侦听到的连接请求进行合法性验证,若验证未通过,则连接请求被拒绝,原因被记录到服务日志;若验证通过则转到步骤2.2;
步骤2.2:监听模块根据合法性验证通过的连接请求向业务处理池的业务列表中增加待处理业务。
4.根据权利要求1所述的基于中间件的网络服务方法,其特征在于,所述步骤3包括如下步骤:
步骤3.1:业务处理线程检查任务列表是否有待处理任务,若有,则转入步骤3.2,若没有,则继续空闲等待;
步骤3.2:当待处理任务为网络请求时,则解析网络请求的http包,从中取得SOAP协议块;
步骤3.3:判断网络请求是否为WSDL文件请求,若为是,则转到步骤3.4。若为否,则为服务请求同时转到步骤3.5;
步骤3.4:业务处理线程读取相应路径下的WSDL文件并组装成SOAP协议块发送给网络客户;
步骤3.5:根据服务请求,解析出相应的服务名称;
步骤3.6:根据服务名称,查询元数据信息;
步骤3.7:判断相应的服务是否存在,当服务存在,则取出服务相对应的元数据信息,并且根据元数据信息从SOAP协议块中取出服务请求的参数名称和数值,若服务名称不存在,则记录相应错误并返回给客户;
步骤3.8:根据元数据信息,将取得的参数名称和数值转换成中间件所支持的中间件数据;
步骤3.9:根据中间件数据,新建传递任务请求,并添加到待传递任务列表。
5.根据权利要求1所述的基于中间件的网络服务方法,其特征在于,所述步骤5包括如下步骤:
步骤5.1:当处理结果为管理指令时,则接收模块执行查询或操作指令;
步骤5.2:当处理结果为服务返回数据时,则接收模块生成新数据接收任务,并将新数据接收任务置入业务处理池的任务列表。
6.根据权利要求1所述的基于中间件的网络服务方法,其特征在于,所述步骤6包括如下步骤:
步骤6.1:业务处理线程从任务列表获取新数据接收任务且从中间件平台的共享内存中获取与新数据接收任务相对应的服务请求数据处理之后的消息内容和返回数据;
步骤6.2:从消息内容中取得作为任务关键字的句柄,以句柄为关键字从任务记录中获取与新数据接收任务相关的网络连接和元数据信息;
步骤6.3:从消息内容中判断连接请求在中间件应用服务中处理是否成功。若没有成功,则转到步骤6.4,若成功,则转到步骤6.5;
步骤6.4:从消息内容中获取异常处理结果的错误代号,将错误代号作为请求应答,由业务处理线程调用网络响应模块,将异常处理结果响应给网络客户;
步骤6.5:业务处理线程获取返回数据并根据元数据信息将返回数据转换成网络参数;
步骤6.6:业务处理线程调用网络响应模块,将网络参数组装成网络数据包并返回网络客户。
7.根据权利要求2所述的基于中间件的网络服务方法,其特征在于,网络服务组件根据所述配置参数配置监听地址、端口、业务处理池的大小和SOAP协议相关设定。
8.根据权利要求2所述的基于中间件的网络服务方法,其特征在于,所述元数据配置经过网络服务组件提供的元数据编译工具校验与编译处理后被网络服务组件读取。
9.根据权利要求2所述的基于中间件的网络服务方法,其特征在于,当步骤1.1~1.5中任何一个步骤出现异常则网络服务组件启动失败,将错误信息记录到日志备查。
10.根据权利要求3所述的基于中间件的网络服务方法,其特征在于,所述合法性验证包括过滤网络地址和要求用户权限验证。
CN201410106334.7A 2014-03-20 2014-03-20 基于中间件的网络服务方法 Active CN104935619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410106334.7A CN104935619B (zh) 2014-03-20 2014-03-20 基于中间件的网络服务方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410106334.7A CN104935619B (zh) 2014-03-20 2014-03-20 基于中间件的网络服务方法

Publications (2)

Publication Number Publication Date
CN104935619A true CN104935619A (zh) 2015-09-23
CN104935619B CN104935619B (zh) 2018-07-03

Family

ID=54122591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410106334.7A Active CN104935619B (zh) 2014-03-20 2014-03-20 基于中间件的网络服务方法

Country Status (1)

Country Link
CN (1) CN104935619B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681547A (zh) * 2015-12-31 2016-06-15 努比亚技术有限公司 中间件实例管理装置和方法
CN105791295A (zh) * 2016-03-04 2016-07-20 宁波工程学院 一种基于Node.js的应用服务器
CN108280091A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 一种任务请求执行方法和装置
CN109510678A (zh) * 2018-09-30 2019-03-22 武汉钢铁工程技术集团通信有限责任公司 一种通过中间件实现ip语音广播控制的方法
CN109508278A (zh) * 2018-11-13 2019-03-22 广东电网有限责任公司 中间件监控系统及方法
CN110019482A (zh) * 2018-01-02 2019-07-16 航天信息股份有限公司 粮情数据采集方法、粮情中间件平台及粮情数据采集系统
CN111131172A (zh) * 2016-10-20 2020-05-08 杭州孚嘉科技有限公司 一种内网主动调用服务的方法
CN111427676A (zh) * 2020-03-20 2020-07-17 达而观信息科技(上海)有限公司 一种机器人流程自动化任务处理方法及装置
CN111611089A (zh) * 2020-02-07 2020-09-01 中国海洋大学 一种基于异步的声明式的微服务调度方法
CN111769909A (zh) * 2020-06-16 2020-10-13 上海英方软件股份有限公司 一种基于行情数据级联重传的装置及方法
CN113242312A (zh) * 2021-05-26 2021-08-10 西安热工研究院有限公司 一种电力实时数据传输中间件及异步数据访问的方法
CN114666576A (zh) * 2022-05-23 2022-06-24 创意信息技术股份有限公司 一种公共安全边缘网关系统
CN114666640A (zh) * 2022-05-23 2022-06-24 创意信息技术股份有限公司 一种边缘网关接入服务器
CN114710522A (zh) * 2022-03-17 2022-07-05 重庆长安汽车股份有限公司 基于Android平台的车载网络架构系统及方法
CN115330533A (zh) * 2022-10-14 2022-11-11 好享家舒适智能家居股份有限公司 一种用于智慧工程的多银行流水获取方法
CN115766865A (zh) * 2023-01-09 2023-03-07 利尔达科技集团股份有限公司 一种面向5g智能终端异构平台应用服务方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661494A (zh) * 2009-09-29 2010-03-03 莱芜钢铁集团有限公司 一种分布式中间件与数据库数据交互方法
CN102694866A (zh) * 2012-06-01 2012-09-26 北京首钢自动化信息技术有限公司 一种分布式网络环境中的服务请求代理系统
WO2013187892A1 (en) * 2012-06-13 2013-12-19 Nokia Corporation Cloud services in mobile heterogeneous networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661494A (zh) * 2009-09-29 2010-03-03 莱芜钢铁集团有限公司 一种分布式中间件与数据库数据交互方法
CN102694866A (zh) * 2012-06-01 2012-09-26 北京首钢自动化信息技术有限公司 一种分布式网络环境中的服务请求代理系统
WO2013187892A1 (en) * 2012-06-13 2013-12-19 Nokia Corporation Cloud services in mobile heterogeneous networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
包江明: "基于XML的网络服务中间件技术的研究与实现", 《中国优秀硕士学位论文全文数据库》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681547B (zh) * 2015-12-31 2019-07-19 努比亚技术有限公司 中间件实例管理装置和方法
CN105681547A (zh) * 2015-12-31 2016-06-15 努比亚技术有限公司 中间件实例管理装置和方法
CN105791295A (zh) * 2016-03-04 2016-07-20 宁波工程学院 一种基于Node.js的应用服务器
CN105791295B (zh) * 2016-03-04 2019-01-11 宁波工程学院 一种基于Node.js的应用服务器
CN111131172A (zh) * 2016-10-20 2020-05-08 杭州孚嘉科技有限公司 一种内网主动调用服务的方法
CN111131172B (zh) * 2016-10-20 2022-08-26 杭州孚嘉科技有限公司 一种内网主动调用服务的方法
CN108280091A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 一种任务请求执行方法和装置
CN110019482A (zh) * 2018-01-02 2019-07-16 航天信息股份有限公司 粮情数据采集方法、粮情中间件平台及粮情数据采集系统
CN109510678A (zh) * 2018-09-30 2019-03-22 武汉钢铁工程技术集团通信有限责任公司 一种通过中间件实现ip语音广播控制的方法
CN109508278A (zh) * 2018-11-13 2019-03-22 广东电网有限责任公司 中间件监控系统及方法
CN111611089A (zh) * 2020-02-07 2020-09-01 中国海洋大学 一种基于异步的声明式的微服务调度方法
CN111611089B (zh) * 2020-02-07 2023-06-27 中国海洋大学 一种基于异步的声明式的微服务调度方法
CN111427676A (zh) * 2020-03-20 2020-07-17 达而观信息科技(上海)有限公司 一种机器人流程自动化任务处理方法及装置
CN111427676B (zh) * 2020-03-20 2024-03-29 达观数据有限公司 一种机器人流程自动化任务处理方法及装置
CN111769909A (zh) * 2020-06-16 2020-10-13 上海英方软件股份有限公司 一种基于行情数据级联重传的装置及方法
CN113242312A (zh) * 2021-05-26 2021-08-10 西安热工研究院有限公司 一种电力实时数据传输中间件及异步数据访问的方法
CN113242312B (zh) * 2021-05-26 2022-10-25 西安热工研究院有限公司 一种电力实时数据传输中间件及异步数据访问的方法
CN114710522A (zh) * 2022-03-17 2022-07-05 重庆长安汽车股份有限公司 基于Android平台的车载网络架构系统及方法
CN114710522B (zh) * 2022-03-17 2023-05-26 重庆长安汽车股份有限公司 基于Android平台的车载网络架构系统及方法
CN114666640B (zh) * 2022-05-23 2023-03-07 创意信息技术股份有限公司 一种边缘网关接入服务器
CN114666576B (zh) * 2022-05-23 2023-03-07 创意信息技术股份有限公司 一种公共安全边缘网关系统
CN114666640A (zh) * 2022-05-23 2022-06-24 创意信息技术股份有限公司 一种边缘网关接入服务器
CN114666576A (zh) * 2022-05-23 2022-06-24 创意信息技术股份有限公司 一种公共安全边缘网关系统
CN115330533A (zh) * 2022-10-14 2022-11-11 好享家舒适智能家居股份有限公司 一种用于智慧工程的多银行流水获取方法
CN115766865A (zh) * 2023-01-09 2023-03-07 利尔达科技集团股份有限公司 一种面向5g智能终端异构平台应用服务方法及系统

Also Published As

Publication number Publication date
CN104935619B (zh) 2018-07-03

Similar Documents

Publication Publication Date Title
CN104935619A (zh) 基于中间件的网络服务方法
EP2561656B1 (en) Servlet api and method for xmpp protocol
CN106130759B (zh) 面向服务的模块化系统体系架构
US7593980B2 (en) Application server system and method
EP2561439B1 (en) Unified framework and method for call control and media control
US10574724B2 (en) Automatic discovery of management nodes and generation of CLI using HA module
US8285787B2 (en) Systems and methods for managing a collaboration space having application hosting capabilities
CN104536890A (zh) 测试系统、方法和装置
CN101808051B (zh) 应用整合网关及其控制方法
JP2011086291A (ja) システムランドスケープ対応アプリケーション間通信インフラストラクチャ
US20120226784A1 (en) Automated server controlled client-side logging
CN102833080A (zh) 一种应用软件的进程间通信方法和系统
Hofmann et al. Microservices Best Practices for Java
CN105446819A (zh) 一种服务连接系统及其设计方法
CN103561113B (zh) Web Service接口的生成方法及装置
CN110647319B (zh) 功能模块解耦方法及系统
CN112527376A (zh) 基于反向代理服务实现DevOps自动化的方法
CN104753860B (zh) 基于中间件的网络服务系统
CN113535419A (zh) 一种服务编排方法和装置
JP5081888B2 (ja) ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法
CN114816357A (zh) 一种服务于流程银行的服务编排系统
CN113162807B (zh) 云管理服务器与sdn的联动实现方法及装置
Zhang et al. Lightweight SOA-based twin-engine architecture for enterprise systems in fixed and mobile environments
CN112711428B (zh) 一种基于ansible的动态部署方法及系统
Oussalah et al. An algorithm for web services composition and adaptation based on interface description

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant