一种元数据驱动的REST风格应用开发方法与系统技术方案

技术编号:7192593 阅读:306 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种元数据驱动的REST风格应用开发方法与系统,方法通过模型转换器解析所述业务服务,并将业务服务转换成基于RMF的资源模型,读取资源模型并生成相应的REST服务的代码框架、客户端工具、测试用例框架、用户界面模板和API文档,形成系统测试用例,完善REST服务实现代码,直至系统测试用例通过,实现REST服务的通用性,扩展了其应用范围。系统包括资源元数据框架、模型转换器、代码生成器和服务引擎;通过统一元数据管理框架,规范了REST服务的定义,提高服务一致性和可维护性,对REST服务元数据进行抽象,遵循流行的编程风格,易于开发人员学习和掌握,使系统可复用性和自动化程度提高,能够有效的支持现代敏捷软件开发过程。

【技术实现步骤摘要】

本专利技术涉及一种模型驱动的软件开发技术,适用于REST风格的SOA系统架构,特别是一种元数据驱动的REST风格应用开发方法与系统
技术介绍
表征状态转移(Itepresentational State Transfer,简称 REST)是 RoyFielding 博士在2000年他的博士论文中提出来的一种软件架构风格。因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。尽管近年出现了一些REST风格的应用开发的技术和标准(例如JAX-RS, Restlet, WSDL 2. 0,WADL等),但仍然缺乏系统的方法与工具,且REST风格应用的开发效率较低、软件模块的可复用性差。当今REST风格应用开发的主要问题包括(I)REST服务的定义没有正式的规范,随着软件的增长,难以维护API的一致性。 现有标准(如WSDL 2. 0,WADL)依赖于XML,开发工具也比较有限。(2)REST服务编程风格多样,学习和维护成本高。例如,基于Java语言的编程框架就有 Restlet,Apache CXF, Wink, Jersey 等。(3)缺乏系统性的工具和方法支持软件设计、编码、测试、文档化整个过程,尤其无法满足现代敏捷软件开发过程的需要。
技术实现思路
专利技术目的本专利技术的目的在于针对上述现有技术中存在的问题和不足提供一种提高REST风格应用的开发效率和软件模块可复用性的元数据驱动的REST风格应用开发方法与系统。技术方案一种元数据驱动的REST风格应用开发方法,包括如下步骤(1)分析应用需求并通过设计或编程语言定义业务服务;(2)通过模型转换器解析所述业务服务,并将业务服务转换成基于RMF的资源模型;(3)通过代码生成器读取步骤(2)中的资源模型并生成相应的REST服务的代码框架、客户端工具、测试用例框架、用户界面模板和API文档;(4)填充所述测试用例框架,通过机器语言编写测试逻辑,将测试用例框架填充为系统测试用例;(5)运行系统测试用例,此时因REST服务实现代码未完成,系统测试用例不通过;(6)完善REST服务实现代码,直至系统测试用例通过;(7)重复上述(1)至(6)步骤,直至所有REST服务的功能实现并测试通过。上述方法通过模型转换器解析所述业务服务,并将业务服务转换成基于RMF的资源模型,然后读取资源模型并生成相应的REST服务的代码框架、客户端工具、测试用例框架、用户界面模板和API文档,形成系统测试用例,实现REST服务的通用性,扩展了其应用范围。所述业务服务为Java、C++或UML编程语言定义的业务服务。所述REST服务包括元数据服务、通用功能服务和定制业务服务。步骤⑷中所述机器语言为Java。所述系统测试用例包括REST兼容性行测试、通用功能测试、定制业务逻辑测试。一种实现上述方法的元数据驱动的REST风格应用开发系统,包括资源元数据框架、模型转换器、代码生成器和服务引擎;所述资源元数据框架用于提供资源模型互操作的元数据服务,包括对资源类型、资源关系、资源属性、远程调用接口的操作服务;所述模型转换器用于将编程语言定义的业务服务转换成基于RMF的资源模型,并将资源模型发送给代码生成器;所述代码生成器用于将资源模型生成服务端代码框架、客户端工具、测试用例框架、用户界面模板和API文档;所述服务引擎为部署服务端代码的运行环境,用于提供基于 HTTP协议的远程调用接口 ;所述测试引擎用于执行系统测试用例的运行环境。通过统一元数据管理框架,规范了 REST服务的定义,提高了服务一致性和可维护性。系统基于现代面向对象的设计与编程(00D/00P)方法与工具实现,实用性高;易于扩展,可用于支持现有的开放标准,如WSDL 2.0和WADL。其并未引入新的规范,而是对REST 服务元数据进行抽象,遵循流行的编程风格(例如JAX-RS),易于开发人员学习和掌握,使系统可复用性和自动化程度提高,能够有效的支持现代敏捷软件开发过程。有益效果本专利技术提供的元数据驱动的REST风格应用开发方法,实现REST服务的通用性,扩展了其应用范围。本专利技术提供的元数据驱动的REST风格应用开发系统通过统一元数据管理框架,规范了 REST服务的定义,提高了服务一致性和可维护性,易于开发人员学习和掌握,使系统可复用性和自动化程度提高,能够有效的支持现代敏捷软件开发过程。附图说明图1为本专利技术元数据驱动的REST风格应用开发系统实施例的工作原理图;图2为本专利技术元数据驱动的REST风格应用开发系统实施例中REST服务交互编程接口 ;图3为本专利技术元数据驱动的REST风格应用开发系统实施例中的资源元数据框架;图4为本专利技术元数据驱动的REST风格应用开发系统实施例中的基于EMF的模型转换器的结构框图。具体实施例方式下面结合附图和具体实施例,进一步阐明本专利技术,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。一种元数据驱动的REST风格应用开发方法,包括如下步骤(1)分析应用需求并通过Java编程语言定义业务服务;(2)通过模型转换器解析所述业务服务,并将业务服务转换成基于RMF的资源模型;(3)通过代码生成器读取步骤( 中的资源模型并生成相应的REST服务的代码框架、客户端工具、测试用例框架、用户界面模板和API文档,其中REST服务包括元数据服务、 通用功能服务和定制业务服务;(4)填充测试用例框架,通过Java编程语言编写测试逻辑,将测试用例框架填充为系统测试用例,其中系统测试用例包括REST兼容性行测试、通用功能测试、定制业务逻辑测试;(5)运行系统测试用例,此时因服务实现代码未完成,系统测试用例不通过;(6)完善服务实现代码,直至测试用例通过;(7)重复上述(1)至(6)步骤,直至所有REST服务的功能实现并测试通过。如图1所示,一种实现上述方法的元数据驱动的REST风格应用开发系统,包括资源元数据框架、模型转换器、代码生成器和服务引擎;所述资源元数据框架用于提供资源模型互操作的元数据服务,包括对资源类型、资源关系、资源属性、远程调用接口的操作服务; 所述模型转换器用于将编程语言定义的业务服务转换成基于RMF的资源模型,并将资源模型发送给代码生成器;所述代码生成器用于将资源模型生成服务端代码框架、客户端工具、 测试用例框架、用户界面模板和API文档;所述服务引擎为部署服务端代码的运行环境,用于提供基于HTTP协议的远程调用接口 ;所述测试引擎用于执行系统测试用例的运行环境。REST风格的客户端/服务器交互实为资源表述形式的转换。本系统对REST服务交互模式进行抽象,分离出HTTP/REST相关的资源库(Itepository)、资源(Resource)、请求 (Request)、响应(Response)、读写转换器(Reader 和 Writer)、状态变量(Variant),如图 2 所示。资源模型用图3所示的资源元数据框架(RMF)描述。网络上的任何事物都可以被抽象为资源(Resource),每个资源对应一个唯一的资源标识(URI),本文档来自技高网...

【技术保护点】
1.一种元数据驱动的REST风格应用开发方法,其特征在于,包括如下步骤:(1)分析应用需求并通过设计或编程语言定义业务服务;(2)通过模型转换器解析所述业务服务,并将业务服务转换成基于RMF的资源模型;(3)通过代码生成器读取步骤(2)中的资源模型并生成相应的REST服务的代码框架、客户端工具、测试用例框架、用户界面模板和API文档;(4)填充所述测试用例框架,通过机器语言编写测试逻辑,将测试用例框架填充为系统测试用例;(5)运行系统测试用例,此时因服务实现代码未完成,系统测试用例不通过;(6)完善REST服务实现代码,直至系统测试用例通过;(7)重复上述(1)至(6)步骤,直至所有REST服务的功能实现并测试通过。

【技术特征摘要】

【专利技术属性】
技术研发人员:范同祥艾顺刚田传武盛弘
申请(专利权)人:镇江睿泰信息科技有限公司
类型:发明
国别省市:32

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

1