快速开发工具的两种实现模式
从目前国内主流的开发平台看,主要有两种实现模式:引擎模式及生成源代码模式。引擎模式比较有代表性的是方正飞鸿平台(http://www.founderfix.com),生成源代码模式比较有名是的普元平台(http://www.primeton.com)
首先说一下引擎模式,大家可能对报表工具都比较熟悉,目前见到的所有报表工具都是属于引擎模式的。也就是说,通过报表设计器设计出报表模板,发布到报表引擎中,在运行时,你向报表引擎里传递相关的参数,如报表条件,报表引擎负责查询数据库,加工数据,然后以各种方式展现出来。在这个过程中是不需要开发人员编写代码的,这就是引擎模式。
开发平台也是类似,也就是说,利用开发平台开发业务系统时,不需要编码,只需通过WEB页面进行参数定制即可,这些参数存放在系统数据库或XML文件中。系统运行时,由引擎调用这些参数进行页面展现及业务处理。
引擎模式是一种先进的模式,被广泛用于组件的编写中。
基于引擎模式的开发平台,目前见到的并不多,主要原因是这类平发平台本身实现要求的技术难度较大。方正飞鸿平台(http://www.founderfix.com)是这类平台比较具代表性的一个成功的产品。
说引擎模式开发平台本身实现难度较大,主要是因为,开发平台不同于报表工具那样功能单一,作为一个开发平台,除了报表引擎,还需要有自定义表单引擎,WEB组件引擎,流程引擎,业务逻辑引擎等等,要能方便客户利用它定义出一个复杂业务系统。所以就需要充分考虑实现一个复杂业务系统可能需要的开发功能,进行高度抽象,并且对编程算法要求也相当高。
再说生成源代码方式。这种方式主要通过一个桌面式设计器来定义业务模块,附助生成源代码框架,然后用户可以在生成的源代码的基础上编写、修改自己的源代码,实现业务逻辑,包括生成、修改JSP页面。
所以生成源代码模式也可认为是一种代码生成器。
相对于生成源代码模式,引擎模式具有很大的优势:
由于不生成源代码,所以对开发人员的技术水平要求比较低,开发人员即使不懂JAVA,也可以方便快速开发,基本上懂sql就可以开发。
由于开发时,开发人员完全基于浏览器访问服务器进行参数定制,所以对于团队开发特别适合,特别是远程协作开发。
系统上线后,可以在线维护,也可以在线定制新的模块(如查询,编辑模块),不需重新编码,编译,发布。
相对于生成源代码类的开发平台,最大优势是方便升级,基于引擎的开发平台,由于参数是存在数据库中的,开发平台升级时,只需通过升级程序将这些数据升级处理一下即可,用户不需要做任何修改,即可以享有新版的所有功能。而基于生成源代码的,实现方式是:设计->定制业务模块->生成源代码框架->用户手工添加自己的代码。比如生成JSP后,用户需要在JSP基础上进行更改,这样就造成以后很难升级,因为新版的开发平台,生成JSP模板一般是要变的,比如增加很多功能,用户除非重新修改JSP文件,才能享有新增的功能。
当然引擎模式,也有它的不足,即处理一些引擎没有提供模板的特殊界面及复杂业务逻辑时不如生成源代码方式平台方便,因为对于生成源代码的,开发人员可以随意对生在的源代码任意修改,实现复杂业务。因为基于引擎的开发平台,还要有良好的可扩展接口,可以让开发人员通过编程方式实现一些复杂的界面及业务逻辑。这一点,方正飞鸿平台(http://www.founderfix.com)就做的不错。
快速开发工具的两种实现模式相关推荐
- java开发平台普元_java开发平台的两种实现模式
从目前国内主流的java开发平台看,主要有两种实现模式:引擎模式及生成源代码模式.引擎模式比较有代表性的是华丹平台(https://www.huadaninfo.com),生成源代码模式比较有名是的普 ...
- 如何用计算机快速计算方法有哪些,win10快速打开计算器工具的两种方法(图文)...
windows10系统内置许多小工具,比如常见的计算器,一般需要使用的时候大家都会在开始菜单-附件里找到它,这样就不太方便了,有什么办法能快速打开它?大家可以将计算器固定在任务栏,或者使用命令窗口输入 ...
- 开源集锦(五)开源框架和快速开发工具类
Volley https://github.com/stormzhang/AndroidVolley http://blog.csdn.net/t12x3456/article/details/922 ...
- 10款好用的混合式快速开发工具
HTML5标准定稿之后,影响力持续上升,在移动互联网领域爆发出了巨大的能量,HTML5与原生APP之争再次引起行业人士的广泛关注.对于开发者来说,是选择原生APP还是顺应形势接受HTML5成了一个比较 ...
- 最经典的两种软件架构模式
什么是架构模式? 根据维基百科中的定义: An architecture pattern is a general,reusable solution to a commonly occurring ...
- Python开发工具的七种“工具”的介绍
原文地址为: Python开发工具的七种"工具"的介绍 本文主要是对Python开发工具的七种介绍,其中包括, IDLE. BlackAdder.PythonWorks.Wing ...
- 8086的两种工作模式_Buck变换器工作原理
一.Buck变换器另外三种叫法 1.降压变换器:输出电压小于输入电压. 2.串联开关稳压电源:单刀双掷开关(晶体管)串联于输入与输出之间. 3.三端开关型降压稳压电源: 1)输入与输出的一根线是公用的 ...
- 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置
摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...
- FTP服务器的两种工作模式
FTP协议: FTP(File transfer Protocol)是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20.21号端口, 其中端口20(数据端口)用于进行数据传输,端 ...
- 图像传感器binning_图像传感器的两种缩放模式
一部份信息表示,sensor的RGB数据排列如下图所示,部分行.列数据是一个无效的,只取中间有效像素( active pixel)部分,实际上 sensor 获取的数据也是如此存储的. 以 OV274 ...
最新文章
- 线段树扫描线求矩形周长详解
- Python——文本进度条
- 工作总结5:插槽的使用
- 处理2D图像和纹理——创建2D菜单界面
- leetcode刷题之 两数之和
- Matlab函数——wgn
- 贪心 汽车加油 java_贪心算法-汽车加油
- echarts-横坐标文字竖着显示和倾斜45度显示
- 目标识别与跟踪算法matlab_极市直播| 朱政:基于孪生网络结构的SiamRPN系列目标跟踪算法...
- Ubuntu11.10安装科磊NW336驱动
- android espresso跨程序,在Espresso Android中正确使用IdlingResource的方法
- 淘宝商品图文详情(wdescContent)
- Python基础 笔记(三) 标识符、输入输出函数
- 商务本Surface Laptop2用固态U盘安装Ubuntu18.04全教程(补充篇)
- Omnipeek使用抓包网卡驱动安装问题
- 【Proteus仿真】【51单片机】智能电饭煲系统设计
- JAVA中的IO系统
- html控制树莓派小车,用家里旧的红外遥控器控制树莓派小车
- web.xml配置详解
- 震旦Aurora ADC225 一体机驱动
热门文章
- Latex多处引用同一脚注
- Resize operation completed for file#
- 传奇私服架设入门教程分享
- 写一些不属于自己的文字
- android 仿QQ列表可折叠+自定义Dialog结合的DEMO
- win11怎么进安全模式,win11进入安全模式的方法
- 沁恒三模键盘方案测试体验
- 计算机连上wifi无法上网了,电脑已连接wifi但无法上网 已连接wifi但电脑无法上网-192路由网...
- 异军突起,私域流量才是真正的护城河(上)
- 2021 年 WAX 处在链游界前沿,2022 年能否继续维持? | Footprint Analytics