CN109656537A - 一种支持多种应用容器的Web应用框架及使用方法 - Google Patents
一种支持多种应用容器的Web应用框架及使用方法 Download PDFInfo
- Publication number
- CN109656537A CN109656537A CN201811615649.9A CN201811615649A CN109656537A CN 109656537 A CN109656537 A CN 109656537A CN 201811615649 A CN201811615649 A CN 201811615649A CN 109656537 A CN109656537 A CN 109656537A
- Authority
- CN
- China
- Prior art keywords
- equipment
- application
- container
- unit
- call
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种支持多种应用容器的Web应用框架及使用方法,Web应用框架包括:Web应用系统和应用容器;所述Web应用系统在Web页面的运行过程中与所述应用容器交互;所述Web应用系统包括:具有多个业务功能的业务层、业务设备层、容器调用单元;所述Web页面展示有抽象出的用于在业务功能中调用设备的设备接口;在所述设备接口被触发后,所述业务设备层获取应用容器的类型并与所述容器调用单元交互,实现所述应用容器中调用设备的功能。上述框架实现中业务层不用关注该应用上的设备怎么调用,只需要调用定义好的设备接口,然后可以根据不同的容器类型去调用不同的设备实现。
Description
技术领域
本发明涉及通信技术,特别是一种支持多种应用容器的Web应用框架及使用方法。
背景技术
随着互联网的发展,人们使用软件应用的类型也越来广泛,IOSApp、安卓App、微信小程序、自助终端应用、PC应用等。而作为系统开发者,为了满足更多的用户使用场景,增加用户使用量,一般都会开会用户常用的几种应用,如微信小程序、IOS App、安卓App。对于同一个系统,如果需要同时上微信小程序、IOS App、安卓App,就要分别开发在这3个平台上开发3个软件应用,但其基本的业务逻辑都是一样的,这样无疑有很大的重复工作量。这给项目版本的管理和维护都带来不小的难度。
发明内容
针对现有技术中的问题,本发明提供一种支持多种应用容器的Web应用框架及使用方法,可以节省成本,降低维护复杂性。
第一方面,本发明提供一种支持多种应用容器的Web应用框架,包括:
Web应用系统和应用容器;所述Web应用系统在Web页面的运行过程中与所述应用容器交互;
所述Web应用系统包括:具有多个业务功能的业务层、业务设备层、容器调用单元;
其中,所述Web页面展示的业务功能中具有所述业务设备层中抽象出的用于调用设备的设备接口;若所述设备接口被触发,则所述业务设备层获取应用容器的类型并与所述容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
可选地,所述应用容器包括:自助终端程序,IOS程序、安卓程序和微信小程序中的一种和多种;
所述容器调用单元包括:对应自助终端程序的终端调用器、对应IOS程序的IOS调用器,对应安卓程序的安卓调用器和对应微信小程序的微信调用器。
可选地,所述业务设备层包括:设备实现单元、设备工厂单元、设备接口;
所述业务层的每一个业务功能可调用一个或多个业务设备层中的设备接口;
所述设备工厂单元,用于在所述设备接口被触发后获取设备接口所属的应用容器的类型,以及根据所述应用容器的类型,调用指定对应的设备实现单元;
所述设备实现单元包括:对应自助终端程序的终端设备实现单元、对应IOS程序的IOS设备实现单元,对应安卓程序的安卓设备实现单元,对应微信小程序的微信设备实现单元;
所述设备实现单元用于在所述设备工厂确定所述应用容器的类型之后,将触发的设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
可选地,业务设备层中设备接口对应的设备包括:相机、录音或扫一扫。
可选地,所述业务层的多个业务功能增加时,每一业务功能均使用所述业务设备层中抽象出的用于调用设备的设备接口。
第二方面,本发明提供一种如上任一所述的Web应用框架的使用方法,包括:
S1、在用户触发一应用容器加载Web页面后,所述Web页面展示的业务功能具有业务设备层中抽象出的用于调用设备的设备接口;
S2、若接收到所述设备接口的触发指令,则所述业务设备层获取应用容器的类型并与Web应用系统的容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
可选地,所述步骤S2包括:
若接收到所述设备接口的触发指令,则所述业务设备层的设备工厂确定所述应用容器的类型,使得所述设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
本发明具有的有益效果:
本实施例的Web应用框架在不同应用平台上运行,仅需要为业务层的每个设备抽象统一的设备接口,进而为不同类型的应用容器都实现各自的设备调用,使得开发人员不需要关注是什么IOS的应用、还是安卓的应用、或是微信小程序,也不用关注该应用上的设备怎么调用,只需要调用定义好的设备接口,然后可以根据不同的应用容器类型去调用不同的设备实现单元。
附图说明
图1为本发明一实施例提供的支持多种应用容器的Web应用框架的示意图;
图2为本发明另一实施例提供的支持多种应用容器的Web应用框架使用方法的示意图;
图3为本发明一实施例提供的终端APP下运行的效果图;
图4为本发明一实施例提供的微信小程序下运行的效果图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
本实施例中的应用容器可理解为:各应用平台上支持内嵌Web页面的带Web容器的应用,如安卓App,IOS APP,微信小程序等。
本实施例中的设备可理解为:在应用上能完成某个指定的与设备有关的操作的部件,如相机、扫一扫、录音等设备。
如图1所示,本实施例的支持多种应用容器的Web应用框架,包括:
Web应用系统和应用容器;所述Web应用系统在Web页面的运行过程中与所述应用容器交互;
本实施例的Web应用系统包括:具有多个业务功能的业务层、业务设备层、容器调用单元;
其中,所述Web页面展示的业务功能中具有所述业务设备层中抽象出的用于调用设备的设备接口;若所述设备接口被触发,则所述业务设备层获取应用容器的类型并与所述容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
举例来说,本实施例的应用容器可包括:自助终端程序,IOS程序、安卓程序和微信小程序中的一种和多种;
所述容器调用单元包括:对应自助终端程序的终端调用器、对应IOS程序的IOS调用器,对应安卓程序的安卓调用器和对应微信小程序的微信调用器。
进一步地,上述的业务设备层可包括:设备实现单元、设备工厂单元、设备接口;
所述业务层的每一个业务功能可调用一个或多个业务设备层中的设备接口;
所述设备工厂单元,用于在所述设备接口被触发后获取设备接口所属的应用容器的类型,以及根据所述应用容器的类型,调用指定对应的设备实现单元;
所述设备实现单元包括:对应自助终端程序的终端设备实现单元、对应IOS程序的IOS设备实现单元,对应安卓程序的安卓设备实现单元,对应微信小程序的微信设备实现单元;
所述设备实现单元用于在所述设备工厂确定所述应用容器的类型之后,将触发的设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用,如图3和图4所示。
可理解的是,本实施例的业务层的业务功能对应图1中的功能一、功能二(如朋友圈)、功能三(如交社保)等。业务设备层中设备接口对应的设备包括:相机、录音或扫一扫。所述业务层的多个业务功能增加时,每一业务功能均使用所述业务设备层中抽象出的用于调用设备的设备接口。
另外,本实施例中的设备实现单元在图1中采用终端相机实现、IOS相机实现、安卓相机实现和微信相机实现示意性示出的。
在实际应用中,本实施例的设备工厂、设备实现、容器调用单元等在开发阶段编写一个能够使用的代码即可,如果增加业务层的业务功能,则可使用抽象出的设备接口即可,无需调整设备实现单元和容器调用单元。
也就是说,业务层的多个业务功能增加时,所述业务设备层的设备接口增加。
由此,本实施例的Web应用框架在不同应用平台上运行,仅需要为业务层使用的各设备抽象统一的设备接口,进而为不同类型的应用容器都实现各自的设备调用,使得开发人员不需要关注是什么IOS的应用、还是安卓的应用、或是微信小程序,也不用关注该应用上的设备怎么调用,只需要调用定义好的设备接口,然后可以根据不同的应用容器类型去调用不同的设备实现单元。
为了更好的理解本发明实施例的Web应用框架,以下从程序代码开发阶段进行说明。
容器调用单元:Web页面在运行过程中都可能会与应用容器交互,Web调用微信、IOS、安卓都不一样。所以需要分别为这些应用容器编写调用器。各调用器也需要进行抽象,对各设备的接口、方法名、入参、出参进行抽象,以可以满足各种设备调用时的要求。这样,Web系统就可以通过这些调用器去调用各种类型的应用容器了。本实施例的各调用器可理解为各个应用容器的调用工具库。
设备接口:设备接口可为统一的标准设备接口,其在业务层实现,也用于展示在Web页面。同一种设备在不同的应用容器中操作流程,方法参数都可能是不一样的。为了使各应用容器在业务调用设备的时候,不需要考虑各种应用容器上定义的接口方法、参数的差异。需要对不同应用容器上的同种设备进行抽象,抽象出其通用操作方法,和方法的入参和出参。
以从业务功能(相机)选照片举例说明上述的抽象内容:
应用容器:安卓小程序:
原安卓的接口方法名为:getPicture
参数有:
照片数量:
属性名:maximumImagesCount,
数据类型:数值类型
照片来源:
属性名:sourceType,
数据类型:数据类型(0、1)。
应用容器:微信小程序:
原微信小程序的接口方法名为:chooseImage
参数有:
照片数量:
属性名:count,
数据类型:数值类型
照片来源:
属性名:sourceType,
数据类型:字符串类型。
抽象标准接口,可以理解为将上述接口方法和参数都统一了;
如接口方法可以统一成getPicture,
参数统一成:
照片数量:属性名:count,数据类型:数值类型
照片来源:属性名:sourceType,数据类型:字符串
经过上述的抽象标准接口之后,业务功能要想获取照片的话就可以调用接口getPicture。
在功能需要拍照时,调用抽象标准接口,即标准的相机拍照接口。
设备实现单元:即自定义实现设备接口,对于每一种设备,在不同的应用容器上需要实现该设备在该应用容器上的操作。这里需要把业务转过来的准备参数转成在这个应用容器上能识别的参数,并根据这种应用容器的要求作一定的参数封装和转换,然后通过应用容器对应的调用器去调用最终的设备。
也就是说,设备实现单元把标准的参数转成具体应用调用的参数类型,并通过容器调用器调用应用里的设备。
设备工厂:在各业务模块中,如果需要调用设备,都会定义这种设备对应接口类型的变量。在编写代码的时候只需要写调用这个接口就行,但在实际运行过程中是需要调用这些接口的实现的,而且在不同的应用容器系统下调用的实现也是不一样的。
也就是说,执行调用时,设备工厂会先通过容器获取应用类型(IOS,安卓,微信),然后根据应用类型去执行相应的相机拍照实现。
应用容器加载Web端:应用容器加载Web包括容器端和Web端两部分。
应用容器端需要能控制Web页面的加载,及相关异常情况的。此外容器端还需要封装接受Web端调用方法的操作。
Web端就是整个Web系统,此外,在容器加载Web过程中,Web也需要根据不同的容器加载与之对应的样式、JS插件等内容。
本实施例的Web应用框架在不同应用平台上运行,仅需要为业务层的每个设备抽象统一的设备接口,进而为不同类型的应用容器都实现各自的设备调用。
根据本发明的另一方面,本发明还提供一种基于上述任意实施例的Web应用框架的使用方法,该方法包括如下步骤:
S1、在用户触发一应用容器加载Web页面后,所述Web页面展示的业务功能具有业务设备层中抽象出的用于调用设备的设备接口;
S2、若接收到所述设备接口的触发指令,则所述业务设备层获取应用容器的类型并与Web应用系统的容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
具体地,若接收到所述设备接口的触发指令,则所述业务设备层的设备工厂确定所述应用容器的类型,使得所述设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
本实施例的Web应用框架在不同应用平台上运行,仅需要为每个设备类型的设备定义标准的设备接口,并为不同类型的应用都实现各自的设备调用。使得开发人员不需要关注是什么IOS的应用、还是安卓的应用、或是微信小程序,也不用关注该应用上的设备怎么调用,只需要调用定义好的标准接口,然后可以根据同的应用类型去调用不同的设备实现。
上述各个实施例可以相互参照,本实施例不对各个实施例进行限定。
最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种支持多种应用容器的Web应用框架,其特征在于,包括:
Web应用系统和应用容器;所述Web应用系统在Web页面的运行过程中与所述应用容器交互;
所述Web应用系统包括:具有多个业务功能的业务层、业务设备层、容器调用单元;
其中,所述Web页面展示的业务功能中具有所述业务设备层中抽象出的用于调用设备的设备接口;若所述设备接口被触发,则所述业务设备层获取应用容器的类型并与所述容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
2.根据权利要求1所述的Web应用框架,其特征在于,
所述应用容器包括:自助终端程序,IOS程序、安卓程序和微信小程序中的一种和多种;
所述容器调用单元包括:对应自助终端程序的终端调用器、对应IOS程序的IOS调用器,对应安卓程序的安卓调用器和对应微信小程序的微信调用器。
3.根据权利要求2所述的Web应用框架,其特征在于,
所述业务设备层包括:设备实现单元、设备工厂单元、设备接口;
所述业务层的每一个业务功能调用一个或多个业务设备层中的设备接口;
所述设备工厂单元,用于在所述设备接口被触发后获取设备接口所属的应用容器的类型,以及根据所述应用容器的类型,调用指定对应的设备实现单元;
所述设备实现单元包括:对应自助终端程序的终端设备实现单元、对应IOS程序的IOS设备实现单元,对应安卓程序的安卓设备实现单元,对应微信小程序的微信设备实现单元;
所述设备实现单元用于在所述设备工厂确定所述应用容器的类型之后,将触发的设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
4.根据权利要求1所述的Web应用框架,其特征在于,
业务设备层中设备接口对应的设备包括:相机、录音或扫一扫。
5.根据权利要求1至4任一所述的Web应用框架,其特征在于,所述业务层的多个业务功能增加时,每一业务功能均使用所述业务设备层中抽象出的用于调用设备的设备接口。
6.一种如上权利要求1至5任一所述的Web应用框架的使用方法,其特征在于,包括:
S1、在用户触发一应用容器加载Web页面后,所述Web页面展示的业务功能具有业务设备层中抽象出的用于调用设备的设备接口;
S2、若接收到所述设备接口的触发指令,则所述业务设备层获取应用容器的类型并与Web应用系统的容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
7.根据权利要求6所述的方法,其特征在于,所述步骤S2包括:
若接收到所述设备接口的触发指令,则所述业务设备层的设备工厂确定所述应用容器的类型,使得所述设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811615649.9A CN109656537B (zh) | 2018-12-27 | 2018-12-27 | 一种支持多种应用容器的Web应用框架及使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811615649.9A CN109656537B (zh) | 2018-12-27 | 2018-12-27 | 一种支持多种应用容器的Web应用框架及使用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109656537A true CN109656537A (zh) | 2019-04-19 |
CN109656537B CN109656537B (zh) | 2021-09-03 |
Family
ID=66117217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811615649.9A Active CN109656537B (zh) | 2018-12-27 | 2018-12-27 | 一种支持多种应用容器的Web应用框架及使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656537B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115910122A (zh) * | 2022-10-31 | 2023-04-04 | 深圳市广和通无线股份有限公司 | 录音方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150295984A1 (en) * | 2014-04-14 | 2015-10-15 | PetroGrid LLC | Multi Web Application Management Framework System and Method |
CN106651724A (zh) * | 2017-01-03 | 2017-05-10 | 山东浪潮商用系统有限公司 | 一种基于混合云的电子税务局系统 |
CN107978104A (zh) * | 2017-11-27 | 2018-05-01 | 广东金赋科技股份有限公司 | 支撑内外网互联的办税系统和办税方法 |
CN108259435A (zh) * | 2016-12-29 | 2018-07-06 | 中国移动通信集团浙江有限公司 | 接入Web组件的混合应用的实现方法及装置 |
-
2018
- 2018-12-27 CN CN201811615649.9A patent/CN109656537B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150295984A1 (en) * | 2014-04-14 | 2015-10-15 | PetroGrid LLC | Multi Web Application Management Framework System and Method |
CN108259435A (zh) * | 2016-12-29 | 2018-07-06 | 中国移动通信集团浙江有限公司 | 接入Web组件的混合应用的实现方法及装置 |
CN106651724A (zh) * | 2017-01-03 | 2017-05-10 | 山东浪潮商用系统有限公司 | 一种基于混合云的电子税务局系统 |
CN107978104A (zh) * | 2017-11-27 | 2018-05-01 | 广东金赋科技股份有限公司 | 支撑内外网互联的办税系统和办税方法 |
Non-Patent Citations (1)
Title |
---|
罗锦莉: ""科技通讯"", 《金融科技时代》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115910122A (zh) * | 2022-10-31 | 2023-04-04 | 深圳市广和通无线股份有限公司 | 录音方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109656537B (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102193793B (zh) | 一种实现软件复用的方法和装置 | |
CN108519952B (zh) | 一种分布式的web自动化测试系统及方法 | |
CN108170740A (zh) | 数据迁移方法、系统和计算机可读存储介质 | |
CN102033848B (zh) | 基于soa的三维设计系统集成方法及系统 | |
US20160241446A1 (en) | Managing a number of secondary clouds by a master cloud service manager | |
CN103077024B (zh) | 一种支持SaaS应用流程按需定制与运行的装置及方法 | |
CN113268319A (zh) | 基于微服务架构的业务流程定制与分布式流程调度方法 | |
EP1391818A2 (en) | Method, system and apparatus for an industrial framework based on integrated applications via adapters | |
US20060036687A1 (en) | Computer implemented method and system for running a plurality of business processes | |
CN103927163A (zh) | 插件框架处理装置及插件系统 | |
CN112506498A (zh) | 一种智慧型可视化api编排方法、存储介质及电子设备 | |
CN106681718A (zh) | 一种基于工具集的桌面端插件框架及实现方法 | |
CN109445323B (zh) | 一种基于web的分布式智能测控软件平台设计方法 | |
CN103645908A (zh) | 网构软件全生命周期开发实现系统 | |
CN109189400A (zh) | 程序发布方法及装置、存储介质、处理器 | |
CN112035090B (zh) | 基于容器化技术实现智能合约智慧化管理系统及方法 | |
CN112631696B (zh) | 服务的编排方法、编排装置、处理器与服务的编排系统 | |
CN107179903B (zh) | 用于使用模型驱动开发来开发基于移动的应用的系统和方法 | |
WO2017109791A1 (en) | A system and method for building enterprise applications | |
CN105183435A (zh) | 一种智能控制软件框架结构 | |
CN105959302A (zh) | 一种终端管理框架及方法 | |
Breitenbücher et al. | Declarative vs. imperative: How to model the automated deployment of iot applications? | |
US9836282B2 (en) | Separation of concerns between information technology services models | |
CN102375894A (zh) | 一种管理不同类型文件系统的方法 | |
CN109656537A (zh) | 一种支持多种应用容器的Web应用框架及使用方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |