基于 Kyma 的企业级云原生应用的扩展案例分享 2

简介: 基于 Kyma 的企业级云原生应用的扩展案例分享

使用 Kyma 扩展企业级云原生应用

在 Kyma 官网的客户成功案例中,赫然有 SAP,Netconomy,Accenture,Digital Lights 这些企业用户。

SAP 在客户体验产品线(Customer Experience) 这一领域推出的 C/4HANA 套件,包含市场云,电商云,销售云,服务云和客户数据云。Kyma 正是 SAP 推荐的对这些企业家云原生应用进行扩展的推荐平台和工具之一。

下面我们来了解一些具体的扩展案例。


SAP 电商云(Commerce Cloud) 有一套订单状态编排模型,从用户下单到订单最终处于 Complete 状态,状态的迁移通过一系列 Action 进行驱动。


假设我们期望在 SAP 电商云里实现这样一个增强场景:在用户下单之后,发货之前,增添一个自定义的检查步骤 Fraud Check(订单欺诈检查),如下图流程图内浅色矩形框所示。


一种比较直接的方式,是在 SAP 电商云源代码里,查找订单编排流程里基于 Spring 框架的 Hook,通过自定义 Java Bean 的方式,实现自定义检查逻辑。这种方式在开发完成后,需要重新构建 SAP 电商云的 Java 源代码。这就是所谓的 In-App extension 方式。


如果选择 Kyma 以事件驱动的方式对 SAP 电商云进行增强,则增强逻辑以 Lambda Function 的载体存储在 Kyma 平台上,而非对 SAP 电商云本身的源代码进行增强。这种方式又称为 Side-by-Side extension 方式。


主要的开发步骤如下:


(1) 在 SAP 电商云进行配置,将自定义事件 Fraud Check 发布给 Kyma.

(2) SAP 电商云的增强开发人员,登录 Kyma 控制台,创建 Lambda Function,将 Function Triggers 选择为步骤一在 SAP 电商云里发布的自定义事件。Lambda Function 的实现内容,即从事件对象里解析出下单的客户信息,然后调用 Marketing Cloud 和 SAP 云平台提供的 Restful API,对该客户身份的有效性进行检查。

运行时,当用户下单后,SAP 电商云向 Kyma 抛出一个事件。Kyma 分别调用 SAP Marketing Cloud 和 SAP 云平台的 Business Partner API,将检查结果返回给 SAP 电商云。


登录 SAP 电商云 Backoffice 配置页面,定义一个新的Action,ID 为 EXTERNAL_KYMA_FRAUD_CHECK.


登录 Kyma 控制台,创建一个新的 Lambda Function,Function Triggers 选择为 SAP 电商云 Backoffice 里维护的自定义事件:


Lambda Function 的具体实现:


代码 18~19 行:从 输入的 event 事件对象参数里,解析出订单 Code

26 行:消费 SAP 电商云的 OCC(Omni Commerce Channel) Restul API,获得订单明细,从中获得下单的客户 ID

30 行:根据客户 ID 拿到客户明细

37 行:检查该客户的邮箱地址是否有效

40 行:检查该客户是否第一次下单

43 行:调用 SAP Marketing Cloud API 检查客户身份有效性


  • 46 行:调用 SAP 云平台 Business Partner API 检查客户身份有效性

下面对这种基于事件驱动方式所完成的增强实现进行测试。

在 SAP 电商云里创建一个新的订单,记下订单 ID 2139.


登录 SAP 电商云 Backoffice 控制台,检查自定义 Fraud Check 逻辑是否按照我们期望的流程来执行。

根据 ID EXTERNAL_KYMA_FRAUD_CHECK 进行搜索,找到了之前新建的 Action 对应的流程日志记录:


打开订单的 Fraud Reports 面板,查看检查记录:

Email 字段检查结果:客户维护的 Email 字段是一个有效的邮箱地址。


首单检查(First Time Order Check)返回的分数是 100,根据 SAP 电商云当前配置,这个结果被判定为首单。

SAP Marketing Cloud API 调用返回的结果:


SAP 云平台 Business Partner API 调用返回的结果:

