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

戳→看直播回顾

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

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

在第一阶段,华为云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能够为不同类型的开发者提供最适合他们的服务,助力他们完成自己的物联网解决方案开发。

戳→看直播回顾

基于华为云IoT Studio自助生成10万行代码的奥秘的更多相关文章

  1. 基于华为云IOT及无线RFID技术的智慧仓储解决方案最佳实践系列一

    [摘要]仓储管理存在四大细分场景:出入库管理.盘点.分拣和货物跟踪.本系列将介绍利用华为云IOT全栈云服务,端侧采用华为收发分离式RFID解决方案,打造端到端到IOT智慧仓储解决方案的最佳实践. 仓储 ...

  2. 聊聊如何在华为云IoT平台进行产品开发

    摘要:华为云物联网平台承载着南北向数据互通的功能职责. 本文分享自华为云社区<如何基于华为云IoT物联网平台进行产品开发>,作者: Super.雯 . 华为云物联网平台承载着南北向数据互通 ...

  3. 直击Huawei Mate 40产线背后的华为云IoT智能制造

    摘要:数字孪生?在数字世界找到物理世界的设备! 本文分享自华为云社区<[云驻共创]Huawei Mate 40产线直击之华为云IoT智能制造助力工厂数字化转型>,原文作者:启明. Part ...

  4. 基于STM32+华为云IOT设计智能称重系统

    摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统 ...

  5. CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统

    摘要:以CC2530单片机为核心器件,设计一个冷链环境信息采集系统,利用传感器技术对冷藏仓内的环境参数进行采集,上传到华为云物联网云平台,然后通过手机端或移动端进行显示,便于分析,观察冷链环境信息. ...

  6. OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?

    摘要:本文主要介绍基于OpenHarmony 3.0版本来对接华为云IoT设备接入IoTDA,以小熊派BearPi-HM_Nano开发板为例,使用huaweicloud_iot_link SDK对接华 ...

  7. 基于华为物联网IOT的应用开发 --- 基于.net 的SDK封装

    最近,物联网的概念比较热门,一大批厂商抢着占领物联网的高低,包括有华为物联网.阿里云物联网.腾讯物联网.AWS物联网等等,无法一一列举,一般物联网包含设备侧开发.平台侧开发.应用侧开发,三个部分构成了 ...

  8. 基于华为物联网IOT的应用开发 ---界面管理开发

    在前面随笔<基于华为物联网IOT的应用开发 --- 基于.net 的SDK封装>介绍过IOT中应用侧SDK的封装,主要就是基于华为IOT的应用侧封装,以便在应用系统中进行调用.应用侧SDK ...

  9. 华为云MVP熊保松谈物联网开发:华为云IoT是首选,小熊派是神器

    摘要:在AI.5G的技术驱动下,物联网行业的发展愈加如火如荼,开发者在技术的快速更迭间,也得乘风破浪跟上新技术的节奏. 在AI.5G的技术驱动下,物联网行业的发展愈加如火如荼,开发者在技术的快速更迭间 ...

随机推荐

  1. springboot连接redis错误 io.lettuce.core.RedisCommandTimeoutException:

    springboot连接redis报错 超时连接不上  可以从以下方面排查 1查看自己的配置文件信息,把超时时间不要设置0毫秒 设置5000毫秒 2redis服务长时间不连接就会休眠,也会连接不上 重 ...

  2. element多层导航菜单

    很久没写博客了原因就是懒, 刚下班今天写了个基于element导航菜单实现多层菜单(可以无限多层) 组件核心思想就是组件递归(这个有时候面试会问到) 然后就判断children有没有内容,没内容就是选 ...

  3. SpringFactoriesLoader解析

    一.SpringFactoriesLoader 介绍 1.1 SpringFactoriesLoader 简介 SpringFactoriesLoader 工厂加载机制是 Spring 内部提供的一个 ...

  4. 代号为 Kyria 的 Manjaro Linux 19.0 系统正式发布

    Xfce版本仍然是主打,此版本Xfce更新到4.14,并且主要致力于在桌面和窗口管理器上完善用户体验. KDE版本提供了功能强大.成熟且丰富的Plasma 5.17桌面环境,此版本进行了完全重新设计. ...

  5. 手撸MyBatis从配置文件到读出数据库的模拟实现

    手动模拟MyBatis入门案例的底层实现: 需要了解的关键技术: java反射.动态代理(comming soon) 一.Mybatis入门案例 点击此处跳过入门案例 首先看一下MyBatis最基础的 ...

  6. React hooks详解

    此篇文章仅是对hooks入门的总结,老鸟略过吧~ React从16.8.X以后增加了一个新特性,react hooks 让我们看看这个新特性又带来了哪些惊喜呢~以下内容我们采取不同方式创建组件来进行对 ...

  7. 通过locust进行性能测试

    首先我们需要准备好python环境 接口 安装python 插件 locust,网上有很多文章而且都很错,这里不再赘述 我是通过pycharm 编写的代码  导入 HttpLocust,TaskSet ...

  8. 个人项目(Word Count)

    一.Github项目地址 https://github.com/AllForward/GP_Homework/tree/master/个人项目 二.题目叙述 这个项目要求写一个命令行程序,模仿已有wc ...

  9. 从原子类和Unsafe来理解Java内存模型,AtomicInteger的incrementAndGet方法源码介绍,valueOffset偏移量的理解

    众所周知,i++分为三步: 1. 读取i的值 2. 计算i+1 3. 将计算出i+1赋给i 可以使用锁来保持操作的原子性和变量可见性,用volatile保持值的可见性和操作顺序性: 从一个小例子引发的 ...

  10. jdbc连接数据库三种方式

    ---恢复内容开始--- 第一种: public class Demo1 { //连接数据库的URL private String url = "jdbc:mysql://localhost ...