CN110471649A - 一种编写web服务端程序的开发平台及方法 - Google Patents

一种编写web服务端程序的开发平台及方法 Download PDF

Info

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
Application number
CN201910626750.2A
Other languages
English (en)
Inventor
黄南征
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Guide Information Technology Co Ltd
Original Assignee
Guangzhou Guide Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Guide Information Technology Co Ltd filed Critical Guangzhou Guide Information Technology Co Ltd
Priority to CN201910626750.2A priority Critical patent/CN110471649A/zh
Publication of CN110471649A publication Critical patent/CN110471649A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

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服务端程序的开发平台及方法。
背景技术
在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请求及数据包返回处理程序。
CN201910626750.2A 2019-07-11 2019-07-11 一种编写web服务端程序的开发平台及方法 Pending CN110471649A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817570A (zh) * 2021-02-07 2021-05-18 上海星融汽车科技有限公司 通过mock模拟数据的方法及***

Citations (8)

* Cited by examiner, † Cited by third party
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 珠海金山网络游戏科技有限公司 一种基于浏览器的交互测试方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
夏帮贵: "基于 Android 平台的图书馆服务***设计与实现", 《应用实践》 *

Cited By (1)

* Cited by examiner, † Cited by third party
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