开发架构的制作方法

文档序号:16529164发布日期:2019-01-05 10:36阅读:143来源:国知局
开发架构的制作方法
本发明涉及软件开发领域,具体而言,涉及一种开发架构。
背景技术
:2015年移动展业系统完成工程立项,通过运用平板电脑、集成外设等终端设备,利用运营商3g/4g专网,以安全接入平台与行内各业务系统进行对接,为客户提供“一站式”的创新服务。在建设和推广移动展业系统工程的过程中,各个行业提出了自建移动应用的需求,但受限于开发框架缺失,技术能力要求较高,学习周期长等缺陷,使得很多行业在移动互联网领域自主可控的力度一直很薄弱。针对现有技术中技术人员需要理解插件和操作系统的相关知识才能够完成安卓移动应用的开发,导致技术人员进行安卓移动应用的开发时难度较大的问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种开发架构,以至少解决现有技术中技术人员需要理解插件和操作系统的相关知识才能够完成安卓移动应用的开发,导致技术人员进行安卓移动应用的开发时难度较大的技术问题。根据本发明实施例的一个方面,提供了一种开发架构,包括:操作系统层,其中,操作系统层提供第一接口;组件层,包括与第一接口封装在一起的一个或多个组件,其中,组件层为业务逻辑层提供第二接口;业务逻辑层,通过第二接口与组件层通信,用于处理业务逻辑,并展现操作界面。进一步地,开发架构通过数据池存储会话数据。进一步地,开发架构通过properties配置文件。进一步地,组件包括如下任意一个或多个:功能组件、业务组件和自定义组件。进一步地,功能组件用于实现如下任意一种或多种功能:压缩文件管理、页面管理、会话管理、传输协议管理、数据库管理、设置管理、多媒体管理、文件管理和网络管理。进一步地,业务组件用于实现如下任意一种或多种功能:联网核查、征信查询、授权管理、人脸识别、电子签名、密钥管理、任务单管理、外设管理、版本校验和权限控制。进一步地,操作系统为android操作系统。进一步地,第一接口为原生接口。进一步地,第二接口为javascript接口。进一步地,业务逻辑层通过html5和css展现操作页面展现操作界面。在本发明实施例中,所提出的开发架构通过操作层为组件层提供android原生api,通过组件层将业务组件组和功能组件封装于android原生api,并为上层提供javascript接口,并通过业务逻辑层处理业务逻辑,通过html5和css展现操作页面,从而使得开发者使用html、javascript、css等web开发技术就可以创建android应用程序的快速开发框架。进而解决了现有技术中技术人员需要理解插件和操作系统的相关知识才能够完成安卓移动应用的开发,导致技术人员进行安卓移动应用的开发时难度较大的技术问题,满足了自主研发android应用的需求,加强了在移动互联网领域的自主可控力度,项目组将移动展业项目的核心代码进行了抽取,形成了一套开发门槛低,开发速度快,适用于各业务领域应用研发的开发框架。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的开发架构的示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1根据本发明实施例,提供了一种开发架构的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本发明实施例的开发架构的示意图,如图1所示,该开发架构包括:操作系统层,其中,操作系统层提供第一接口。组件层,包括与第一接口封装在一起的一个或多个组件,其中,组件层为业务逻辑层提供第二接口。业务逻辑层,通过第二接口与组件层通信,用于处理业务逻辑,并展现操作界面。具体的,操作系统可以为android操作系统(如图1中的androidos),第一接口可以为原生接口(如图1中的osapi),组件层可以为图1中的plugins(java),包括功能组件和业务组件,第二接口可以为javascript接口(如图1中的jsbridge),业务逻辑层(如图1中的web)可以通过html5和css展现操作页面展现所述操作界面。为保证应用的风格的一致性,业务组件只是通过js封装业务接口,无ui部分。根据上述架构,只需要掌握html,css,javascript这些相对简单的技术即可完成android移动开发。在一种可选的实施例中,上述开发架构的底层是操作系统层,可以是android操作系统,提供android原生接口(api)。组件层(plugins层)是在android原生api基础上封装的功能组件和业务组件,并为上层提供javascript接口。操作系统层和plugins层与业务完全脱离,适用于各类业务需求。web层是业务逻辑层,该层通过html5和css展现操作页面,通过javascript处理业务逻辑,适用于各种前端开发架构。由上可知,本申请上述实施例所提出的开发架构是一款采用hybrid开发模式(混合开发模式),从而使得开发者使用html、javascript、css等web开发技术就可以创建android应用程序的快速开发框架。进而解决了现有技术中技术人员需要理解插件和操作系统的相关知识才能够完成安卓移动应用的开发,导致技术人员进行安卓移动应用的开发时难度较大的技术问题,满足了自主研发android应用的需求,加强了在移动互联网领域的自主可控力度,适用于各业务领域应用研发的开发框架。可选的,根据本申请上述实施例,开发架构通过数据池存储会话数据。可选的,根据本申请上述实施例,开发架构通过properties配置文件。上述开发架构采用数据池存储session数据(会话数据),用于各业务逻辑之间数据的交互。采用properties配置文件,用于封装json数据(包括列表,嵌套等各种类型的json报文),将业务逻辑和接口的对应关系解耦,从而进一步降低开发的复杂性。使用本申请提供的开发架构,开发人员不需要理解plugins(插件)和android的相关知识,只需要掌握html,css,javascript这些相对简单的技术即可完成android移动开发。且该开发架构未对web做任何的封装,并没有提高学习成本,也确保了业务逻辑层的多元化。可选的,根据本申请上述实施例,组件包括如下任意一个或多个:功能组件、业务组件和自定义组件。可选的,根据本申请上述实施例,功能组件用于实现如下任意一种或多种功能:压缩文件管理、页面管理、会话管理、传输协议管理、数据库管理、设置管理、多媒体管理、文件管理和网络管理。下面通过多个表格对功能组件实现的功能进项详细说明。压缩文件管理功能分别包括:文件压缩和文件解压缩,文件压缩功能调用方式如表一所示,文件解压缩功能调用方式如表二所示。表一表二页面管理功能分别包括:页面跳转、页面返回和页面刷新,页面跳转功能调用方式如表三所示,页面返回功能调用方式如表四所示,页面刷新功能调用方式如表五所示。表三方法调用page.skip(msg)参数说明nextpage下一页标志数据格式nextpage,字符串。例如:200001是否异步请求否正常返回无异常返回表四表五方法调用page.reload()参数说明无数据格式无是否异步请求否正常返回无异常返回会话管理功能分别包括:添加数据、获取数据、删除数据、和清空数据,添加数据功能调用方式如表六所示,获取数据功能调用方式如表七所示,删除数据功能调用方式如表八所示,清空数据功能调用方式如表九所示。表六表七表八表九传输协议管理功能包括交易报问管理,其中,上行报文包括:data和head。data为业务类数据,head为头报文。例如:data={"processid":"1000006800"},head={"usercode":"20131239660","orgcode":"6199908q"}。(注意:头报文的配置文件必须为uploadheadinfo.properties)。交易报文管理接口配置命名可以为:命名规则:upload+交易名称+.properties。还需要说明的是,不同类型的报文(例如:普通json、json嵌套json或json嵌套json对象和列表)对应不同的调用程序可配置文件。传输协议管理功能还包括post请求和get请求,其中,post的调用方法可以如表十所示。表十数据库管理功能包括:创建和更新数据库、插入数据、查询数据、修改数据、删除数据和自定义sql语句,创建和更新数据库功能调用方式如表十一所示,插入数据功能调用方式如表十二所示,查询数据功能调用方式如表十三所示,修改数据功能调用方式如表十四所示,删除数据功能调用方式如表十五所示,自定义sql语句功能调用方式如表十六所示。表十一表十二表十三表十四表十五表十六设置管理功能分别包括:时间设置、蓝牙设置和网络设置,时间设置功能调用方式如表十七所示,蓝牙设置功能调用方式如表十八所示,网络设置功能调用方式如表十九所示。表十七方法调用setuphandle.settime()参数说明无数据格式无是否异步请求否正常返回无异常返回表十八方法调用setuphandle.setbluetooth()参数说明无数据格式无是否异步请求否正常返回无异常返回表十九方法调用setuphandle.setnetwork()参数说明无数据格式无是否异步请求否正常返回无异常返回多媒体管理管理功能分别包括:调用相机、调用相册、连续调用相册、图片压缩和截图,调用相机功能调用方式如表二十所示,调用相册功能调用方式如表二十一所示,连续调用相册功能调用方式如表二十二所示,图片压缩功能调用方式如表二十三所示。表二十表二十一表二十二表二十三文件管理功能分别包括:文件上传、文件下载、获取文件夹下文件列表、文件删除、文件拷贝以及解析propertie配置文件。别获取文件夹下文件列表功能调用方式如表二十四所示,文件删除功能调用方式如表二十五所示,解析propertie配置文件功能调用方式如表二十六所示。表二十四表二十五表二十六方法调用filehandle.getproperties()参数说明filename:文件名称数据格式filename:字符串是否异步请求是正常返回json串、properties的键值对异常返回网络管理功能分别包括:判断网络是否连接、判断网络是否可用、判断移动数据是否打开、获取当前网络类型、判断wifi是否连接状态以及打开或关闭wifi。判断网络是否连接功能调用方式如表二十七所示,判断网络是否可用功能调用方式如表二十八所示,判断移动数据是否打开功能调用方式如表二十九所示,获取当前网络类型功能调用方式如表三十所示,判断wifi是否连接状态功能调用方式如表三十一所示打开或关闭wifi功能调用方式如表三十二所示。表二十七方法调用networkhandle.isconnected()参数说明无数据格式无是否异步请求否正常返回ture或者false异常返回表二十八方法调用networkhandle.isavailable()参数说明无数据格式无是否异步请求否正常返回ture或者false异常返回表二十九方法调用networkhandle.getdataenabled()参数说明无数据格式无是否异步请求否正常返回ture或者false异常返回表三十表三十一方法调用networkhandle.iswificonnected();参数说明无数据格式无是否异步请求否正常返回true或者false异常返回表三十二方法调用networkhandle.setwifienabled(false);参数说明true或者false,true为开,false为关数据格式boolean形是否异步请求是正常返回无异常返回可选的,根据本申请上述实施例,业务组件用于实现如下任意一种或多种功能:联网核查、征信查询、授权管理、人脸识别、电子签名、密钥管理、任务单管理、外设管理、版本校验和权限控制。具体的,联网核查用于确认客户证件的非法性,征信查询用于查询客户的征信,授权管理用于为授权系统提供图片资源,供授权人员核实业务合规性,人脸识别用于判断客户和证件信息的一致性,电子签名用于实现无纸化操作,密钥管理用于管理系统中的密钥,进行数据的加密,版本校验用于校验apk和文件的版本,是否需要更新,可以控制到省份,权限控制是通过后台数据库配置,控制菜单的显示和隐藏。具体的,密钥管理可以通过如下步骤完成:1、密钥初始化,为了确保数据安全,pad上所有数据都需要进行密文存储和传输。所有应用都需要对密钥进行初始化。2、获取设备信息。确认是哪个厂家的安全芯片。3、查询加密方式。终端有国密,rsa1152,rsa2048三种加密方式,pad使用哪种加密方式是通过后台数据库进行配置,可以通过管理端变更pad的加密方式。4、获取安全芯片的信息。确定了pad的加密方式,调用安全芯片的相关接口,生成密钥对,然后获取公钥,查看pad是否具有次主密钥和工作密钥。5、芯片及密钥校验。将采集到的信息发送给后台服务器,后台服务器返回pad当前的加密方式。若该加密方式与步骤2中获取到的加密方式不一致,则重新进行步骤3。若加密方式一致,则获取芯片状态(devicestatus)和次主密钥的状态(isapplytranskey)。6、根据芯片状态和次主密钥的状态判断是否需要申请次主密钥。7、申请次主密钥。8、申请工作密钥。具体的,任务单管理可以通过如下步骤完成:1、判断终端是否有所属机构。2、录入任务单申请信息。3、授权员授权。4、终止任务单。具体的,外设管理可以通过如下步骤完成:1、初始化驱动(底层包括两个方法:初始化,获取初始化成功状态)2、销毁驱动3、打开设备4、读取信息5、关闭设备6、获取二代证信息7、获取密码键盘信息除了上述组件,开发人员也可以自己定义组件,在自定义组件的过程中,需要注意的是:(1)plugins_*.xml配置文件:plugins配置文件必须以plugins_开头,从1开始递增,例如:由plugins_1.xml开始递增。plugins配置文件中可以包含一个或者多个组件,配置方式:<plugins></plugins>为父标签。<pluginname=”test”,class=”com.psbc.bj.plugin.model.testhandle”>,其中,class为组件的实现类,name为组件的名称(2)组件实现类:实现类必须继承plugin类,实现exec接口,dotest为接口方法,与下述程序中的dotest对应。(3)组件接口仍在上述程序中,testhandle为组件名称,dotest为组件中的方法,通过test.dotest()即可以实现调用。(4)同步与异步exec为同步请求,直接返回结果,例如:returnexec_asyn(“session”,“getdata”,obj)。exec_asyn为异步请求,返回结果到success或者fail中,例如:exec_asyn(“session”,“adddata”,msg,success,fail)。通过本申请提供的上述开发架构,可以达到如下有益效果:1、上述架构未对web端做任何的封装,确保使用基础的web技术就能完成app开发。2、上述架构提供了调用android原生接口,通过一句javascript语言,就可以完成对移动端相机,相册的调用。3、上述架构为html5提供了<include></include>标签,实现页面间的调用。降低了代码的重复量,提升开发效率。4、上述架构提供多元化组件方便开发的同时,也提供了自定义组件,因此具有极好的扩展性。若提供组件不能满足需求,开发人员通过自定义组件加文件配置的方式,即可实现组件的扩充。5、上述架构采用json数据交互,通过properties文件配置关系,将业务逻辑和接口数据解耦合。6、上述架构对androidwebview组件再次封装,支持页面间的嵌套,增强页面可重用性,降低代码的重复量。7、burning完全与业务需求解耦,支持各业务条线android应用开发需求。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1