CN107977200A - 一种软件开发系统及程序生成方法 - Google Patents

一种软件开发系统及程序生成方法 Download PDF

Info

Publication number
CN107977200A
CN107977200A CN201711363307.8A CN201711363307A CN107977200A CN 107977200 A CN107977200 A CN 107977200A CN 201711363307 A CN201711363307 A CN 201711363307A CN 107977200 A CN107977200 A CN 107977200A
Authority
CN
China
Prior art keywords
service
religious name
service side
conversion
source code
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
Application number
CN201711363307.8A
Other languages
English (en)
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.)
Guangdong Aladdin Network Technology Service Co Ltd
Original Assignee
Guangdong Aladdin Network Technology Service 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 Guangdong Aladdin Network Technology Service Co Ltd filed Critical Guangdong Aladdin Network Technology Service Co Ltd
Priority to CN201711363307.8A priority Critical patent/CN107977200A/zh
Publication of CN107977200A publication Critical patent/CN107977200A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及软件开发套件以及终端装置。本发明的包含Web服务接口的软件开发套件(SDK)由通信单元、转换表、逆转换单元、转换单元构成。通信单元向Web服务传送请求消息,并从Web服务接收应答消息。转换表将Web服务的转换源服务方法名与转换目标服务方法名对应起来保存。逆转换单元在与请求消息相关的数据中包含转换表中的转换目标服务方法名时将转换目标服务方法名转换成对应的转换源服务方法名。转换单元在与应答消息相关的数据中包含转换表中的转换源服务方法名时将转换源服务方法名转换为对应的转换目标服务方法名。由此,能够提供更加顺利地进行使用多个Web服务提供者的Web服务的扩展应用的开发。

Description

一种软件开发系统及程序生成方法
技术领域
本发明涉及软件开发领域,特别是涉及一种软件开发系统及程序生成方法。
背景技术
为了确保安全性,一般是禁止将私用计算机带入企业内部的。
但是,随着如智能电话等便携型的终端装置的普及,通过在特定的条件下解除所述禁止,来实现商业上的处理的效率化。
另一方面,由于每个云服务器的服务方式以及收费是不同的,因此存在用户利用多个云服务的情况。
在用户或者第三方供应商开发使用智能电话通过其 Web 服务远程控制公司内的图像形成装置、读出公司内的图像形成装置的设定信息、改变公司内的图像形成装置的设定信息的扩展应用、以及通过智能电话利用云服务的扩展应用的情况下,一般来说,由于每个 Web 服务提供者的服务方法名的命名规则都不同,因此妨碍了扩展应用开发的顺利性,成为程序错误增多、扩展应用的开发期间增长的原因。
这样的现象在如台式计算机等智能电话以外的终端装置中安装的扩展应用的开发中也同样发生。
发明内容
为实现上述目的,本发明采用如下技术方案:一种软件开发系统,其包含 Web 服务接口,所述软件开发套件包括 :通信单元,所述通信单元向 Web 服务传送请求消息,并从所述 Web 服务接收应答消息 ;转换表,所述转换表将所述 Web 服务的转换源服务方法名和转换目标服务方法名对应起来保存 ;逆转换单元,当与所述请求消息相关的数据中包含所述转换表中的转换目标服务方法名时,所述逆转换单元将所述转换目标服务方法名转换成对应的转换源服务方法名 ;以及转换单元,当与所述应答消息相关的数据中包含所述转换表中的转换源服务方法名时,所述转换单元将所述转换源服务方法名转换成对应的转换目标服务方法名;服务代理,所述服务代理从应用调用服务方法,并将所述应答消息返回给所述应用 ;转换器,所述转换器将所述服务方法的调用串行化并传递给所述通信单元 ;以及逆转换器,所述逆转换器从所述通信单元接收所述被串行化的所述应答消息并进行并行化,并传递给所述服务代理,所述转换单元以及所述逆转换单元都连接在所述服务代理与所述通信单元之间,或者所述服务代理与所述应用之间。
与所述请求消息相关的数据是所述被串行化了的请求消息,与所述应答消息相关的数据是所述被串行化了的应答消息,所述逆转换单元被连接在所述转换器与所述通信单元之间,所述转换单元被连接在所述逆转换器与所述通信单元之间。
所述服务代理是在与所述Web服务对应的Web服务描述语言文件通过所述转换单元之后使用 Web 服务描述语言工具生成的。
与所述请求消息相关的数据是所述串行化之前的服务方法的调用代码,与所述应答消息相关数据是所述并行化之后的返回值,所述转换单元以及所述逆转换单元都被连接在所述应用与所述服务代理之间。
一种基于计算机的软件开发程序生成方法,包括 :
a) 执行控制流分析来定位一个或多个源代码指令,每个源代码指令表示对象到目标程序变量的运行时赋值 ;
b) 分析所述一个或多个源代码指令中的每一个以确定对应于所述目标程序变量的至少一个候选类型 ;
c) 对于每个候选类型,确定与该类型相关联的一组类成员 ;
d) 聚集一组或多组类成员。
所述一个或多个源代码指令包括表示表达式到所述目标变量的运行时赋值的至少一个指令,确定至少一个候选类型包括分析所述表达式以确定对应于所述表达式的至少一个类型。
所述一个或多个源代码指令包括表示对目标变量的使用的至少一个指令,确定至少一个候选类型包括分析所述对目标变量的使用以确定至少一个对应的类型。
所述目标变量是程序功能的程序功能参数,所述一个或多个源代码指令包括对所述程序功能的调用,所述调用包括对应于所述程序功能参数的自变量,确定至少一个候选类型基于所述自变量的对象类型。
所述一个或多个源代码指令包括至少两个源代码指令,每个源代码指令表示对象到所述目标程序变量的相应的运行时赋值,每个对象具有与另一个对象不同的对应的对象类型,所述至少一个候选类型包括至少两个候选类型,聚集一组或多组类成员包括聚集对应于每个候选类型的至少一个类成员
本发明的实施方式涉及的包含Web服务接口的SDK由通信单元、转换表、逆转换单元、转换单元构成。所述通信单元向 Web 服务传送请求消息,并从所述 Web 服务接收应答消息。所述转换表将所述 Web 服务的转换源服务方法名与转换目标服务方法名对应起来保存。所述逆转换单元在与所述请求消息相关的数据中包含所述转换表中的转换目标服务方法名时将所述转换目标服务方法名转换成对应的转换源服务方法名。所述转换单元在与所述应答消息相关的数据中包含所述转换表中的转换源服务方法名时将所述转换源服务方法名转换成对应的转换目标服务方法名。
本发明的实施方式涉及的包含 Web 服务接口的终端装置由通信单元、转换表、逆转换单元、转换单元构成。所述通信单元向 Web 服务传送请求消息,并从所述 Web 服务接收应答消息。所述转换表将所述 Web 服务的转换源服务方法名与转换目标服务方法名对应起来保存。所述逆转换单元在与所述请求消息相关的数据中包含所述转换表中的转换目标服务方法名时将所述转换目标服务方法名转换成对应的转换源服务方法名。所述转换单元在与所述应答消息相关的数据中包含所述转换表中的转换源服务方法名时将所述转换源服务方法名转换成对应的转换目标服务方法名。
具体实施方式
本发明一实施例提供的一种一种软件开发系统,其包含 Web 服务接口,所述软件开发套件包括 :通信单元,所述通信单元向 Web 服务传送请求消息,并从所述 Web 服务接收应答消息 ;转换表,所述转换表将所述 Web 服务的转换源服务方法名和转换目标服务方法名对应起来保存 ;逆转换单元,当与所述请求消息相关的数据中包含所述转换表中的转换目标服务方法名时,所述逆转换单元将所述转换目标服务方法名转换成对应的转换源服务方法名 ;以及转换单元,当与所述应答消息相关的数据中包含所述转换表中的转换源服务方法名时,所述转换单元将所述转换源服务方法名转换成对应的转换目标服务方法名;服务代理,所述服务代理从应用调用服务方法,并将所述应答消息返回给所述应用 ;转换器,所述转换器将所述服务方法的调用串行化并传递给所述通信单元 ;以及逆转换器,所述逆转换器从所述通信单元接收所述被串行化的所述应答消息并进行并行化,并传递给所述服务代理,所述转换单元以及所述逆转换单元都连接在所述服务代理与所述通信单元之间,或者所述服务代理与所述应用之间。
与所述请求消息相关的数据是所述被串行化了的请求消息,与所述应答消息相关的数据是所述被串行化了的应答消息,所述逆转换单元被连接在所述转换器与所述通信单元之间,所述转换单元被连接在所述逆转换器与所述通信单元之间。
所述服务代理是在与所述Web服务对应的Web服务描述语言文件通过所述转换单元之后使用 Web 服务描述语言工具生成的。
与所述请求消息相关的数据是所述串行化之前的服务方法的调用代码,与所述应答消息相关数据是所述并行化之后的返回值,所述转换单元以及所述逆转换单元都被连接在所述应用与所述服务代理之间。
一种基于计算机的软件开发程序生成方法,包括 :
a) 执行控制流分析来定位一个或多个源代码指令,每个源代码指令表示对象到目标程序变量的运行时赋值 ;
b) 分析所述一个或多个源代码指令中的每一个以确定对应于所述目标程序变量的至少一个候选类型 ;
c) 对于每个候选类型,确定与该类型相关联的一组类成员 ;
d) 聚集一组或多组类成员。
所述一个或多个源代码指令包括表示表达式到所述目标变量的运行时赋值的至少一个指令,确定至少一个候选类型包括分析所述表达式以确定对应于所述表达式的至少一个类型。
所述一个或多个源代码指令包括表示对目标变量的使用的至少一个指令,确定至少一个候选类型包括分析所述对目标变量的使用以确定至少一个对应的类型。
所述目标变量是程序功能的程序功能参数,所述一个或多个源代码指令包括对所述程序功能的调用,所述调用包括对应于所述程序功能参数的自变量,确定至少一个候选类型基于所述自变量的对象类型。
所述一个或多个源代码指令包括至少两个源代码指令,每个源代码指令表示对象到所述目标程序变量的相应的运行时赋值,每个对象具有与另一个对象不同的对应的对象类型,所述至少一个候选类型包括至少两个候选类型,聚集一组或多组类成员包括聚集对应于每个候选类型的至少一个类成员
本发明的实施方式涉及的包含Web服务接口的SDK由通信单元、转换表、逆转换单元、转换单元构成。所述通信单元向 Web 服务传送请求消息,并从所述 Web 服务接收应答消息。所述转换表将所述 Web 服务的转换源服务方法名与转换目标服务方法名对应起来保存。所述逆转换单元在与所述请求消息相关的数据中包含所述转换表中的转换目标服务方法名时将所述转换目标服务方法名转换成对应的转换源服务方法名。所述转换单元在与所述应答消息相关的数据中包含所述转换表中的转换源服务方法名时将所述转换源服务方法名转换成对应的转换目标服务方法名。
本发明的实施方式涉及的包含 Web 服务接口的终端装置由通信单元、转换表、逆转换单元、转换单元构成。所述通信单元向 Web 服务传送请求消息,并从所述 Web 服务接收应答消息。所述转换表将所述 Web 服务的转换源服务方法名与转换目标服务方法名对应起来保存。所述逆转换单元在与所述请求消息相关的数据中包含所述转换表中的转换目标服务方法名时将所述转换目标服务方法名转换成对应的转换源服务方法名。所述转换单元在与所述应答消息相关的数据中包含所述转换表中的转换源服务方法名时将所述转换源服务方法名转换成对应的转换目标服务方法名。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种软件开发系统,其包含 Web 服务接口,其特征在于,所述软件开发套件包括 :通信单元,所述通信单元向 Web 服务传送请求消息,并从所述 Web 服务接收应答消息 ;转换表,所述转换表将所述 Web 服务的转换源服务方法名和转换目标服务方法名对应起来保存 ;逆转换单元,当与所述请求消息相关的数据中包含所述转换表中的转换目标服务方法名时,所述逆转换单元将所述转换目标服务方法名转换成对应的转换源服务方法名 ;以及转换单元,当与所述应答消息相关的数据中包含所述转换表中的转换源服务方法名时,所述转换单元将所述转换源服务方法名转换成对应的转换目标服务方法名;服务代理,所述服务代理从应用调用服务方法,并将所述应答消息返回给所述应用 ;转换器,所述转换器将所述服务方法的调用串行化并传递给所述通信单元 ;以及逆转换器,所述逆转换器从所述通信单元接收所述被串行化的所述应答消息并进行并行化,并传递给所述服务代理,所述转换单元以及所述逆转换单元都连接在所述服务代理与所述通信单元之间,或者所述服务代理与所述应用之间。
2.如权利要求 1所述的软件开发套件,其特征在于,与所述请求消息相关的数据是所述被串行化了的请求消息,与所述应答消息相关的数据是所述被串行化了的应答消息,所述逆转换单元被连接在所述转换器与所述通信单元之间,所述转换单元被连接在所述逆转换器与所述通信单元之间。
3.如权利要求 2所述的软件开发套件,其特征在于,所述服务代理是在与所述Web服务对应的Web服务描述语言文件通过所述转换单元之后使用 Web 服务描述语言工具生成的。
4.如权利要求 1 所述的软件开发套件,其特征在于,与所述请求消息相关的数据是所述串行化之前的服务方法的调用代码,与所述应答消息相关数据是所述并行化之后的返回值,所述转换单元以及所述逆转换单元都被连接在所述应用与所述服务代理之间。
5.一种基于计算机的软件开发程序生成方法,包括 :
a) 执行控制流分析来定位一个或多个源代码指令,每个源代码指令表示对象到目标程序变量的运行时赋值 ;
b) 分析所述一个或多个源代码指令中的每一个以确定对应于所述目标程序变量的至少一个候选类型 ;
c) 对于每个候选类型,确定与该类型相关联的一组类成员 ;
d) 聚集一组或多组类成员。
6.如权利要求 5 所述的基于计算机的方法,其特征在于,所述一个或多个源代码指令包括表示表达式到所述目标变量的运行时赋值的至少一个指令,确定至少一个候选类型包括分析所述表达式以确定对应于所述表达式的至少一个类型。
7.如权利要求 5 所述的基于计算机的方法,其特征在于,所述一个或多个源代码指令包括表示对目标变量的使用的至少一个指令,确定至少一个候选类型包括分析所述对目标变量的使用以确定至少一个对应的类型。
8.如权利要求 5 所述的基于计算机的方法,其特征在于,所述目标变量是程序功能的程序功能参数,所述一个或多个源代码指令包括对所述程序功能的调用,所述调用包括对应于所述程序功能参数的自变量,确定至少一个候选类型基于所述自变量的对象类型。
9.如权利要求 5 所述的基于计算机的方法,其特征在于,所述一个或多个源代码指令包括至少两个源代码指令,每个源代码指令表示对象到所述目标程序变量的相应的运行时赋值,每个对象具有与另一个对象不同的对应的对象类型,所述至少一个候选类型包括至少两个候选类型,聚集一组或多组类成员包括聚集对应于每个候选类型的至少一个类成员。
CN201711363307.8A 2017-12-18 2017-12-18 一种软件开发系统及程序生成方法 Pending CN107977200A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711363307.8A CN107977200A (zh) 2017-12-18 2017-12-18 一种软件开发系统及程序生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711363307.8A CN107977200A (zh) 2017-12-18 2017-12-18 一种软件开发系统及程序生成方法

Publications (1)

Publication Number Publication Date
CN107977200A true CN107977200A (zh) 2018-05-01

Family

ID=62006672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711363307.8A Pending CN107977200A (zh) 2017-12-18 2017-12-18 一种软件开发系统及程序生成方法

Country Status (1)

Country Link
CN (1) CN107977200A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080027963A1 (en) * 2006-07-31 2008-01-31 Junichi Hiwatashi Storage apparatus and program update method
CN101674255A (zh) * 2008-09-12 2010-03-17 北京东方通科技发展有限责任公司 一种企业服务总线的消息转发方法、服务器及其系统
CN102236551A (zh) * 2010-04-30 2011-11-09 微软公司 软件开发工具
CN102236550A (zh) * 2010-04-30 2011-11-09 微软公司 软件开发工具
CN103092602A (zh) * 2011-11-05 2013-05-08 京瓷办公信息系统株式会社 软件开发套件以及终端装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080027963A1 (en) * 2006-07-31 2008-01-31 Junichi Hiwatashi Storage apparatus and program update method
CN101674255A (zh) * 2008-09-12 2010-03-17 北京东方通科技发展有限责任公司 一种企业服务总线的消息转发方法、服务器及其系统
CN102236551A (zh) * 2010-04-30 2011-11-09 微软公司 软件开发工具
CN102236550A (zh) * 2010-04-30 2011-11-09 微软公司 软件开发工具
CN103092602A (zh) * 2011-11-05 2013-05-08 京瓷办公信息系统株式会社 软件开发套件以及终端装置

Similar Documents

Publication Publication Date Title
CN103246606B (zh) Esb平台的性能测试方法和系统
CN105095023B (zh) 一种云主机创建装置、方法和计算设备
US6920410B2 (en) Systems and methods for testing a network service
CN109710333A (zh) 寄宿应用的处理方法、设备及计算机可读存储介质
CN103092602A (zh) 软件开发套件以及终端装置
CN104683425B (zh) 丛集服务器部署方法以及使用该方法的装置
WO2020259081A1 (zh) 任务调度方法、装置、设备及计算机可读存储介质
CN110310100A (zh) 项目管理方法、装置、电子设备及存储介质
CN108536480A (zh) 输入法配置方法及相关产品
CN109545214A (zh) 基于语音交互系统的消息分发方法及装置
US10979515B1 (en) Resource discovery agent computing device, software application, and method
CN104503768A (zh) 一种应用程序编程接口调用方法及设备
CN108600255A (zh) Mock服务管理方法、装置、计算机设备以及存储介质
CN107977200A (zh) 一种软件开发系统及程序生成方法
US9537931B2 (en) Dynamic object oriented remote instantiation
CN106570699A (zh) 客户联系信息挖掘方法及服务器
CN109639918A (zh) 软电话通信方法、装置、设备及计算机可读存储介质
CN104869172B (zh) 异构系统下多应用的数据交互方法和数据交互系统
US10853225B2 (en) Control method, apparatus, and non-transitory computer-readable storage medium for generating data body adjusted to second program by converting data type of parameter of first program
US10581994B2 (en) Facilitating communication between an origin machine and a target machine
CN106790959A (zh) 一种信息发送的方法和移动终端
CN110532113A (zh) 信息处理方法、装置、计算机可读存储介质及电子设备
CN111740871A (zh) 一种数据采集方法及装置
CN109358915A (zh) 基于JavaScript脚本的本地资源调用方法
JP2007235901A (ja) 携帯電話機・pcからユーザーのホームページへユーザー固有の電話番号でアクセスを可能にした。

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180501