云应用
什么是应用
对于我们软件开发来讲,应用就是软件,是为满足用户不同领域、不同问题的应用需求而提供的软件服务,一个软件是由一个或多个模块组成。也就是一个应用是由一个或多个微服务组成
应用类型
- 独立型应用
- 能够独立提供服务,自成体系,不依赖于其他的服务可以提供服务。也可以闭环服务
- 当应用上架的时候能够独立上架到应用市场,提供服务
- 有自己的完整配置,如权限,用户,角色等相关内容
- 非独立型应用
- 应用本身不能独立提供服务,依赖于某个应用,应用不能闭环服务
- 当应用上架的时候需要关联应用才能提供服务
- 半独立型应用
- 能够独立提供服务,自成体系,不完全依赖于其他的服务可以提供服务。也可以闭环服务
- 当应用上架的时候能够独立上架到应用市场,提供服务
- 当发现所依赖的应用已经被购买了,可以集成依赖的应用相关的服务,完成更好的服务
什么是云应用
应用可以独立部署,无需将应用部署到基座,当应用需要注册到底座时,只要安装接入规范描述文件即可接入
应用部署完成后只要将对应的应用配置,菜单,接口等相关信息按应用的配置格式注册到底座,应用接入底座的时候需要接入单点登录,当框架跳转到对应应用的菜单的时候,会将系统登录后的token带过去,基座提供token的解析得到相关的用户信息。
云菜单
当应用注册的时候需要将菜单注册进来。系统可以针对这些菜单进行重排,重新编辑等,实现千人千变,基座还提供了对应的权限管理,会自动在首页展示重新编排后的菜单 往往很多系统本身就有自己的授权,如果要完全接入到底座,那么我们是希望整个权限也接入到基座,但是往往这种推动起来比较麻烦,于是我们支持云菜单。
什么是云菜单
菜单统一管理,菜单可以重排,菜单可以集中授权,菜单还可以各自应用自己授权 当我们在加载权限的时候,如果该应用配置了远程授权地址,并可以从远程授权,那么在加载菜单的同时,还可以同时并发加载各个应用对应权限菜单
云组件
组件可以是一块独立的功能(比如快捷菜单)。也可以是一个公共的功能(比如一些图形组件),我们的云组件就是对应的功能按照我们的组件规范发布的一个组件地址。
- 基座组件
用于基座桌面工作台的渲染
- 门户组件
用于官网装修渲染
云插件
应用可能是独立的,应用可能会提供相关组件用于门户或者工作台,应用还可以提供插件使其他的应用能使用,插件可以有独立的处理流程,插件也可以注入到其他应用来使用该插件提供的功能
应用开发模式
开发应用的时候,我们首先拿到需求之前个性化开发,定制化开发吗?
当然这种方式也是可以的,只是我们我们不想这么去开发,首先要去抽象产品。抽象工具,用工具打造产品。
什么是工具?
工具其实也可以是应用,他也可以独立服务于客户。这样的工具可以定义为基础应用。 工具也可能不能独立服务。他必须要寄生在他的主体内才能服务,这样的工具一般是公共的,没有任务业务。为了不重复造轮子而存在。
工具型应用如果让别的应用使用?
所以我们定义一个名词 "云插件",当我们的应用想要别的应用能使用他,那么他会提供一些插件,能够嵌入到别的应用,并符合别的应用的业务场景 插件是应用提供的,当应用修改了插件,不影响使用他的应用