用于SOA服务转换语言保持功能一致性的方法及系统技术方案

技术编号:16345909 阅读:22 留言:0更新日期:2017-10-03 22:19
本发明专利技术公开了一种用于SOA服务转换语言保持功能一致性的方法及系统,其中方法包括:S1、新旧语言服务同时部署在相同生产环境,旧语言服务接收客户端的服务请求报文;S2、旧语言服务按第一预设比例将服务请求报文发送至新语言服务;S3、新旧语言服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文,并记录同样的服务请求报文及相应的服务响应报文;S4、判断S3中同样的服务请求报文相应的服务响应报文是否匹配,若否,则优化新语言服务,然后返回S1;S5、将新语言服务上线,接收并处理客户端的服务请求报文。本发明专利技术能快速定位服务响应差异,大幅度减少人工测试,保障系统框架重构正确性,保证新语言服务快速投入生产。

【技术实现步骤摘要】
用于SOA服务转换语言保持功能一致性的方法及系统
本专利技术涉及软件信息系统领域,特别涉及一种用于SOA服务转换语言保持功能一致性的方法及系统。
技术介绍
信息系统随着业务的发展,企业从成本及语言开放性的角度,可能会考虑更换已有系统的编程语言,如从C#语言更换为Java语言,对编程语言的更换,除了语言语法上的更换,开发人员多数情况下也会进行框架的升级改造,使代码质量及可读性方面得到提升,但无论多大的改动,改造的最终结果都是:新语言服务所提供的业务功能都要与旧语言服务所提供的业务功能保持一致。SOA(ServiceOrientedArchitecture,面向服务的架构)作为一个成熟的软件系统开发架构,在企业中有广泛的应用,SOA服务进行更换编程语言有与信息系统更换语言的共性如SOA服务更换编程语言后也一般采用人工比对测试来保障更换语言前后的业务服务功能一致,但也有其自身特点,如SOA服务通过契约报文来交换数据,服务的语言无关性,客户端不会感知到服务的动态调整等特点,在更换语言同时维持业务的一致性方面将面临着巨大的挑战:如何快速定位服务响应的差异,大幅度减少人工测试,保障系统框架得以重构,保证新语言开发的系统较快地投入生产以及新语言服务运行的稳定性。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中需要依靠大量人工对比测试,不能很好地快速定位服务响应的差异,不能很好地保障系统框架得以重构,不能很好地保证新语言开发的SOA服务快速地投入生产的缺陷,提供一种用于SOA服务转换语言保持功能一致性的方法及系统。本专利技术是通过下述技术方案来解决上述技术问题:一种用于SOA服务转换语言保持功能一致性的方法,包括以下步骤:S1、旧语言SOA服务、新语言SOA服务同时部署在相同生产环境,所述旧语言SOA服务接收客户端的服务请求报文;S2、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务;S3、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;S4、判断步骤S3中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配,若否,则对所述新语言SOA服务进行优化,然后返回步骤S1,若是,则执行步骤S5;S5、将所述新语言SOA服务上线,所述新语言SOA服务接收并处理客户端的服务请求报文。较佳地,所述步骤S5具体包括:将所述新语言SOA服务上线后,所述新语言SOA服务按第二预设比例接收并处理客户端的服务请求报文;所述方法在步骤S5之后还包括:S6、所述旧语言SOA服务按第三预设比例将接收到的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务按第四预设比例将接收到的服务请求报文发送至所述旧语言SOA服务;S7、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;S8、判断步骤S7中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致,若否,则对所述新语言SOA服务进行优化,然后返回步骤S1,若是,则判断所述第二预设比例是否为100%,若是,则执行步骤S9,若否,则提升所述第二预设比例,然后返回步骤S5;S9、将所述旧语言SOA服务下线。较佳地,所述步骤S2具体包括:S21、所述旧语言SOA服务建立第一异步消息队列;S22、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文放入到所述第一异步消息队列;S23、所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务;所述步骤S6具体包括:S61、所述新语言SOA服务建立第二异步消息队列;S62、所述旧语言SOA服务按第三预设比例将接收到的服务请求报文放入到所述第一异步消息队列,所述新语言SOA服务按第四预设比例将接收到的服务请求报文放入到所述第二异步消息队列;S63、所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务将所述第二异步消息队列的服务请求报文发送至所述旧语言SOA服务。较佳地,所述步骤S4中,所述判断步骤S3中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的业务逻辑是否一致;所述步骤S8中,所述判断步骤S7中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的报文内容、报文业务逻辑是否一致。一种用于SOA服务转换语言保持功能一致性的系统,包括旧语言SOA服务、新语言SOA服务、记录模块、第一判断模块,所述旧语言SOA服务、所述新语言SOA服务同时部署在相同生产环境,所述旧语言SOA服务用于接收客户端的服务请求报文,并按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务;所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文;所述记录模块用于记录所述旧语言SOA服务发送给所述新语言SOA服务的服务请求报文,以及所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文相应的服务响应报文;所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文是否匹配,当判断为否时,则对所述新语言SOA服务进行优化,当判断为是时,则所述新语言SOA服务上线,接收并处理客户端的服务请求报文。较佳地,所述系统还包括第二判断模块,所述新语言SOA服务上线后按第二预设比例接收并处理客户端的服务请求报文;所述旧语言SOA服务按第三预设比例将接收到的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务按第四预设比例将接收到的服务请求报文发送至所述旧语言SOA服务;所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文;所述记录模块用于分别记录所述旧语言SOA服务发送给所述新语言SOA服务的服务请求报文和所述新语言SOA服务发送给所述旧语言SOA服务的服务请求报文,以及所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文相应的服务响应报文;所述第一判断模块用于判断所述记录模块中记录的同样的服务请求报文相应的服务响应报文是否一致,当判断为否时,则对所述新语言SOA服务进行优化,当判断为是时,则调用所述第二判断模块,所述第二判断模块用于判断所述第二预设比例是否为100%,若是,则将所述旧语言SOA服务下线,若否,则提升所述第二预设比例。较佳地,所述旧语言SOA服务包括第一异步消息队列、第一后台线程,所述旧语言SOA服务建立所述第一异步消息队列,所述新语言SOA服务上线前,所述旧语言SOA服务按第一预设比例将接收到的服务请求报文放入所述第一异步消息队列,所述第一后台线程用于将所述第一异步本文档来自技高网...
用于SOA服务转换语言保持功能一致性的方法及系统

【技术保护点】
一种用于SOA服务转换语言保持功能一致性的方法,其特征在于,包括以下步骤:S1、旧语言SOA服务、新语言SOA服务同时部署在相同生产环境,所述旧语言SOA服务接收客户端的服务请求报文;S2、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务;S3、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;S4、判断步骤S3中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配,若否,则对所述新语言SOA服务进行优化,然后返回步骤S1,若是,则执行步骤S5;S5、将所述新语言SOA服务上线,所述新语言SOA服务接收并处理客户端的服务请求报文。

【技术特征摘要】
1.一种用于SOA服务转换语言保持功能一致性的方法,其特征在于,包括以下步骤:S1、旧语言SOA服务、新语言SOA服务同时部署在相同生产环境,所述旧语言SOA服务接收客户端的服务请求报文;S2、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文发送至所述新语言SOA服务;S3、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;S4、判断步骤S3中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配,若否,则对所述新语言SOA服务进行优化,然后返回步骤S1,若是,则执行步骤S5;S5、将所述新语言SOA服务上线,所述新语言SOA服务接收并处理客户端的服务请求报文。2.如权利要求1所述的用于SOA服务转换语言保持功能一致性的方法,其特征在于,所述步骤S5具体包括:将所述新语言SOA服务上线后,所述新语言SOA服务按第二预设比例接收并处理客户端的服务请求报文;所述方法在步骤S5之后还包括:S6、所述旧语言SOA服务按第三预设比例将接收到的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务按第四预设比例将接收到的服务请求报文发送至所述旧语言SOA服务;S7、在所述旧语言SOA服务、所述新语言SOA服务分别对同样的服务请求报文进行响应并生成相应的服务响应报文之后,记录同样的服务请求报文及相应的服务响应报文;S8、判断步骤S7中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致,若否,则对所述新语言SOA服务进行优化,然后返回步骤S1,若是,则判断所述第二预设比例是否为100%,若是,则执行步骤S9,若否,则提升所述第二预设比例,然后返回步骤S5;S9、将所述旧语言SOA服务下线。3.如权利要求2所述的用于SOA服务转换语言保持功能一致性的方法,其特征在于,所述步骤S2具体包括:S21、所述旧语言SOA服务建立第一异步消息队列;S22、所述旧语言SOA服务按第一预设比例将接收到的服务请求报文放入到所述第一异步消息队列;S23、所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务;所述步骤S6具体包括:S61、所述新语言SOA服务建立第二异步消息队列;S62、所述旧语言SOA服务按第三预设比例将接收到的服务请求报文放入到所述第一异步消息队列,所述新语言SOA服务按第四预设比例将接收到的服务请求报文放入到所述第二异步消息队列;S63、所述旧语言SOA服务将所述第一异步消息队列的服务请求报文发送至所述新语言SOA服务,所述新语言SOA服务将所述第二异步消息队列的服务请求报文发送至所述旧语言SOA服务。4.如权利要求2所述的用于SOA服务转换语言保持功能一致性的方法,其特征在于,所述步骤S4中,所述判断步骤S3中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否匹配的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的业务逻辑是否一致;所述步骤S8中,所述判断步骤S7中所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文是否一致的步骤具体包括:判断所述旧语言SOA服务、所述新语言SOA服务对同样的服务请求报文相应的服务响应报文的报文内容、报文业务逻辑是否一致。5.一种用于SOA服务...

【专利技术属性】
技术研发人员:杨秦旭
申请(专利权)人:携程旅游网络技术上海有限公司
类型:发明
国别省市:上海,31

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

1