应用开发方法及装置与流程

文档序号:17705355发布日期:2019-05-21 20:47阅读:148来源:国知局
应用开发方法及装置与流程

本发明涉及通信技术领域,尤其涉及应用开发方法及装置。



背景技术:

目前用Java开发的分布式应用,绝大部分都是基于EJB(Enterprise Java Bean,企业级对象)和Spring(应用程序框架)这两种技术当中的一种,它们在开发分布式应用各有各的优点。

1、EJB在并发处理、事务处理、分布式能力、生命周期管理等方面有着天然的优势。并发处理:EJB容器本身就支持线程池、EJB实例池,可从容地应对分布式系统的并发问题;事务处理:EJB的看家本领,目前主流应用服务器都内置分布式事务处理模块;分布式能力:EJB本身是基于RMI-IIOP协议,自然就具有分布式能力,尤其是需要Web(网页)层和应用层分开部署的场景;生命周期管理:EJB组件生命周期通过EJB容器来管理,不需要开发人员做任何参与。

2、Spring在IoC(Inversion of Control,控制反转)容器、AOP(Aspect Oriented Programming,面向切面编程)能力、基于POJO(Plain Ordinary Java Object,简单的Java对象)、集成第三方框架等方面则显得非常强势。IoC容器:Spring天生就是一个IoC容器,尤其是Spring 2.5以后的版本,可以完全用注解方式进行注入,在开发上要简单很多;AOP能力:AOP方面,如果您需要彻底的AOP,并且在Spring中集成了AspectJ(一个面向切面的框架),那么EJB自然无法比拟;基于POJO:可以基于POJO的方式开发Service(服务),相对于EJB组件,显得非常轻量;集成第三方框架:Spring是一站式应用程序框架,可以很方便的与第三方框架集成。

上述两者开发应用的方式下,均有不同的缺点。在EJB方式下的IoC容器、AOP能力、基于POJO集成第三方框架等方面较弱;在Spring方式下并发处理、事务处理、分布式能力、生命周期管理等方面较弱。因此,在基于上述其中之一的方式下完成应用开发,无法有效保证能够完整、准确地完成应用开发,使得应用开发的体验效果较低。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种应用开发方法及装置,旨在解决无法有效保证能够完整、准确地完成应用开发,使得应用开发的体验效果较低的问题。

为实现上述目的,本发明提供一种应用开发方法,包括以下步骤:

在接收到应用开发的业务请求后,调用EJB数据包,并根据所述EJB数据包获取服务上下文文件及初始化所述业务请求对应的执行环境;

在所述初始化后的执行环境下根据所述服务上下文文件,获取Spring数据包,并根据所述Spring数据包确定所述业务请求对应的服务以及所述服务对应的执行方法;

按照所述执行方法完成所述服务,并反馈服务完成结果。

优选地,所述在所述初始化后的执行环境下根据所述服务上下文文件,获取Spring数据包的步骤之前,还包括:

确定与服务完成有关的信息,所述信息包括数据访问对象及/或工具类;

根据所确定的信息构建Spring数据包。

优选地,所述根据所确定的信息构建Spring数据包的步骤之后,还包括:

将所述Spring数据包存储并获取所述存储路径;

将所述存储路径添加至服务上下文文件中。

优选地,所述调用EJB数据包的步骤包括:

通过Java反射得到类方法名和与类方法名相关的参数;

根据所述类方法名和与类方法名相关的参数调用EJB数据包。

优选地,所述按照所述执行方法完成所述服务,并反馈服务完成结果的步骤之后,还包括:

在所述服务执行失败时,通过业务应用程序接口进行业务服务的回滚操作。

此外,为实现上述目的,本发明还进一步提供一种应用开发装置,包括:

调用模块,用于在接收到应用开发的业务请求后,调用EJB数据包;

获取模块,用于根据所述EJB数据包获取服务上下文文件及初始化所述业务请求对应的执行环境;还用于在所述初始化后的执行环境下根据所述服务上下文文件,获取Spring数据包;

处理模块,用于根据所述Spring数据包确定所述业务请求对应的服务以及所述服务对应的执行方法;

执行模块,用于按照所述执行方法完成所述服务,并反馈服务完成结果。

优选地,所述应用开发装置还包括:

确定模块,用于确定与服务完成有关的信息,所述信息包括数据访问对象及/或工具类;

构建模块,用于根据所确定的信息构建Spring数据包。

优选地,所述应用开发装置还包括:

存储模块,用于将所述Spring数据包存储并获取所述存储路径;

所述处理模块,还用于将所述存储路径添加至服务上下文文件中。

优选地,所述调用模块包括得到单元和调用单元,

所述得到单元,用于通过Java反射得到类方法名和与类方法名相关的参数;

