CN102508673A - 快速开发与配置平台类软件的系统及方法 - Google Patents
快速开发与配置平台类软件的系统及方法 Download PDFInfo
- Publication number
- CN102508673A CN102508673A CN2011103948784A CN201110394878A CN102508673A CN 102508673 A CN102508673 A CN 102508673A CN 2011103948784 A CN2011103948784 A CN 2011103948784A CN 201110394878 A CN201110394878 A CN 201110394878A CN 102508673 A CN102508673 A CN 102508673A
- Authority
- CN
- China
- Prior art keywords
- expression formula
- manager
- class
- verb
- configuration
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种快速开发与配置平台类软件的系统,包括:接口管理器,表达式管理器,表达式动词配置管理器,表达式解释管理器,表达式执行管理器,数据操作驱动类实现管理器,及返回结果管理器;本发明还公开了一种快速开发与配置平台类软件的方法,包括如下步骤:接口发现,表达式动词配置,表达式解释,表达式执行,数据操作驱动类实现,及返回结果。本发明将各种技术实现细节和调用的结束细节对用户屏蔽,让用户可以通过统一的方式调用这些后台技术;提供了简单直接调用SQL语句的方法;提高了平台类软件的开发效率;降低了技术实现的难度;同时,降低了业务开发人员的学习门槛。
Description
技术领域
本发明涉及一种开发与配置软件的系统及方法,尤其涉及一种快速开发与配置平台类软件的系统及方法。
背景技术
Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务。各应用程序通过网络协议和规定的一些标准数据格式,如:Http,XML和Soap,来访问Web Service,通过Web Service内部执行得到所需结果。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的Java Bean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
一般应用软件系统都要通过多种方式访问后端的操作,如:Java方法调用,SQL语句执行,邮件短信发送和Web Service调用。然而,通常这些操作只能在后台通过Java代码调用,这种方式不利于架构松耦合的系统,开发速度也不快。而平台类软件追求松耦合,快速开发,甚至零代码开发。
现有技术下,通常是针对容器托管Java类,非容器托管的Java类,及Web Service分别写调用代码,如果要将这些操作开放前台使用还需要一个Jsp文件作为URL载体才能实现。此技术方案带来的主要问题有:(1)业务开发人员需要掌握多种技术实现手段,学习门槛加高;(2)开发效率低;(3)业务实现依赖于技术实现;(4)后台操作接口多样性不利于做可视化的业务流程编排。
发明内容
针对现有技术中所存在的问题,本发明的目的是提供一种开发效率高、技术实现简单的快速开发与配置平台类软件的系统及方法。
为了实现上述主要发明目的,本发明采用的技术方案是,一种快速开发与配置平台类软件的系统,包括:
接口管理器:用于通过公共接口发现程序,自动查找所有带格式化注解后台类来发现可以开发的操作接口,并以XML格式记录这些接口,用于表达式配置;
表达式管理器:用于处理表达式中的通配符,定义所述表达式中的动词与执行类的映射、调用关系;
表达式解释管理器:用于解释所述表达式中出现的通配符,从环境变量读取对应的数据代替通配符作为表达式的参数;
数据操作驱动类实现管理器:用于实现数据操作驱动类;
返回结果管理器:用于使得简单数据直接返回object,数组类型通过平台工具类转成平台的datatable数据类型。
进一步地,所述表达式管理器包括表达式动词配置管理器:用于由约定的所述表达式中的动词来分别后台操作的技术实现。
进一步地,所述表达式动词配置管理器还用于:通过所述表达式设计器使得所述配置得以保证。
进一步地,所述表达式中的动词包括:执行SQL语句,执行存储过程,Java接口调用,启动业务流,启动工作流,执行工作流操作,调用JAR或者DLL,以及调用Web Service。
进一步地,所述表达式解释管理器还包括表达式执行管理器:用于通过所述动词找到实现所述表达式调用的驱动类。
进一步地,所述快速开发与配置平台类软件的系统还包括数据缓存装置:用于运算过程中数据的缓存。
进一步地,所述数据操作驱动类是一个基于JDBC的dbgr数据操作类,该类可以和其它业务组件保持数据库事务上的统一。
更进一步地,所述数据操作驱动类负责驱动如下动词:执行SQL语句和执行存储过程。
为了实现发明的另一目的,本发明采用的另一技术方案为,一种快速开发与配置平台类软件的方法,包括如下步骤:
(a)接口发现:通过公共接口发现程序,自动查找所有带格式化注解后台类来发现可以开发的操作接口,并以XML格式记录这些接口,用于表达式配置;
(b)表达式动词配置:由约定的表达式动词来分别后台操作的技术实现;
(c)表达式解释:解释表达式中出现的占位符,从环境变量读取对应的数据代替占位符作为表达式的参数;
(d)表达式执行:通过动词找到实现该表达式调用的驱动类;
(e)数据操作驱动类实现;
(f)返回结果:简单数据直接返回object,数组类型通过平台工具类转成平台的datatable数据类型。
与现有技术相比,本发明的有益效果为:将各种技术实现细节和调用的结束细节对用户屏蔽,让用户可以通过统一的方式调用这些后台技术;提供了简单直接调用SQL语句的方法;提高了平台类软件的开发效率;降低了技术实现的难度;同时,降低了业务开发人员的学习门槛。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为根据本发明实施例的快速开发与配置平台类软件的方法的主要步骤的示意图;
图2是根据本发明实施例的快速开发与配置平台类软件的系统的主要模块的示意图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规使用的条件。
实施例
如图1所示是根据本发明实施例的快速开发与配置平台类软件的方法的主要步骤的示意图。如图1所示,该方法包括如下的步骤:
步骤S1:接口发现,通过公共接口发现程序,自动查找所有带格式化注解后台类来发现可以开发的操作接口,并以XML格式记录这些接口,用于表达式配置。
步骤S2:由约定的表达式动词来分别后台操作的技术实现,该配置也是由表达式设计器来保证。
在步骤S2中,所述约定的表达式动词有:执行SQL语句(例如:getsqldata,getpagesqldata,execsql,getsqlfirstvalue);执行存储过程(例如:getprocdata,getpageprocdata,exeproc,getprocfirstvalue);Java接口调用(例如:interfaceinvoke);启动业务流(例如:startbizflow);启动工作流(例如:startworkflow);执行工作流操作(例如:processworkflow);调用JAR或者DLL(callJAR,callDLL)调用Web Service(例如:callwebservice)。
以下是完整的可执行表达式例子:(1)getsqldata select*fromusertable where字段1=’{sysLoginUser.UserID}’and字段2=’值2’;(2)callwebservice WSDL文件URL.命名空间.类全名.方法名(Paramlists)。
步骤S3:表达式解释,解释表达式中出现的占位符,从环境变量读取对应的数据代替占位符作为表达式的参数。
步骤S4:表达式执行,通过动词找到实现该表达式调用的驱动类,每个驱动类是一种技术手段的实现,如有的驱动类负责静态Java方法,有的驱动类负责数据操作,有的驱动类负责Spring接口的调用。
步骤S5:实现数据操作驱动类,所述数据操作驱动类是一个基于JDBC的dbgr数据操作类,该类可以和其它业务组件保持数据库事务上的统一。所述数据操作驱动类将占位符替换成SQL语句的参数占位符,通知在SQL命令语句中按j dbc的标准注册参数,所述注册过程处理参数序号问题和同一参数出现多次的问题。
在步骤S5中,所述数据操作驱动类负责驱动如下动词:执行SQL语句(getsqldata,getpagesqldata,execsql,getsqlfirstvalue);执行存储过程(getprocdata,getpageprocdata,exeproc,getprocfirstvalue)。
步骤S6:返回结果,简单数据直接返回object,数组类型通过平台工具类转成平台的datatable数据类型。
图2是根据本发明实施例的快速开发与配置平台类软件的系统的主要模块的示意图。如图2所示,快速开发与配置平台类软件的系统20主要包括接口管理器,表达式管理器,表达式动词配置管理器,表达式解释管理器,表达式执行管理器,数据操作驱动类实现管理器,及返回结果管理器。
接口管理器:用于通过公共接口发现程序,自动查找所有带格式化注解后台类来发现可以开发的操作接口,并以XML格式记录这些接口,用于表达式配置。
表达式管理器:用于处理表达式中的通配符,定义所述表达式中的动词与执行类的映射、调用关系。
所述表达式管理器还包括表达式配置管理器:用于由约定的所述表达式中的动词来分别后台操作的技术实现,通过所述表达式设计器使得所述配置得以保证。
所述表达式中的动词包括:执行SQL语句,执行存储过程,Java接口调用,启动业务流,启动工作流,执行工作流操作,调用JAR或者DLL,以及调用Web Service。
表达式解释管理器:用于解释所述表达式中出现的通配符,从环境变量读取对应的数据代替通配符作为表达式的参数。
所述表达式解释管理器还包括表达式执行管理器:用于通过所述动词找到实现所述表达式调用的驱动类。
数据操作驱动类实现管理器:用于实现数据操作驱动类。
所述数据操作驱动类是一个基于JDBC的dbgr数据操作类,该类可以和其它业务组件保持数据库事务上的统一。
所述数据操作驱动类负责驱动如下动词:执行SQL语句和执行存储过程。
数据缓存装置:用于在数据运算过程中实现数据的缓存;
返回结果管理器:用于使得简单数据直接返回object,数组类型通过平台工具类转成平台的datatable数据类型。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种快速开发与配置平台类软件的系统,其特征在于,包括:
接口管理器,用于通过公共接口发现程序,自动查找所有带格式化注解后台类来发现可以开发的操作接口,并以XML格式记录这些接口,用于表达式配置;
表达式执行器配置,用于定义表达式中的动词,定义所述表达式中的动词与执行类的对应关系;
表达式解释器,用于解释所述表达式中出现的通配符,从环境变量读取对应的数据代替通配符作为表达式的参数值;
表达式执行器,根据表达式执行器配置调用对应实现类型来执行给定的表达式.
数据操作驱动类实现管理器,用于实现数据操作驱动类,是数据操作的公共操作实现类,用于支持表达式免代码实现数据库操作;
返回结果管理器,用于使得简单数据直接返回object,数组类型转成平台类软件易于实现自动绑定的datatable数据类型。
2.根据权利要求1所述的快速开发与配置平台类软件的系统,其特征在于,所述表达式管理器包括:
表达式动词配置管理器,用于由约定的所述表达式中的动词来分别进行后台操作的技术实现。
3.根据权利要求2所述的快速开发与配置平台类软件的系统,其特征在于,所述表达式动词配置管理器还用于通过所述表达式设计器使得所述配置得以保证。
4.根据权利要求3所述的快速开发与配置平台类软件的系统,其特征在于,所述表达式中的动词包括:执行SQL语句,执行存储过程,Java接口调用,启动业务流,启动工作流,执行工作流操作,调用JAR或者DLL,以及调用Web Service。
5.根据权利要求1所述的快速开发与配置平台类软件的系统,其特征在于,所述表达式解释管理器还包括:
表达式执行管理器,用于通过所述动词找到实现所述表达式调用的驱动类。
6.根据权利要求1所述的快速开发与配置平台类软件的系统,其特征在于,还包括数据缓存装置,用于运算过程中数据的缓存。
7.根据权利要求1所述的快速开发与配置平台类软件的系统,其特征在于:所述数据操作驱动类是一个基于JDBC的dbgr数据操作类,该类可以和其它业务组件保持数据库事务上的统一。
8.根据权利要求7所述的快速开发与配置平台类软件的系统,其特征在于,所述数据操作驱动类负责驱动如下动词:执行SQL语句和执行存储过程。
9.一种快速开发与配置平台类软件的方法,其特征在于,包括如下步骤:
(a)接口发现:通过公共接口发现程序,自动查找所有带格式化注解后台类来发现可以开发的操作接口,并以XML格式记录这些接口,用于表达式配置;
(b)表达式动词配置:由约定的表达式动词来分别后台操作的技术实现;
(c)表达式解释:解释表达式中出现的占位符,从环境变量读取对应的数据代替占位符作为表达式的参数;
(d)表达式执行:通过动词找到实现该表达式调用的驱动类;
(e)数据操作驱动类实现;
(f)返回结果:简单数据直接返回object,数组类型通过平台工具类转成平台的datatable数据类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110394878.4A CN102508673B (zh) | 2011-12-02 | 2011-12-02 | 快速开发与配置平台类软件的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110394878.4A CN102508673B (zh) | 2011-12-02 | 2011-12-02 | 快速开发与配置平台类软件的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102508673A true CN102508673A (zh) | 2012-06-20 |
CN102508673B CN102508673B (zh) | 2015-07-29 |
Family
ID=46220765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110394878.4A Active CN102508673B (zh) | 2011-12-02 | 2011-12-02 | 快速开发与配置平台类软件的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508673B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677975A (zh) * | 2013-12-09 | 2014-03-26 | 北京恒华伟业科技股份有限公司 | 一种访问应用系统内部对象的系统和方法 |
CN107273122A (zh) * | 2017-06-07 | 2017-10-20 | 深圳市卓讯信息技术有限公司 | 基于解耦机制的可迭代组建业务系统的方法及其终端 |
CN108268289A (zh) * | 2016-12-30 | 2018-07-10 | 阿里巴巴集团控股有限公司 | web应用的参数配置方法、装置及系统 |
CN113779444A (zh) * | 2021-11-12 | 2021-12-10 | 北京宇信科技集团股份有限公司 | 接口开发方法、零代码引擎和零代码数据接口开发系统 |
CN116862440A (zh) * | 2023-07-18 | 2023-10-10 | 中咨高技术咨询中心有限公司 | 一种科研项目管理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725177A (zh) * | 2004-07-21 | 2006-01-25 | 中国科学院软件研究所 | 嵌入式设备集成开发系统及其使用方法 |
CN1869991A (zh) * | 2006-06-30 | 2006-11-29 | 南京联创科技股份有限公司 | 基于动态代理的数据访问对象模式的实现方法 |
CN101110030A (zh) * | 2007-08-23 | 2008-01-23 | 南京联创科技股份有限公司 | 基于java的数据库持久层的开发方法 |
-
2011
- 2011-12-02 CN CN201110394878.4A patent/CN102508673B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725177A (zh) * | 2004-07-21 | 2006-01-25 | 中国科学院软件研究所 | 嵌入式设备集成开发系统及其使用方法 |
CN1869991A (zh) * | 2006-06-30 | 2006-11-29 | 南京联创科技股份有限公司 | 基于动态代理的数据访问对象模式的实现方法 |
CN101110030A (zh) * | 2007-08-23 | 2008-01-23 | 南京联创科技股份有限公司 | 基于java的数据库持久层的开发方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677975A (zh) * | 2013-12-09 | 2014-03-26 | 北京恒华伟业科技股份有限公司 | 一种访问应用系统内部对象的系统和方法 |
CN108268289A (zh) * | 2016-12-30 | 2018-07-10 | 阿里巴巴集团控股有限公司 | web应用的参数配置方法、装置及系统 |
CN107273122A (zh) * | 2017-06-07 | 2017-10-20 | 深圳市卓讯信息技术有限公司 | 基于解耦机制的可迭代组建业务系统的方法及其终端 |
CN113779444A (zh) * | 2021-11-12 | 2021-12-10 | 北京宇信科技集团股份有限公司 | 接口开发方法、零代码引擎和零代码数据接口开发系统 |
CN116862440A (zh) * | 2023-07-18 | 2023-10-10 | 中咨高技术咨询中心有限公司 | 一种科研项目管理方法及系统 |
CN116862440B (zh) * | 2023-07-18 | 2024-02-13 | 中咨高技术咨询中心有限公司 | 一种科研项目管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102508673B (zh) | 2015-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11086751B2 (en) | Intelligent metadata management and data lineage tracing | |
CN101454779B (zh) | 基于搜索的应用开发框架 | |
Halevy et al. | Enterprise information integration: successes, challenges and controversies | |
US9390395B2 (en) | Methods and apparatus for defining a collaborative workspace | |
US20140040295A1 (en) | Uniform Data Model and API for Representation and Processing of Semantic Data | |
US20210357503A1 (en) | Systems and Methods for Detecting Data Alteration from Source to Target | |
EP2369480A2 (en) | Mashup infrastructure with learning mechanism | |
US20140172827A1 (en) | In-memory, columnar database multidimensional analytical view integration | |
US8200710B2 (en) | System and method for runtime rendering of web-based user interfaces for master data management | |
US8881127B2 (en) | Systems and methods to automatically generate classes from API source code | |
US20080249981A1 (en) | Systems and methods for federating data | |
US20090006987A1 (en) | Visual design tools for portal content creation | |
CN111259067B (zh) | 一种基于Spring实现DAO接口的方法、装置及设备 | |
CN107291471B (zh) | 一种支持可定制化数据采集的元模型框架系统 | |
CN102221998A (zh) | 一种扩展构件运行支撑平台中ejb容器的方法 | |
CN102508673A (zh) | 快速开发与配置平台类软件的系统及方法 | |
CN103810272A (zh) | 一种数据处理方法和系统 | |
CN103946794A (zh) | 数据特征的滚动升级的系统和方法 | |
US20150081744A1 (en) | Metadata model repository | |
US20070156653A1 (en) | Automated knowledge management system | |
Ambler et al. | JavaScript Frameworks for Modern Web Dev | |
Kolovos et al. | The epsilon pattern language | |
Basciani et al. | Exploring model repositories by means of megamodel-aware search operators. | |
US20110289041A1 (en) | Systems and methods for managing assignment templates | |
CN102799423A (zh) | Jsf中执行动态方法的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |