CN110471649A - 一种编写web服务端程序的开发平台及方法 - Google Patents
一种编写web服务端程序的开发平台及方法 Download PDFInfo
- Publication number
- CN110471649A CN110471649A CN201910626750.2A CN201910626750A CN110471649A CN 110471649 A CN110471649 A CN 110471649A CN 201910626750 A CN201910626750 A CN 201910626750A CN 110471649 A CN110471649 A CN 110471649A
- Authority
- CN
- China
- Prior art keywords
- instruction
- web service
- service end
- program
- client
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种编写WEB服务端程序的开发平台及方法,包括电脑客户端、WEB服务端及程序指令集,电脑客户端浏览器通过http请求访问WEB服务端平台并由其解释执行用户编写的程序指令集,实现操作数据库数据的目的;解决了软件开发人员需要精通C#或JAVA等开发语言的技术门槛,提供一种只需掌握数据库的SQL语言和极少的指令集就可以编写WEB服务端程序的开发方法,大大降低了技术门槛,节省了开发人工成本。
Description
技术领域
本发明涉及服务端软件平台技术领域,更具体地说是指一种编写WEB服务端程序的开发平台及方法。
背景技术
在WEB服务端开发程序,目前主要采用ASP.NET、JSP/Servlet/J2EE等技术开发,开发者需要精通Java或C#开发语言,数据库SQL,相关的框架API接口规范,安装配置等技能,在开发过程需要处理好数据库的事务,当程序出错时需要处理事务回滚等,以保证业务数据的一致性,程序编写完成后需进行编译、部署配置、调试等复杂的操作,当业务需求变更时,需再次对源码编译、打包、部署等,操作过程繁琐。
现有技术在WEB服务端开发程序的主要问题有以下几点:
1、需精通开发语言(Java或C#等),框架API,数据库SQL语句、业务模型(表结构),要求开发技能高;
2、编写的程序代码与SQL语句混在一起,源码可读性很差,不易于修改及维护;
3、程序调试时,程序代码的错误及SQL语句错误并存,调试难度较大,修正后还需重新编译、打包后再调试;
4、每个开发人员都在写Java或C#等程序,代码质量较难保证,会造成***稳定性差;
5、每个开发人员管理各自的数据库事务处理,因新开发的程序问题较难保证事务原子性(需经过完全的测试后,才能保存数据的完整性)。
针对目前WEB服务端开发程序存在需要开发技能高,程序代码可读性差及维护困难,***稳定性及数据完整难保证的等问题,本发明提供一种只需掌握数据库SQL语言和极少的指令集就可以编写WEB服务端程序的软件开发方法。
发明内容
本发明所要解决的技术问题是提供一种编写WEB服务端程序的开发平台及方法,解决软件开发人员需要精通C#或JAVA等开发语言的技术门槛,提供一种只需掌握数据库的SQL语言和极少的指令集就可以编写后台WEB指令程序文件的创新软件开发方法。
为了解决上述技术问题,本发明提供一种编写WEB服务端程序的开发平台及方法,包括电脑PC端、WEB服务端和指令程序文件,所述电脑PC端通过http调用所述WEB服务端,所述WEB服务端启动时加载指令程序文件;
所述编写WEB服务端程序的开发平台及方法,WEB服务端的启动步骤如下:
S01.所述WEB服务端启动;
S02.所述WEB服务端加载指令程序文件,按函数名索引预编译;
S03.创建数据库连接池;
S04.等待客户端请求;
S05.执行所述客户端请求的函数名对应的所述指令集;
S06.执行所述指令完毕后,返回客户端;
S07.回到S04步骤,再等待客户端请求处理流程,重新执行;
S08.收到终止信号,退出所述WEB服务端。
进一步方案为,所述客户端请求调用执行指定函数的指令集,方法操作步骤如下:
1)客户端http post请求包括函数名、参数名和值;
2)WEB服务端接收用户请求后,打开数据库连接并开启事务;
3)按函数名读取预加载的指令集;
4)从指令集中获取一条指令;
5)如果是结束完成指令,则递交数据库事务,结束并返回结果至客户端;
6)执行指令;
7)如果指令执行返回错误时,数据库事务回滚,结束并把错误结果返回至客户端;
8)指令执行成功后,继续读取下一条指令,转5步骤。
进一步方案为,所述指令程序文件中定义了函数,每个所述函数由多个指令组成,所述函数提供给客户端远程调用(RPC),以实现复杂的业务逻辑处理
进一步方案为,所述的指令程序文件中主要程序指令如下:
1)所述LockCheck为加锁指定记录,并判断,如果符合条件则通过,否则返回错误信息;
2)所述QueryCheck为检测由SQL语句查询返回的数据记录,如有记录则返回错误;
3)所述QueryForLoop为以SQL语句返回的记录集作为参数,循环执行指定的SQL语句;
4)所述Execute为执行多个SQL语句;
5)所述QueryResult为返回结果集;
6)所述Call调用子过程;
以上指令循环,判断,分支执行
所述指令的基本格式由指令名、指令分隔符=,参数分隔符[*],SQL语句和参数值可以多行书写,并保证所述SQL语句的可读性,指令详细格式如下:
指令名=[*]SQL语句1
可以多行书写,适用于写SQL语句…..
[*]参数2
[*]参数3
[*]参数4
进一步方案为,所述WEB服务端平台功能如下:
1)指令程序文件加载及预编译;
2)指令的解释执行;
3)多数据库访问标准程序(目前支持ORACLE、SQLSERVER、MYSQL等);
4)数据库连接池及数据库事务处理程序;
5)客户端http请求及数据包返回处理程序。
本发明与现有技术相比的有益效果是:本发明解决软件开发人员需要精通C#或JAVA等开发语言的技术门槛,提供一种只需掌握数据库的SQL语言和极少的指令集就可以编写后台WEB指令程序文件的创新软件开发方法,主要有以下几个方面的优点:
1、数据库SQL语句,业务模型,简单的几条指令,要求开发技能较低;
2、由简单的指令和自然多行的SQL语句,可读性很友好;
3、只需专注于SQL的错误调试,相对简单很多,文本文件直接加载,无需编译;
4、本发明的WEB服务端平台代码由***架构师编写并已在多个应用平台成熟运行,***稳定性高;
5、本发明的程序指令已经过众多应用***的完整测试,严格的事务的处理控制,确保了数据的完整一致;
有了本发明,只需熟悉SQL语句及简单的指令,就可以编写WEB服务端程序了,大大降低了技术门槛,节省了开发人工成本。
附图说明
图1为本发明具体实施的WEB服务端工作原理示意图;
图2为本发明具体实施的客户端请求处理流程示意图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1和图2所示,本发明的具体实施例,一种编写WEB服务端程序的开发平台及方法,包括电脑客户端、WEB服务端和指令程序文件,电脑客户端通过http调用WEB服务端并其解释执行用户编写的程序指令集;
编写WEB服务端程序的开发平台及方法,WEB服务端启动步骤如下:
S01.所述WEB服务端启动;
S02.WEB服务端加载指令程序文件,按函数名索引预编译;
S03.创建数据库连接池;
S04.等待客户端请求;
S05.执行客户端请求的函数名对应的所述指令集;
S06.执行指令完毕后,返回客户端;
S07.回到S04步骤,再等待客户端请求处理流程,重新执行;
S08.收到终止信号,退出所述WEB服务端。
进一步地,客户端请求调用执行指定函数的指令集,方法操作步骤如下:
1)电脑客户端http post请求包括函数名、参数名和值;
2)WEB服务端接收用户请求后,打开数据库连接并开启事务;
3)按函数名读取预加载的指令集;
4)从指令集中获取一条指令;
5)如果是结束完成指令,则递交数据库事务,结束并返回结果至客户端;
6)解释执行指令;
7)如果指令执行返回错误时,数据库事务回滚,结束并把错误结果返回至电脑客户端;
8)指令执行成功后,继续读取下一条指令,转5步骤。
进一步地,所述指令程序文件中定义了函数,每个所述函数由多条指令组成,函数提供给电脑客户端远程调用(RPC),以实现复杂的业务逻辑处理。
指令程序文件的指令集主要包括RPC.HSPrice_Submit、BEGIN、LockCheck、QueryCheck、QueryForLoop、Execute、QueryResult、Call、END;
RPC.HSPrice_Submit为函数名称;
BEGIN为开始标记;
LockCheck为加锁指定记录,并判断,如果符合条件则通过,否则返回错误信息;
QueryCheck为检测由SQL语句查询返回的数据记录,如有记录则返回错误;
QueryForLoop为以SQL语句返回的记录集作为参数,循环执行指定的SQL语句;
Execute为执行多个SQL语句;
QueryResult为返回结果集;
Call调用子过程。
进一步地,WEB服务端平台软件功能如下:
1)后台指令程序文件加载及预编译;
2)指令解释执行程序;
3)多数据库访问标准程序;
4)数据库连接池及数据库事务处理程序;
5)客户端http请求及数据包返回处理程序。
进一步地,本发明的具体实施的主要工作流程方法如下:
本发明在实际应用实施时,主要包括服务端平台软件和用户编写的指令程序文件:
1.服务端平台软件包括执行文件OWServer.exe及配置文件OWServer.ini;
配置文件中需设置主目录、WEB服务端口号、需加载的指令程序文件名,数据库连接参数等;
用户使用时只需启动OWServer.exe执行文件即可;
2.用户编写指令程序文件
指令程序文件格式是一个文本文件,由服务端平台软件启动时加载,用户编写的指令程序文件的样式如下:
3.客户端调用
用Http请求POST方法调用平台软件的服务器地址及端口
如:http://120.1.1.1:9008/owdata
请求数据格式如下:
Method:HS_Submit //函数名
Service:CRM //数据库连接名_
Params:ID=100023 //参数名及值
本发明也提供浏览器JS的调用函数:
function RPC(method,params,content,callback,errorback,service,request_url),返回数据为标准的JSON格式。
4.本发明的指令集使用规范如下:
1.执行sql
Execute=[*]sql语名(或者$指令)
[*]参数
[*]
2.查询sql并循还每条执行
QueryForLoop=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
[*]sql执行语名(或者$指令)
QueryForLoop=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
[*]SELECT语句
[*]UPDATE语句
[*]INSERT语句
3.执行查询并为每个字段名保存成参数
QueryAsParams=[*]sql语名
[*]参数
[*]过滤条件;
4、返回查询的结果
QueryAddResult=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
QueryResult=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
5.执行查询可存至全局参数中
QueryAs=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
[*]变量名
6.锁定记录,条件不成功时出错
LockCheck=表名,where,filter,"错误信息格式"
7.执行查询,检查错误记录
QueryCheck=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
[*]出错信息格式%F_CODE%F_NAME
8.检查并执行
CheckExecute=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
[*]UPDATE语句(记录存在时执行)
[*]INSERT语句(记录不存在时)
9.保存数据变更,保存客户端上传的数据变更
Save=
10.引发异常
Raise=[*]error_format
11.设置参数
Params=[*]NAME=%F_Name,ID=%F_ID
12.获取结果,如果结果为空时,就执行一个sql
CheckResult=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
[*]字段名
[*]sql执行语名(或者$指令)
13.调用子过程
Call=[*]Name
[*]参数
[*]执行的条件
14.条件判断
IF=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
ELSEIF=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
ELSE=
ENDIF=
15.退出
Quit=[*]sql
[*]
[*]
[*]Field//返回值字段
16.循环
WhileBegin=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
{执行的指令…}
WhileEnd=
Break=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
Continue=[*]sql语名(或者$指令)
[*]参数
[*]过滤条件
17.显示日志,参数为空时,显示所有的参数及值
Log=[*]test%F_NAME:F_CODE
18.$指令
本发明解决软件开发人员需要精通C#或JAVA等开发语言的技术门槛,提供一种只需掌握数据库的SQL语言和极少的指令集就可以编写WEB服务端程序的创新软件开发方法,主要有以下几个方面的优点:
1、只需熟悉数据库SQL语句,业务模型,简单的几条指令,要求开发技能较低;
2、由简单的指令和自然多行的SQL语句,可读性很友好;
3、只需专注于SQL的错误调试,相对简单很多,指令程序文本文件直接加载,无需编译;
4、本发明的WEB服务端平台代码由***架构师编写并已在多个应用平台成熟运行,***稳定性高;
5、本发明的程序指令已经过众多应用***的完整测试,严格的数据库事务处理控制,确保了数据的完整;
有了本发明,只需熟悉SQL语句及简单的指令,就可以编写服务端程序了,大大降低了技术门槛,节省了开发人工成本。
以上所述仅为本专利优选实施方式,并非限制本专利范围,凡是利用说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其它相关的技术领域,均属于本专利保护范围。
Claims (6)
1.一种编写WEB服务端程序的开发平台及方法,其特征在于:包括电脑客户端、WEB服务端和指令程序文件,所述电脑客户端通过http调用所述WEB服务端,所述WEB服务端启动时加载指令程序文件;
所述的WEB服务端启动步骤如下:
S01.所述WEB服务端启动;
S02.所述WEB服务端加载指令程序文件,按函数名索引预编译;
S03.创建数据库连接池;
S04.等待电脑PC端请求;
S05.执行所述客户端请求的函数名对应的所述指令集;
S06.执行所述指令完毕后,返回电脑PC端;
S07.回到S04步骤,再等待客户端请求处理流程,重新执行;
S08.收到终止信号,退出所述WEB服务端。
2.如权利要求1所述的编写WEB服务端程序的开发平台及方法,其特征在于:所述电脑客户端请求调用执行指定函数的指令集,方法操作步骤如下:
1)电脑客户端通过http post请求包括函数名、参数名和值;
2)WEB服务端接收用户请求后,打开数据库连接并开启事务;
3)按函数名读取预加载的指令集;
4)从指令集中获取一条指令;
5)如果是结束完成指令,则递交数据库事务,结束并返回结果至客户端;
6)解释执行指令;
7)如果指令执行返回错误时,数据库事务回滚,结束并把错误结果返回至电脑客户端;
8)指令执行成功后,继续读取下一条指令,转5步骤。
3.如权利要求1所述的编写WEB服务端程序的开发平台及方法,其特征在于:所述指令程序文件定义了函数,每个所述函数由多个指令组成,所述函数提供给客户端远程调用(RPC) 。
4.如权利要求1所述的编写WEB服务端程序的开发平台及方法,其特征在于:所述指令程序文件的指令集包括的主要指令如下:
1)所述LockCheck为加锁指定记录,并判断,如果符合条件则通过,否则返回错误信息;
2)所述QueryCheck为检测由SQL语句查询返回的数据记录,如有记录则返回错误;
3)所述QueryForLoop为以SQL语句返回的记录集作为参数,循环执行指定的SQL语句;
4)所述Execute为执行多个SQL语句;
5)所述QueryResult为返回结果集;
6)所述Call调用子过程;
以上指令循环,判断,分支执行。
5.如权利要求1所述的编写WEB服务端程序的开发平台及方法,其特征在于:所述指令的基本格式由指令名、指令分隔符=,参数分隔符[*],SQL语句和参数值可以多行书写,并保证所述SQL语句的可读性。
6.如权利要求1所述的编写WEB服务端程序的开发平台及方法,其特征在于:所述WEB服务端平台功能如下:
1)指令程序文件加载及预编译;
2)指令解释执行程序;
3)多数据库访问标准程序
4)数据库连接池及数据库事务处理程序;
5)客户端http请求及数据包返回处理程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910626750.2A CN110471649A (zh) | 2019-07-11 | 2019-07-11 | 一种编写web服务端程序的开发平台及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910626750.2A CN110471649A (zh) | 2019-07-11 | 2019-07-11 | 一种编写web服务端程序的开发平台及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110471649A true CN110471649A (zh) | 2019-11-19 |
Family
ID=68508067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910626750.2A Pending CN110471649A (zh) | 2019-07-11 | 2019-07-11 | 一种编写web服务端程序的开发平台及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471649A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817570A (zh) * | 2021-02-07 | 2021-05-18 | 上海星融汽车科技有限公司 | 通过mock模拟数据的方法及*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003044432A (ja) * | 2001-07-31 | 2003-02-14 | Faruma Minami Osaka:Kk | プログラム開発システム |
CN105302575A (zh) * | 2015-11-19 | 2016-02-03 | ***通信集团广东有限公司汕头分公司 | 一种基础开发框架 |
CN105824616A (zh) * | 2016-03-07 | 2016-08-03 | 林友哲 | 一种用于设备控制***程序的开发方法及框架 |
CN105956481A (zh) * | 2015-09-17 | 2016-09-21 | ***股份有限公司 | 一种数据处理方法及其装置 |
CN106227545A (zh) * | 2016-07-28 | 2016-12-14 | 武汉源启科技股份有限公司 | 开发平台的设计方法及装置 |
WO2017027868A1 (en) * | 2015-08-13 | 2017-02-16 | PositiveEdge Solutions LLC | Configurable development platform integrating heterogeneous persistence systems |
CN107391111A (zh) * | 2017-06-22 | 2017-11-24 | 刘武丰 | 人工智能协同开发框架及实现方法 |
CN109446064A (zh) * | 2018-09-18 | 2019-03-08 | 珠海金山网络游戏科技有限公司 | 一种基于浏览器的交互测试方法 |
-
2019
- 2019-07-11 CN CN201910626750.2A patent/CN110471649A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003044432A (ja) * | 2001-07-31 | 2003-02-14 | Faruma Minami Osaka:Kk | プログラム開発システム |
WO2017027868A1 (en) * | 2015-08-13 | 2017-02-16 | PositiveEdge Solutions LLC | Configurable development platform integrating heterogeneous persistence systems |
CN105956481A (zh) * | 2015-09-17 | 2016-09-21 | ***股份有限公司 | 一种数据处理方法及其装置 |
CN105302575A (zh) * | 2015-11-19 | 2016-02-03 | ***通信集团广东有限公司汕头分公司 | 一种基础开发框架 |
CN105824616A (zh) * | 2016-03-07 | 2016-08-03 | 林友哲 | 一种用于设备控制***程序的开发方法及框架 |
CN106227545A (zh) * | 2016-07-28 | 2016-12-14 | 武汉源启科技股份有限公司 | 开发平台的设计方法及装置 |
CN107391111A (zh) * | 2017-06-22 | 2017-11-24 | 刘武丰 | 人工智能协同开发框架及实现方法 |
CN109446064A (zh) * | 2018-09-18 | 2019-03-08 | 珠海金山网络游戏科技有限公司 | 一种基于浏览器的交互测试方法 |
Non-Patent Citations (1)
Title |
---|
夏帮贵: "基于 Android 平台的图书馆服务***设计与实现", 《应用实践》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817570A (zh) * | 2021-02-07 | 2021-05-18 | 上海星融汽车科技有限公司 | 通过mock模拟数据的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792203B2 (en) | Isolated testing of distributed development projects | |
EP1805622B1 (en) | Method and system for simplifying the debugging of a program comprising user-written code and non user-written code | |
CN101782864B (zh) | 一种改善Web服务器通信服务稳定性的方法 | |
Ying et al. | Refactoring legacy AJAX applications to improve the efficiency of the data exchange component | |
JP2001222436A (ja) | リソースの自動化管理をサポートする方法、そのシステム、およびその記録媒体 | |
CN109635024A (zh) | 一种数据迁移方法及*** | |
Ribeiro et al. | Ecoandroid: An android studio plugin for developing energy-efficient java mobile applications | |
US20170024307A1 (en) | Debugging in a Production Environment | |
CN108763056A (zh) | 一种自动化测试弹框处理方法及终端 | |
CN112988165A (zh) | 基于Kubernetes的交互式建模方法、装置、电子设备及存储介质 | |
Kaliszyk | Web interfaces for proof assistants | |
US20220300262A1 (en) | Method for constructing, running and implementing cross-platform application, terminal, server and system | |
CN110471649A (zh) | 一种编写web服务端程序的开发平台及方法 | |
CN117215661A (zh) | 一种事件处理的方法、装置以及存储介质 | |
CN108073389A (zh) | 一种基于脚本语言的引擎*** | |
CN113961451A (zh) | 一种用于工作平台软件开发类任务的自动测试*** | |
CN112000310A (zh) | 电力自动化运维*** | |
Gammelgaard | Microservices in. NET | |
CN104731697A (zh) | 测试用例的运行控制方法、控制***和*** | |
CN109669871A (zh) | 一种实现Oracle Form自动化测试的方法 | |
Bai | Developing Java Web Services to Access Databases | |
Mitchell et al. | SQL Server Integration Services Design Patterns | |
Toman | Web application for Data Import from XLSX into a Relational Database | |
Tate | From Java to Ruby | |
CN111782289B (zh) | 基于Adams软件的协同方法、***、计算机设备及存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191119 |