我们再来看看另一个使用 Kyma 扩展 SAP 销售云即 SAP Cloud for Customer Sales 模块的例子。

这是一个所谓 Account Address Enrichment 的场景,用户在 SAP 销售云里创建 Account 主数据时,只需维护基本的地址信息,点击保存后,销售云发送事件给 Kyma,后者响应该事件,调用 SAP API Hub上的 Address 微服务,把 Enrich 之后的地址详情,通过销售云 Account OData API 进行写回。这个增强可以减少销售云用户录入 Account 数据的工作量。

这个增强最关键的一步,就是打通 SAP 销售云与 Kyma 的连接,让 Kyma 能够接收到 SAP 销售云运行业务流程时抛出的事件。

进入 SAP 销售云 Administration 工作中心 的 Event Notification 配置页面:

新建一个销售云 OData 事件的消费者,即 Kyma 实例。

Consumer 创建页面需要维护远端 Kyma Application Connector url:

这个 url 可以通过登录 Kyma 控制台,点击 Connect Application 按钮生成:

回到销售云配置页面,指定将 Account 和 Opportunity 这两个 Business Object 的创建和更新事件,发送给 Kyma.


这些 Business Object 的事件发布行为,通过销售云的 Subscription 来描述:

保存配置后,到 Kyma 控制台,此时就能观察到 SAP 销售云(Sales Cloud) 注册的事件了。


点击 SAP Sales Cloud,能够查阅注册事件的技术明细,比如事件负载(Payload) 格式,包含的字段名和数据类型等。


剩下的就是和之前扩展 WordPress 以及 SAP 电商云一样的操作,在 Kyma 中基于 SAP 销售云注册的事件,创建 Lambda Function,解析事件参数并进行相应处理。出于文章篇幅限制,在 Lambda Function 里仅仅简单将销售云传入的事件对象的内容打印出来。


在 SAP 销售云里新建一个 Opportunity 并保存。


到 Kyma Lambda Function 日志控制台里,观察到了函数体里使用 console.log 打印出的来自 SAP 销售云的 Opportunity 创建事件包含的字段:

总结

本文首先简要介绍了 Kyma 这个底层基于 Kubernetes 的开源云原生应用开发平台和运行时,接着分成两大部分,分别分享了使用 Kyma 对传统的 On-Premises 应用(WordPress) 和企业级云原生应用(SAP 电商云和 SAP 销售云)进行扩展的案例。

这些扩展案例均来自笔者实际工作中的项目经历,希望能起到抛砖引玉的作用,感谢阅读。

