CN104753860B - 基于中间件的网络服务系统 - Google Patents
基于中间件的网络服务系统 Download PDFInfo
- Publication number
- CN104753860B CN104753860B CN201310738161.6A CN201310738161A CN104753860B CN 104753860 B CN104753860 B CN 104753860B CN 201310738161 A CN201310738161 A CN 201310738161A CN 104753860 B CN104753860 B CN 104753860B
- Authority
- CN
- China
- Prior art keywords
- network
- service
- middleware
- module
- request
- 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
Classifications
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于中间件的网络服务系统,网络服务组件作为扩展组件添加到中间件的运行环境中,通过配置中间件系统服务的方式实现,由中间件管理程序启动组件,网络服务组件启动后连接到中间件平台,并且受中间件管理程序控制。本发明的基于中间件的网络服务系统,在中间件基础上通过配置组件,通过网络服务组件,复用中间件平台现有的应用服务,将应用服务请求转到对应的应用服务中进行处理,通过请求数据的转换,使中间件不必进行额外的开发就能同时处理来自中间件客户端和网络请求客户的访问请求。
Description
技术领域
本发明及计算机网络技术,特别涉及一种基于中间件的网络服务系统。
背景技术
随着计算机技术的不断发展,企业的信息系统不断进步,简单的客户机/服务器系统与单机结构已经不能满足企业应用的需求,企业应用向着三层及多层体系结构的分布式环境发展。分布式系统中不难出现不同的软硬件平台,要在这些异构平台上开发和运行应用软件,就需要一种基于标准的、独立于计算机系统及硬件的开发和运行环境。中间件技术正是提供这样环境的技术。
中间件处于三层架构的中间一层,为上层应用软件提供下层硬件和操作系统支撑,并且屏蔽底层硬件和系统差异,使得上层应用可以基于中间件在不同的硬件系统平台无差异地开发及运行。
客户机/服务器的访问方式仍然是中间件系统基本的访问方式,虽然随着计算机技术的发展,也出现了很多网络中间件如Sun J2EE、WebLogic、Microsoft.Net等,但这些网络中间件都是重新建立一套网络架构,其应用程序也是基于网络架构而编写,而事实上客户机/服务器模式的中间件已经得到了很好的应用,要在这些已有的场景中添加网络服务支持,就要重新架构和编写应用程序,必然大大增加了工程负担,甚至于重复工作。因此,一种不影响原有中间件环境,不需要额外的开发工作,复用原有的中间件应用程序,使中间件按需要提供网络服务的设计方案就有了诞生的必要。
发明内容
本发明要解决的技术问题是提供一种基于中间件的网络服务系统,中间件不必进行额外的开发就能同时处理来自中间件客户端和网络请求客户的访问请求。
为解决上述技术问题,本发明提供的基于中间件的网络服务系统,其包括网络服务组件、中间件平台;
所述网络服务组件,同网络请求客户端基于SOAP通信;网络服务组件同中间件平台通信;
所述中间件平台,设置有中间件管理程序、应用服务;
所述中间件管理程序,用于启动并控制所述网络服务组件;
所述中间件平台,当接收到网络服务组件传来的应用服务请求,由相应应用服务进行处理,并将服务处理应答消息发送到网络服务组件;
所述网络服务组件,根据元数据配置生成有WSDL文件;
所述网络服务组件,当接收到基于SOAP的网络请求,解析此网络请求;如果网络请求是WSDL请求,则返回WSDL文件给网络请求客户;如果网络请求是应用服务请求,则根据元数据信息将网络请求数据转换并传递给所述中间件平台的相应应用服务进行处理;
所述网络服务组件,当接收到所述中间件平台的应用服务的服务处理应答消息,则根据元数据信息,将服务返回数据或者出错信息打包成SOAP消息发回给网络请求客户。
较佳的,WSDL文件配置的信息包括:提供网络调用的网络服务名称;网络服务对应到中间件平台的应用服务名称;网络服务的传入传出参数;网络服务对应的中间件平台的应用服务的传入传出参数。
较佳的,所述网络服务组件,包括监听模块、业务处理池模块、服务传递模块、消息响应模块、网络响应模块;
所述监听模块,用于监听网络请求客户的网络请求,将网络请求转给业务处理池模块中的空闲业务处理线程;
所述业务处理池模块,在接收网络请求后,业务处理线程解析网络请求数据;若网络请求为WSDL请求,则读取WSDL文件,并调用网络响应模块接口将WSDL文件发送给网络请求客户;若网络请求为应用服务请求,则根据应用服务请求的网络服务名称查找元数据信息,根据元数据信息将应用服务请求数据解析出来并转换成中间件平台设置的相应应用服务可处理的数据类型,最后将应用服务请求数据转给服务传递模块;
所述业务处理池模块,在接收到消息响应模块交来的服务处理应答消息时,业务处理线程检查服务处理应答消息中应用服务处理结果是否成功;若失败则取出出错代号作为应答,调用网络响应模块返回给网络请求客户;若成功则根据元数据信息将取得的服务返回数据转换成网络类型参数,再调用网络响应模块将转换成网络类型参数的服务返回数据组装成网络数据包返回给网络请求客户;
所述服务传递模块,用于将所述业务处理池模块转来的应用服务请求数据传递给中间件平台设置的相应应用服务进行处理;
所述消息响应模块,用于接收来自中间件平台的消息,包括中间件管理程序发出的管理控制指令和服务处理应答消息,消息响应模块并将接收的服务处理应答消息,交给所述业务处理池模块中的空闲业务处理线程;
所述网络响应模块,用于提供网络数据包解码及编码、网络应答接口,供业务处理池模块的业务处理线程调用,将WSDL文件、出错代号或服务返回数据打包成SOAP消息发回给网络请求客户。
较佳的,中间件管理程序启动时控制启动所述网络服务组件,网络服务组件的启动过程包括以下步骤:
步骤101、网络服务组件从中间件平台读取在中间件平台中作为独立模块运行时需要的配置参数,包括监听地址、端口、业务处理池的大小、SOAP协议设定;
步骤102、网络服务组件读取元数据配置;
步骤103、网络服务组件作为中间件平台的子模块连接到中间件平台中,从而使得网络服务组件能被中间件平台管理控制并且能使用中间件平台中的服务资源;
步骤104、网络服务组件根据配置参数对监听模块、业务处理池模块、服务传递模块进行初始化;
步骤105、网络服务组件对消息响应模块进行初始化。
较佳的,步骤101到步骤105,其中任何一个步骤出现异常则网络服务组件启动失败,将启动失败记录到服务日志。
较佳的,所述监听模块的工作过程包括以下步骤:
步骤201、对新监听到的网络请求进行合法性验证,如果验证未通过,则拒绝该网络请求,并记录拒绝原因到服务日志;如验证通过,则转到步骤202;
步骤202、向业务处理池模块的待处理任务列表中新增网络请求待处理任务,将网络请求转给业务处理池模块中的空闲业务处理线程。
较佳的,所述业务处理池模块处理网络请求的工作过程包括以下步骤:
步骤301、业务处理池模块的空闲业务处理线程不断检查待处理任务列表:
步骤302、如果有网络请求待处理任务,则转到步骤303,否则转到步骤301;
步骤303、解析网络请求的http包,从中取得SOAP协议块关键信息;
步骤304、根据SOAP协议块关键信息判断网络请求是WSDL请求还是应用服务请求,如果是WSDL请求则转到步骤305,如果是应用服务请求则转到步骤306;
步骤305、业务处理线程读取指定路径下的WSDL文件,并组装成SOAP协议块发送给网络请求客户;
步骤306、解析出要访问的应用服务名称;
步骤307、根据步骤306解析出的应用服务名称,查询元数据信息,检验要请求的应用服务是否存在;
步骤308、如果应用服务存在,则取出相关的元数据信息,并且根据元数据信息从SOAP协议块中取出应用服务请求数据,转到步骤309,如果应用服务请求数据提取失败或者应用服务不存在,转到步骤311;
步骤309、根据元数据信息,将取得的应用服务请求数据转换成中间件平台的相应应用服务可处理的数据类型;
步骤310、新建应用服务请求传递任务,并添加到服务传递模块的服务传递列表,交给服务传递模块将应用服务请求数据传递给中间件平台的相应应用服务,结束;
步骤311、记录相应错误并返回错误给网络请求客户,结束。
较佳的,所述消息响应模块的工作过程包括以下步骤:
步骤401、消息响应模块接收来自中间件平台的消息,包括中间件管理程序发出的管理控制指令和应用服务的服务处理应答消息,
步骤402:如果接收到的中间件平台的消息为管理控制指令,则消息响应模块执行管理控制指令;如果接收到的中间件平台的消息为应用服务的服务处理应答消息,则消息响应模块向业务处理池模块的待处理任务列表中新增数据接收任务。
较佳的,所述业务处理池模块处理服务处理应答消息的工作过程包括以下步骤:
步骤501、业务处理线程从待处理任务列表中取得数据接收任务,从中间件平台共享内存取出应用服务处理之后的消息内容及服务返回数据;
步骤502、从应用服务处理之后的消息内容中,取得该数据接收任务的句柄,以句柄为关键字取得该数据接收任务相关的网络连接以及元数据信息;
步骤503、从应用服务处理之后的消息内容中,取得应用服务请求在中间件平台应用服务中处理是否成功,如果处理出错,则转到步骤504,如果处理成功则转到步骤505;
步骤504、从应用服务处理之后的消息内容中取得出错代号,将该出错代号作为应用服务请求应答,业务处理线程调用网络响应模块,将出错代号发送给网络请求客户,结束;
步骤505、根据该数据接收任务相关的网络连接以及元数据信息,将服务返回数据转换成网络类型参数;
步骤506、业务处理线程调用网络响应模块,将使用转换成网络类型参数的服务返回数据组装成网络数据包并返回给网络请求客户,结束。
本发明的基于中间件的网络服务系统,网络服务组件作为扩展组件添加到中间件的运行环境中,通过配置中间件系统服务的方式实现,由中间件管理程序启动组件,网络服务组件启动后连接到中间件平台,并且受中间件管理程序控制。基于中间件的网络服务系统,通过关键信息的配置而无需多余的编码开发,使中间件平台可提供网络服务,网络服务复用中间件平台已实现的应用服务,又不会对原中间件平台产生干扰;网络服务可供基于SOAP协议的任意标准网络请求客户进行访问,客户只需知道网络服务组件开放的监听地址及端口,即可通过网络服务组件获取WSDL文件,再根据此WSDL文件了解网络服务组件发布的网络服务及其参数,根据需要对相关的网络服务进行访问,极大的丰富了访问方式,给使用带来极大的便利,在移动应用中拥有更广泛的应用前景。基于中间件的网络服务系统,在中间件基础上通过配置组件,通过网络服务组件,复用中间件平台现有的应用服务,将应用服务请求转到对应的应用服务中进行处理,通过请求数据的转换,使中间件不必进行额外的开发就能同时处理来自中间件客户端和网络请求客户的访问请求。网络服务组件除了复用服务相对独立,对原有的中间件平台的运行及调用不会产生任何影响,甚至可以在原中间件平台正常运行时通过配置将组件添加到中间件平台以提供网络服务。
附图说明
为了更清楚地说明本发明的技术方案,下面对本发明所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的基于中间件的网络服务系统的架构示意图;
图2是本发明的基于中间件的网络服务系统一实施例的网络服务组件示意图;
图3是本发明的基于中间件的网络服务系统一实施例的网络服务组件的启动过程示意图;
图4是本发明的基于中间件的网络服务系统一实施例的监听模块的工作过程示意图;
图5是本发明的基于中间件的网络服务系统一实施例的业务处理池模块处理网络请求的工作过程示意图;
图6是本发明的基于中间件的网络服务系统一实施例的消息响应模块的工作过程示意图;
图7是本发明的基于中间件的网络服务系统一实施例的业务处理池模块处理服务处理应答消息的工作过程示意图。
具体实施方式
下面将结合附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
基于中间件的网络服务系统,如图1所示,包括网络服务组件、中间件平台;
所述网络服务组件,同网络请求客户端基于SOAP(Simple Object AccessProtocal,简单对象访问协议)通信;网络服务组件同中间件平台通信;
所述中间件平台,设置有中间件管理程序、应用服务;
所述中间件管理程序,用于启动并控制所述网络服务组件;
所述中间件平台,当接收到网络服务组件传来的应用服务请求,由相应应用服务进行处理,并将服务处理应答消息发送到网络服务组件;
所述网络服务组件,根据元数据配置生成有WSDL(Web Services DescriptionLanguage,Web服务描述语言)文件;WSDL文件可供网络请求客户使用之对所述中间件平台的应用服务进行网络访问,网络请求客户可以通过访问所述网络服务组件开放的监听地址及端口下载此WSDL文件;
所述网络服务组件,当接收到基于SOAP的网络请求,解析此网络请求;如果网络请求是WSDL请求,则返回WSDL文件给网络请求客户;如果网络请求是应用服务请求,则根据元数据信息将网络请求数据转换并传递给所述中间件平台的相应应用服务进行处理;
所述网络服务组件,当接收到所述中间件平台的应用服务的服务处理应答消息,则根据元数据信息,将服务返回数据或者出错信息打包成SOAP消息发回给网络请求客户。
较佳的,WSDL文件配置的信息包括:(1)提供网络调用的网络服务名称;(2)网络服务对应到中间件平台的应用服务名称;(3)网络服务的传入传出参数,包括名称、类型、大小、数目;(4)网络服务对应的中间件平台的应用服务的传入传出参数,主要是应用服务中支持的参数类型指定。
实施例一的基于中间件的网络服务系统,网络服务组件作为扩展组件添加到中间件的运行环境中,通过配置中间件系统服务的方式实现,由中间件管理程序启动组件,网络服务组件启动后连接到中间件平台,并且受中间件管理程序控制。基于中间件的网络服务系统,通过关键信息的配置而无需多余的编码开发,使中间件平台可提供网络服务,网络服务复用中间件平台已实现的应用服务,又不会对原中间件平台产生干扰;网络服务可供基于SOAP协议的任意标准网络请求客户进行访问,客户只需知道网络服务组件开放的监听地址及端口,即可通过网络服务组件获取WSDL文件,再根据此WSDL文件了解网络服务组件发布的网络服务及其参数,根据需要对相关的网络服务进行访问,极大的丰富了访问方式,给使用带来极大的便利,在移动应用中拥有更广泛的应用前景。基于中间件的网络服务系统,在中间件基础上通过配置组件,通过网络服务组件,复用中间件平台现有的应用服务,将应用服务请求转到对应的应用服务中进行处理,通过请求数据的转换,使中间件不必进行额外的开发就能同时处理来自中间件客户端和网络请求客户的访问请求。网络服务组件除了复用服务相对独立,对原有的中间件平台的运行及调用不会产生任何影响,甚至可以在原中间件平台正常运行时通过配置将组件添加到中间件平台以提供网络服务。
实施例二
根据实施例一的基于中间件的网络服务系统,所述网络服务组件,如图2所示,包括监听模块、业务处理池模块、服务传递模块、消息响应模块、网络响应模块;
所述监听模块,用于监听网络请求客户的网络请求,将网络请求转给业务处理池模块中的空闲业务处理线程;
所述业务处理池模块,在接收网络请求后,业务处理线程解析网络请求数据;若网络请求为WSDL请求,则读取WSDL文件,并调用网络响应模块接口将WSDL文件发送给网络请求客户;若网络请求为应用服务请求,则根据应用服务请求的网络服务名称查找元数据信息,根据元数据信息将应用服务请求数据解析出来并转换成中间件平台设置的相应应用服务可处理的数据类型,最后将应用服务请求数据转给服务传递模块;
所述业务处理池模块,在接收到消息响应模块交来的服务处理应答消息时,业务处理线程检查服务处理应答消息中应用服务处理结果是否成功;若失败则取出出错代号作为应答,调用网络响应模块返回给网络请求客户;若成功则根据元数据信息将取得的服务返回数据转换成网络类型参数,再调用网络响应模块将转换成网络类型参数的服务返回数据组装成网络数据包返回给网络请求客户;
业务处理池模块,是网路服务组件的核心业务处理模块,池的大小根据配置在启动时初始化;
所述服务传递模块,用于将所述业务处理池模块转来的应用服务请求数据传递给中间件平台设置的相应应用服务进行处理;中间件平台的相应应用服务处理完毕后将服务处理应答消息发送到所述消息响应模块;
所述消息响应模块,用于接收来自中间件平台的消息,包括中间件管理程序发出的管理控制指令和服务处理应答消息,消息响应模块并将接收的服务处理应答消息,交给所述业务处理池模块中的空闲业务处理线程;
所述网络响应模块,用于提供网络数据包解码及编码、网络应答等接口,供业务处理池模块的业务处理线程调用,将WSDL文件、出错代号或服务返回数据打包成SOAP消息发回给网络请求客户。
实施例二的基于中间件的网络服务系统,网络服务组件将处理网络请求的流程进行划分,以线程池的方式实现业务并发处理。
实施例三
根据实施例二的基于中间件的网络服务系统,中间件管理程序启动时控制启动所述网络服务组件,如图3所示,网络服务组件的启动过程包括以下步骤:
步骤101、网络服务组件从中间件平台读取在中间件平台中作为独立模块运行时需要的配置参数,包括监听地址、端口、业务处理池的大小、SOAP协议相关设定等,这些配置参数作为中间件平台服务与中间件平台配置在一起;
步骤102、网络服务组件读取元数据配置;元数据配置支撑提供网络服务的基础,元数据配置提供了将发布什么名称的网络服务,以及请求网络服务需要怎样的传入传出参数;元数据配置是经过元数据编译工具校验与编译处理后被网络服务组件读取的;
步骤103、网络服务组件作为中间件平台的子模块连接到中间件平台中,从而使得网络服务组件能被中间件平台管理控制并且能使用中间件平台中的服务资源;
步骤104、网络服务组件根据配置参数对监听模块、业务处理池模块、服务传递模块进行初始化;
步骤105、网络服务组件对消息响应模块进行初始化。
较佳的,步骤101到步骤105,其中任何一个步骤出现异常则网络服务组件启动失败,将启动失败记录到服务日志。
实施例四
根据实施例二的基于中间件的网络服务系统,如图4所示,所述监听模块的工作过程包括以下步骤:
步骤201、对新监听到的网络请求进行合法性验证,如果验证未通过,则拒绝该网络请求,并记录拒绝原因到服务日志;如验证通过,则转到步骤202;合法性验证,是对网络请求的一层过滤,可以过滤网络地址,如有必要还可以要求用户权限验证;
步骤202、向业务处理池模块的待处理任务列表中新增网络请求待处理任务,将网络请求转给业务处理池模块中的空闲业务处理线程。
实施例五
根据实施例二的基于中间件的网络服务系统,如图5所示,所述业务处理池模块处理网络请求的工作过程包括以下步骤:
步骤301、业务处理池模块的空闲业务处理线程不断检查待处理任务列表:
步骤302、如果有网络请求待处理任务,则转到步骤303,否则转到步骤301;
步骤303、解析网络请求的http包,从中取得SOAP协议块关键信息;
步骤304、根据SOAP协议块关键信息判断网络请求是WSDL请求还是应用服务请求,如果是WSDL请求则转到步骤305,如果是应用服务请求则转到步骤306;
步骤305、业务处理线程读取指定路径下的WSDL文件,并组装成SOAP协议块发送给网络请求客户;
步骤306、解析出要访问的应用服务名称;
步骤307、根据步骤306解析出的应用服务名称,查询元数据信息,检验要请求的应用服务是否存在;
步骤308、如果应用服务存在,则取出相关的元数据信息,并且根据元数据信息从SOAP协议块中取出应用服务请求数据(包括参数名称及数值),转到步骤309,如果应用服务请求数据提取失败或者应用服务不存在,转到步骤311;
步骤309、根据元数据信息,将取得的应用服务请求数据转换成中间件平台的相应应用服务可处理的数据类型;
步骤310、新建应用服务请求传递任务,并添加到服务传递模块的服务传递列表,交给服务传递模块将应用服务请求数据传递给中间件平台的相应应用服务;服务传递模块从服务传递列表取出待传递的应用服务请求,向中间件平台注册客户端编号,将应用服务请求数据放入指定的中间件服务队列,结束;
步骤311、记录相应错误并返回错误给网络请求客户,结束。
实施例六
根据实施例二的基于中间件的网络服务系统,如图6所示,所述消息响应模块的工作过程包括以下步骤:
步骤401、消息响应模块接收来自中间件平台的消息,包括中间件管理程序发出的管理控制指令和应用服务的服务处理应答消息,
步骤402:如果接收到的中间件平台的消息为管理控制指令,则消息响应模块执行管理控制指令;如果接收到的中间件平台的消息为应用服务的服务处理应答消息,则消息响应模块向业务处理池模块的待处理任务列表中新增数据接收待处理任务。
实施例七
根据实施例二的基于中间件的网络服务系统,如图7所示,所述业务处理池模块处理服务处理应答消息的工作过程包括以下步骤:
步骤501、业务处理线程从待处理任务列表中取得数据接收任务,从中间件平台共享内存取出应用服务处理之后的消息内容及服务返回数据;
步骤502、从应用服务处理之后的消息内容中,取得该数据接收任务的句柄,以句柄为关键字取得该数据接收任务相关的网络连接以及元数据信息;
步骤503、从应用服务处理之后的消息内容中,取得应用服务请求在中间件平台应用服务中处理是否成功,如果处理出错,则转到步骤504,如果处理成功则转到步骤505;
步骤504、从应用服务处理之后的消息内容中取得出错代号,将该出错代号作为应用服务请求应答,业务处理线程调用网络响应模块,将出错代号发送给网络请求客户,结束;
步骤505、根据该数据接收任务相关的网络连接以及元数据信息,将服务返回数据转换成网络类型参数;
步骤506、业务处理线程调用网络响应模块,将使用转换成网络类型参数的服务返回数据组装成网络数据包并返回给网络请求客户,结束。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种基于中间件的网络服务系统,其特征在于,包括网络服务组件、中间件平台;
所述网络服务组件,同网络请求客户端基于SOAP通信;网络服务组件同中间件平台通信;
所述中间件平台,设置有中间件管理程序、应用服务;
所述中间件管理程序,用于启动并控制所述网络服务组件;
所述中间件平台,当接收到网络服务组件传来的应用服务请求,由相应应用服务进行处理,并将服务处理应答消息发送到网络服务组件;
所述网络服务组件,根据元数据配置生成有WSDL文件;
所述网络服务组件,当接收到基于SOAP的网络请求,解析此网络请求;如果网络请求是WSDL请求,则返回WSDL文件给网络请求客户;如果网络请求是应用服务请求,则根据元数据信息将网络请求数据转换并传递给所述中间件平台的相应应用服务进行处理;
所述网络服务组件,当接收到所述中间件平台的应用服务的服务处理应答消息,则根据元数据信息,将服务返回数据或者出错信息打包成SOAP消息发回给网络请求客户;
所述网络服务组件,包括监听模块、业务处理池模块、服务传递模块、消息响应模块、网络响应模块;
所述监听模块,用于监听网络请求客户的网络请求,将网络请求转给业务处理池模块中的空闲业务处理线程;
所述业务处理池模块,在接收网络请求后,业务处理线程解析网络请求数据;若网络请求为WSDL请求,则读取WSDL文件,并调用网络响应模块接口将WSDL文件发送给网络请求客户;若网络请求为应用服务请求,则根据应用服务请求的网络服务名称查找元数据信息,根据元数据信息将应用服务请求数据解析出来并转换成中间件平台设置的相应应用服务可处理的数据类型,最后将应用服务请求数据转给服务传递模块;
所述业务处理池模块,在接收到消息响应模块交来的服务处理应答消息时,业务处理线程检查服务处理应答消息中应用服务处理结果是否成功;若失败则取出出错代号作为应答,调用网络响应模块返回给网络请求客户;若成功则根据元数据信息将取得的服务返回数据转换成网络类型参数,再调用网络响应模块将转换成网络类型参数的服务返回数据组装成网络数据包返回给网络请求客户;
所述服务传递模块,用于将所述业务处理池模块转来的应用服务请求数据传递给中间件平台设置的相应应用服务进行处理;
所述消息响应模块,用于接收来自中间件平台的消息,包括中间件管理程序发出的管理控制指令和服务处理应答消息,消息响应模块并将接收的服务处理应答消息,交给所述业务处理池模块中的空闲业务处理线程;
所述网络响应模块,用于提供网络数据包解码及编码、网络应答接口,供业务处理池模块的业务处理线程调用,将WSDL文件、出错代号或服务返回数据打包成SOAP消息发回给网络请求客户。
2.根据权利要求1所述的基于中间件的网络服务系统,其特征在于,
WSDL文件配置的信息包括:提供网络调用的网络服务名称;网络服务对应到中间件平台的应用服务名称;网络服务的传入传出参数;网络服务对应的中间件平台的应用服务的传入传出参数。
3.根据权利要求1所述的基于中间件的网络服务系统,其特征在于,
中间件管理程序启动时控制启动所述网络服务组件,网络服务组件的启动过程包括以下步骤:
步骤101、网络服务组件从中间件平台读取在中间件平台中作为独立模块运行时需要的配置参数,包括监听地址、端口、业务处理池的大小、SOAP协议设定;
步骤102、网络服务组件读取元数据配置;
步骤103、网络服务组件作为中间件平台的子模块连接到中间件平台中,从而使得网络服务组件能被中间件平台管理控制并且能使用中间件平台中的服务资源;
步骤104、网络服务组件根据配置参数对监听模块、业务处理池模块、服务传递模块进行初始化;
步骤105、网络服务组件对消息响应模块进行初始化。
4.根据权利要求3所述的基于中间件的网络服务系统,其特征在于,
步骤101到步骤105,其中任何一个步骤出现异常则网络服务组件启动失败,将启动失败记录到服务日志。
5.根据权利要求1所述的基于中间件的网络服务系统,其特征在于,
所述监听模块的工作过程包括以下步骤:
步骤201、对新监听到的网络请求进行合法性验证,如果验证未通过,则拒绝该网络请求,并记录拒绝原因到服务日志;如验证通过,则转到步骤202;
步骤202、向业务处理池模块的待处理任务列表中新增网络请求待处理任务,将网络请求转给业务处理池模块中的空闲业务处理线程。
6.根据权利要求1所述的基于中间件的网络服务系统,其特征在于,
所述业务处理池模块处理网络请求的工作过程包括以下步骤:
步骤301、业务处理池模块的空闲业务处理线程不断检查待处理任务列表:
步骤302、如果有网络请求待处理任务,则转到步骤303,否则转到步骤301;
步骤303、解析网络请求的http包,从中取得SOAP协议块关键信息;
步骤304、根据SOAP协议块关键信息判断网络请求是WSDL请求还是应用服务请求,如果是WSDL请求则转到步骤305,如果是应用服务请求则转到步骤306;
步骤305、业务处理线程读取指定路径下的WSDL文件,并组装成SOAP协议块发送给网络请求客户;
步骤306、解析出要访问的应用服务名称;
步骤307、根据步骤306解析出的应用服务名称,查询元数据信息,检验要请求的应用服务是否存在;
步骤308、如果应用服务存在,则取出相关的元数据信息,并且根据元数据信息从SOAP协议块中取出应用服务请求数据,转到步骤309,如果应用服务请求数据提取失败或者应用服务不存在,转到步骤311;
步骤309、根据元数据信息,将取得的应用服务请求数据转换成中间件平台的相应应用服务可处理的数据类型;
步骤310、新建应用服务请求传递任务,并添加到服务传递模块的服务传递列表,交给服务传递模块将应用服务请求数据传递给中间件平台的相应应用服务,结束;
步骤311、记录相应错误并返回错误给网络请求客户,结束。
7.根据权利要求1所述的基于中间件的网络服务系统,其特征在于,
所述消息响应模块的工作过程包括以下步骤:
步骤401、消息响应模块接收来自中间件平台的消息,包括中间件管理程序发出的管理控制指令和应用服务的服务处理应答消息,
步骤402:如果接收到的中间件平台的消息为管理控制指令,则消息响应模块执行管理控制指令;如果接收到的中间件平台的消息为应用服务的服务处理应答消息,则消息响应模块向业务处理池模块的待处理任务列表中新增数据接收任务。
8.根据权利要求1所述的基于中间件的网络服务系统,其特征在于,
所述业务处理池模块处理服务处理应答消息的工作过程包括以下步骤:
步骤501、业务处理线程从待处理任务列表中取得数据接收任务,从中间件平台共享内存取出应用服务处理之后的消息内容及服务返回数据;
步骤502、从应用服务处理之后的消息内容中,取得该数据接收任务的句柄,以句柄为关键字取得该数据接收任务相关的网络连接以及元数据信息;
步骤503、从应用服务处理之后的消息内容中,取得应用服务请求在中间件平台应用服务中处理是否成功,如果处理出错,则转到步骤504,如果处理成功则转到步骤505;
步骤504、从应用服务处理之后的消息内容中取得出错代号,将该出错代号作为应用服务请求应答,业务处理线程调用网络响应模块,将出错代号发送给网络请求客户,结束;
步骤505、根据该数据接收任务相关的网络连接以及元数据信息,将服务返回数据转换成网络类型参数;
步骤506、业务处理线程调用网络响应模块,将使用转换成网络类型参数的服务返回数据组装成网络数据包并返回给网络请求客户,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310738161.6A CN104753860B (zh) | 2013-12-27 | 2013-12-27 | 基于中间件的网络服务系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310738161.6A CN104753860B (zh) | 2013-12-27 | 2013-12-27 | 基于中间件的网络服务系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104753860A CN104753860A (zh) | 2015-07-01 |
CN104753860B true CN104753860B (zh) | 2019-06-28 |
Family
ID=53592980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310738161.6A Active CN104753860B (zh) | 2013-12-27 | 2013-12-27 | 基于中间件的网络服务系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104753860B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446819B (zh) * | 2015-11-06 | 2019-01-01 | 中国南方电网有限责任公司 | 一种服务连接系统及其设计方法 |
CN107885539A (zh) * | 2016-09-28 | 2018-04-06 | 平安科技(深圳)有限公司 | 一种中间件管理方法及服务器 |
CN111722945B (zh) * | 2020-06-22 | 2024-05-28 | 重庆忽米网络科技有限公司 | 一种基于中间件实现的工业互联网应用系统及实现方法 |
CN115766865B (zh) * | 2023-01-09 | 2023-05-05 | 利尔达科技集团股份有限公司 | 一种面向5g智能终端异构平台应用服务方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767530A (zh) * | 2004-10-29 | 2006-05-03 | 北京航空航天大学 | 适配器 |
CN101388887A (zh) * | 2008-10-15 | 2009-03-18 | 中兴通讯股份有限公司 | 一种网络服务的处理方法和系统 |
CN101661494A (zh) * | 2009-09-29 | 2010-03-03 | 莱芜钢铁集团有限公司 | 一种分布式中间件与数据库数据交互方法 |
CN102694866A (zh) * | 2012-06-01 | 2012-09-26 | 北京首钢自动化信息技术有限公司 | 一种分布式网络环境中的服务请求代理系统 |
CN103067235A (zh) * | 2012-12-14 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种企业服务总线 |
WO2013187892A1 (en) * | 2012-06-13 | 2013-12-19 | Nokia Corporation | Cloud services in mobile heterogeneous networks |
-
2013
- 2013-12-27 CN CN201310738161.6A patent/CN104753860B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1767530A (zh) * | 2004-10-29 | 2006-05-03 | 北京航空航天大学 | 适配器 |
CN101388887A (zh) * | 2008-10-15 | 2009-03-18 | 中兴通讯股份有限公司 | 一种网络服务的处理方法和系统 |
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 |
CN103067235A (zh) * | 2012-12-14 | 2013-04-24 | 北京思特奇信息技术股份有限公司 | 一种企业服务总线 |
Also Published As
Publication number | Publication date |
---|---|
CN104753860A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104935619B (zh) | 基于中间件的网络服务方法 | |
EP2561656B1 (en) | Servlet api and method for xmpp protocol | |
CN101969391B (zh) | 一种支持融合网络业务的云平台及其工作方法 | |
US7761640B2 (en) | Slot interface access device, slot interface access method, and program therefor | |
CN111309374A (zh) | 一种微服务系统和微服务系统中的服务调用方法 | |
CN101365119B (zh) | 用于网络视频监控系统所使用的录像负载均衡方法 | |
US20090098861A1 (en) | Centralised Management for a Set of Network Nodes | |
CN104753860B (zh) | 基于中间件的网络服务系统 | |
US20080141285A1 (en) | Open home network framework and method for operating the same | |
CN101360129B (zh) | 网络视频监控系统手机短信发送方法 | |
CN101808051B (zh) | 应用整合网关及其控制方法 | |
CN1728700B (zh) | 基于struts框架的web电信网管系统及其方法 | |
CN109189502A (zh) | 一种基于即时通讯公众平台的消息处理方法和相关设备 | |
CN113658591B (zh) | 一种面向智能家居的语音交互适配系统 | |
CN102196027A (zh) | 一种实现移动云服务的系统及方法 | |
CN109117609A (zh) | 一种请求拦截方法及装置 | |
CN100538650C (zh) | 基于组件的网格中间件互交互方法 | |
CN107800790A (zh) | 一种统一数据服务系统及方法 | |
CN101471939A (zh) | Soa架构的融合业务系统中的多次用户认证鉴权方法 | |
CN112243016A (zh) | 一种中间件平台、终端设备、5g人工智能云处理系统及处理方法 | |
CN103561113B (zh) | Web Service接口的生成方法及装置 | |
CN117407195A (zh) | 一种应用系统与第三方系统的接口系统、集成方法和装置 | |
CN115102999B (zh) | DevOps系统、服务提供方法、存储介质和电子装置 | |
CN113467891B (zh) | 服务处理方法、装置及存储介质 | |
CN104219534B (zh) | 一种Linux机顶盒实现云存储代理的系统及方法 |
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 |