SaaS应用介绍
在应用托管体系中,并未所有应用的分发模式都是按照Kubernetes方式,对每一次应用向最终用户的交付形态,都是交付一个真实的物理运行空间。还有这里要提到的SaaS类应用。此类应用,其分发模式,仅仅是在原有系统中,分配了一个账户,交付给客户。因此,为了兼容单租户模式的独立托管部署和这类多租户的SaaS系统,平台抽象了与这类SaaS系统的交互行为,应用为满足这个交互行为,需要完成本文所提的对接要求。
整体链路
功能边界
租户管理
IoT平台管理阿里云租户与应用内租户的映射关系(支持一个阿里云租户拥有同一个应用的多个租户),SaaS管理应用内部的租户结构
组织架构
本期无需对接IoT平台的组织架构体系,SaaS内部自行管理组织架构,但是两边的组织架构需要能够定位到同一个员工身份, 目前通过员工电话作为识别的唯一标识;
权限管理
IoT平台管理租户及其组织架构中的员工是否有权限访问应用,SaaS管理租户及组织架构中员工访问功能列表;
对接开发
第一步:AppKey的获取
托管应用自动产生
应用部署在应用托管平台中,系统会为部署的每个应用颁发AppKey,AppKey通过环境变量方式注入至业务代码运行的容器中,供代码获取并使用;
人工创建
这种场景适用于您自行通过外置服务器的方式来搭建SaaS服务的模式。创建AppKey的过程如下问:
登录卖家中心,在“应用接入”->”应用管理”->“创建应用”账号分发类型:
选择云端外部接入的模式:
第二步:应用开发
应用开发,是指按照平台对SaaS了应用的对接要求,要求应用提供指定的接口,或者平台为应用提供必要的接口。目前,平台要求应用提供的接口有3个(生产租户接口、回收租户接口、免密登录接口)。
另外,为了实现对接应用与平台之间的账户互认,平台提供了获取当前用户(包括子账户)的手机号。
接口开发1: 生产租户
场景描述
用户(阿里云账户体系)在物联网市场下单购买应用后需要通知SaaS为当前用户开立一个可访问SaaS服务的租户(账户),用户可以通过点击物联网市场中已购买的应用或者直接访问SaaS提供的公网域名来访问应用,当用户购买的应用到期后系统会自动发起SaaS租户的回收操作。所以您需要实现CreateInstance接口,来实现用户购买应用场景。
超时时间
默认接口超时时间为5秒。
调用时序
接口说明CreateInstance生产服务
Protocol
HTTPS
Method
POST
请求参数
参数
类型
必填
描述
id
String
是
该次访问唯一标示符(幂等验证ID)
tenantId
String
是
IoT平台标识一个租户的唯一ID
appId
String
是
应用唯一ID,一个租户可以重复购买一款软件,每次购买appId都不同
appType
String
是
“TRYOUT”:试用,用户可以有一个短暂的试用期,该功能在商品上架时ISV可以选择是否提供试用逻辑
“PRODUCTION”:正式购买,用户正式下单购买
moduleAttribute
String
否
JSON字符串,主要包含上架时候配置的额外计费项参数列表。JSON转化成Map之后,示例:{“key1”:”rjmjz2”,”key2”:”2”,”key3”:”rjmjz2”}
详见下方 参数介绍【moduleAttribute】
返回参数
参数
类型
描述
code
Integer
调用成功返回200;若调用失败返回2