所述调用单元,用于根据所述类方法名和与类方法名相关的参数调用EJB数据包。

优选地,所述执行模块,还用于在所述服务执行失败时,通过业务应用程序接口进行业务服务的回滚操作。

本发明通过将EJB和Spring两者相结合起来完成应用开发的业务服务。通过将EJB和Spring两者相结合起来完成应用开发的业务服务。实现有效避免在EJB方式下的IoC容器、AOP能力、基于POJO集成第三方框架等方面较弱;在Spring方式下并发处理、事务处理、分布式能力、生命周期管理等方面较弱;无法有效保证能够完整、准确地完成应用开发,使得应用开发的体验效果较低的问题。的问题。有效确保能够完整、准确地完成应用开发,提高了应用开发的体验效果。

附图说明

图1为本发明应用开发方法的第一实施例的流程示意图;

图2为图1中步骤S10一实施例的细化流程示意图;

图3为图1中步骤S20一实施例的细化流程示意图;

图4为本发明应用开发方法的第二实施例的流程示意图;

图5为本发明应用开发装置的较佳实施例的功能模块示意图;

图6为图1中调用模块一实施例的细化功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:在接收到应用开发的业务请求后,调用EJB数据包,并根据所述EJB数据包获取服务上下文文件及初始化所述业务请求对应的执行环境;在所述初始化后的执行环境下根据所述服务上下文文件,获取Spring数据包,并根据所述Spring数据包确定所述业务请求对应的服务以及所述服务对应的执行方法;按照所述执行方法完成所述服务,并反馈服务完成结果。通过将EJB和Spring两者相结合起来完成应用开发的业务服务。实现有效避免在EJB方式下的IoC容器、AOP能力、基于POJO集成第三方框架等方面较弱;在Spring方式下并发处理、事务处理、分布式能力、生命周期管理等方面较弱;无法有效保证能够完整、准确地完成应用开发,使得应用开发的体验效果较低的问题。有效确保能够完整、准确地完成应用开发,提高了应用开发的体验效果。

由于现有的应用开发中只能使用EJB或Spring中的一种,在EJB方式下的IoC容器、AOP能力、基于POJO集成第三方框架等方面较弱;在Spring方式下并发处理、事务处理、分布式能力、生命周期管理等方面较弱。因此,在基于上述其中之一的方式下完成应用开发,无法有效保证能够完整、准确地完成应用开发,使得应用开发的体验效果较低。

基于上述问题,本发明提供一种应用开发方法。

参照图1,图1为本发明应用开发方法的第一实施例的流程示意图。

在一实施例中,所述应用开发方法包括:

步骤S10,在接收到应用开发的业务请求后,调用EJB数据包,并根据所述EJB数据包获取服务上下文文件及初始化所述业务请求对应的执行环境;

所述EJB数据包可以是EJB组件(例如,EJB实例),所述EJB组件包括Service Skeleton Bean(服务框架对象),类似于Service Context(服务上下文文件)的池,通过published-services.xml来指定其所包含的Service Context。作为Service Context的池,Skeleton Ben自然是Service的容器。因此,它成为了Service的运行和部署单位,为Service提供生命周期、并发、实务等容器应有的服务支持。Service的发布和调用显然也是通过Skeleton Ben完成。Service Client(服务客户端)要访问Service必须通过Skeleton Ben(服务对象)的调用。

用户在需要开发应用时,通过Service Client发出应用开发的业务请求,在接收到应用开发的业务请求后,调用EJB数据包。所述EJB数据包包括创建的EJB实例,在掉用EJB数据包时,调用EJB实例。

具体的,参考图2,所述调用EJB数据包的过程包括:

步骤S11,通过Java反射机制得到类方法名和与类方法名相关的参数;

在接收到业务请求后,通过Service Client Factory(服务客户端集群)获得Service Client的一个stub(存根),利用Java反射机制,得到Service的一个代理对象,并得到所述代理对象的相关参数。

步骤S12,根据所述类方法名和与类方法名相关的参数调用EJB数据包。

在所述类方法名和与类方法名相关的参数后,确定所述类方法名和与类方法名相关的参数对应的EJB数据包,根据所述类方法名和与类方法名相关的参数调用EJB数据包。

在调用EJB数据包后,根据所述EJB数据包获取服务上下文文件及初始化所述业务请求对应的执行环境,即根据EJB实例获取上下文文件及初始化所述业务请求对应的执行环境。

提前构建服务上下文文件,具体的,参考图3,所述构建服务上下文文件的过程可以包括:

步骤S21,确定与服务完成有关的信息,所述信息包括数据访问对象及/或工具类;

步骤S22,根据所确定的信息构建Spring数据包;

