本文介绍SaaS开发服务流程。

背景信息

开发流程图

操作步骤

  1. 创建应用。
    1. 单击创建应用
      点击添加应用
    2. 填写应用基础信息。
      应用基础信息填写
  2. 开发管理。
    1. 配置开发信息。

      开发信息是ISV在开发使用平台接口时所使用到的相关信息集合。

      开发信息

      openAccountId是ISV在平台的唯一ID标识,密钥是ISV解密时需要使用的密钥,平台请求发送给ISV的接口数据是加密处理的,需要openAccountId和密钥组合进行解密处理。

      回调URL是设备属性变化上报后,如果对应产品勾选了应用那么该属性变化值就会请求到ISV服务端进行处理,此时需要指定URL路径方便平台根据设置进行对应请求。注:回调URL是ISV账号维度信息,设置后所有应用看到都是一份;URL 路径设置只需设置相对路径即可,不需要域名,如正常请求URL: https://www.taobao.com/get/xxxxx,回调URL只需设置/get/xxxxx即可,详细信息可参见下方接口管理处平台调用ISV原理。

    2. 应用开发。

      在这里添加已创建服务,如未创建,请详见后续服务管理部分,进行服务创建。

      添加服务新
    3. 应用调试。
      授权产品

      目前平台开放的是私有应用,当应用授权ProductKey后,此ProductKey才能在生活物联网平台->人机交互->应用服务处看到该应用进而进行调试。

      授权产品新1授权产品2添加应用

      开发完成后,品牌商通过生活物联网平台进入产品管理 > 人机交互 > 应用服务,可查看到该产品可以绑定的应用服务,完成绑定后可在产品调试环节进行验证和测试。测试通过后可发布产品,产品发布后,该应用或服务将可以被用户使用。

      应用勾选
      说明 产品发布上架如有勾选应用,那么应用也必须上线否则产品无法发布成功。
      测试环境

      测试环境是应用在调试期间,设备属性变化上报和H5页面发起的请求都会请求到该测试环境中,测试环境仅作调试功能使用,应用发布上线后相关请求都会请求到对应正式环境中。测试环境和正式环境参见下文环境管理部分。

      测试环境调试设备

      点添加调试设备后会显示登录的SaaS平台账号对应的淘宝账号下绑定的天猫精灵IoT设备,选择某一设备进入调试设备列表后,那么该设备的属性变化上报就会请求到ISV创建的测试环境中。

      调试设备上传面板

      ISV可访问生活物联网平台,选择具体开发的产品,进入人机交互 > 设备面板上传H5面板,做应用功能调试。具体接口调用详情参见接口管理部分。

      上传面板
    4. 服务部署。
      应用勾选的自定义服务或者官方服务所对应的接口如果需要后端服务进行响应,那么在应用测试通过后需要云环境正式环境进行部署,否则应用发布后页面请求会得到失效响应。服务部署
    5. 应用发布。
      用图文、视频的形式展现应用的功能。应用发布
  3. 服务管理。
    服务分为官方服务和自定义服务,官方服务目前开放云食谱管理,无需创建接口即可使用;自定义服务需ISV在我的服务内进行创建应用和接口,是对IoT产品某一业务功能的接口集合,如:门锁数据统计服务、安防服务。服务列表新
    1. 创建服务。
      创建服务新
    2. 服务关联接口。
      在服务创建时选择接口,将接口加入到服务。服务关联接口2new
      需要注意列表只会展示已经上线的接口,见下面的两个截图,如果没有显示想要的接口,请检查接口的状态。服务关联接口new
      只支持已上线的接口供服务选择使用。如果接口进行版本升级参数有调整后,那么调整的接口未上线前服务所使用的接口依然是前一个版本,调整的接口上线后服务所使用的接口默认会升级为调整后的接口。平台请求API接口时默认会带上API接口的版本号,ISV可根据版本号进行服务端接口参数调整的差异。
  4. 接口管理。
    API接口是ISV开发的H5/小程序发起请求后,由天猫精灵AIoT创新工厂转发请求至ISV云服务器进行逻辑处理,如下图所示。其中,ISV接受到的消息是加密后的消息,需要根据openAccountId和数据密钥解密,具体信息参见“开发管理”一列。根据openAccountId和密钥进行解密方式参见文档”附录">“解密计算方法”。AIoT创新工厂是通过阿里云内网转发请求到ISV云环境的SLB中,所以ISV需要购买SLB,并且设置为私网协议为HTTPS,端口设置为443,云环境涉及产品部分参见"环境管理"。接口管理
    1. 创建接口。
      接口创建时可以在不同的服务中复用,所以修改接口时需要注意对不同服务的影响。创建接口1new
      接口必须参数:名称、接口路径定义、版本、出参、入参。创建接口2new
    2. 接口调试。
      接口调试必须创建测试环境,ISV调试接口的请求都会请求至ISV云环境的测试环境;
      API会由平台直接请求到ISV方SLB中,默认HTTPS协议,post方式。接口调试new
    3. 接口上线。
      点击“上线”即完成了接口上线的操作,如下图所示;
      接口上线后不支持下线,可进行接口版本升级进行参数调整。如果接口进行版本升级参数有调整后,那么调整的接口未上线前服务所使用的接口依然是前一个版本,调整的接口上线后服务所使用的接口默认会升级为调整后的接口。平台请求API接口时默认会带上API接口的版本号,ISV可根据版本号进行服务端接口参数调整的差异。接口上线new
  5. 云环境。
    ISV开发的H5/小程序发起的请求经由AIoT创新工厂转发后请求至ISV服务端,因为数据安全因素评估ISV服务端只能部署在阿里云中,相应的阿里云账号由AIoT创新工厂提供(作了安全策略)。ISV需在给定已有阿里云账号内购买SLB、ECS、RDS等云产品,将服务端部署至ECS中,H5/小程序对应请求会请求至SLB,之后ISV做请求分发至对应的服务进行逻辑处理。云环境分为正式环境和测试环境,ISV进行接口调试和应用功能调试发起的请求都会默认发送至测试环境部署的服务中,应用发布后应用页面发起的请求会发送至正式环境部署的服务中。其中,测试环境可仅有SLB和ECS,ECS内部署MySQL,能够功能调试即可,对产品配置不作要求;而正式环境则必须SLB、ECS、RDS必须具有,具体配置可参考”云环境“>”云环境购买“提供的产品配置信息,最终可结合自身情况而定。云环境
    1. 获取云账号。
      ISV服务需要部署在阿里云内,此处的阿里云账号和密码是平台生成的,会在入驻AIoT创新工厂的时候平台提供生成。需要确保当前登录AIoT创新工厂的账号是认证过的企业/机构账号,目前暂未对个人账号放开。
      首次登录云账号后会要求重置密码,如果忘记重置后的阿里云账号和密码,联系技术支持人员协助找回。获取云账号1new
      账号和密码的找回,会将验证码发送到此邮箱,然后填写验证码检验后,之后会显示密码。获取云账号2new
      如果有密码或者获取到账号和密码,请点击登录。获取云账号3new
      使用账号登录阿里云资源管理页面。获取云账号4
    2. 购买云资源。
      平台给出的ECS单机配置是推荐配置,可以根据自己的需求定制。单机规格可定制,但是配置组件数量必须按照标准,否则环境审核不过。
      云资源必须购买在张家口(目前只支持此region的资源)。
      购买的各个组件必须属于同一个区域(例如:A区 、H区等)。
      购买资源前,先看同一区域的是否有相应的资源,例如购买H区资源,先查看是否有相应ECS、SLB、VPC、RDS、Redis资源
      全局只能有一个测试环境 ,测试环境标准配置 : SLB+ECS(可1台);正式环境标准配置 : SLB 1台、ECS至少2台、RDS 1台、Redis(可选)。

      下图显示主要资源和规格要求,仅作参考配置。

      建议:考虑测试环境仅作调试功能使用,从费用角度触发,测试环境VPC下ECS可按照包年最低配,数据库可直接安装在ECS中更为划算;线上环境强制要求ECS高配,数据库使用RDS MySql版本。

      购买云资源
      购买ECS
      结算方式、区域、分区;ECS1
      不要选择公网ip;ECS2
      购买SLB
      支付方式、region、可用区域;SLB1SLB2
      购买完以后要对SLB对其配置,并做好和ECS的映射。SLB3

      注:SLB开通HTTPS协议(443端口),否则上文提到的API接口调用不通。证书部分可申请使用阿里云免费证书,之后在SLB中导入证书;如果申请阿里云证书时,DNS验证时设置为「手工DNS验证」,然后根据下一步之后的提示内容将主机记录和记录值添加到对应域名记录名下(因为SLB为私网类型,此处只为初始化证书验证使用;域名可采用ISV已有的域名进行管理添加不必在阿里云单独进行域名维护)。

      购买RDS购买RDS
    3. 注册云资源。
      无论是测试环境、还是正式环境,创建完阿里云资源后,将资源ID注册回平台。
      资源注册后只有查询和监控权限,资源不可再修改(下线联系运营走特殊流程)。注册云资源
  6. 云效使用。
    服务部署在阿里云中那么就不可避免会涉及到Devops,因此AIoT创新工厂借助云效2020(注意是「云效2020」)来解决这一问题,可使用云效中「流水线」个性化设置部署流程。云效使用1
    开通云效2020后,涉及新增云服务器,其中选择阿里云ECS后,需要开通权限认证,请联系技术支持人员协助处理。云效使用2云效使用3

    注:如果涉及使用到云效进行部署容器服务,因为ECS没有开访问公网权限,那么请将部署至阿里云容器镜像的访问域名「registry.****」替换成「registry-vpc.****」。

  7. 产品&应用管理。
    1. 产品授权管理。
      产品授权管理方案商在创新工厂开发的私有应用,方案商可在产品授权中对产品ProductKey进行授权,之后品牌商即可在生活物联网平台中进行应用勾选,建立关联关系。产品授权管理
    2. 授权应用管理。
      当应用授权某款产品后就可以在生活物联网平台中看到应用并进行选择使用,无论是开发中或者已发布的应用都可以在生活物联网平台看到并使用,一款产品可选择多个应用,或者被多个应用授权。授权应用管理1