- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
**摘要:**华为云开天集成工作台是基于华为在数字化转型中积累的丰富经验,为企业开发者提供基于元数据的可扩展的集成框架。
本文分享自华为云社区《我用开天平台做了一个城市防疫政策查询系统【开天aPaaS大作战】》,作者: jackwangcumt 。
根据华为官方文档的介绍,所谓的华为云开天集成工作台是基于华为在数字化转型中积累的丰富经验,为企业开发者提供基于元数据的可扩展的集成框架,降低了应用间集成工作量,并沉淀多种集成资产如连接器、业务模型、行业API等。它可以帮助客户快速建立SaaS应用之间的连接通道,打破信息孤岛与“烟囱式”架构,从而实现应用的快速构建和上线,持续提升用户体验。
产品官方网址为 :** 开天集成工作台-华为云 . **开天集成工作台总体架构示意图如下图所示:
开天集成工作台使能伙伴的SaaS高效上云,与伙伴共建行业方案,共同沉淀和分享行业经验。开天集成工作台提供如下核心能力特征:(01)标准的数据模型管理:领域信息模型的采集、定义、管理能力,支撑在行业建立标准的领域信息模型库,行业内各厂家应用依托标准的领域信息模型进行互联互通。(02)灵活的API生命周期管理:支持合作伙伴的API设计、实施、测试、发布、运维、消费和运营,并可封装为便于编排的连接器和流。(03)可扩展的连接器管理:它是集成工作台流编排能力扩展的唯一方式,提供了丰富的预置连接器,用户还可以基于API自定义连接器。(04)可视化流管理:基于连接器,通过可视化的方式进行流式组合,实现集成流编排。扩展支持多种形式编排如流程编排,事件编排等。
开天集成工作台产品优势如下:
(01)丰富的行业经验:面向行业的业务模型库,拉通管理者、业务人员和IT人员。行业能力API化,覆盖工业、城市治理、教育、办公、Message、Map、移动应用等领域。SaaS应用间集成资产多样化,开箱即用,降低交付复杂度。
(02)灵活易用地集成:基于标准业务模型的集成模式,每个应用只需集成一次,实现XYZ变成X+Y+Z。开放的连接框架,可灵活定义各种连接器和流,适配企业的业务逻辑。
开天集成工作台是一个“开放、共生、智能、协同”的平台,它是搭建开发者、系统集成商、客户之间的“桥梁”和“纽带” 。具体来说,用户可以分为如下几种类型:(01)面向行业API开发者:一站式完成行业API设计、编排、测试、发布和消费,打造API商业经济。(02)面向行业应用开发者:以低代码或者零代码的方式,轻松构建面向行业的SaaS应用,加速业务创新。(03)面向系统集成商:和客户无缝对接,进行集成开发,交付项目和运维支持。同时,沉淀云上项目的集成资产,提升交付效率。(04)面向客户:企业集成资产的使用和管理,并联合生态资源如系统集成商等,完成企业数字平台建设。
开天集成工作台的应用场景也非常丰富,主要可以分为三类应用场景:(01)行业能力开放场景,企业把自身能力以API服务的形式开放出来,通过API连接应用开发者、系统集成商等,服务更多的商业场景,快速形成产业链,从而让企业以最小代价满足客户碎片化且日益增长的需求。(02)使能行业应用创新场景,合作伙伴通过集成工作台提供的低代码/零代码的方式,可以方便使用各种资产如行业API、业务模型、连接器等,完成应用的开发和部署;它使能不同层级的开发者,极大增强企业应用的供给能力。(03)SaaS应用互联场景,企业应用建设随着业务发展逐步展开,势必要解决企业存量应用与新应用之间的协同,通过建立应用间的水管,让价值信息在企业内部及企业间流动。通过集成工作台,实现云上应用间、云上应用与企业内部应用间集成。具体可以用如下几张图来说明:
开天集成工作台内置了各类模板,可以快速基于模板构建流应用。在开发自己的应用之前,请确保成功开通开天集成工作台。目前处在公测阶段,可以免费体验,开通的网址为 : 开天集成工作台-华为云 。
注意:申请公测后,页面会跳转到开通工作台的界面,页面上如显示【您还没有开通集成工作台】属于正常跳转流程。点击【立即开通】,输入所属行业和企业名称,账号正式开通集成工作台。
登录开天集成工作台管理控制台 https://console.huaweicloud.com/macroverse/ssi/?region=cn-north-4#/console/portal 。进入【流编排】【我的流】,首次体验,可以点击【从模板创建流】页签,选择【根据出入城市查询出行城市防疫政策】模板来创建。如下图所示。
点击【创建流 】,弹出界面,单击【继续】,并显示流编排的可视化管理界面,如下图所示:
这里我们首先将发送邮件的节点删除,然后添加新的发送短信节点,如下图所示:
注意:经测试,华为短信(体验)节点发送的短信内容不能过长,否则会导致发送失败,因此,这个我将短信内容可以进行了简化。
单击【华为短信(体验)】,并编辑短信内容,如下图所示:
注意:由于防疫政策查询中的风险等级查询返回的结果是"0","1","2","3"等值,这样并不直观,因此我们自定义了一个函数getRisk(riskId)。
自定义函数可以通过如下界面进行定义,目前支持nodejs和python两种语言来进行自定义函数的创建,具体界面如下所示 :
函数创建完成后,可以进行测试,看看能否正确工作,这里需要注意参数的数据类型,这个返回的是字符串的"1" 而不是 数值 1 。该函数代码如下所示:
# -*- coding:utf-8 -*-
import json
## main函数是方法的入口,
##设置变量表单项的变量
## 会被预置到inputData中,
## 如果你在上面定义了参数name
##则在inoutData["name"]就可以访问变量name
## result 是此函数的输出,可以是一个基本类型或string类型
##,也可以是Object类型,
def main(inputData):
result=""
if inputData["riskId"] == '0' :
result="暂无"
elif inputData["riskId"] == '1' :
result="低风险"
elif inputData["riskId"] == '2' :
result="中风险"
elif inputData["riskId"] == '3' :
result="高风险"
else :
result="部分中高风险"
return result
测试结果示意图如下所示:
单击左边的画布中的元素节点,右边可以显示具体的属性信息。这里我们基于手动触发事件的方式来构建查询系统。模板中的防疫出行政策查询的城市是在第一个节点进行指定的,为了更好的灵活性,我们将城市作为参数,从第一个节点进行传入。单击第一个节点,并添加参数:
然后,在第一个节点中,添加参数值,在【动态内容】中可以选择前一步定义的参数,from和to 。如下图所示:
至此,我们就可以进行【保存并测试】,这样可以来进行测试自定义的出行防疫政策查询是否可以工作,正确执行后,可以有短信通知:
我有三张 table 。表 A 有选项名称(即颜色、尺寸)。表 B 有选项值名称(即蓝色、红色、黑色等)。表C通过将选项名称id和选项名称值id放在一起来建立关系。 我的查询需要显示值和选项的名称,而
在mysql中,如何计算一行中的非空单元格?我只想计算某些列之间的单元格,比如第 3-10 列之间的单元格。不是所有的列...同样,仅在该行中。 最佳答案 如果你想这样做,只能在 sql 中使用名称而
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
我正在为版本7.6进行Elasticsearch查询 我的查询是这样的: { "query": { "bool": { "should": [ {
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
是否可以编写一个查询来检查任一子查询(而不是一个子查询)是否正确? SELECT * FROM employees e WHERE NOT EXISTS (
我找到了很多关于我的问题的答案,但问题没有解决 我有表格,有数据,例如: Data 1 Data 2 Data 3
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
以下查询返回错误: 查询: SELECT Id, FirstName, LastName, OwnerId, PersonEmail FROM Account WHERE lower(PersonEm
我从 EditText 中获取了 String 值。以及提交查询的按钮。 String sql=editQuery.getText().toString();// SELECT * FROM empl
我有一个或多或少有效的查询(关于结果),但处理大约需要 45 秒。这对于在 GUI 中呈现数据来说肯定太长了。 所以我的需求是找到一个更快/更高效的查询(几毫秒左右会很好)我的数据表大约有 3000
这是我第一次使用 Stack Overflow,所以我希望我以正确的方式提出这个问题。 我有 2 个 SQL 查询,我正在尝试比较和识别缺失值,尽管我无法将 NULL 字段添加到第二个查询中以识别缺失
什么是动态 SQL 查询?何时需要使用动态 SQL 查询?我使用的是 SQL Server 2005。 最佳答案 这里有几篇文章: Introduction to Dynamic SQL Dynami
include "mysql.php"; $query= "SELECT ID,name,displayname,established,summary,searchlink,im
我有一个查询要“转换”为 mysql。这是查询: select top 5 * from (select id, firstName, lastName, sum(fileSize) as To
通过我的研究,我发现至少从 EF 4.1 开始,EF 查询上的 .ToString() 方法将返回要运行的 SQL。事实上,这对我来说非常有用,使用 Entity Framework 5 和 6。 但
我在构造查询来执行以下操作时遇到问题: 按activity_type_id过滤联系人,仅显示最近事件具有所需activity_type_id或为NULL(无事件)的联系人 表格结构如下: 一个联系人可
如何让我输入数据库的信息在输入数据 5 分钟后自行更新? 假设我有一张 table : +--+--+-----+ |id|ip|count| +--+--+-----+ |
我正在尝试搜索正好是 4 位数字的 ID,我知道我需要使用 LENGTH() 字符串函数,但找不到如何使用它的示例。我正在尝试以下(和其他变体)但它们不起作用。 SELECT max(car_id)
我有一个在 mysql 上运行良好的 sql 查询(查询 + 连接): select sum(pa.price) from user u , purchase pu , pack pa where (
我是一名优秀的程序员,十分优秀!