
# 使用华为云Astro轻应用创建业务对象
业务对象（BO）是封装了完整的数据模型、业务逻辑、页面展现的软件单元。一个BO提供一个完整场景的服务，为上层应用提供特定服务。不同用户可以开发各自的BO，在BO里创建逻辑使其具有特定的业务功能，开发好后制作成BO包并进行发布。下载BO包给其他用户，其他用户安装BO包后，在上层应用（需要使用该BO服务的应用）里导入发布好的BO，即导入特定的业务功能进行使用。
例如，设备BO，为上层应用提供对设备的统一语义，对设备自身能力进行抽象封装，不包含对设备的运营运维管理能力。告警BO，对园区的所有告警提供统一语义，从各个子系统和上层应用获取告警数据，统一模型统一展现。GIS服务BO，提供对GIS子系统的租户管理、地图管理、位置服务接口的封装和标准化接口。您可以基于设备BO、告警BO以及GIS服务BO等多种BO资产，创建智能烟雾感应用，完成设备数据的接入、处理分析以及告警监控功能。
#### 创建BO
1. 进入[华为云Astro轻应用服务控制台](https://console.huaweicloud.com/appcube/#/home)。
2. 在主页中，单击"进入首页"，进入应用开发页面。 
   单击"进入首页"时，如果提示"您没有开发者权限，请联系管理员添加权限"，此时可参考[如何解决子用户授权后，仍提示没有开发者权限的问题？](https://support.huaweicloud.com/astrozero_faq/astrozero_faq_0003.html)中操作处理。
   
   
3. 在左侧导航栏中，选择"资产"，单击"新建BO"或单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001937983537.png)。
4. 设置BO基本信息，单击"新建"。 
   图1设置BO基本信息   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000002221710206.png "点击放大")
   表1新建BO参数说明 
   | 参数            | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   |:---|:---|
   | 添加图标          | 单击"添加图标"按钮，可为新建的BO添加图标。                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 标签            | 新建BO的标签名，用于在页面显示。 取值范围：1\~80个字符。                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 名称            | 新建BO的名称，名称是BO在系统内的唯一标识，创建后不可修改。命名要求如下： - 长度不能超过26个字符，包括前缀命名空间的长度。 名称前的内容为命名空间，在华为云Astro轻应用中为了避免不同租户间数据的重名，租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间，创建后不支持修改。   - 必须以英文字母开头，只能由英文字母、数字或单下划线组成，且不允许以下划线结尾。   |
   | 分类            | BO所属的分类，直接下拉框中选择。                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 标志            | 新建BO在分类下，展示的图标。                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | 描述            | 请根据需求，在输入框中输入对该BO的描述信息。 取值范围：1\~255个字符。                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 高级设置 \> 运行时版本 | 开发的资产包依赖所选择的运行时版本，如果线下运行版本不一致，可能会导致不兼容。                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
      
   
   
5. 在BO开发页面，根据业务功能开发相关对象、服务编排、事件和脚本等。 
   图2BO开发页面   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000002221550558.png "点击放大")
   您可以根据业务功能开发新的系统特性，也可以复用系统中已存在的类似特性。例如，需要复用系统中已存在的服务编排"queryProfiles"，可在新建服务编排时选中"使用已有的服务编排"，选中该服务编排，单击"添加"进行复用。如何新建服务编排，请参见[创建空白华为云Astro轻应用服务编排](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9131.html)。
   图3复用特性   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001971576220.png "点击放大")
   BO新建私有接口时允许绑定服务编排、脚本、对象资源，通过定义服务的API，可迅速满足您定制所需要的业务接口，并将该接口服务注册到网关，供第三方使用。
   图4新建私有接口   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001937990093.png "点击放大")
   - 在应用设计器的左侧导航栏中，选择"集成"。单击私有接口后的"+"，即可新建私有接口。
   
   - 其他应用如果使用该BO中私有接口，绑定资源为服务编排类型的私有接口允许被服务编排和脚本调用，绑定为脚本、对象类型的私有接口只允许脚本调用，暂不支持服务编排调用。
   
   
   
   
