CN102902577A - 异构环境中跨系统服务分层处理系统 - Google Patents

异构环境中跨系统服务分层处理系统 Download PDF

Info

Publication number
CN102902577A
CN102902577A CN2012103716279A CN201210371627A CN102902577A CN 102902577 A CN102902577 A CN 102902577A CN 2012103716279 A CN2012103716279 A CN 2012103716279A CN 201210371627 A CN201210371627 A CN 201210371627A CN 102902577 A CN102902577 A CN 102902577A
Authority
CN
China
Prior art keywords
service
parameter
cross
protocol
layer
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
CN2012103716279A
Other languages
English (en)
Other versions
CN102902577B (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.)
Founder International Co Ltd
Original Assignee
Founder International 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 Founder International Co Ltd filed Critical Founder International Co Ltd
Priority to CN201210371627.9A priority Critical patent/CN102902577B/zh
Publication of CN102902577A publication Critical patent/CN102902577A/zh
Application granted granted Critical
Publication of CN102902577B publication Critical patent/CN102902577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种异构环境中跨系统服务分层处理系统,其特征在于所述系统包括绑定与服务相关的协议并提供协议接口的协议层、提供服务声明,并根据服务实现部分返回结果的外部层和提供服务实现细节,并对服务中参数进行声明、填补、检查和重载的内部层。该系统让参数开发遇到问题时更容易排查,可扩展的参数默认值可以让编码更灵活。

Description

异构环境中跨系统服务分层处理系统
技术领域
本发明属于异构环境下服务开发技术领域,具体涉及一种异构环境中跨系统服务分层处理系统。
背景技术
现有的技术对外公布服务有多种方式,webService的参数处理方式虽然声明上比较准确,但是调用起来较为麻烦,而其他的方式参数声明不够准确,同时两种方式的处理方式各有不同,在异构环境中会带来比较大的困扰。
WebService的参数处理方式虽然是比较通用的方式,可以调用效率较为低下。可以说是异构环境中不得已而为之的方案。如果想交互的并非异构环境,这种调用方式比之其他的协议要慢上10倍以上。同一内容如果需要公布为多种协议才能更好的支持效率,可是一旦分成了多种就势必带来了多环境里行为不统一,带来了开发难度上的弊端。
参数调用不够灵活,只能以顺序入参的方式入参。并且无法设置当某一参数未传时应该给予什么默认值。本发明因此而来。
发明内容
本发明目的在于提供一种异构环境中跨系统服务分层处理系统,解决了现有技术中异构环境中跨系统服务开发时参数调用及参数管理等问题。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种异构环境中跨系统服务分层处理系统,其特征在于所述系统包括绑定与服务相关的协议并提供协议接口的协议层、提供服务声明,并根据服务实现部分返回结果的外部层和提供服务实现细节,并对服务中参数进行声明、填补、检查和重载的内部层。
优选的,所述系统中协议层包括webService协议接口、RMI协议接口、Hessian协议接口和Burlap协议接口。
优选的,所述内部层设置有参数重载模块、参数填补模块、参数检查模块和服务实现模块。
现有技术文本式的调用接口虽然可以在异构环境中跨系统使用,可以这种方式有着一个很大的问题,那就是这种方式对于参数的处理比较弱,如何进行参数区分?参数异常时如何处理?本发明就是为了解决这些问题。
本发明技术方案采用服务分层的方式,使得多种协议并存,并且开发过程只需要一次。对调用方来说他只需要使用自己熟悉的协议即可。入参方式可以分为几种,既可以顺序入参,也可以map方式入参,在很多情况也可以使用默认参数方式的让一些参数自动填充一些设定好的值。
本发明技术方案用统一的方式对外公布服务,服务调用的技术有所不同,但是调用的内容、入参方式、返回值方式都是统一的。同时这种参数处理可以多种方式入参、校验、配置默认值。
相对于现有技术中的方案,本发明的优点是:
本发明技术方案对于外部系统来说每个外部系统都能以自己最熟悉的协议与本系统交互,而不需要另外学习新的知识。鲜明的参数体系让参数开发遇到问题时更容易排查,可扩展的参数默认值可以让编码更灵活。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为异构环境中跨系统服务分层处理系统的系统架构图;
图2为异构环境中跨系统服务分层处理系统的工作流程图;
图3为异构环境中跨系统服务分层处理系统中协议层的架构图;
图4为异构环境中跨系统服务分层处理系统中内部层的工作流程图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例
如图1所示,本实施例得到的异构环境中跨系统服务分层处理系统,包括绑定与服务相关的协议并提供协议接口的协议层、提供服务声明,并根据服务实现部分返回结果的外部层和提供服务实现细节,并对服务中参数进行声明、填补、检查和重载的内部层。协议层包括webService协议接口、RMI协议接口、Hessian协议接口和Burlap协议接口。所述内部层设置有参数重载模块、参数填补模块、参数检查模块和服务实现模块。
本实施例中异构环境中跨系统服务分层处理系统进行服务开发时的工作流程如图2所示。
协议层:本发明把协议层与真实服务分开,一个服务可以被多种服务调用,编写代码只需要编写服务实现部分即可。不同技术的人选用不同的协议进行调用,如果需要支持一种新的协议也只要在协议层扩展一个协议即可,实际的逻辑代码不需要有任何改动。
声明层:声明层是声明部分,他仅仅是一个名称的声明不会再其中加入任何技术性成分,该部分要求必然唯一。
内部层:内部层也就是服务的真实实现部分,包括服务的参数声明、实现手段、实现代码等内容。其中参数声明部分是本发明的重点部分。
一个标准的参数声明如表1所示:
表1标准的参数声明
  id  名称   类型   默认值
  p  参数1   String
  p2  参数2   int   {sysDate.now}