Spring完成业务服务依赖与DAO(数据访问对象)、各种工具类等对象,通过Spring IoC将这些复杂依赖关系和初始化逻辑写入Spring数据包,即写入配置文件,配置为可扩展标记语言XML文本。所述Spring数据包为Spring Service Bean。

步骤S23,将所述Spring数据包存储并获取所述存储路径;

步骤S24,将所述存储路径添加至服务上下文文件中。

服务上下文文件是分布式服务框架的一个基础单元,负责管理Spring配置文件,即管理Spring数据包,利用其构建函数,将所述Spring数据报的路径指明即可。具体的,将所述Spring数据包存储并获取所述存储路径;将所述存储路径添加至服务上下文文件中。在完成服务时,可以通过服务上下文文件中包括的Spring数据包的路径获取到Spring数据包。

步骤S20,在所述初始化后的执行环境下根据所述服务上下文文件,获取Spring数据包,并根据所述Spring数据包确定所述业务请求对应的服务以及所述服务对应的执行方法;

在获取到服务上下文文件,并初始化所述业务请求对应的执行环境后,在所述初始化后的执行环境下调用所述服务上下文文件,根据所述服务上下文文件获取Spring数据包,进一步地,根据所述服务上下文文件中包括的Spring数据包的存储路径,到所述存储路径获取到Spring数据包。根据所述Spring数据包确定所述业务请求对应的服务以及所述服务对应的执行方法,即需要通过哪个或哪种执行方法完成所述业务请求对应的服务。

步骤S30,按照所述执行方法完成所述服务,并反馈服务完成结果。

在确定所述业务请求对应的执行方法后,按照所述执行方法完成所述业务请求对应的服务,并反馈完成结果,即通过预设方式向所述Service Client反馈完成结果。所述预设方式可以是语音、文字、视频、图片等。所述完成结果包括执行信息及执行结果等。

本实施例通过将EJB和Spring两者相结合起来完成应用开发的业务服务。通过将EJB和Spring两者相结合起来完成应用开发的业务服务。实现有效避免在EJB方式下的IoC容器、AOP能力、基于POJO集成第三方框架等方面较弱;在Spring方式下并发处理、事务处理、分布式能力、生命周期管理等方面较弱;无法有效保证能够完整、准确地完成应用开发,使得应用开发的体验效果较低的问题。有效确保能够完整、准确地完成应用开发,提高了应用开发的体验效果。

参照图4,图4为本发明应用开发方法的第二实施例的流程示意图。基于上述应用开发方法的第一实施例,所述步骤S30之后,还包括:

步骤S40,在所述服务执行失败时,通过业务应用程序接口进行业务服务的回滚操作。

在按照所述执行方法完成所述服务后,判断所述服务是否执行成功,在执行成功时,反馈执行成功的结果;在执行失败时,反馈执行失败的结果。在所述服务执行失败时,通过业务应用接口JTA进行业务服务的回滚操作。回滚操作包括就是在某处操作中间设置一个点然后继续完成操作过程,如果觉得有问题了,就进行回滚回到设置的点,等于那个点后面的操作删掉,重新在那个点之后完成操作。当然如果commit了就没用了。实现更加有效、合理的完成业务请求对应的业务服务。可以理解的是,还挂载了一系列可扩展的截断器,实现AOP风格的编程,即实现在编程过程中的有序或者随机的截断操作并进行适应的修改。使得应用开发的过程更加合理,且降低了应用开发过程中出错的概率,进一步提高了应用开发的准确性。

上述应用开发方法的第一和第二实施例的应用开发方法的执行主体均可以为终端。更进一步地,该方法可以由安装在终端上的客户端(如应用开发的运行程序等)实现,其中,该终端可以包括但不限于笔记本电脑、手机、平板电脑或者PDA(Personal Digital Assistant,个人数字助理)等电子设备。

本发明进一步提供一种应用开发装置。

参照图5,图5为本发明应用开发装置的较佳实施例的功能模块示意图。

在一实施例中,所述应用开发装置包括:调用模块10、获取模块20、确定模块40、构建模块50、处理模块60及执行模块70。

所述调用模块10,用于在接收到应用开发的业务请求后,调用EJB数据包;

所述获取模块20,用于根据所述EJB数据包获取服务上下文文件及初始化所述业务请求对应的执行环境;

所述EJB数据包可以是EJB组件(例如,EJB实例),所述EJB组件为Service Skeleton Bean,类似于Service Context的池,通过published-services.xml来指定其所包含的Service Context。作为Service Context的池,Skeleton Ben自然是Service的容器。因此,它成为了Service的运行和部署单位,为Service提供生命周期、并发、实务等容器应有的服务支持。Service的发布和调用显然也是通过Skeleton Ben完成。Service Client要访问Service必须通过Skeleton Ben的调用。

用户在需要开发应用时,通过Service Client发出应用开发的业务请求,在接收到应用开发的业务请求后,调用EJB数据包。

具体的,参考图6,所述调用模块10包括:得到单元11和调用单元12,

所述得到单元11,用于通过Java反射机制得到类方法名和与类方法名相关的参数;

在接收到业务请求后,通过Service Client Factory获得Service Client的一个stub(存根),利用Java反射机制,得到Service的一个代理对象,并得到所述代理对象的相关参数。

所述调用单元12,用于根据所述类方法名和与类方法名相关的参数调用EJB数据包。

在所述类方法名和与类方法名相关的参数后,确定所述类方法名和与类方法名相关的参数对应的EJB数据包,根据所述类方法名和与类方法名相关的参数调用EJB数据包。所述EJB数据包包括创建的EJB实例,在掉用EJB数据包时,调用EJB实例。

在调用EJB数据包后,根据所述EJB数据包获取服务上下文文件及初始化所述业务请求对应的执行环境,即根据EJB实例获取上下文文件及初始化所述业务请求对应的执行环境。

所述确定模块30,用于确定与服务完成有关的信息,所述信息包括数据访问对象及/或工具类;

所述构建模块40,用于根据所确定的信息构建Spring数据包;

Spring完成业务服务依赖与DAO(数据访问对象)、各种工具类等对象,通过Spring IoC将这些复杂依赖关系和初始化逻辑写入Spring数据包,即写入配置文件,配置为XML文本。

所述存储模块50,用于将所述Spring数据包存储并获取所述存储路径;

所述处理模块60,用于将所述存储路径添加至服务上下文文件中。

服务上下文文件时分布式服务框架的一个基础单元,负责管理Spring配置文件,即管理Spring数据包,利用其构建函数,将所述Spring数据报的路径指明即可。具体的,将所述Spring数据包存储并获取所述存储路径;将所述存储路径添加至服务上下文文件中。在完成服务时,可以通过服务上下文文件中包括的Spring数据包的路径获取到Spring数据包。

所述获取模块20,还用于在所述初始化后的执行环境下根据所述服务上下文文件,获取Spring数据包,并根据所述Spring数据包确定所述业务请求对应的服务以及所述服务对应的执行方法;

在获取到服务上下文文件,并初始化所述业务请求对应的执行环境后,在所述初始化后的执行环境下调用所述服务上下文文件,根据所述服务上下文文件获取Spring数据包,进一步地,根据所述服务上下文文件中包括的Spring数据包的存储路径,到所述存储路径获取到Spring数据包。根据所述Spring数据包确定所述业务请求对应的服务以及所述服务对应的执行方法,即需要通过哪个或哪种执行方法完成所述业务请求对应的服务。

所述执行模块70,用于按照所述执行方法完成所述服务,并反馈服务完成结果。

在确定所述业务请求对应的执行方法后,按照所述执行方法完成所述业务请求对应的服务,并反馈完成结果,即通过预设方式向所述Service Client反馈完成结果。所述预设方式可以是语音、文字、视频、图片等。所述完成结果包括执行信息及执行结果等。

本实施例通过将EJB和Spring两者相结合起来完成应用开发的业务服务。通过将EJB和Spring两者相结合起来完成应用开发的业务服务。实现有效避免在EJB方式下的IoC容器、AOP能力、基于POJO集成第三方框架等方面较弱;在Spring方式下并发处理、事务处理、分布式能力、生命周期管理等方面较弱;无法有效保证能够完整、准确地完成应用开发,使得应用开发的体验效果较低的问题。有效确保能够完整、准确地完成应用开发,提高了应用开发的体验效果。

进一步地,所述执行模块70,还用于在所述服务执行失败时,通过业务应用程序接口进行业务服务的回滚操作。

在按照所述执行方法完成所述服务后,判断所述服务是否执行成功,在执行成功时,反馈执行成功的结果;在执行失败时,反馈执行失败的结果。在所述服务执行失败时,通过业务应用接口JTA进行业务服务的回滚操作。回滚操作包括就是在某处操作中间设置一个点然后继续完成操作过程,如果觉得有问题了,就进行回滚回到设置的点,等于那个点后面的操作删掉,重新在那个点之后完成操作。实现更加有效、合理的完成业务请求对应的业务服务。可以理解的是,还挂载了一系列可扩展的截断器,实现AOP风格的编程,即实现在编程过程中的有序或者随机的截断操作并进行适应的修改。使得应用开发的过程更加合理,且降低了应用开发过程中出错的概率,进一步提高了应用开发的准确性。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1