相关文章
|
1天前
|
运维 Cloud Native Devops
云原生技术:构建弹性、高效和可扩展的现代应用
在当今数字化时代,企业面临着日益复杂的市场需求和技术挑战。为了满足这些需求,许多企业转向了云原生技术。云原生是一种以云计算为基础的架构和方法论,旨在构建弹性、高效和可扩展的现代应用程序。本文将深入探讨云原生技术的核心概念、优势以及实施过程中的关键步骤,帮助读者更好地理解和应用这一前沿技术。
12 6
|
1天前
|
Cloud Native Devops 持续交付
云原生技术:构建现代应用的新范式##
在当今数字化时代,企业正面临着前所未有的挑战和机遇。随着云计算技术的不断发展,越来越多的企业开始采用云原生架构来构建和部署应用程序。本文将探讨云原生技术的关键概念、优势以及如何利用这些技术来推动业务创新和增长。我们将从微服务架构、容器化、持续集成/持续部署(CI/CD)等方面深入分析云原生技术的核心原理,并分享一些成功案例,帮助读者更好地理解和应用云原生技术。 ##
|
1天前
|
运维 Cloud Native API
探索云原生技术:构建现代应用的新范式
在当今这个数字化时代,云原生技术正迅速成为推动企业数字化转型的关键力量。它不仅重新定义了应用的构建、部署和运行方式,还为企业带来了前所未有的灵活性、可扩展性和弹性。本文旨在深入探讨云原生技术的精髓,通过解析其核心概念、关键技术和实践案例,揭示云原生如何引领我们进入一个更加高效、智能的应用开发新时代。不同于传统的技术综述,本文将以通俗易懂的语言,结合条理清晰的逻辑结构,带领读者一同领略云原生技术的奥秘与魅力。
|
1天前
|
运维 Cloud Native Devops
云原生技术:构建现代应用的基石
本文深入探讨了云原生技术的核心概念、主要特点及其在现代软件开发和运维中的重要性。通过分析云原生技术的十二要素、微服务架构以及DevOps实践,揭示了云原生如何助力企业实现高效、灵活和可扩展的应用部署。同时,本文还讨论了云原生技术在实际应用中的优势与挑战,并展望了其未来的发展趋势。
13 4
|
1天前
|
Cloud Native 持续交付 云计算
探索云原生架构:构建现代应用的新范式
在当今数字化浪潮中,云原生架构以其敏捷性、弹性和可扩展性成为企业技术转型的核心驱动力。本文将引领读者深入理解云原生的概念,剖析其关键技术组件——微服务、容器化、DevOps实践及持续交付/持续部署流程,并揭示这些技术如何相互协作,共同构建高效、可靠且易于管理的现代软件系统。通过对云原生架构的全面解读,我们旨在为开发者、架构师乃至企业决策者提供有价值的见解与指导,助力其在快速变化的市场环境中保持竞争力。
|
1天前
|
Kubernetes Cloud Native 持续交付
云原生技术:构建现代应用的基石
想象一下,如果我们的应用程序像水一样流动,自由地在各种环境中穿行,不受任何限制。这就是云原生技术的承诺——提供一种更加灵活、高效和可扩展的方法来构建和运行应用程序。本文将深入探讨云原生的核心概念、关键技术以及它如何改变我们的开发和部署方式,揭示这一技术如何成为现代应用不可或缺的基石。
|
3天前
|
运维 Cloud Native 持续交付
探索云原生技术:构建高效、可扩展的现代应用程序
在当今数字化时代,企业面临着日益增长的压力,需要快速开发和部署应用程序以保持竞争力。传统的软件开发方法已经无法满足这些需求,因此许多企业转向了云原生技术。本文将深入探讨云原生的概念、优势以及如何利用云原生技术构建高效、可扩展的现代应用程序。通过分析实际案例,我们将揭示云原生技术在实现业务敏捷性、降低运维成本和加快产品上市时间方面的巨大潜力。
11 1
|
1天前
|
运维 Cloud Native 云计算
云原生技术在现代企业中的应用与挑战
随着云计算技术的飞速发展,云原生(Cloud Native)技术逐渐成为现代企业实现数字化转型的重要手段。本文将深入探讨云原生技术的核心理念、主要特点及其在实际业务中的应用。通过分析云原生技术在提高开发效率、降低运维成本和增强系统弹性方面的优势,揭示企业在采用云原生技术过程中面临的挑战及应对策略。我们将从实际案例出发,展示云原生技术如何帮助企业在激烈的市场竞争中脱颖而出,并展望未来的发展趋势。希望通过本文的阐述,让读者对云原生技术有一个全面而深入的理解,助力其在业务场景中落地生根。
5 0
|
1天前
|
Cloud Native Devops 持续交付
探秘云原生架构:构建高效、灵活的现代应用
在当今数字化时代,企业面临着日益复杂的技术挑战和快速变化的业务需求。为了适应这种环境,云原生架构应运而生。本文将带您深入了解云原生的核心概念、关键技术和应用案例,揭示其在提升业务效率、降低运维成本方面的独特优势。通过阅读本文,您将获得关于如何利用云原生技术构建现代化应用的宝贵见解。
6 0
|
1天前
|
运维 Cloud Native 持续交付
云原生技术:构建现代应用的未来
在当今数字化时代,技术的快速迭代和业务需求的不断变化要求企业具备更高的灵活性和响应速度。云原生技术以其独特的优势,如微服务架构、持续集成/持续部署(CI/CD)、容器化等,成为现代企业实现敏捷开发和运维的重要手段。本文将深入探讨云原生技术的核心概念、关键技术以及其在不同应用场景中的优势和挑战。
5 0

热门文章

最新文章