开发中台
优特云开发中台是优特云基于多年自研的用户语言打造的一个覆盖云-边-端的开发中台,具有缩短开发周期,快速实现业务功能,提升用户体验的能力。开发中台以用户语言分析方法和工具作为支撑,目前面向应用开发方推出了一站式云端开发套件——U创平台。
开发中台架构
开发流程
传统业务开发流程,每个项目都要经过“需求分析-产品设计-功能实现-运行发布”四个阶段。
优特云开发中台创造性的将业务从分析到实现的过程重新划分为三个层次:业务分析-构建领域模型-开发运行。
业务分析
当接收到某业务需求时,应用开发方的需求分析师、产品经理或项目经理首先分析业务的相关领域,并确认相关领域是否已经存在于开发中台,如相关领域不存在,可以添加领域。然后将需求从流程、功能、接口多个角度分析,以U创平台业务分析工具为辅助,生成分析结果,包括业务状态迁移表、业务关联图、需要的领域模型数据等。
构建领域模型
进入构建领域模型阶段,需求分析师或项目经理根据业务分析结果判断平台现有领域模型是否能够满足当前业务需求,如不能,则添加领域模型数据。新增的领域模型数据由模型管理员根据业务分析后结果录入工具中。U创平台已经汇集了智能家居、智慧餐饮、智能电力等领域的模型数据,如业务涉及到新的领域(如:医疗/教育),新增数据由应用开发方实现并导入,详情参见“领域模型工具”。
开发运行
在应用开发和运行阶段,应用开发方的项目经理或者开发者通过创建应用并引用对应的领域模型数据,通过函数调用或工程编辑的方式使用。如果是函数调用方式使用领域模型数据,则应用开发者自行维护使用状态,如通过授权给调试工程师工程编辑的形式来使用领域模型数据,云端工程执行时可以监控到工程状态和运行日志。
以上开发流程是将已有功能服务以领域模型的形式提供给应用开发方,这样大大缩短了应用开发周期,也节省了时间和人力成本,并且可以为最终用户带来优质的使用体验。
平台优势
优特云开发中台对于用户、开发者和管理层具有多重优势,主要体现在以下方面。
业务中台
业务中台为整个开发平台提供各个领域的业务服务组件,应用开发者可通过平台的应用开发工具,引用业务中台的业务服务组件,实现应用开发。
应用需求和业务内容,可通过平台提供的业务分析工具,进行分析设计,形成可复用的功能函数(组),沉淀到业务中台,形成面向各个领域的业务服务组件。
业务中台提供函数管理工具,开发者用户(组件提供方)可使用函数管理工具注册新的领域函数,形成面向各个领域的业务组件,并可对函数版本进行管理和维护。
业务服务组件分为通用业务组件、行业(领域)业务组件,平台提供的通用业务组件包括:用户中心、权限系统、审批流、硬件云、商业云、结算云等。
同时,平台引入的第三方通用组件包括:小文件服务、短信服务、定时任务、全局ID、图形验证码、二维码服务、地图服务、人脸识别等。
数据中台
领域语言
优特云领域语言是基于“用户语言”思想,专注于某特定应用程序领域的计算机语言。
优特云领域语言主要面向某特定领域,提供给业务前方使用,让前方业务人员通过行业专用的、通俗易懂的语言进行业务程序的逻辑编辑,并通过专用的领域语言编译器编译和虚拟机执行程序,实现业务目的。
优特云领域语言主要提供电子菜谱语言、智能照明语言、电脑钥匙语言。
电子菜谱语言:提供给厨师快速简单的进行菜谱创作,通过提炼厨师的使用习惯和行业规范,让厨师使用更简单便捷,编辑的菜谱语言程序通过领域语言编译器、虚拟机技术,在智能厨具等设备上高度还原厨师创作的菜品。
智能家居语言:提供给智能家居用户(调试人员)快速简单的进行智能家居的控制逻辑配置,通过提智能家居常用场景、习惯和行业规范,让用户使用更简单便捷,编辑的智能家居语言程序,通过领域语言编译器、虚拟机技术,快速便捷的实现各种控制逻辑、场景联动等应用。
电脑钥匙语言:
电脑钥匙语言,是面向电力防误行业,提供电力防误专用电脑钥匙程序的功能函数、数据表的管理和使用,让调试人员能快速的应对复杂的逻辑配置业务需求。
语言内核
一、概要说明
用户语言起源于基础逻辑语句,是为了缩短开发周期,快速实现业务功能,在电力系统维护环境中应运而生。用户语言特有的接近于口语化的逻辑语句,能让不懂开发技术的用户实现自己对业务需求的配置。用户仅需要关注两部分的内容——条件和动作,条件满足就执行动作,条件与动作的逻辑是由行业的专业术语以及口语化的逻辑组成。
二、语言优势
用户语言对于用户、开发者和项目管理人员具有多重好处和优势,主要体现在以下方面。
- 用户 · 易懂易用 · 灵活应对需求 · 深度定制个性化要求
- 开发者 · 一种新的软件工程分析方法 · 降低工作量
- 项目管理 · 减少开发、维护人工成本 · 降低时间成本
三、 用户语言架构
用户语言发展至今,从用户到底层自上而下形成了一套特有的体系架构,具体分为四个层次:分别是体验层、领域层、User层和函数层。服务于全体用户的体验层,支撑体验层应用实现的领域层,语言内核User层和功能组件函数层,详细介绍如下:
1.体验层
体验层是指与用户操作体验相关的内容输出,主要包括:移动App、用户语言项目管理工具、用户语言通用IDE和行业定制IDE等。其中面向普通用户使用的App,如:优大厨、云锁;面向系统管理员或开发者使用的项目管理工具,面向行业专业调试人员使用的定制IDE。
2. 领域层
领域层是指支撑各行业产品体验层输出的领域标准能力和定制能力,以领域建模的模板和术语为主。
领域标准能力,是指某领域符合行业标准的应用模板和术语,如在电力防误领域,标准模板:电脑钥匙加载钥匙系统,标准术语:获取操作权限,防火门锁操作等。
领域定制能力,是指某项目实施过程中为相应某些独特需求而定制化开发的模板和术语,如在智慧厨房领域定制模板:使用优特智厨智能一体机炒菜,定制术语:三成油,盖锅盖等。
同时用户语言本身还提供了一些基础通用服务,如:消息推送、数据转换、数值计算等功能,便于开发者在定义领域模板的时候进行数据存取和处理。
3. User层
User层是指用户语言的内核的工具,分为编译和执行两部分。编译是指将用户语言源代码翻译为二进制机器语言代码的过程,根据应用场景不同可以分为本地编译和云编译。执行是指将编译后的目标代码在制定环境中运行的过程,同样执行也可以根据应用场景不同分为本地虚拟机执行和云执行。
本地编译器,通过动态库的形式提供给用户,在硬件设备、智能终端、移动设备上将源文件编译为目标文件,目前支持的操作系统有:linux,android,ucos。适用于MCU内存资源充足且运算能力强但无法访问公网的硬件设备,如:电厂内网的权限管理程序。
云编译,是用户语言提供的云端通用编译引擎。开发者用户或调试员用户可以通过调用云编译的API进行同步编译。适用于MCU资源紧张或依赖外部数据且可以访问公网的硬件设备,如:结算云、商业云服务。
本地虚拟机执行,以动态库加头文件的形式提供给用户,用户需要具备的C语言编译工具。适用于对执行效率要求高、低时延,不依赖外部数据的软件环境,如:智能炒菜一体机。
云执行,是用户语言提供的云端通用执行引擎。开发者用户或调试员用户可以通过调用云执行的API进行同步编译。适用于软件执行资源紧张或依赖外部参数且可以访问公网的软件环境,如:商业云服务。
4. 函数层
函数层是指各种函数功能的定义与导入。这里的函数又分为通用函数和功能函数两类,通用函数指的是由用户语言官方提供或认证的各种基础组件函数,如:用户中心的用户注册、用户登录、修改密码函数;设备管理服务的设备绑定、获取设备UID等函数。功能函数指的是实现某些行业功能、应用App或行业服务,通过注册或导入到用户语言函数库的函数,如:智能家居领域的固件升级、云锁应用App的钥匙管理、锁具管理等。
基本语法
- 数据类型
- 基本运算符
- 标识符
- 常量与变量
- 函数
- 类
- 表达式
- 语言语句
- 特殊元素
- 编译源文件
产品版本
一、版本历史
用户语言自2014年发布至今,经过6年积累沉淀,陆续在智能家居、智慧厨房和电力防误等领域应用,并持续升级,最新版本为V3.0。
二、版本兼容性
本文描述的用户语言默认版本为3.00.X,程序员可以使用用户语言通用IDE、优大厨App,智能家居定制IDE等工具来编辑语言文件。
当然,用户语言3.00.X支持向下兼容,版本1.0和2.0的大多数功能依然可以使用。如果有特殊情况会在使用限制中详细说明。
三、版本
与此同时用户语言V3.00已发布,用户语言V3.01已经完成了开发和内测,目前在UAT测试阶段,即将正式发布。