CN101976189A - 组件展现方法和装置 - Google Patents
组件展现方法和装置 Download PDFInfo
- Publication number
- CN101976189A CN101976189A CN2010102920185A CN201010292018A CN101976189A CN 101976189 A CN101976189 A CN 101976189A CN 2010102920185 A CN2010102920185 A CN 2010102920185A CN 201010292018 A CN201010292018 A CN 201010292018A CN 101976189 A CN101976189 A CN 101976189A
- Authority
- CN
- China
- Prior art keywords
- client
- module
- assembly
- module information
- information
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种组件展现方法,包括:步骤102,解析客户端的请求,根据客户端的请求生成组件请求;步骤104,根据组件请求、预设的数据和业务模型,生成展现组件信息;步骤106,根据预设的数据和业务模型,将展现组件信息转换为客户端接受的格式,以供客户端接收展现组件信息并以展现组件的形式进行展现。本发明还提供一种组件展现装置。根据本发明,可以实现一种组件展现方法和装置,能够在避免重复开发的基础上,针对不同的展现要求进行组件展现。
Description
技术领域
本发明涉及组件展现技术,具体而言,涉及一种组件展现方法和装置。
背景技术
Java平台有着丰富的客户端展现形式,如基于Java SE的Swing、SWT应用,基于Java EE的JSP应用,及新兴的Java Fx等。如何根据用户不同的使用习惯,或者不同的业务场景,提供可选择的,更加灵活的展现形式,而无需做大量的针对不同展现方案的重复代码开发,是传统的开发模式和技术方案无法解决的。
因为传统的产品开发技术选型,往往就决定了产品的最终展现形式。无法根据其中的部分功能类型,业务模式及终端客户的使用场景来灵活的决定这部分功能的最终展现形态。使用传统开发模式,要达成上面的目标,需要进行新的技术选型,并针对不同的客户端展现,要求开发人员进行不同的客户端UI(用户界面)开发,完成不同的客户端视图逻辑,并针对客户端逻辑的要求,提供不同的客户端交互模型。
传统的开发技术,由于无法提供独立、可复用的数据、业务模型,没有独立于具体展现形式的UI模型,以及中立的渲染描述机制及运行时解析机制等等,导致要达成以上目标,将会带来大量的开发及维护上的复杂性和工作量。
因此,需求一种组件展现方式,能够在避免重复开发的基础上,针对不同的展现要求进行组件展现。
发明内容
本发明所要解决的技术问题在于,提供一种组件展现方式,能够在避免重复开发的基础上,针对不同的展现要求进行组件展现。
有鉴于此,本发明提供一种组件展现方法,包括:步骤102,解析客户端的请求,根据所述客户端的请求生成组件请求;步骤104,根据所述组件请求、预设的数据和业务模型,生成展现组件信息;步骤106,根据所述预设的数据和业务模型,将所述展现组件信息转换为所述客户端接受的格式,以供所述客户端接收所述展现组件信息并以展现组件的形式进行展现。通过该技术方案,可以针对不同的组件请求提供展现组件,以进行展现。
在上述技术方案中,优选地,还包括:步骤101,预设数据和业务模型。通过该技术方案,可以根据不同的业务需求,灵活设置数据和业务模型以生成展现组件。
在上述技术方案中,优选地,所述展现组件信息包括组件信息和位置信息,均通过xml文件的格式记录。
在上述技术方案中,优选地,所述客户端通过内置的公共逻辑脚本引擎,将所述展现组件信息以展现组件的形式进行展现。
在上述技术方案中,优选地,在所述步骤106中,在所述客户端为Swing客户端时,将所述展现组件信息处理为所述Swing客户端接受的格式,所述Swing客户端通过所述JDK脚本引擎将所述展现组件信息展现为Swing展现组件,在所述客户端为浏览器客户端时,将所述展现组件信息处理为所述浏览器客户端接受的格式,所述浏览器客户端通过所述JavaScript脚本引擎将所述展现组件信息展现为DHTML展现组件。
本发明还提供一种组件展现装置,包括:用户界面解析模块,解析客户端的请求,并向用户界面组件模块提出组件请求;用户界面组件模块,根据所述组件请求,从数据业务模型模块获取所需的数据和业务模型,生成展现组件信息并提交给所述用户界面解析模块,所述用户界面解析模块根据所述数据业务模型模块中的数据和业务模型,将所述展现组件信息处理为所述客户端接受的格式,所述客户端将所述展现组件信息并以展现组件的形式进行展现;所述数据业务模型模块,提供所述数据和所述业务模型。通过该技术方案,可以针对不同的组件请求提供展现组件,以进行展现。
在上述技术方案中,优选地,所述展现组件信息包括组件信息和位置信息,所述用户界面组件模块包括:用户界面模型组件模块,生成所述组件信息;用户界面描述组件模块,生成所述位置信息。
在上述技术方案中,优选地,所述组件信息和所述位置信息均通过xml文件的格式记录。
在上述技术方案中,优选地,所述客户端通过内置的公共逻辑脚本引擎,将所述展现组件信息以所述展现组件的形式进行展现。
在上述技术方案中,优选地,所述用户界面解析模块包括Swing解析模块和DHTML解析模块,所述客户端包括Swing客户端和浏览器客户端,所述Swing客户端内置的公共逻辑脚本引擎为JDK脚本引擎,所述浏览器客户端内置的公共逻辑脚本引擎为JavaScript脚本引擎,所述Swing解析模块将所述展现组件信息处理为所述Swing客户端接受的格式,所述Swing客户端通过所述JDK脚本引擎将所述展现组件信息展现为Swing展现组件,所述DHTML解析模块将所述展现组件信息处理为所述浏览器客户端接受的格式,所述浏览器客户端通过所述JavaScript脚本引擎将所述展现组件信息展现为DHTML展现组件。
通过以上技术方案,可以实现一种组件展现方法和装置,通过抽取数据、业务模型,构建UI模型,组装UI描述界面,提供运行时界面解析以及公共业务逻辑的“脚本化”,能够彻底解决不同展现模式下的统一开发模式的问题,完全屏蔽了不同展现模式带来的各个层次的重复开发。
附图说明
图1是根据本发明的一个实施例的组件展现方法的流程图;
图2是根据本发明的一个实施例的组件展现装置的框图;
图3是根据本发明的一个实施例的组件展现装置的技术概要图;
图4是根据本发明的一个实施例的组件展现装置的框图;
图5是根据本发明的一个实施例的组件展现装置的工作示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1是根据本发明的一个实施例的组件展现方法的流程图。
如图1所示,本发明提供一种组件展现方法,包括:步骤102,解析客户端的请求,根据所述客户端的请求生成组件请求;步骤104,根据所述组件请求、预设的数据和业务模型,生成展现组件信息;步骤106,根据所述预设的数据和业务模型,将所述展现组件信息转换为所述客户端接受的格式,以供所述客户端接收所述展现组件信息并以展现组件的形式进行展现。通过该技术方案,可以针对不同的组件请求提供展现组件,以进行展现。
在上述技术方案中,还包括:步骤101,预设数据和业务模型。通过该技术方案,可以根据不同的业务需求,灵活设置数据和业务模型以生成展现组件。
在上述技术方案中,所述展现组件信息包括组件信息和位置信息,均通过xml文件的格式记录。
在上述技术方案中,所述客户端通过内置的公共逻辑脚本引擎,将所述展现组件信息以展现组件的形式进行展现。
在上述技术方案中,在所述步骤106中,在所述客户端为Swing客户端时,将所述展现组件信息处理为所述Swing客户端接受的格式,所述Swing客户端通过所述JDK脚本引擎将所述展现组件信息展现为Swing展现组件,在所述客户端为浏览器客户端时,将所述展现组件信息处理为所述浏览器客户端接受的格式,所述浏览器客户端通过所述JavaScript脚本引擎将所述展现组件信息展现为DHTML展现组件。
图2是根据本发明的一个实施例的组件展现装置的框图。
如图2所示,本发明还提供一种组件展现装置200,包括:用户界面解析模块202,解析客户端的请求,并向用户界面组件模块204提出组件请求;用户界面组件模块204,根据所述组件请求,从数据业务模型模块206获取所需的数据和业务模型,生成展现组件信息并提交给所述用户界面解析模块202,所述用户界面解析模块202根据所述数据业务模型模块206中的数据和业务模型,将所述展现组件信息处理为所述客户端接受的格式,所述客户端将所述展现组件信息并以展现组件的形式进行展现;所述数据业务模型模块206,提供所述数据和所述业务模型。通过该技术方案,可以针对不同的组件请求提供展现组件,以进行展现。
在上述技术方案中,所述展现组件信息包括组件信息和位置信息,所述用户界面组件模块204包括:用户界面模型组件模块,生成所述组件信息;用户界面描述组件模块,生成所述位置信息。
在上述技术方案中,所述组件信息和所述位置信息均通过xml文件的格式记录。
在上述技术方案中,所述客户端通过内置的公共逻辑脚本引擎,将所述展现组件信息以所述展现组件的形式进行展现。
在上述技术方案中,所述用户界面解析模块202包括Swing解析模块和DHTML解析模块,所述客户端包括Swing客户端和浏览器客户端,所述Swing客户端内置的公共逻辑脚本引擎为JDK脚本引擎,所述浏览器客户端内置的公共逻辑脚本引擎为JavaScript脚本引擎,所述Swing解析模块将所述展现组件信息处理为所述Swing客户端接受的格式,所述Swing客户端通过所述JDK脚本引擎将所述展现组件信息展现为Swing展现组件,所述DHTML解析模块将所述展现组件信息处理为所述浏览器客户端接受的格式,所述浏览器客户端通过所述JavaScript脚本引擎将所述展现组件信息展现为DHTML展现组件。
图3至图5是根据本发明的一个实施例的组件展现装置的示意图。
其中,本实施例中的组件展现装置的技术方案,结构如图3所示。由图3可以看出,由图可见,本实施例中的方案由几个要素组成:
1)针对不同客户端的展现组件。
2)可屏蔽客户端差异的客户端逻辑运行引擎,以避免针对不同客户端开发重复代码。
3)高效、高扩展性的客户端服务器传输机制与协议。
4)与客户端类型无关的服务器UI模型与数据模型。
因此,为满足以上要素,如图4所示,本实施例中的组件展现装置由以下模块组成:数据业务模型模块402,UI模型组件模块404,UI描述组件模块406,UI解析模块408,Swing解析模块4082,DHTML解析模块4084。
其中,数据业务模型模块402:提供公共的、可复用的数据、业务模型,从而为应用提供了统一的模型基础。本模块通过包装现有元数据来提供具体实现。
UI(用户界面)模型组件404:提供UI逻辑模型描述,从而屏蔽不同展现组件之间的差异性。运行时由UI解析模块408负责渲染成针对目标客户端的展现组件。这些组件定义在xml文件中,只包含组件本身的描述,不包含任何组件布局、位置信息。从而使之后的界面描述更加灵活、易更改。
UI描述组件模块406:提供不针对特定展现方案的UI组装描述。它负责将定义的所有UI模型组件组装成一个中立的UI描述文件,以xml文件来作为载体保存。这个文件中只包含UI模型组件的位置信息。
UI解析模块408:针对不同的展现方案,根据UI描述组件模块406的UI组装描述和UI模型组件模块404的UI模型组件定义,渲染成针对目标客户端的组件,并调用目标客户端“脚本引擎“驱动公共逻辑。针对不同情况,分为Swing解析模块4082和DHTML解析模块4084。
下面解释图4中的其他一些部分。
展现组件:针对不同展现方案,封装针对不同客户端的GUI控件。各个客户端的控件都具备相同的API,从而使得客户端的差异化对公共逻辑脚本引擎是透明的。
公共逻辑脚本引擎:使得不同客户端借助自己的脚本引擎实现,可运行同一套公共脚本。如:浏览器使用内置的JavaScript脚本引擎,而Java平台下也可利用JDK提供的脚本引擎特性,运行同一套JavaScript脚本。公共逻辑脚本引擎的引入,使整个方案不必为了不同的展现提供不同的公共逻辑和组件调用逻辑,是本方案可行性的一个关键点。
下面根据图5,给出根据本实施例的组件展现装置的工作流程。
如图5所示,步骤1,Swing客户端发出页面请求时,首先会有针对Swing的UI解析模块进行响应。
步骤2,UI解析模块通知UI描述组件模块、UI模型组件模块。
步骤3,UI描述组件模块、UI模型组件模块从数据业务模型模块中调用数据和业务模型。
步骤4,UI解析模块根据业务数据模型模块的数据和业务模型,以客户端接受的形式将展现组件提供给客户端。
步骤5和6,客户端借助于JDK的脚本引擎,执行公共逻辑脚本,并通过公共逻辑脚本驱动对应的UI界面,从而完成页面响应。
步骤7、8和9,客户端将展现组件以用户可见的方式进行展现。
综上所述,根据本发明的技术方案,可以实现一种组件展现方法和装置,可屏蔽各种展现形式的差异性,使相关产品开发方式统一,有利于相关产品稳定性的提供,并使得工作量和后期维护量减少,并大大降低了对现有开发人员的技能水平的要求。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种组件展现方法,其特征在于,包括:
步骤102,解析客户端的请求,根据所述客户端的请求生成组件请求;
步骤104,根据所述组件请求、预设的数据和业务模型,生成展现组件信息;
步骤106,根据所述预设的数据和业务模型,将所述展现组件信息转换为所述客户端接受的格式,以供所述客户端接收所述展现组件信息并以展现组件的形式进行展现。
2.根据权利要求1所述的组件展现方法,其特征在于,还包括:
步骤101,预设数据和业务模型。
3.根据权利要求1所述的组件展现方法,其特征在于,所述展现组件信息包括组件信息和位置信息,均通过xml文件的格式记录。
4.根据权利要求1至3中任一项所述的组件展现方法,其特征在于,所述客户端通过内置的公共逻辑脚本引擎,将所述展现组件信息以展现组件的形式进行展现。
5.根据权利要求4所述的组件展现方法,其特征在于,在所述步骤106中,在所述客户端为Swing客户端时,将所述展现组件信息处理为所述Swing客户端接受的格式,所述Swing客户端通过所述JDK脚本引擎将所述展现组件信息展现为Swing展现组件,
在所述客户端为浏览器客户端时,将所述展现组件信息处理为所述浏览器客户端接受的格式,所述浏览器客户端通过所述JavaScript脚本引擎将所述展现组件信息展现为DHTML展现组件。
6.一种组件展现装置,其特征在于,包括:
用户界面解析模块,解析客户端的请求,并向用户界面组件模块提出组件请求;
用户界面组件模块,根据所述组件请求,从数据业务模型模块获取所需的数据和业务模型,生成展现组件信息并提交给所述用户界面解析模块,
所述用户界面解析模块根据所述数据业务模型模块中的数据和业务模型,将所述展现组件信息处理为所述客户端接受的格式,所述客户端将所述展现组件信息并以展现组件的形式进行展现;
所述数据业务模型模块,提供所述数据和所述业务模型。
7.根据权利要求6所述的组件展现装置,其特征在于,所述展现组件信息包括组件信息和位置信息,
所述用户界面组件模块包括:
用户界面模型组件模块,生成所述组件信息;
用户界面描述组件模块,生成所述位置信息。
8.根据权利要求7所述的组件展现装置,其特征在于,所述组件信息和所述位置信息均通过xml文件的格式记录。
9.根据权利要求6至8中任一项所述的组件展现装置,其特征在于,所述客户端通过内置的公共逻辑脚本引擎,将所述展现组件信息以所述展现组件的形式进行展现。
10.根据权利要求9所述的组件展现装置,其特征在于,所述用户界面解析模块包括Swing解析模块和DHTML解析模块,所述客户端包括Swing客户端和浏览器客户端,所述Swing客户端内置的公共逻辑脚本引擎为JDK脚本引擎,所述浏览器客户端内置的公共逻辑脚本引擎为JavaScript脚本引擎,
所述Swing解析模块将所述展现组件信息处理为所述Swing客户端接受的格式,所述Swing客户端通过所述JDK脚本引擎将所述展现组件信息展现为Swing展现组件,
所述DHTML解析模块将所述展现组件信息处理为所述浏览器客户端接受的格式,所述浏览器客户端通过所述JavaScript脚本引擎将所述展现组件信息展现为DHTML展现组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102920185A CN101976189A (zh) | 2010-09-26 | 2010-09-26 | 组件展现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102920185A CN101976189A (zh) | 2010-09-26 | 2010-09-26 | 组件展现方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101976189A true CN101976189A (zh) | 2011-02-16 |
Family
ID=43576077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102920185A Pending CN101976189A (zh) | 2010-09-26 | 2010-09-26 | 组件展现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101976189A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681825A (zh) * | 2011-03-09 | 2012-09-19 | 北京航空航天大学 | 服务运行容器管理系统和方法 |
CN102789382A (zh) * | 2012-06-28 | 2012-11-21 | 用友软件股份有限公司 | 用于表单生成和运行的系统及方法 |
WO2013007141A1 (zh) * | 2011-07-12 | 2013-01-17 | 铜陵玉成软件科技有限责任公司 | 面向业务模型的软件运行平台及其运行方式 |
CN104793933A (zh) * | 2015-03-31 | 2015-07-22 | 北京奇艺世纪科技有限公司 | 一种终端数据展现方法和系统 |
CN105549964A (zh) * | 2015-12-08 | 2016-05-04 | 曙光信息产业(北京)有限公司 | 页面的显示方法和系统 |
CN107798617A (zh) * | 2017-04-07 | 2018-03-13 | 平安科技(深圳)有限公司 | 保险业务处理方法和装置 |
CN110580174A (zh) * | 2018-06-11 | 2019-12-17 | 中国移动通信集团浙江有限公司 | 应用组件生成方法、服务器及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983958A (zh) * | 2006-04-23 | 2007-06-20 | 华为技术有限公司 | 一种生成两套网管系统的方法 |
US20080127217A1 (en) * | 2006-09-05 | 2008-05-29 | Oracle International Corporation | Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same |
-
2010
- 2010-09-26 CN CN2010102920185A patent/CN101976189A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983958A (zh) * | 2006-04-23 | 2007-06-20 | 华为技术有限公司 | 一种生成两套网管系统的方法 |
US20080127217A1 (en) * | 2006-09-05 | 2008-05-29 | Oracle International Corporation | Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681825A (zh) * | 2011-03-09 | 2012-09-19 | 北京航空航天大学 | 服务运行容器管理系统和方法 |
WO2013007141A1 (zh) * | 2011-07-12 | 2013-01-17 | 铜陵玉成软件科技有限责任公司 | 面向业务模型的软件运行平台及其运行方式 |
CN102789382A (zh) * | 2012-06-28 | 2012-11-21 | 用友软件股份有限公司 | 用于表单生成和运行的系统及方法 |
CN102789382B (zh) * | 2012-06-28 | 2015-09-23 | 用友软件股份有限公司 | 用于表单生成和运行的系统及方法 |
CN104793933A (zh) * | 2015-03-31 | 2015-07-22 | 北京奇艺世纪科技有限公司 | 一种终端数据展现方法和系统 |
CN104793933B (zh) * | 2015-03-31 | 2018-02-09 | 北京奇艺世纪科技有限公司 | 一种终端数据展现方法和系统 |
CN105549964A (zh) * | 2015-12-08 | 2016-05-04 | 曙光信息产业(北京)有限公司 | 页面的显示方法和系统 |
CN107798617A (zh) * | 2017-04-07 | 2018-03-13 | 平安科技(深圳)有限公司 | 保险业务处理方法和装置 |
WO2018184535A1 (zh) * | 2017-04-07 | 2018-10-11 | 平安科技(深圳)有限公司 | 保险业务处理方法、装置、服务器和存储介质 |
CN107798617B (zh) * | 2017-04-07 | 2021-04-13 | 平安科技(深圳)有限公司 | 保险业务处理方法和装置 |
CN110580174A (zh) * | 2018-06-11 | 2019-12-17 | 中国移动通信集团浙江有限公司 | 应用组件生成方法、服务器及终端 |
CN110580174B (zh) * | 2018-06-11 | 2022-07-01 | 中国移动通信集团浙江有限公司 | 应用组件生成方法、服务器及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101976189A (zh) | 组件展现方法和装置 | |
CN104484189B (zh) | 一种应用界面的构建及设计方法 | |
CN106843835A (zh) | 一种元数据定制的应用系统软件构建系统、系统构建方法 | |
CN1761943A (zh) | 通过使用图形用户界面控件来组合Web服务的程序创建 | |
CN105487864A (zh) | 代码自动生成的方法和装置 | |
CN114035773A (zh) | 一种基于配置的低代码开发表单方法、系统及装置 | |
CN104216691A (zh) | 一种创建应用的方法及装置 | |
CN106557314A (zh) | 应用软件开发方法及装置 | |
CN102591644A (zh) | 未知可视布局位置的静态定义 | |
CN102194003A (zh) | 一种网页弹窗方法及装置 | |
CN102007484A (zh) | 提供/接收用户接口的方法及装置 | |
CN103645908A (zh) | 网构软件全生命周期开发实现系统 | |
CN101799754A (zh) | 一种web应用开发方法及系统 | |
CN107766043A (zh) | 一种基于大屏数据可视化的实现方法及系统 | |
CA2539130A1 (en) | System and method for applying development patterns for component based applications | |
CN102637406B (zh) | 一种led显示设计系统及方法 | |
US20120005603A1 (en) | Application development supporting apparatus, program, and recording medium | |
US7093264B2 (en) | Method and apparatus for assembling Enterprise JavaBeans components | |
CN101668047B (zh) | 组合服务描述语言自动生成方法及装置 | |
CN113849156B (zh) | OpenHarmony操作系统应用的无代码智能开发系统及其使用方法 | |
CN103150154A (zh) | 一种应用程序插件的实现方法及装置 | |
CN1661553A (zh) | 交互式无线应用程序系统和方法 | |
CN102375738A (zh) | 一种移动终端数据管理的装置和方法 | |
KR20090000199A (ko) | 웹 서버 어플리케이션 프레임워크와 상기 프레임워크를이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는컴퓨터로 읽을 수 있는 기록 매체 | |
CN110544092B (zh) | 一种区块链的动态新增多类型数据库数据操作上链方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110216 |