zoukankan      html  css  js  c++  java
  • HDC.Cloud | 基于IoT Studio自助生成10万行代码的奥秘

    【摘要】 不会直播的老师不是好老师,不做预习的学生不是好学生~

    华为IoT小助手们搬好板凳、备好笔记本、听了HDC.Cloud的几场华为云技术架构师的直播讲课,感觉获益匪浅却又似懂非懂,直后悔自己没有好好打下基础。为了避免再次出现这样的情况,小助手偷偷跑去找了华为云IoT Studio首席架构师黄树林老师,想开个小灶。黄老师禁不住好学的小助手的软磨硬泡,开始娓娓道来:

    01 物联网设备厂商遇到的难题

    从上世纪80年代起,科技迅猛发展,人类经历了以连接“人”为主体的PC时代和以连接“应用”为主体的移动互联网时代,现在又跨入了连接“物”的智能时代,物联网的黄金时代即将来临。那么,一个合格的物联网厂商需要具备哪些条件呢?        
    “联接物”的前提,就是设备能联网,也就是说,厂商需要具备设备接入的能力。业界在这方面已经有相当成熟的方案支撑。而端侧数据收集上来后,该如何处理和使用,这才是物联网企业需要思考的另一大要点。这要求厂商需要具备应用开发的能力,也是他们面临的最重要的难题。        

    02 华为物联网应用开放能力的实践及演进过程

    其实,华为作为一个物联网平台提供商,在为物联网设备厂商提供应用开发服务的过程中也走了不少弯路。从刚开始的只提供API开发,到后来提供设备管理SaaS,最后提供应用引擎,三个阶段互为补充,满足不同层次的企业使用。而这个过程跟华为的物联网平台发展强相关。

    1585218258820495.png

    在第一阶段,华为云IoT主要为应用开发提供了北向API及配套的SDK。在这一阶段内,大部分的项目需求是定制开发的,期间更是面临了物联网安全、性能、大容量,跨大洲网络时延等种种问题。而通过这些项目,我们的物联网平台也积累了一些大容量、高安全的经验及组件,这些已经沉淀下来以各种API的形式开放给大家使用。但是,这些方案构筑非云原生架构,应用的可复制能力有限。同时,一个项目的代码开发工作量可达30万行以上,开发周期通常需要耗费半年以上,投入巨大,可谓是费时又费力。

    为了解决这些问题,我们的工程师们开始参照业界的解决思路,也促使我们的华为云IoT平台的应用开发能力迈入了第二阶段——设备管理SaaS服务阶段

    华为云IoT Studio云服务提供的Web应用在线开发,是一种无 码化的物联网应用开发SaaS服务,帮助无专业软件开发和运维能力的中小企业便捷、快速构建应用,轻松管理全球化设备,实现对设备的远程监控、分析及运营统计等能力,大大降低物联网行业应用上云的难度。

    目前的应用开发,统计报表都是通过开发人员硬编码完成统计图表,但每次调整报表代价很大。因此,自定义报表就成为了SaaS服务的关键能力。IoT Studio提供的自定义报表能力,允许开发者通过无 码化的方式开发统计报表。由于内部预置了OLAP引擎做统计报表的数据预统计,其可以达到亿级的数据量在1秒钟内出统计报表。同时,还支持灵活可拓展的数据统计和交互式报表统计,大大提高用户体验。

    诚然,IoT Studio的出现减轻了代码的开发门槛和工作量,又满足了行业方案个性化拓展的需求,还为实现大规模复制提供了可能。但是,仅仅做无 码化SaaS就足够了吗?据统计,针对轻量级应用开发,大概70%的开发页面是业界可以通用的,但还有30%的页面需要客户自行开发。那这又怎么办呢?华为云IoT的应用构建因此步入了第三阶段——基于应用引擎开发应用。

    应用引擎就是应用开发助推器,是基于SaaS能力的扩展,期望能帮助开发者构筑自己的应用,把“脏活、苦活”自己包了,“有价值的活”留给开发者,让开发者更聚焦。华为应用引擎,提供物联网应用基础能力、应用框架扩展能力和微服务框架及托管的能力。
    使用IoT Studio提供的工具,自动生成微服务框架,提供SDK可以更快捷地使用应用引擎预置的基础能力。开发者在此微服务框架上完成开发,并托管到华为云。自动生成的微服务框架及各组件demo代码,可达10万行。

    总的来说,API开放是以非托管的方式提供可完全定制开发的服务给有足够开发人员的企业使用;SaaS方式支持有限的定制配置,可以给无开发人员或少量开发人员的中小企业使用;应用引擎则主要适用于拥有少量开发人员且有一定的定制需求的企业使用,支持有限的自定义编码开发。也就是说,华为云IoT Studio能够为不同类型的开发者提供最适合他们的服务,助力他们完成自己的物联网解决方案开发。

    戳→看直播回顾

  • 相关阅读:
    使用 yo 命令行向导给 SAP UI5 应用添加一个新的视图
    SAP Fiori Elements 应用的 manifest.json 文件运行时如何被解析的
    SAP UI5 标准应用的多语言支持
    微软 Excel 365 里如何设置下拉菜单和自动高亮成指定颜色
    SAP Fiori Elements 应用里的 Title 显示的内容是从哪里来的
    本地开发好的 SAP Fiori Elements 应用,如何部署到 ABAP 服务器上?
    如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息
    教你一招:让集群慢节点无处可藏
    应用架构步入“无服务器”时代 Serverless技术迎来新发展
    MySQL数据库事务隔离性的实现
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13164813.html
Copyright © 2011-2022 走看看