CN113778721A - 多个子***接入的接入开发方法、装置和***、及介质 - Google Patents
多个子***接入的接入开发方法、装置和***、及介质 Download PDFInfo
- Publication number
- CN113778721A CN113778721A CN202111132393.8A CN202111132393A CN113778721A CN 113778721 A CN113778721 A CN 113778721A CN 202111132393 A CN202111132393 A CN 202111132393A CN 113778721 A CN113778721 A CN 113778721A
- Authority
- CN
- China
- Prior art keywords
- access
- subsystem
- accessed
- request
- response
- 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.)
- Pending
Links
- 238000011161 development Methods 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000006243 chemical reaction Methods 0.000 claims abstract description 133
- 230000004044 response Effects 0.000 claims abstract description 113
- 238000013519 translation Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 230000007704 transition Effects 0.000 claims 1
- 230000018109 developmental process Effects 0.000 description 87
- 238000004458 analytical method Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 4
- 244000046052 Phaseolus vulgaris Species 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 3
- 235000014552 Cassia tora Nutrition 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 244000201986 Cassia tora Species 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 244000277285 Cassia obtusifolia Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开一种多个子***接入的接入开发方法、装置和***、及介质。在一具体实施方式中,该方法包括:根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类;将请求转换类发送至待接入子***获取待接入子***的响应参数,并根据待接入子***的接入协议和响应参数生成待接入子***响应于外部服务端调用的响应转换类;根据请求转换类和响应转换类生成接入文件。该实施方式通过基于请求参数和待接入子***的接入协议自动生成请求转换类、并基于接入协议和响应参数生成响应转换类,使得能够通过开发端自动生成接入文件,降低了开发人员的工作量,提高了开发人员的工作效率,具有广泛的应用前景。
Description
技术领域
本发明涉及计算机技术领域。更具体地,涉及一种多个子***接入的接入开发方法、装置和***、及介质。
背景技术
随着智能物联网的快速发展,不同软硬件服务之间的联合逐渐增多,调用第三方的服务时,需要在调用服务时按其规定的协议格式封装请求参数。但是各端服务都有自己的协议格式,并且协议格式大多不同,导致互相调用过程中需要适配协议,常常为了一个简单的功能就要手动封装复杂的类,开发效率低,这无疑给服务调用过程增加了开发成本。
发明内容
本发明的目的在于提供一种多个子***接入的接入开发方法、装置和***、及介质,以解决现有技术存在的问题中的至少一个。
为达到上述目的,本发明采用下述技术方案:
本发明第一方面提供了一种多个子***接入的接入开发方法,应用于开发端,包括:
根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类;
将请求转换类发送至待接入子***获取待接入子***的响应参数,并根据待接入子***的接入协议和响应参数生成待接入子***响应于外部服务端调用的响应转换类;
根据请求转换类和响应转换类生成接入文件。
在一些可选的实施例中,
根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类进一步包括:
对接入协议进行解析生成中间转换类;
采用反射方式对中间转换类进行逐行映射,确定请求参数在中间转换类中绑定的位置;以及
将请求参数绑定在位置中并编译生成请求转换类,
根据待接入子***的接入协议和响应参数生成待接入子***响应于外部服务端调用的响应转换类进一步包括:
将响应参数绑定在位置中并编译生成响应转换类。
在一些可选的实施例中,
根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类进一步包括:
对接入协议进行解析生成中间转换类和和中间转换类的注解文件,中间转换类还包括协议字符串,协议字符串以父标签的形式表征接入协议的层级结构;
利用注解文件基于中间转换类确定请求参数将绑定的位置;以及
将请求参数绑定在位置中并编译生成请求转换类,
根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类进一步包括:
将所述响应参数绑定在所述位置中并编译以生成所述响应转换类。
在一些可选的实施例中,中间转换类包括嵌套的层级结构。
在一些可选的实施例中,基于DOM方法、SAX方法、以及STAX方法中的一种方法解析接入协议。
在一些可选的实施例中,当接入协议的格式为JSON格式时,在根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类之前,方法还包括:
将接入协议的格式转换为XML格式。
本发明第二方面提供一种基于多个子***接入的应用服务方法,应用于服务端,包括:
根据服务请求和预存储的接入文件生成请求协议并发送至待接入子***,服务请求包括请求参数;
获取待接入子***的响应值,并根据接入文件和响应值生成响应协议,响应值包括响应参数;
其中,接入文件为上文所述的接入开发方法生成的。
本发明第三方面提供一种实现根据上文所述的接入开发方法的接入开发装置,包括:
请求转换模块,根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类;
响应转换模块,根据待接入子***的接入协议和接收自待接入子***的响应参数生成待接入子***响应于外部服务端调用的响应转换类;以及
文件生成模块,根据请求转换类和响应转换类生成接入文件。
本发明第四方面提供一种实现上文所述的应用服务方法的应用服务***,包括接收用户操作的应用层、以及接入待接入子***的接入层,其中接入层被配置为:
根据应用层接收用户操作生成的服务请求和预存储的接入文件生成请求协议;
根据待接入子***的接入协议和接收自待接入子***的响应值生成响应协议;
根据响应协议完成待接入子***的接入以使得应用层根据接收的用户操作调用待接入子***的应用服务,
其中,接入文件为上文所述的接入开发方法生成的。
本发明第五方面提供一种计算机设备,包括:
一个或多个处理器;
存储装置,其上存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上文所述的接入开发方法或者如上文所述的应用服务方法。
本发明第六方面提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上文所述的接入开发方法或者如上文所述的应用服务方法。
本发明的有益效果如下:
本发明针对目前现有的问题,制定一种多个子***接入的接入开发方法、装置和***、及介质,并通过根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类,根据待接入子***的接入协议和响应参数生成响应转换类,从而开发端能够自动生成接入文件,使得开发人员不再需要根据协议格式手动封装各种子***的复杂的类,降低了看法人员开发接口的工作量,同时降低了开发难度,大大提高开发效率,具有广泛的应用前景。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出根据本发明实施例的多个子***接入的接入开发方法的流程图;
图2示出根据本发明实施例的实现接入开发方法的接入开发***的示意性结构框图;
图3a和图3b示出根据本发明的实施例的接入开发装置的用户交互界面的示意图;
图4示出根据本发明的实施例的接入开发方法中解析过程的示意性流程图;
图5示出根据本发明的实施例的接入开发方法中的中间转换类的示意性文件列表;
图6示出根据本发明实施例的接入开发方法中的中间转换类的示意性层级关系图;
图7示出根据本发明实施例的应用服务***的示意性结构框图;以及
图8示出根据本发明的实施例所述的一种计算机设备的结构示意图。
具体实施方式
为了更清楚地说明本发明,下面结合实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
针对以上问题至少之一,如图1所示,本发明的一个实施例提供了一种多个子***接入的接入开发方法,应用于开发端,包括:
根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类;
将请求转换类发送至所述待接入子***获取待接入子***的响应参数,并根据待接入子***的接入协议和响应参数生成待接入子***响应于外部服务端调用的响应转换类;
根据请求转换类和响应转换类生成接入文件。
在本实施例中,通过根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类,根据待接入子***的接入协议和响应参数生成响应转换类,从而开发端能够自动生成接入文件,使得开发人员不再需要根据协议格式手动封装各种子***的复杂的类,降低了看法人员开发接口的工作量,同时降低了开发难度,大大提高开发效率,具有广泛的应用前景。
为了能够更好地理解本发明的多个子***接入的接入开发方法的实现过程,首先结合图2描述影响该应用服务方法整体实现的应用服务***的结构。
如图2所示,应用服务***包括服务端100、开发端200以及多个子***300-1、300-2、……、以及300-n(其中,n为整数,n≥2)。在本文的描述中,当不需要区分是时,以标号300表示子***。该应用服务***可以应用于智能家电、智能园区、智慧城市、智能交通等各种物联网场景。
其中,服务端100可以为一个或多个服务器构成的应用服务***,服务器既可以是云服务器,也可以为本地服务器,服务端包括具有用户交互界面的应用层和接入层,服务端100可以基于用户在用户交互界面上的用户操作生成向外部子***调用服务的服务请求。开发端200可以为搭载有集成开发环境(Integrated Development Environment,IDE)的服务器,其可以为开发人员使用的台式计算机、笔记本电脑等设备。该IDE可以为IDEA、VSCode等基于Java语言的集成开发平台。特别地,为了实现本发明的接入开发方法,在开发端的IDE中还集成有用于自动生成接入文件的解析插件,其中,所述解析插件为发布到开发平台的插件库,发布的格式为zip包或jar包,使用时将插件库下载安装到开发端的IDE中,从而在开发过程中通过调用解析插件自动生成接入文件;自动生成的接入文件指的是根据接入协议文件生成的具有层次结构的.JavaBean文件,文件的格式为.java,在开发过程中根据具体业务需求调用该计入文件,能够降低因手动编写导致的错误,从而提高开发效率。
另外,多个子***300-1、300-2、……、以及300-n表示能够被服务端100调用和管理的各种物联网管理子***,例如子***300可以为摄像头管理子***,可以管理和控制摄像头的行为,例如码率调整、方向调整等。在本示例中,各子***可以为不同厂家生产的多个摄像头管理子***300-1、300-2、……、以及300-n。当然,子***300也可以表示其他管理子***,子***300中的各个子***300-1、300-2、……、以及300-n也可以表示不同厂家生产的不同种类的物联网管理子***,例如子***300-1表示A厂家生产的摄像头管理子***、子***300-1表示B厂家生产的指示灯管理子***、……、以及300-n表示N厂家生产的显示屏管理子***等,在此不做具体限定。
不同厂家生产的子***通信接口采用的接入协议可能不同,例如子***300-1为采用HTTP协议的通信接口,子***300-2为采用TCP协议的通信接口,因此需要开发人员在开发端进行接口开发。在本发明的实施例中,通过在IDE中集成开发人员预先设计开发的解析插件,使得接口开发人员不必逐个手动写代码封装接口文件,而是能够针对不同子***的接入协议自动生成接入文件,将本实施例生成的接入文件上传到服务端,即可以在实际应用服务调用过程中实现服务端100与各子***的应用服务调用,降低了对接口的开发工作量和复杂度,提升了开发效率。
下面结合图3a至图6以更具体的实施例详细描述多个子***接入的接入开发方法的具体实现方式,并以开发人员开发将要接入开发客户端100的子***300-1的接口为示例描述接入开发方法。
在本文中,相对于具有多个子***接入的总体场景来说,该子***也可以被称为待接入子***以区分于其他子***,本文中不再过多解释。
在步骤S1中,根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类。
实际开发中,该步骤包括解析和参数绑定过程、以及编译过程。其中,解析和参数绑定过程由开发人员开发的解析插件完成,编译过程利用IDE中的编译器完成。
具体地,在接口开发项目中的起始,开发人员首先启动开发端200上搭载的IDE,在该IDE中运行开发人员开发的解析插件,解析插件运行时,将在IDE的窗口中显示如图3a所示的用户交互界面。本领域技术人员应理解,图3a仅示出用户交互界面的示意图,具体形式并不限于此,即,其中的界面标题“自动解析接入协议”、“协议文件存放路径”和“示例对象生成路径”也可以为表示相同含义的其他表述形式。另外,本领域技术人员还应理解,在第一次执行开发项目时,若IDE中未安装解析插件,开发人员可以在相应的下载路径中下载安装包安装解析插件,再启动IDE并运行解析插件,具体过程在此不再赘述。
参照图3b所示,开发人员在该用户交互界面中在“协议文件存放路径”栏引入子***300-1的接口协议。例如,开发人员可以通过点击地址引入栏的空白处,从路径列表中按照接口协议的存储位置,引入该接口协议的存储地址,以便于解析插件调用。该接口协议通常是在确定将要接入服务端100的子***种类后,自该子***的开发商处预先获取并保存的接口协议,其表示该子***接口的协议逻辑和编解码格式等。在本发明的实施例中,该接口协议实质上是作为解析插件解析的协议模板。子***的接口协议通常为XML格式的文件,在一些情况下,根据子***开发商的不同,接口协议也可以为JSON文件。
继续参照图3b,开发人员在该用户交互界面中在“实例对象生成放路径”栏引入子***300-1接口协议解析完成后生成的文件的存储位置,该存储位置开发人员可以自己选择,通常对于IDE来说,为了后续流程顺利进行,应将解析完成后生成的文件存储在该接口开发项目的项目目录下。本领域技术人员应理解,该路径既可以为本地路径,也可以为云路径。
当引入“协议文件存放路径”和“实例对象生成放路径”后,开发人员点击“开始解析”按钮,则开发端200利用解析插件,自动生成服务端100调用子***300-1的请求转换类。
具体地,当点击开始“解析按钮”后,开发端200利用解析插件,首先对接入协议进行解析生成中间转换类;将请求参数绑定在中间转换类。其中,请求参数是在解析进行之前,预先自服务端100获取的请求参数,请求参数以数组方式表示服务端的接口调用信息。
在开发阶段,该请求参数并没有表示请求具体服务的实际含义,旨在自服务端100获取与该端的调用参数结构对应的形式即可,但对于服务端100来说,就是向开发端200发送了服务请求。因此,在本文中,开发阶段仅以请求参数表示自服务端200获取的服务请求,以区分于实际应用服务阶段发送的具体服务请求,但在具体服务调用阶段时,服务请求本身应包括表示调用参数结构的请求参数,以下不再赘述。
进一步具体地,参照图4所示,在解析插件进行的解析过程中,当点击“开始解析”按钮后,解析插件按照“协议文件存放路径”中引入的存储位置获取子***300-1的接入协议,即其协议模板;判断该接入协议是否满足格式要求,在本申请的实施例中,基于DOM方法、SAX方法、以及STAX方法中的一种方法解析接入协议。因此,解析插件判断接入协议是否满足XML格式,若满足,则以上述方法中的一种方法解析接入协议,生成中间转换类,该中间转换类按照图3b中设置的路径,存储在相应的位置中;若不满足,将提示提示错误告警信息,开发人员需要检查开发商提供的接入协议是否存在错误代码,修改后再继续重复解析步骤。
值得注意的是,以上步骤中判断是否满足格式要求是在接入协议为XML的前提下进行的,识别XML格式的文件中是否存在错误代码。考虑到子***的开发商提供的接口协议格式并不总是XML格式,例如有些开发商提供的接口协议格式为JSON格式。则可选地,当接入协议的格式为JSON格式时,步骤S1之前,接入开发方法还包括:将接入协议的格式转换为XML格式,从而使得发明的方法可以适用于各种子***的接入开发。
需要说明的是,在本申请的实施例中,以基于Java语言的IDE进行接口开发,“类”表示为Java中的一种特殊的类Bean。本领域技术人员应理解,Bean的含义是可重复使用的Java组件,在本申请中通过对接口协议进行解析,将其表达为类(Bean)来表示的接口协议的结构含义。其中,中间转换类(Bean)为以JavaBean的格式直接表示接入协议的层级的逻辑结构的类文件,生成的中间转换类的文件列表如图5所示。
可选地,中间转换类包括嵌套的层级结构。示例性地,如图6所示,图5中类别给出的各代码文件具有图6中所示的层级结构。不过本领域技术人员应理解,该层级结构用于规定解析后表达接口协议的分段方式,即与接入协议的嵌套规则对等设置,从而在中间转换类中体现层级关系,避免程序后续的执行不依赖于接入协议。解析插件将按照该分段方式确定请求参数将要绑定的位置。层级结构的具体分段方式并不限于此,即本申请并不旨在将解析插件内解析接入协议后生成的中间转换类的层级结构限制为如图6所述的具体形式,解析插件的开发人员也可以在设计是规定两级或三级式层级结构,只要解析插件在请求参数的绑定过程中能够确定绑定位置即可。
在解析得到中间转换类后,解析插件绑定请求参数。本领域技术人员应理解,解析和绑定过程,均是在接口的开发人员点击“开始解析”按钮后自动完成的。
具体地,采用反射方式对中间转换类进行逐行映射,确定请求参数在中间转换类中绑定的位置;将请求参数绑定在该位置中并编译生成请求转换类。通过以上设置,以子***300-1的接入协议为模板,解析并生成中间转换类表示的接入协议的结构逻辑,按照中间转换类的层级结构绑定请求参数,即以图6中的嵌套关系将请求参数绑定到图5所示的文件列表中的对应代码文件中。
不过反射方式是以逐条映射的方式,逐行反射读取中间转换类中的每一个代码行,并搜寻到请求参数需要绑定的位置的方法,每行代码读取过程都将耗费时间。具体的,Java的反射(reflection)机制是指在程序的运行状态中,无需前端协作,只是后端开发获取和使用类信息的一种方式。Java的反射机制可以构造任意一个类的对象,可以调用任意一个对象的属性和方法。Java中的java.lang.reflect包中提供反射需要各种方法。
考虑至此,在一个可选的实施例中,以硬编码的方式代替反射方式来确定请求参数的绑定位置。具体地,在步骤S2中,根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类进一步包括:对接入协议进行解析生成中间转换类和中间转换类的注解文件,中间转换类还包括协议字符串,协议字符串以父标签的形式表征协议模板的层级结构;利用注解文件基于中间转换类确定请求参数将绑定的位置;以及将请求参数绑定在该位置中。其中,所述注解文件的格式与接入文件的格式相同,均为.java文件。
示例性地,若XML格式的接入协议如下所示:
则,以父标签的形式表征接入协议的层级结构的协议字符串如下:
private String xmlStr=″<Message><Devices></Devices><UserID></UserID></Message>";
private String xmlStr=″<UserID token=\″\″></UserID>";
private StringxalStr=″<Devices><Device></Device><Animal></Animal><Car></Car><Test></Test></Devices>";
private String xmlStr=″<Device 1d=\"\"><Name></Name><NRxConf></NRxCont><NIC></NIC></Device>";
private String xmlStr=″<Animal><Cat></Cat></An1mal>";
private String xmlStr=″<Car 1d=\″\″></Car>";
private String xmlStr=″<Cat 1d=\″\″></Cat>";
private String xmlStr=″<NIC><Port></Port></NIC>″;
private String xmlstr=″<Port index=\″\″1p=\″\″></Port>″;
private String xmlStr=″<NRxConf><VD1splay></VDisplay><FiberOut></FiberOut><USB></USB></NRxConf>";
private string xmlstr=″<VDisplay d1s_tp1x=\″\″fps=\″\″></VD1splay>";。
由以上示例可知,通过使中间转换类包括该协议字符串,能够以父标签的形式反映出XML格式的接入协议的各段格式和含义,即,以硬编码方式直接以父标签的字符串表征接入协议中的每一段代码。同时,借助中间转换类的注解文件确定中间转换类的文件和代码段含义,从而能够借助该协议字符串和中间转换类的注解文件快速确定请求参数在中间转换类中绑定的位置,并将请求参数绑定在该位置中。
通过该方式,相比于逐行映射的反射方式,大大缩短了请求转换类的生成时间,进一步提高了接口开发效率。
接下来,开发人员利用IDE中的编译器将绑定请求参数后的中间转换类进行编译将协议字符串拼接为完整的请求转换类。本领域技术人员应理解,在开发阶段的请求参数并不具有实际应用服务的调用含义,此时绑定请求参数后编译生成的文件也并不能够直接等同为具有实际应用服务调用意义的请求协议,其仅旨在表示未来调用服务时请求协议的逻辑关系。因此,在本文中,为了区别于请求协议,将其称为请求转换类。
在步骤S2中,开发端200将请求转换类发送至待接入子***(在该示例中,待接入子***为子***300-1)获取待接入子***的响应参数,并根据待接入子***的接入协议和响应参数生成待接入子***响应于外部服务端调用的响应转换类。
当发送至子***300-1后,对于子***来说,因为请求转换类实际上为按照该子***300-1的接口协议的结构关系绑定请求参数的文件,接口协议能够解析出该文件的含义,并能够产生响应参数。当然,因为请求转换类中绑定的请求参数并不具有实际的应用服务调用含义,子***300-1返回的响应参数也并不是针对某一个应用服务的具体响应协议。响应参数为以数组方式表示服务端的接口响应信息。
可选地,在接收到响应参数后,解析插件将响应参数绑定在步骤S1中已确定的参数的绑定位置中,并编译生成所述响应转换类。其中,该中间转换类仍为在步骤S1中解析插件对接入协议解析后未绑定请求参数的中间转换类。绑定完成后,开发人员通过编译器对绑定了相应参数的中间转换类编译生成响应转换类。通过该设置生成的响应转换类为表示子***300-1的接入协议的逻辑结构的文件。
在步骤S3中,根据请求转换类和响应转换类生成接入文件。
具体地,可以利用IDE对请求转换类和相应转换类进行打包,生成接入文件,本领域技术人员可以理解,在该接入文件中包括绑定有请求参数的、服务端100调用子***300-1的请求转换类,还包括绑定有响应参数的、子***300-1响应于服务端100的响应转换类。因为请求转换类是在中间转换类的相应位置上绑定请求参数生成的,中间转换类为对子***300-1的接入协议进行解析的基础上生成的表达该接入协议的层次结构的JavaBean,请求转换类相当于利用解析插件形成了描述其接入协议的Java组件,同理,响应转换类相当于利用解析插件形成了描述其接入协议的Java组件,通过该方式形成的接入文件使得服务端100能够读取并绑定请求协议中的请求参数,并读取响应协议中的响应参数,实现对子***300-1的调用。
在本发明的实施例中的接入开发方法中,使得客户端能够利用解析插件,基于子***的接入协议自动解析形成表示接入协议的层次结构的逻辑结构的中间转换类中,并将请求参数和响应参数分别绑定在该中间转换类中形成接入文件,实现了接入文件的自动生成,大大降低了开发人员开发接口的工作量,节约人力成本,提高开发效率。
相应于接入开发方法,本发明的实施例还提供一种实现根据上文所述的接入开发方法的接入开发装置,包括:
请求转换模块,根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类;
响应转换模块,根据待接入子***的接入协议和接收自待接入子***的响应参数生成待接入子***响应于外部服务端调用的响应转换类;以及
文件生成模块,根据请求转换类和响应转换类生成接入文件。
在本实施例中,通过根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类,根据待接入子***的接入协议和响应参数生成响应转换类,从而开发端能够自动生成接入文件,使得开发人员不再需要根据协议格式手动封装各种子***的复杂的类,降低了看法人员开发接口的工作量,同时降低了开发难度,大大提高开发效率,具有广泛的应用前景。
另一方面,通过以上接入开发方法生成的接入文件,可以通过开发端200与服务端100的通信上传并存储在客户端200中,以用于服务调用时实现基于多个子***接入的应用服务方法。
本发明的另一实施例提供一种基于多个子***接入的应用服务方法,应用于服务端,包括:
根据外部请求和预存储的接入文件生成请求协议并发送至待接入子***,外部请求包括请求参数;
获取待接入子***的响应值,并根据接入文件和响应值生成响应协议,响应值包括响应参数;
其中,接入文件为上文所述实施例的接入开发方法生成的。
在本实施例中,使得服务端能够利用在上述开发方法中生成的接入文件,完成服务端对各种子***的服务调用。该接入文件因为经由客户端利用解析插件,基于子***的接入协议自动解析形成表示接入协议的层次结构的逻辑结构的中间转换类中,并将请求参数和响应参数分别绑定在该中间转换类中而自动生成的,降低了服务端调用各个子***的服务的研发成本,节约人力成本,具有广泛的应用前景。
实现该应用服务方法的硬件***参照图7所示。图7示出了实现基于多个子***接入的应用服务方法的应用服务***与多个子***300-1、300-1、300-2、……、以及300-n之间作用关系的硬件架构。
本发明的实施例提供的应用服务***包括:接收用户操作的应用层101、以及接入待接入子***的接入层102,其中接入层被配置为:
根据应用层接收的用户操作的外部请求和预存储的接入文件生成请求协议;
根据待接入子***的接入协议和接收自所述待接入子***的响应值生成响应协议;
根据响应协议完成所述待接入子***的接入以使得应用层根据接收的用户操作调用待接入子***的应用服务,
其中,接入文件为上文所述的接入开发方法生成的。
在本实施例中,服务端能够基于用户操作,利用在上述开发方法中生成的接入文件,完成服务端对各种子***的服务调用。该接入文件因为经由客户端利用解析插件,基于子***的接入协议自动解析形成表示接入协议的层次结构的逻辑结构的中间转换类中,并将请求参数和响应参数分别绑定在该中间转换类中而自动生成的,降低了服务端调用各个子***的服务的研发成本,节约人力成本,具有广泛的应用前景。
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类;将请求转换类发送至待接入子***获取待接入子***的响应参数,并根据待接入子***的接入协议和响应参数生成待接入子***响应于外部服务端调用的响应转换类;根据请求转换类和响应转换类生成接入文件。
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:根据外部请求和预存储的接入文件生成请求协议并发送至待接入子***,外部请求包括请求参数;获取待接入子***的响应值,并根据接入文件和响应值生成响应协议,响应值包括响应参数;其中,接入文件为上文所述的接入开发方法生成的。
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
如图8所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图8显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
计算机设备12典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图8所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图8中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理器单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种多个子***接入的接入开发方法或者使基于多个子***接入的应用服务方法。
需要说明的是,本发明实施例提供的视线追踪方法步骤的先后顺序可以进行适当谓整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发费揭露的技术范围内,可轻易程到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
本发明针对目前现有的问题,制定一种多个子***接入的接入开发方法、装置和***、及介质,并通过根据外部服务端的请求参数和待接入子***的接入协议自动生成外部服务端调用待接入子***的请求转换类,根据待接入子***的接入协议和响应参数生成响应转换类,从而开发端能够自动生成接入文件,使得开发人员不再需要根据协议格式手动封装各种子***的复杂的类,降低了看法人员开发接口的工作量,同时降低了开发难度,大大提高开发效率,具有广泛的应用前景。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于本领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (11)
1.一种多个子***接入的接入开发方法,应用于开发端,其特征在于,包括:
根据外部服务端的请求参数和待接入子***的接入协议自动生成所述外部服务端调用所述待接入子***的请求转换类;
将所述请求转换类发送至所述待接入子***获取所述待接入子***的响应参数,并根据所述待接入子***的接入协议和所述响应参数生成所述待接入子***响应于外部服务端调用的响应转换类;
根据所述请求转换类和所述响应转换类生成接入文件。
2.根据权利要求1所述的接入开发方法,其特征在于,
所述根据外部服务端的请求参数和待接入子***的接入协议自动生成所述外部服务端调用所述待接入子***的请求转换类进一步包括:
对所述接入协议进行解析生成中间转换类;
采用反射方式对所述中间转换类进行逐行映射,确定所述请求参数在所述中间转换类中绑定的位置;以及
将所述请求参数绑定在所述位置中并编译生成所述请求转换类,所述根据所述待接入子***的接入协议和所述响应参数生成所述待接入子***响应于外部服务端调用的响应转换类进一步包括:
将所述响应参数绑定在所述位置中并编译生成所述响应转换类。
3.根据权利要求1所述的接入开发方法,其特征在于,
所述根据外部服务端的请求参数和待接入子***的接入协议自动生成所述外部服务端调用所述待接入子***的请求转换类进一步包括:
对所述接入协议进行解析生成所述中间转换类和所述中间转换类的注解文件,所述中间转换类还包括协议字符串,所述协议字符串以父标签的形式表征所述接入协议的层级结构;
利用所述注解文件基于所述中间转换类确定所述请求参数将绑定的位置;以及
将所述请求参数绑定在所述位置中并编译生成所述请求转换类,所述根据外部服务端的请求参数和待接入子***的接入协议自动生成所述外部服务端调用所述待接入子***的请求转换类进一步包括:
将所述响应参数绑定在所述位置中并编译以生成所述响应转换类。
4.根据权利要求2或3所述的接入开发方法,其特征在于,所述中间转换类包括嵌套的层级结构。
5.根据权利要求2或3所述的接入开发方法,其特征在于,基于DOM方法、SAX方法、以及STAX方法中的一种方法解析所述接入协议。
6.根据权利要求1所述的接入方法,其特征在于,当所述接入协议的格式为JSON格式时,在所述根据外部服务端的请求参数和待接入子***的接入协议自动生成所述外部服务端调用所述待接入子***的请求转换类之前,所述方法还包括:
将所述接入协议的格式转换为XML格式。
7.一种基于多个子***接入的应用服务方法,应用于服务端,其特征在于,包括:
根据服务请求和预存储的接入文件生成请求协议并发送至所述待接入子***,所述服务请求包括请求参数;
获取所述待接入子***的响应值,并根据所述接入文件和所述响应值生成响应协议,所述响应值包括响应参数;
其中,所述接入文件为权利要求1-6中任一项所述的接入开发方法生成的。
8.一种实现根据权利要求1-6中任一项所述的接入开发方法的接入开发装置,其特征在于,包括:
请求转换模块,根据外部服务端的请求参数和待接入子***的接入协议自动生成所述外部服务端调用所述待接入子***的请求转换类;
响应转换模块,根据所述待接入子***的接入协议和接收自所述待接入子***的响应参数生成所述待接入子***响应于外部服务端调用的响应转换类;以及
文件生成模块,根据所述请求转换类和所述响应转换类生成接入文件。
9.一种实现权利要求7所述的应用服务方法的应用服务***,其特征在于,包括接收用户操作的应用层、以及接入待接入子***的接入层,其中所述接入层被配置为:
根据所述应用层接收用户操作生成的外部请求和预存储的接入文件生成请求协议;
根据所述待接入子***的接入协议和接收自所述待接入子***的响应值生成响应协议;
根据所述响应协议完成所述待接入子***的接入以使得所述应用层根据接收的用户操作调用所述待接入子***的应用服务,
其中,所述接入文件为权利要求1-6中任一项所述的接入开发方法生成的。
10.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的方法或者如权利要求7所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,其中,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法或者如权利要求7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111132393.8A CN113778721A (zh) | 2021-09-27 | 2021-09-27 | 多个子***接入的接入开发方法、装置和***、及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111132393.8A CN113778721A (zh) | 2021-09-27 | 2021-09-27 | 多个子***接入的接入开发方法、装置和***、及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778721A true CN113778721A (zh) | 2021-12-10 |
Family
ID=78853557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111132393.8A Pending CN113778721A (zh) | 2021-09-27 | 2021-09-27 | 多个子***接入的接入开发方法、装置和***、及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778721A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213519A (zh) * | 2018-09-14 | 2019-01-15 | 北京数聚鑫云信息技术有限公司 | 一种异构api适配处理方法及*** |
CN110457144A (zh) * | 2019-08-05 | 2019-11-15 | 北京字节跳动网络技术有限公司 | 一种实现前端应用的方法、装置、介质和设备 |
CN110636071A (zh) * | 2019-09-26 | 2019-12-31 | 光大兴陇信托有限责任公司 | 一种接口对接方法 |
CN110891057A (zh) * | 2019-11-22 | 2020-03-17 | 北京启迪区块链科技发展有限公司 | 一种协议转换的方法、装置、设备及存储介质 |
CN111949419A (zh) * | 2020-07-17 | 2020-11-17 | 上海淇馥信息技术有限公司 | 一种跨环境资源获取方法、装置和电子设备 |
CN112507005A (zh) * | 2019-09-16 | 2021-03-16 | 北京京东振世信息技术有限公司 | 一种处理报文的方法和装置 |
CN112532564A (zh) * | 2019-09-17 | 2021-03-19 | ***通信集团广东有限公司 | 业务调用方法、装置及电子设备 |
CN112860239A (zh) * | 2021-03-15 | 2021-05-28 | 京东数科海益信息科技有限公司 | 一种数据类型转换方法、装置、电子设备及存储介质 |
CN112953892A (zh) * | 2021-01-26 | 2021-06-11 | 山东浪潮通软信息科技有限公司 | 第三方***的访问认证方法和装置 |
-
2021
- 2021-09-27 CN CN202111132393.8A patent/CN113778721A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213519A (zh) * | 2018-09-14 | 2019-01-15 | 北京数聚鑫云信息技术有限公司 | 一种异构api适配处理方法及*** |
CN110457144A (zh) * | 2019-08-05 | 2019-11-15 | 北京字节跳动网络技术有限公司 | 一种实现前端应用的方法、装置、介质和设备 |
CN112507005A (zh) * | 2019-09-16 | 2021-03-16 | 北京京东振世信息技术有限公司 | 一种处理报文的方法和装置 |
CN112532564A (zh) * | 2019-09-17 | 2021-03-19 | ***通信集团广东有限公司 | 业务调用方法、装置及电子设备 |
CN110636071A (zh) * | 2019-09-26 | 2019-12-31 | 光大兴陇信托有限责任公司 | 一种接口对接方法 |
CN110891057A (zh) * | 2019-11-22 | 2020-03-17 | 北京启迪区块链科技发展有限公司 | 一种协议转换的方法、装置、设备及存储介质 |
CN111949419A (zh) * | 2020-07-17 | 2020-11-17 | 上海淇馥信息技术有限公司 | 一种跨环境资源获取方法、装置和电子设备 |
CN112953892A (zh) * | 2021-01-26 | 2021-06-11 | 山东浪潮通软信息科技有限公司 | 第三方***的访问认证方法和装置 |
CN112860239A (zh) * | 2021-03-15 | 2021-05-28 | 京东数科海益信息科技有限公司 | 一种数据类型转换方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422778B2 (en) | Development environment for real-time dataflow programming language | |
KR101645052B1 (ko) | 디버깅 파이프라인 | |
US7010796B1 (en) | Methods and apparatus providing remote operation of an application programming interface | |
US9471282B2 (en) | System and method for using annotations to automatically generate a framework for a custom javaserver faces (JSF) component | |
US8423561B2 (en) | Method and system for simplifying object mapping for a user interface | |
US20080209395A1 (en) | Automatic code replacement | |
US20110022943A1 (en) | Document object model (dom) application framework | |
CN109062572B (zh) | 一种组件调用方法、装置、设备及存储介质 | |
CN111258563A (zh) | 一种接口文档的生成方法、装置、存储介质及电子设备 | |
CN110968305A (zh) | 小程序可视化生成方法、装置、设备及存储介质 | |
US8191041B2 (en) | Javascript pre-processing framework | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN111078228A (zh) | 网页到小程序的转换方法、装置、服务器及存储介质 | |
CN107239265B (zh) | Java函数与C函数的绑定方法及装置 | |
CN113778721A (zh) | 多个子***接入的接入开发方法、装置和***、及介质 | |
CN112363699B (zh) | 一种应用于多语言开发平台的交互方法及装置 | |
CN111399901B (zh) | 状态枚举类生成方法、装置、服务器及存储介质 | |
CN113791819A (zh) | 接口文档生成方法和装置、存储介质、电子设备 | |
US20080141218A1 (en) | Module facility for java script language | |
US8387007B2 (en) | Scripting bridge | |
CN114816385B (zh) | 一种异构***的集成方法、装置和设备以及存储介质 | |
CN117118962B (zh) | 用于跨多个云平台部署用户方法的方法和*** | |
CN117111904B (zh) | 用于将Web应用自动转换成无服务器函数的方法和*** | |
CN114691131A (zh) | 针对用户界面ui文件的框架代码文件生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |