构件化系统中实现调用RESTful服务的方法技术方案

技术编号:14117456 阅读:110 留言:0更新日期:2016-12-08 00:50
本发明专利技术涉及一种构件化系统中实现调用RESTful服务的方法,所述的构件化软件系统中包括图形化构件开发平台和与该图形化构件开发平台相连接的构件运行平台,其中该方法包括RESTful调用构件开发处理操作和RESTful调用构件运行处理操作。采用该种结构的构件化系统中实现调用RESTful服务的方法,使RESTful的开发、调用过程更加直观、简单和高效,快捷方便,系统运行效率较高,性能稳定可靠,降低了开发维护的成本;同时增强了系统可移植性和可扩展性;还能够快速回应业务需求的变化和技术变化,能够支撑建立高度模块化而且又高度整合的软件系统,适用范围较为广泛,为计算机构件化软件技术的进一步发展奠定了坚实的基础。

【技术实现步骤摘要】

本专利技术涉及计算机软件
,尤其涉及构件化软件系统
,具体是指一种构件化系统中实现调用RESTful服务的方法
技术介绍
随着现代社会科学技术的发展,计算机系统已经成为各行各业所不可缺少的工具,而在其中起着核心作用的,则是计算机软件系统。随着软件系统在各行各业的日益渗透,商业系统的日益庞大,其自身的问题也是越来越严重。现在的一个企业应用,常常会涉及企业的每一个部分,会由几十人编写几十万到几百万行代码来完成。另一方面,现代企业是在一个不断变化的动态环境中生存和发展的,因此,企业应用就需要不断地维护——即部分地改写一些现有软件。由几十万上百万的代码变化因子,组成的不断变化的系统,其复杂度是人类历史上没有见过的。软件的安全性和质量可靠性,常常成为现代无所不在、无所不能的信息化系统的一个严重问题。构件技术整合了传统的构件技术、模型驱动技术和面向服务技术,是解决现有软件系统结构弊端的一种有效手段。所谓构件,是指某种自成一体、并有一个(或一组)清晰接口的软件。同时,构件还应具有清晰的运行时和上线内涵。也就是说,该构件具备可供运行时访问的接口;并且,在软件开发生命周期的某个时间点,该构件可独立交付和安装。另外,一个构件还能方便地跟其他构件合并或组合,从而提供有用的功能——通常情况下,单个构件只有跟别的构件协同工作才能达到其功效。在企业级应用开发领域,随着应用规模的不断扩大,各个系统之间的集成和交互变得越来越复杂,要求也越来越高。RESTful(英文:Representational State Transfer,简称REST,REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful)由于其特有的平台无关、编程语言无关、结构清晰、易于理解、扩展方便等特性,正在被越来越多的厂商使用。如何方便的调用外部系统提供的RESTful,在系统的集成阶段变得日益重要。通常调用外部RESTful的作法为根据服务提供方的文档,熟悉服务的URL,参数及返回值,然后通过httpclient或者其他http客户端工具凑出调用服务的http协议,最后发起服务调用。此种方式要求开发人员熟悉服务调用的具体细节,需要根据服务doc文档凑出具体的http协议以及具体需要发送的内容,代码编写非常复杂,难以理解,容易出错,且编写效率非常低。如果服务端将服务进行调整,例如增加了一个简单的参数,则要求开发人员重新凑出新的报文,重新进行调用。同时,针对每个RESTful调用,都要重新拼凑调用服务的http报文,大量复杂繁琐的代码随着系统功能的增加而增加,系统越来越复杂,维护越来越困难,降低了生产效率。
技术实现思路
本专利技术的目的是克服了上述现有技术的缺点,提供了一种能够实现通过构件对外部RESTful进行调用、开发期直观形象、快捷方便、运行期效率较高、系统性能稳定可靠、适用范围较为广泛的构件化系统中实现调用RESTful服务的方法。为了实现上述目的,本专利技术具有如下构成:该构件化系统中实现调用RESTful服务的方法,其主要特点是,所述的方法包括RESTful调用构件开发处理操作和RESTful调用构件运行处理操作,所述的RESTful调用构件开发处理操作包括以下步骤:(A1)系统的图形化构件开发平台新建构件包;(A2)所述的图形化构件开发平台导入需要调用服务的OADF服务描述文件;(A3)所述的图形化构件开发平台解析导入的OADF文件成RESTful文档对象;(A4)所述的图形化构件开发平台根据RESTful文档对象描述数据对象自动生成所有的数据模型java文件;(A5)所述的图形化构件开发平台在资源树中概览显示所导入的OADF文件中的RESTful相关元素;(A6)所述的图形化构件开发平台在构件编辑器中生成RESTful调用图元;(A7)所述的图形化构件开发平台对RESTful调用图元设置调用参数;(A8)所述的图形化构件开发平台添加Http头信息;所述的RESTful调用构件运行处理操作,包括以下步骤:(B1)系统将构件包下的资源部署到所述的构件运行平台的构件运行环境中;(B2)所述的构件运行平台加载OADF文件到构件运行环境,并解析OADF文件形成RESTful文档对象;(B3)所述的构件运行平台编译数据模型java文件到class文件,并将class文件加载到构件运行环境;(B4)所述的构件运行平台根据RESTful文档对象及用户设置调用方法、参数及返回值发送RESTful请求;(B5)所述的构件运行平台处理RESTful返回值;(B6)所述的构件运行平台解析并返回Http头信息。较佳地,所述的构件包包括实现构件功能的所有依赖资源,所述的依赖资源包括OADF文件和运行需要的数据模型类文件。较佳地,所述的步骤(A2),包括以下步骤:(A2-1)所述的图形化构件开发平台根据外部RESTful服务所在的URL,把该URL所指定的OADF文件下载到本地;(A2-2)所述的图形化构件开发平台将下载的OADF文件默认保存到构件包资源树下的服务节点下。较佳地,所述的步骤(A3),包括以下步骤:(A3-1)所述的图形化构件开发平台将根据RESTful文档对象的definitions数组元素生成java文件;(A3-2)所述的图形化构件开发平台遍历RESTful文档对象的definitions数组所有元素,得到数据模型的schema描述对象;(A3-3)所述的图形化构件开发平台判断数据模型描述对象是否为object类型,如果是object类型,则直接创建一个以数组名为名称的java文件,java文件里面的成员变量则根据properties属性信息生成;(A3-4)所述的图形化构件开发平台获取数据模型描述对象的properties属性,获得数据模型描述对象的属性;(A4-4)所述的图形化构件开发平台获取数据模型描述对象的属性后,判断属性的类型,如果类型为基本数据类型,则直接生成javabean的基本数据类型属性;(A4-5)所述的图形化构件开发平台判断数据模型描述对象的属性类型为date类型,则生成javabean的date类型属性;(A4-6)所述的图形化构件开发平台判断数据模型描述对象的属性类型为引用类型,则生成javabean的引用类型属性;(A4-7)所述的图形化构件开发平台判断数据模型描述对象的属性类型为数组类型,则生成javabean的ArrayList类型属性,同时ArrayList元素类型判断和属性类型判断逻辑一致。较佳地,所述的步骤(A5)包括以下步骤:(A5-1)所述的图形化构件开发平台解析OADF文件中的paths节点下内容,展示paths节点下所有的服务URL;(A5-2)所述的图形化构件开发平台将paths节点解析成json文档对象;(A5-3)所述的图形化构件开发平台遍历json文档对象所有的属性值,该属性值作为服务的URL;(A5-4)将解析后的服务信息显示在OADF资源树下的服务节点下。较佳地,所述的步骤(A6)包括以下步骤:(A6-1)在资源树中OADF节点的子节点服务节点列出服务下所有可以被调用的服务URL,所述的图形化构件开发平台根据用户的拖放动作将相应的操作拖放到构件编辑器本文档来自技高网
...
构件化系统中实现调用RESTful服务的方法

【技术保护点】
一种构件化系统中实现调用RESTful服务的方法,其特征在于,所述的方法包括RESTful调用构件开发处理操作和RESTful调用构件运行处理操作,所述的RESTful调用构件开发处理操作包括以下步骤:(A1)系统的图形化构件开发平台新建构件包;(A2)所述的图形化构件开发平台导入需要调用服务的OADF服务描述文件;(A3)所述的图形化构件开发平台解析导入的OADF文件成RESTful文档对象;(A4)所述的图形化构件开发平台根据RESTful文档对象描述数据对象自动生成所有的数据模型java文件;(A5)所述的图形化构件开发平台在资源树中概览显示所导入的OADF文件中的RESTful相关元素;(A6)所述的图形化构件开发平台在构件编辑器中生成RESTful调用图元;(A7)所述的图形化构件开发平台对RESTful调用图元设置调用参数;(A8)所述的图形化构件开发平台添加Http头信息;所述的RESTful调用构件运行处理操作,包括以下步骤:(B1)系统将构件包下的资源部署到构件运行平台的构件运行环境中;(B2)所述的构件运行平台加载OADF文件到构件运行环境,并解析OADF文件形成RESTful文档对象;(B3)所述的构件运行平台编译数据模型java文件到class文件,并将class文件加载到构件运行环境;(B4)所述的构件运行平台根据RESTful文档对象及用户设置调用方法、参数及返回值发送RESTful请求;(B5)所述的构件运行平台处理RESTful返回值;(B6)所述的构件运行平台解析并返回Http头信息。...

【技术特征摘要】
1.一种构件化系统中实现调用RESTful服务的方法,其特征在于,所述的方法包括RESTful调用构件开发处理操作和RESTful调用构件运行处理操作,所述的RESTful调用构件开发处理操作包括以下步骤:(A1)系统的图形化构件开发平台新建构件包;(A2)所述的图形化构件开发平台导入需要调用服务的OADF服务描述文件;(A3)所述的图形化构件开发平台解析导入的OADF文件成RESTful文档对象;(A4)所述的图形化构件开发平台根据RESTful文档对象描述数据对象自动生成所有的数据模型java文件;(A5)所述的图形化构件开发平台在资源树中概览显示所导入的OADF文件中的RESTful相关元素;(A6)所述的图形化构件开发平台在构件编辑器中生成RESTful调用图元;(A7)所述的图形化构件开发平台对RESTful调用图元设置调用参数;(A8)所述的图形化构件开发平台添加Http头信息;所述的RESTful调用构件运行处理操作,包括以下步骤:(B1)系统将构件包下的资源部署到构件运行平台的构件运行环境中;(B2)所述的构件运行平台加载OADF文件到构件运行环境,并解析OADF文件形成RESTful文档对象;(B3)所述的构件运行平台编译数据模型java文件到class文件,并将class文件加载到构件运行环境;(B4)所述的构件运行平台根据RESTful文档对象及用户设置调用方法、参数及返回值发送RESTful请求;(B5)所述的构件运行平台处理RESTful返回值;(B6)所述的构件运行平台解析并返回Http头信息。2.根据权利要求1所述的构件化系统中实现调用RESTful服务的方法,其特征在于,所述的构件包包括实现构件功能的所有依赖资源,所述的依赖资源包括OADF文件和运行需要的数据模型类文件。3.根据权利要求1所述的构件化系统中实现调用RESTful服务的方法,其特征在于,所述的步骤(A2),包括以下步骤:(A2-1)所述的图形化构件开发平台根据外部RESTful服务所在的URL,把该URL所指定的OADF文件下载到本地;(A2-2)所述的图形化构件开发平台将下载的OADF文件默认保存到构件包资源树下的服务节点下。4.根据权利要求1所述的构件化系统中实现调用RESTful服务的方法,其特征在于,所述的步骤(A3),包括以下步骤:(A3-1)所述的图形化构件开发平台将根据RESTful文档对象的definitions数组元素生成java文件;(A3-2)所述的图形化构件开发平台遍历RESTful文档对象的definitions数组所有元素,得到数据模型的schema描述对象;(A3-3)所述的图形化构件开发平台判断数据模型描述对象是否为object类型,如果是object类型,则直接创建一个以数组名为名称的java文件,java文件里面的成员变量则根据properties属性信息生成;(A3-4)所述的图形化构件开发平台获取数据模型描述对象的properties属性,获得数据模型描述对象的属性;(A4-4)所述的图形化构件开发平台获取数据模型描述对象的属性后,判断属性的类型,如果类型为基本数据类型,则直接生成javabean的基本数据类型属性;(A4-5)所述的图形化构件开发平台判断数据模型描述对象的属性类型为date类型,则生成javabean的date类型属性;(A4-6)所述的图形化构件开发平台判断数据模型描述对象的属性类型为引用类型,则生成javabean的引用类型属性;(A4-7)所述的图形化构件开发平台判断数据模型描述对象的属性类型为数组类型,则生成javabean的ArrayList类型属性,同时ArrayList元素类型判断和属性类型判断逻辑一致。5.根据权利要求1所述的构件化系统中实现调用RESTful服务的方法,其特征在于,所述的步骤(A5)包括以下步骤:(A5-1)所述的图形...

【专利技术属性】
技术研发人员:杨勇
申请(专利权)人:普元信息技术股份有限公司
类型:发明
国别省市:上海;31

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

1