参数填补
参数填补是本发明的一个特色功能,当外部只传入1个参数,而第二个参数有设定了默认值时,此时就会将默认值填补为第2个参数。默认值的规则可以是直接写内容,也可以写表达式。表达式是我们内部的一套解释体系他通过{范围.内容}这样的方式获取动态的内容,该内容甚至可以是另一个服务或者代码。
参数检查
参数是否正确是一个很重要的问题,因为在远程调用的情况下无法进行异地debug,并且远程调用一个接口自然是只能了解到这个接口能提供什么服务而不了解其内部结构,当发现了问题以后进行问题排查将是一件非常头疼的事。因此一个足够健全的参数检查和错误信息提示体系可以起到非常大的帮助。参数才设定时和一般方法类似,不同的是需要设定一个参数名,其设定个格式就是表2。
表2参数声明例表
  id  名称   类型   默认值
  p1  参数1   String
  p2  参数2   int   {sysDate.now}
这里id就是入参的id,名称是用来描述该参数的用途,类型是用来约束参数的基本类型。参数的入参方式有两种,顺序入参和map入参,list入参就是根据上面列表的上下顺序进行顺序入参,map方式就是根据上面列表里提供的id进行对号入座式的入参。
在一个请求过来时会获取到服务名,然后根据服务名来确认校验某服务是否存在,不存在就抛出某服务不存在。如果存在继续往下,这里就开始参数填补,填补时如果发生异常则抛出详细哪一个填补时发生问题。没有问题继续往下,这里就要校验参数个数是否正确,在调用池里是否存在名称和参数个数都匹配的服务实现。如果找不到就会抛出异常。
如果没问题继续往下,这里就要校验参数的类型正确不正确,如果不正确会准确报出那个参数类型不正确。到此为止下一步就会交给服务实现去进行实现,以这样的方式保证参数准确的传入到实现里去。
参数重载
高级语言里存在方法重载这种技术,很多人也会比较喜欢使用这种技术来开发代码,同样本发明也提供了参数重载的功能。
参数重载一般来说分为参数个数重载、顺序重载、类型重载,其中顺序重载和类型重载可以归于一类。我们这里参数重载提供了数量重载,因为在异构环境中类型并非可靠的手段所以只考虑参数数量重载。
比如:在服务调用库里有两个实现都叫commitData,其中一个是两个参数,另一个是三个参数,这两个实现就可以根据入参数量进行重载。
上述协议层、内部层和外部层的具体逻辑如下所述:
协议层内容为对外开发部分,每一种协议都有一种自己的对外接口目录,比如:WebService的接口,有一个公共的接口叫fixWSEndpoint,针对于这个接口传递服务名、参数,就可以调用这个借口。
RMI接口,有一个公共接口叫FixRMIServer,使用RMI协议的使用者,可以通过这个接口直接调用,并且直接拿到返回值。
如图3所示,从上面两个接口可以看出,每个技术都可以使用自己熟悉的接口,但是调用的效果是完全相同,通过横向的扩展协议类型来做到扩展,而核心的业务逻辑始终只有一份,这就是协议层的目的。
外部层主要负责这服务的声明,我们之所有把该部分与协议层分开是为了保证服务可以一次声明,处处可用。在所有的协议之下,服务的声明都是统一的。
一个服务声明包括:
服务id:服务的唯一标识;
服务描述:服务的文字描述;
服务安全:服务的安全策略;
服务实现:服务的实现,也就是具体实现,主要内容也就是内部层的部分;
服务入参:服务需要哪些参数;
服务返回:通知该服务将返回一个什么样的结果。
内部层是服务的具体实现部分,这部分也负责对之前传入的服务参数进行校验和处理,在选定了处理逻辑后进行业务逻辑处理,同时将结果返回。由外部层根据结构再返回给调用者,具体的处理过程如图4所示。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。

Claims (3)

