华为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. disruptor 多生产者多消费者实战 四

    一.创建event类 Order public class Order { private String id; private String name; private double price; ...

  2. 第四篇(1):企业常用Linux web环境安装配置(apache、php、mysql)

    上篇我们讲了基本的软件包管理和文件操作什么的,现在也要动手安装点有用的东西了吧! 本篇我会写出一个用yum安装apache.php.mysql的方法,最后再运行phpMyAdmin来管理数据库. 1. ...

  3. 鼠年开元用逐浪CMS v8.13版-NoSQL安装更轻便

    作为国内领先的Zoomla!逐浪CMS,一直以来深受人道的除了其功能强大.性能稳定外,易用性也是其突出的现. 自Zoomla!逐浪CMS 8.x开始,官方在其程序包中,集成了一键安装进程,从而大大提升 ...

  4. CSS--transform相关属性实现2d到3d的具体变化

    先放上一段我写的相关代码(可能有一定冗杂代码,请见谅) <!DOCTYPE html> <html lang="en"> <head>      ...

  5. R时间序列分析实例

    一.作业要求 自选时间序列完成时间序列的建模过程,要求序列的长度>=100. 报告要求以下几部分内容: 数据的描述:数据来源.期间.数据的定义.数据长度. 作时间序列图并进行简单评价. 进行时间 ...

  6. javaScript 基础知识汇总 (十)

    1.New Function 语法:let func = new Function ([arg1[, arg2[, ...argN]],] functionBody) //无参数示例: let say ...

  7. 0402数据放入集合进行查询-Java(新手)

    JDBC工具类: package cn.Wuchang.zyDome; import java.sql.*; public class JDBCUtils { private static final ...

  8. java-随机点名2(新手)

    //创建的一个包名. package qige; //导入一个包.import java.util.*; //定义一个类.public class SJdm { //公共静态的主方法. public ...

  9. Python第一周作业

    import turtle turtle.color('black','red') turtle.pensize(10) turtle.begin_fill() for i in range(5): ...

  10. VsCode代码段添加方法

    VsCode代码段添加方法 我们在编写代码的过程中,常常会遇到一些固定的结构或常用的处理方法. 编写耗费时间尽力,这时我们想到了添加代码段功能,帮助我们快速的完成编写. 下面以VsCode为例子: 我 ...