前面介绍了很多关于前端页面和后台服务的知识,那前端和后台到底是怎么通信的呢,下面给大家详细介绍一下,整体流程如下图所示:
上图中各个环节的详细说明如下:
1、前端页面通过“服务请求”组件向任擎服务器发送服务请求,指定要请求的服务路径,并提供相关的请求参数;
2、任擎服务器先对请求参数进行解析,然后将这些参数封装到一个名为 req(Request的简写,表示客户端请求)的对象中;
3、任擎服务器根据客户端请求的服务路径加载对应的后台服务文件,如果是tbs格式,则先编译为js格式,然后创建对应的后台服务对象;
4、任擎服务器判断该服务是否需要进行登录校验,如果需要,则根据客户端请求参数中发送的身份验证信息进行登录校验,如果校验失败,则向客户端返回错误信息,并结束该服务的执行;如果校验成功,则将当前用户的相关信息保存到 req.session(会话对象)中,包括当前用户ID、姓名、代码等,以便在后台服务中引用这些信息;
5、如果该服务需要进行登录校验,并且已经通过,则任擎服务器会继续判断该服务是否需要校验操作权限,如果当前用户没有该服务的操作权限,则向客户端返回错误信息,并结束服务的执行;
6、上述校验都通过后,任擎服务器会创建一个名为 res(Response的简写,表示服务器端响应,里面默认就一个属性:code,值默认为0)的对象,并调用该服务对象的 process(req, res) 方法,并将前面创建的客户端请求对象req和服务器端响应对象res作为参数传入;
7、在服务对象的 process 方法内进行必要的业务校验,例如必填参数是否为空、参数类型是否正确、参数值是否重复等;
8、然后执行数据库增删改查、数据导入导出等业务操作;
9、然后将处理结果或响应数据保存到 res 对象中;
10、最后调用服务对象的 end 方法终止服务的执行,断开数据库连接;
11、任擎服务器将res对象 序列化为JSON字符串返回给客户端。
TaskBuilder客户端请求后台服务的流程
点赞
收藏