1.一种异构环境中跨系统服务分层处理系统,其特征在于所述系统包括绑定与服务相关的协议并提供协议接口的协议层、提供服务声明,并根据服务实现部分返回结果的外部层和提供服务实现细节,并对服务中参数进行声明、填补、检查和重载的内部层。
2.根据权利要求1所述的异构环境中跨系统服务分层处理系统,其特征在于所述系统中协议层包括webService协议接口、RMI协议接口、Hessian协议接口和Burlap协议接口。
3.根据权利要求1所述的异构环境中跨系统服务分层处理系统,其特征在于所述内部层设置有参数重载模块、参数填补模块、参数检查模块和服务实现模块。
CN201210371627.9A 2012-09-28 2012-09-28 异构环境中跨系统服务分层处理系统 Active CN102902577B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210371627.9A CN102902577B (zh) 2012-09-28 2012-09-28 异构环境中跨系统服务分层处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210371627.9A CN102902577B (zh) 2012-09-28 2012-09-28 异构环境中跨系统服务分层处理系统

Publications (2)

Publication Number Publication Date
CN102902577A true CN102902577A (zh) 2013-01-30
CN102902577B CN102902577B (zh) 2015-05-27

Family

ID=47574823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210371627.9A Active CN102902577B (zh) 2012-09-28 2012-09-28 异构环境中跨系统服务分层处理系统

Country Status (1)

Country Link
CN (1) CN102902577B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101078995A (zh) * 2007-06-08 2007-11-28 北京大学 构件运行支撑平台接入消息服务的方法
CN101188520A (zh) * 2007-11-06 2008-05-28 北京航空航天大学 基于配置策略的电信领域遗留系统集成工具
CN101206648A (zh) * 2006-12-20 2008-06-25 鸿富锦精密工业(深圳)有限公司 网络服务生成系统及方法
CN102291464A (zh) * 2011-08-29 2011-12-21 上海普元信息技术股份有限公司 BPM中业务流程动态生成Web Service的系统及方法
CN102497451A (zh) * 2011-12-28 2012-06-13 用友软件股份有限公司 服务处理系统和服务处理方法
CN102567400A (zh) * 2010-12-31 2012-07-11 阿里巴巴集团控股有限公司 一种实现Web访问的方法和Web服务器
CN102624766A (zh) * 2011-01-31 2012-08-01 无锡华润上华半导体有限公司 系统集成方法及其装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206648A (zh) * 2006-12-20 2008-06-25 鸿富锦精密工业(深圳)有限公司 网络服务生成系统及方法
CN101078995A (zh) * 2007-06-08 2007-11-28 北京大学 构件运行支撑平台接入消息服务的方法
CN101188520A (zh) * 2007-11-06 2008-05-28 北京航空航天大学 基于配置策略的电信领域遗留系统集成工具
CN102567400A (zh) * 2010-12-31 2012-07-11 阿里巴巴集团控股有限公司 一种实现Web访问的方法和Web服务器
CN102624766A (zh) * 2011-01-31 2012-08-01 无锡华润上华半导体有限公司 系统集成方法及其装置
CN102291464A (zh) * 2011-08-29 2011-12-21 上海普元信息技术股份有限公司 BPM中业务流程动态生成Web Service的系统及方法
CN102497451A (zh) * 2011-12-28 2012-06-13 用友软件股份有限公司 服务处理系统和服务处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
任捷等: "Web Services技术在异构系统集成中的应用研究", 《计算机应用》, no. 01, 28 January 2004 (2004-01-28) *
申德荣等: "Web服务合成中的异构问题", 《东北大学学报(自然科学版)》, no. 03, 15 March 2004 (2004-03-15) *

Also Published As

Publication number Publication date
CN102902577B (zh) 2015-05-27

Similar Documents

Publication Publication Date Title
CN104407976B (zh) 一种接口健壮性测试用例生成方法及装置
CN102968370B (zh) 一种测试数据生成方法及装置
CN104680876B (zh) 学习机的教学监控方法、系统及装置
CN106156307A (zh) 一种实时计算平台的数据处理系统和方法
CN102819766A (zh) 一种表单校验方法、装置及企业系统
CN108762764A (zh) 代码自动生成方法、装置、计算机设备及存储介质
CN108470004A (zh) 测试脚本生成方法、测试方法、装置、设备及存储介质
CN103164206A (zh) 基于saas的软件定制系统
CN104679739A (zh) 一种非真实信息传播控制方法
CN110191204A (zh) 一种内网设备间通信方法、系统、装置及计算机存储介质
CN106294299A (zh) 一种报表生成方法及装置
CN102739445B (zh) 一种环网故障快速定位的方法和系统
CN103678138A (zh) 一种生成状态转换测试用例的方法及装置
CN109858257B (zh) 访问控制方法及装置
CN106940714B (zh) 一种数据处理方法、装置及电子设备
WO2011070334A9 (en) Accessing stored electronic resources
CN109684033A (zh) 云平台裸机管理方法、存储介质、电子设备及系统
CN103561113A (zh) Web Service接口的生成方法及装置
CN102855278B (zh) 一种仿真方法和系统
CN102708195B (zh) 一种表单数据共享方法及装置
CN102902577A (zh) 异构环境中跨系统服务分层处理系统
CN107769934A (zh) 资费处理方法及装置
CN103595781B (zh) 一种基于zookeeper的服务提供方法、第一服务器及系统
CN108810024A (zh) 一种隔离网络数据传输方法、装置、介质、管理平台
CN104216707A (zh) 一种支持多种管理模式的统一管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant