当前位置: 首页 > news >正文

博客系统做网站免费b站推广网站在线

博客系统做网站,免费b站推广网站在线,西三旗网站建设,个人 可以备案做分类信息网站吗本文讲解了如何jxTMS的数据访问框架,整个系列的文章请查看:docker版jxTMS使用指南:4.4版升级内容 docker版本的使用,请查看:docker版jxTMS使用指南 4.0版jxTMS的说明,请查看:4.0版升级内容 4…

本文讲解了如何jxTMS的数据访问框架,整个系列的文章请查看:docker版jxTMS使用指南:4.4版升级内容

docker版本的使用,请查看:docker版jxTMS使用指南

4.0版jxTMS的说明,请查看:4.0版升级内容

4.2版jxTMS的说明,请查看:4.2版升级内容

使用jxTMS搭建一个数据访问系统,相对来说较为简单,因为jxTMS已经内置了一个完整的数据访问框架:

数据处理框架

该框架在上图中已经展示的非常清楚了,各步骤的相关处理也都在前文讲解过。所以本文只说明当有一个新用户要对某个新加入的资源执行某项新操作时该如何做。

1、增加新操作

如【app/sinosoarSP30H/】下的op_getSiteData.py所展示的,可以非常简单的定义并注册一个新操作:

from jx.auth import auth
from jx.site import site#读取设备数据
#user:用户
#resID:资源ID
#params:调用时的参数
def op_getSiteData(user, siteName, params):s = site.getSite(siteName)if s is None:return None,None,404,f'站点[{siteName}]不存在'else:return s.type(),s.data(),200,Noneauth.registerOP('getSiteData', op_getSiteData)

上述代码注册了一个名为【getSiteData】的操作。

然后,我们要在【app/sinosoarSP30H/】目录下的__init.py__文件中引用op_getSiteData:

from app.sinosoarSP30H import op_getSiteData

这样才能在app目录下的__init.py__文件中引用加载sinosoarSP30H模块时自动加载op_getSiteData.py文件,完成getSiteData操作的自动注册。

2、增加一个授权

jxTMS的用户授权是构建一个【资源组-操作-角色】的关联,所以授权过程是:

  • 将需要执行getSiteData操作的资源放到某个资源组中

  • 将需要授权执行getSiteData操作的用户映射到某个角色

  • 然后授权该角色可以对该资源组执行getSiteData操作

具体操作请参考【新建用户并授权】一文。

3、如有必要,增加一个SLA处理

大家看一下上面的op_getSiteData函数,其返回的是一个四元组,第一个元素指示了返回结果的类型。

当需要时,可以为该类型的操作结果,增加SLA【服务水平】处理,如针对不同用户提供不同精度的地图等。

如【app/vrs20/】下的dualResult.py所展示的,可以根据用户、角色等提供针对性的数据后处理。

需要说明的是,此处的SLA处理和操作处理一样,都是只用于提供rest访问的处理流中。

大家应该理解,本文所讲述的都是对外提供数据服务,而不是前几篇文章所讲解的数据处理的内容。所以,实际上应当避免dualResult.py中的直接修改原始数据的做法。

演示

大家可以执行:

cd /home/tms/python
python3 main.py

来启动数据处理。

注:大家看一下main.py,会看到其启动ms时指定了【alone=True】,也就是说其不会向java侧的jxTMS系统平台中的catalogService进行注册,所以无法通过java侧的jxTMS系统平台来对数据收发进行管理。这是由于笔者在测试时需要反复重启python侧的jxTMS服务,而且是只使用如下命令进行启动:

python3 main.py

但其会不断报无法注册到catalogService,会极大的干扰调试工作,所以就指定了【alone=True】以阻止向catalogService进行注册,大家如果需要使用java侧的jxTMS系统平台,就需要删除【alone=True】

继续。然后打开另外一个ssh会话,执行:

cd /home/tms/python
python3 testWeb.py

在前一个会话可以看到:

用户[demoUser01/demoUser01]请求对[hbc01]执行操作[getSiteData]:允许"

在后一个会话可以看到:

({'VoltageA': 227.60000000000002, 'VoltageB': 227.20000000000002, 'VoltageC': 220.8, 'DG1_VoltageAB': 221.4, 'SOC1': 224.0, 'timestamp': None}, 200, None)

表明当前用户执行getSiteData操作成功。

安全性增强

jxTMS的web访问采用的是http协议,而非https协议,这主要是考虑现在一般不支持私有证书,为了降低部署的成本才做了如此的选择。

但这自然会带来安全方面的风险,所以jxTMS基于jwt提供了双向加密来提供有限的安全。

注:数据服务一般用于低敏感度的场景,由于都是toB的中间业务数据交换,天然的具有点到点、数据不具备自解释能力【需双方约定所交换数据的格式和语义】的特点,所以一般情况下也不太需要关注数据的安全问题

如果和jxTMS交换的对手方也是python环境,可以直接引用module目录下的webClient.py文件中的webClient,使用towWay_login代替login并指示secretType为jwt,则jxTMS会用jwt加密来取代普通login的明文用户名密码,同时发送过来的数据也都会用jwt进行加密。

注:由于采用的是http协议,所以此处的增强只具有有限的安全,如果评估后认为安全风险较大,还是应采取https或其它加密信道来增强安全性

参考资料:

jxTMS设计思想

jxTMS编程手册

下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能:

如何用jxTMS开发一个功能

下面的系列文章讲述了jxTMS的一些基本开发能力:

jxTMS的HelloWorld

http://www.hkea.cn/news/412100/

相关文章:

  • 国发网站建设西安做网站公司
  • 网站推广服务合同简述网络营销的主要方法
  • 信息门户网站是什么成人计算机培训机构哪个最好
  • 网站建设公司 中企动力公司东莞商城网站建设
  • b2c的电子商务网站自己想做个网站怎么做
  • 京东pc网站用什么做的如何注册网站怎么注册
  • 长沙商城网站制作seo线下培训课程
  • web网站开发公司网站制作优化排名
  • 这么做3d网站企业邮箱网页版
  • 瑞安网站建设公司关键词排名网络推广
  • 南京学做网站友情链接检查工具
  • 参考文献网站开发百度重庆营销中心
  • 如何做微信ppt模板下载网站企业网页设计公司
  • 做b2b网站百度点击快速排名
  • 网站怎么做移动图片不显示不出来吗芭嘞seo
  • 旅游网站建设服务器ip域名解析
  • 企业网站建设三个原则百度指数资讯指数是指什么
  • 房地产集团网站建设方案软文文案案例
  • 阜蒙县建设学校网站是什么北京seo编辑
  • 珠海建设局网站十大经典事件营销案例分析
  • 创建网站开发公司互联网推广引流是做什么的
  • 万盛集团网站建设seo网站推广全程实例
  • 做教育的网站需要资质吗网站怎么开发
  • 微网站怎么做滚动中国万网域名注册官网
  • 个人如何免费建网站seo在线优化工具 si
  • 双线主机可以做彩票网站吗网络推广合作协议
  • 做外贸的b2b网站域名批量查询系统
  • 建设网站需要哪些职位网站建设策划书
  • 苏州网站建设哪里好网站点击排名优化
  • 网站建设收费标准策划百度推广关键词越多越好吗