基于C#语言的自动构建web服务工具包的方法技术

技术编号:22883566 阅读:46 留言:0更新日期:2019-12-21 07:09
本发明专利技术涉及一种基于基于C#语言的自动构建web服务工具包的方法,属于计算机web构建技术领域,所述Web服务采用socket套接字与第三方系统通信,数据格式为XML;所述Web服务基于由web服务包和配置工具构成的工具包,其中web服务包又由服务代码模块与底层映射代码模块、底层动态库模块构成;有益效果在于,适用于一套系统在不同环境需要对不同语言平台、不同服务接口进行集成调用,开发人员只需利用第三方语言动态库及其接口文档,通过简单配置自动生成web服务。

The method of automatically building web service toolkit based on C \u0dcf language

【技术实现步骤摘要】
基于C#语言的自动构建web服务工具包的方法
本专利技术涉及一种基于基于C#语言的自动构建web服务工具包的方法,属于计算机web构建

技术介绍
目前,网络技术发展越来越快,web服务被越来越多的企业和研究所机构所重视和接受,其web领域也越来越广泛。如何快速构建web服务成为一门热门的研究课题。Web服务采用松耦合技术,任何支持开放网络协议和数据描述标准的系统都支持Web服务,从而解决了系统的集成问题。现有技术开发一套第三系统跨平台调用c#、c++、delphi、pb等语言的服务,需要开发人员进行一定量代码的编写工作,并且对开发人员的要求比较高,导致Web服务开发效率低;而且现有技术开发一套web服务,需要一定量的编码工作并且对开发人员的要求极高,后续需求变更也会带来一定量的重复工作,整体开发效率低。当系统需要对接不同语言平台,开发人员必须重新编码打包测试,开发效率可想而知,因此如何快速开发一套通用的web服务显得尤为重要。
技术实现思路
本专利技术的目的在于解决构建web服务效率低和系统跨平台集成的问题,从而提供一种基于基于C#语言的自动构建web服务工具包的方法。本专利技术的技术方案在于,所述Web服务采用socket套接字与第三方系统通信,数据格式为XML;所述Web服务基于由web服务包和配置工具构成的工具包,其中web服务包又由服务代码模块与底层映射代码模块、底层动态库模块构成;服务代码模块接收第三方系统发送的请求数据,经过数据解析、数据校验、数据转换后,动态调用底层映射代码模块,底层映射代码模块再映射调用底层动态库模块;底层动态库模块执行指令后把结果返回给底层映射代码模块,底层映射代码模块把结果传递给服务代码模块,服务代码模块把结果以XML格式响应给第三方系统。所述的底层映射代码模块分为底层映射源代码的生成和底层映射源代码的编译,配置工具根据第三方系统中的第三方语言动态库及接口文档,简单配置后生成底层映射源代码,底层映射源代码经过编译后生成底层映射代码,加上工具包原有的服务代码模块和底层动态库模块组成完整的web服务包。服务代码模块接收请求数据,解析、验证数据,调用模块并返回响应数据;底层动态库模块将第三方语言动态库完整拷贝至底层动态库目录。配置工具分为方法配置和参数列表配置,方法配置包括方法名配置和返回值配置,参数列表配置包括参数名配置、参数类型配置、数据类型配置,数据类型配置与第三方语言动态库一致。参照第三方语言动态库接口文档简单配置和拷贝操作,生成一个跨平台的web服务。web服务生成步骤如下:S001、把准备好的第三方语言动态库拷贝到底层动态库目录;S002、根据准备好的第三方语言接口文档配置第三方语言与c#语言数据类型映射、接口名称映射,并保存生成底层映射源代码;S003、编译底层映射源代码生成底层映射代码,并自动保存到web服务包的指定目录;S004、至此一个完整的web服务包已经生成,只需启动服务,第三方系统就可以与之通信。本专利技术的有益效果在于,适用于一套系统在不同环境需要对不同语言平台、不同服务接口进行集成调用,开发人员只需利用第三方语言动态库及其接口文档,通过简单配置自动生成web服务。附图说明图1为本专利技术功能流程图。图2为工具包结构图。图3为web服务包结构图。图4为web服务包生成流程图。图5为服务代码模块业务流程图。图6为调用模块业务流程图。图7为底层映射代码模块。图8为配置工具生成底层映射源代码流程图。图9为本专利技术实施流程图。具体实施方式下面结合附图1至9对本专利技术的优选实施例作进一步说明,所述Web服务采用socket套接字与第三方系统3通信,数据格式为XML;所述Web服务基于由web服务包1和配置工具2构成的工具包100,其中web服务包1又由服务代码模块11与底层映射代码模块12、底层动态库模块13构成;服务代码模块接11收第三方系统3发送的请求数据,经过数据解析、数据校验、数据转换后,动态调用底层映射代码模块12,底层映射代码模块12再映射调用底层动态库模块13;底层动态库模13块执行指令后把结果返回给底层映射代码模块12,底层映射代码模块12把结果传递给服务代码模块11,服务代码模块11把结果以XML格式响应给第三方系统3,参见附图1、2、3。服务代码模块11接收请求数据,利用调用模块进行解析、验证数据,最终返回响应数据,参见附图5,其中调用模块包括获取形参列表、生成实参列表、执行Invoke方法、获取出参列表,获取形参列表用于接收请求数据,获取出参列表用于发送至响应数据,执行Invoke方法用于与底层映射代码模块12交互,参见附图6。所述的底层映射代码模块12分为底层映射源代码的生成和底层映射源代码的编译,如图7所示。配置工具2根据第三方系统中3的第三方语言动态库及接口文档,简单配置后生成底层映射源代码,底层映射源代码经过编译后生成底层映射代码,加上工具包原有的服务代码模块11和底层动态库模块13组成完整的web服务包,如图4所示。底层动态库模块13将第三方语言动态库完整拷贝至底层动态库目录,参见附图4。配置工具2分为方法配置和参数列表配置,如图8所示,方法配置包括方法名配置和返回值配置,参数列表配置包括参数名配置、参数类型配置、数据类型配置,数据类型配置与第三方语言动态库一致。用户使用该工具时无需关注底层技术细节,只需参照第三方语言动态库接口文档简单配置和拷贝操作,生成一个跨平台的web服务。具体的web服务生成步骤如下,如图9所示:S001、把准备好的第三方语言动态库拷贝到底层动态库目录;S002、根据准备好的第三方语言接口文档配置第三方语言与c#语言数据类型映射、接口名称映射,并保存生成底层映射源代码;S003、编译底层映射源代码生成底层映射代码,并自动保存到web服务包的指定目录;S004、至此一个完整的web服务包已经生成,只需启动服务,第三方系统就可以与之通信。本文档来自技高网...