6. BO开发完成后，可将开发好的BO打包，并进行发布。 
   请根据实际需求，参考[开发者将应用发布成安装包或补丁包](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9014.html#astrozero_05_9014__section2701182916511)、[发布与部署华为云Astro轻应用开发应用的源码包](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9015.html)中操作，将BO发布为安装包、补丁包或源码包。其中，安装包、补丁包不支持二次开发，源码包支持二次开发。
   
   
 
#### 导入BO安装包或补丁包
当其他用户需要使用已创建的BO时，可通过导入BO安装包或补丁包的方式，将其导入到华为云Astro轻应用中。导入后，在华为云Astro轻应用中创建应用时，即可使用该BO。
1. 进入[华为云Astro轻应用服务控制台](https://console.huaweicloud.com/appcube/#/home)。
2. 在主页中，单击"进入首页"，进入应用开发页面。 
   单击"进入首页"时，如果提示"您没有开发者权限，请联系管理员添加权限"，此时可参考[如何解决子用户授权后，仍提示没有开发者权限的问题？](https://support.huaweicloud.com/astrozero_faq/astrozero_faq_0003.html)中操作处理。
   
   
3. 在左侧导航栏中，选择"资产"。
4. 在资产页面，单击"资产安装"，进入资产安装页面。
5. 上传已获取的BO安装包或补丁包，单击"确定"。 
   导入成功后，在"资产 \> 已安装的"页签，可查看到导入的BO。
   图5查看导入的BO   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001898257834.png "点击放大")
   
   
6. （可选）BO资产包导入后，可执行如下操作。 
   - 在"已安装的"页签，将鼠标放在对应的BO上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001938137341.png)，选择"编辑 "，可进入BO编辑页面。只能查看BO，不支持二次开发。
   
   - 在"已安装的"页签，将鼠标放在对应的BO上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001898257838.png)，选择"详情"，可查看BO中定义的事件和事件参数等。
   
   - 在"已安装的"页签，将鼠标放在对应的BO上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001938137345.png)，选择"删除"，可删除已导入的BO。
   
   
   
   
 
#### 导入BO源码包
当其他用户需要使用已创建的BO时，可通过导入BO源码包的方式，将其导入到华为云Astro轻应用中。导入后，在华为云Astro轻应用中创建应用时，即可使用该BO。导入的BO源码包支持二次开发。
1. 进入[华为云Astro轻应用服务控制台](https://console.huaweicloud.com/appcube/#/home)。
2. 在主页中，单击"进入首页"，进入应用开发页面。 
   单击"进入首页"时，如果提示"您没有开发者权限，请联系管理员添加权限"，此时可参考[如何解决子用户授权后，仍提示没有开发者权限的问题？](https://support.huaweicloud.com/astrozero_faq/astrozero_faq_0003.html)中操作处理。
   
   
3. 在左侧导航栏中，选择"资产"。
4. 在资产页面，单击"导入项目"，进入导入项目页面。
5. 上传已获取的BO源码包，单击"确定"。 
   导入成功后，在"资产 \> 开发中的"页签，可查看到导入的BO。
   图6查看导入的BO   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001898257842.png "点击放大")
   
   
6. （可选）BO源码包导入后，可执行如下操作。 
   - 在"开发中的"页签，将鼠标放在对应的BO上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001938137349.png)，选择"编辑"，可进入BO编辑页面。在BO编辑页面，可根据业务需求对BO进行二次开发。
   
   - 在"开发中的"页签，将鼠标放在对应的BO上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001898257846.png)，选择"克隆"，可克隆BO。克隆BO会复制整个应用结构，但应用下的对象数据不会被同步。
   
   - 在"开发中的"页签，将鼠标放在对应的BO上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001898417726.png)，选择"导出"，可将BO源码包导出到本地。
   
   - 在"开发中的"页签，将鼠标放在对应的BO上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001938137353.png)，选择"删除"，可删除BO。
   
   - 在"开发中的"页签，将鼠标放在对应的BO上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001898257850.png)，选择"详情"，可修改BO的标签、运行时版本、删除自定义接口等。
   
   
   
   
 
#### 在应用中使用BO
在华为云Astro轻应用中开发应用时，通过添加依赖的方式，将BO添加到应用中。添加后，即可在应用中使用该BO，例如在标准页面的服务模型中，调用BO中的服务编排。
1. 参考[登录华为云Astro轻应用应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9004.html)中操作，进入应用设计器。
2. 在左侧导航栏中，单击"设置"，进入应用设置页面。
3. 在"依赖与开放 \> 应用依赖"中，单击"添加依赖"。
4. 在添加应用依赖页面，选择应用依赖的BO，单击"确认"。 
   图7选择应用依赖的BO   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001938139077.png "点击放大")
   **如果发布BO时，编译设置的是源码包，在上层应用中导入BO后，在打包上层应用时，资产也会随应用打包发布出去。**
   
   
5. 使用导入的BO。 
   例如，在标准页面的服务模型中，调用BO中的服务编排。
   1. 在标准页面中，选中某个组件（如表单），单击数据绑定中的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001898259582.png)。
      图8数据绑定   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001898419450.png "点击放大") 
   
   2. 在选择模型中，单击"新增模型"，设置模型名称，选择"服务"，单击"下一步"。
      图9新建模型   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001938139081.png "点击放大") 
   
   3. 调用BO中的服务编排。
      图10调用BO中的服务编排   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001898259586.png "点击放大") 
   
   
   
   
 
#### 相关文档
- 为了方便同一个开发团队成员之间，能够更好地配合项目开发工作，华为云Astro轻应用提供了应用的协同开发能力。华为云Astro轻应用支持多人协同开发的具体实现方法，请参见[在华为云Astro轻应用中，如何实现多人协同开发？](https://support.huaweicloud.com/astrozero_faq/astrozero_faq_0118.html)。
- 多人协同开发时，通过区分开发者对应用的不同权限，来控制开发者对应用的查看、开发、管理等操作，具体操作请参见[多人协同开发，如何控制用户权限？](https://support.huaweicloud.com/astrozero_faq/astrozero_faq_0002.html)。
 