【技术保护点】
1.基于C#语言的自动构建web服务工具包的方法,其特征是:/n所述Web服务采用socket套接字与第三方系统通信,数据格式为XML;所述Web服务基于由web服务包和配置工具构成的工具包,其中web服务包又由服务代码模块与底层映射代码模块、底层动态库模块构成;/n服务代码模块接收第三方系统发送的请求数据,经过数据解析、数据校验、数据转换后,动态调用底层映射代码模块,底层映射代码模块再映射调用底层动态库模块;底层动态库模块执行指令后把结果返回给底层映射代码模块,底层映射代码模块把结果传递给服务代码模块,服务代码模块把结果以XML格式响应给第三方系统。/n

【技术特征摘要】
1.基于C#语言的自动构建web服务工具包的方法,其特征是:
所述Web服务采用socket套接字与第三方系统通信,数据格式为XML;所述Web服务基于由web服务包和配置工具构成的工具包,其中web服务包又由服务代码模块与底层映射代码模块、底层动态库模块构成;
服务代码模块接收第三方系统发送的请求数据,经过数据解析、数据校验、数据转换后,动态调用底层映射代码模块,底层映射代码模块再映射调用底层动态库模块;底层动态库模块执行指令后把结果返回给底层映射代码模块,底层映射代码模块把结果传递给服务代码模块,服务代码模块把结果以XML格式响应给第三方系统。


2.根据权利要求1所述的基于C#语言的自动构建web服务工具包的方法,其特征是:
所述的底层映射代码模块分为底层映射源代码的生成和底层映射源代码的编译,配置工具根据第三方系统中的第三方语言动态库及接口文档,简单配置后生成底层映射源代码,底层映射源代码经过编译后生成底层映射代码,加上工具包原有的服务代码模块和底层动态库模块组成完整的web服务包。

【专利技术属性】
技术研发人员:周云玉罗标新刘波喻世东周林华贾月黄历
申请(专利权)人:湖南长城医疗科技有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1