了解如何使用云原生方法扩展 SaaS 应用
当企业采用更多 SaaS 时,为满足不断变化的业务需求而扩展的能力将变得更为重要。在云本机之前,IT 团队与选择一组供应商提供的集成解决方案的真实联系,提供简化的用例,或者设置大量基础设施以支持其更复杂的用例。使用 Oracle Java Cloud Service - SaaS Extension 的客户通常托管 SaaS UI 扩展,这些扩展通常使用 Oracle ADF 框架构建,或者它们使用服务托管由 Oracle Fusion Applications Cloud Service 或其他应用程序调用的一些代码(REST 入口点)。Oracle Java Cloud Service - SaaS Extension 是旧版云服务,可以嵌入现代化的 Oracle Cloud 原始产品的功能。
云原生本地引入了容器和无服务器函数等功能。通过使用这些产品,开发团队可以重点关注其用例,同时将基础设施的复杂性降级为云提供商。Oracle Cloud 本地服务提供了开发团队需要以一种易于实施和维护的方式扩展 SaaS 应用程序的功能。
体系结构
此体系结构显示使用云原生方法构建的 SaaS 应用程序扩展的高级设计。您可以将 Oracle Functions 用作由 Oracle Identity Cloud Service 保护的 REST API 的后端实施。
实施是通过使用 Oracle Cloud Infrastructure API 网关来实现的。此解决方案播放帐簿显示扩展 Oracle Fusion Applications Cloud Service 的用例,但在图片中可以与 SaaS 一起使用或不使用 SaaS。
显示了以下流:
- Oracle Visual Builder 通过 Oracle Identity Cloud Service 内的身份云应用程序验证(功能资源客户机)应用程序连接到 API 网关。包括标头为 "Authorization: Bearer; < Token1 >"的验证标记。
- API 网关连接回 Oracle Identity Cloud Service,并连接到身份云 /admin/v1/SigningCert/jwk 组件以验证标记。
- API 网关连接到与 Oracle 函数集成的身份云 OAuth 断言库,原始标记与步骤 1 的标记具有相同标头。
- 与 Oracle 函数集成的身份云 OAuth 断言库连接到 Oracle Cloud Infrastructure Vault, 用于查找下一步存储的安全身份证明。
- 该函数连接回 Oracle Identity Cloud Service,从身份云应用程序(函数资源所有者)(Fusion Applications 资源客户机)应用程序提取新标记。此标记对于同时存在于 Oracle Cloud PaaS 和 Oracle Fusion Applications 中的用户有效。
- Oracle Fusion Applications Cloud 客户机函数中的业务逻辑组件使用标头 "Authorization: Bearer; < Token2 >"的新验证标记(断言的标记)连接到 Fusion Applications Cloud 实例
API 网关可以直接使用 Oracle Identity Cloud Service 进行验证,也可以根据需要执行自定义验证函数(未显示在图表中)。
使用须知
为了使 REST API 的安全调用从 Oracle PaaS 到 Oracle Fusion Applications Cloud Service,您必须使用 Oracle Identity Cloud Service 配置集成。有关配置此类集成的全面说明,请参阅以下解决方案播放帐簿:
要将 Oracle Functions 与 Oracle Cloud Infrastructure 一起使用,您需要设置环境:
- 查看 Oracle Functions 快速入门指南以快速设置开发环境。
- 在 Oracle Cloud Infrastructure 文档的“准备 Oracle Functions”部分找到了综合客户机环境配置。
关于设计要求
当企业采用更基于云的软件(“软件即服务”或"SaaS")时,扩展以满足更改业务要求的能力将更加重要。在云本机之前,IT 团队与选择一组供应商转交集成解决方案的实际协作,这些解决方案可提供简化的用例;或者设置基础结构的复杂和不相关的堆栈以支持更复杂的用例。
云原生本地引入了新功能,例如容器和服务器功能。通过使用这些产品,开发团队可以重点关注其用例,同时将基础设施的复杂性卸载到云提供商。Oracle Cloud 本地服务提供开发团队在实施和维护方面需要扩展 SaaS 应用程序的功能。
Oracle函数是一种功能-一种源自Oracle的-service (FaaS)产品,它允许开发者在云中执行代码,并且只需为使用的处理能力付费,从而避免需要全天候运行服务。其他优点是运行代码所需的基础结构是完全由 Oracle 管理的,不需要客户/开发人员维护运行时环境。
使用具有Oracle函数的新Oracle云基础结构 API网关服务时,开发团队可以创建无服务器API ,以解除对很容易与RESTful API集成的应用程序的无服务 器功能。
如果您将此内容与 Oracle Java Cloud Service 或 WebLogic Server Cloud 实例进行比较,而您对软件进行维护和管理,则承载 WebLogic Server 的关联操作系统通常是数据库,这"完全 Oracle 管理的方法”非常吸引。
您可能已在使用 Oracle Java Cloud Service - SaaS Extension。例如,可以使用服务承载 SaaS UI Extensions,后者通常使用 Oracle ADF Framework 构建。另一种常见用例是托管一些由 Oracle Fusion Applications Cloud Service 或其他应用程序调用的代码(REST 入口点)。如果希望移动平台,Oracle 通常会建议移植到 Oracle Visual Builder。
现在来考虑以下设计要求,这些要求可能与您自己的类似。客户当前在 Oracle Java Cloud Service - SaaS Extension 上部署了应用程序并正在使用 Oracle ADF Faces 框架。客户希望迁移到更新的平台,该平台必须是 Oracle Managed – 所有这些平台都是 SaaS 客户,并且用于对其进行管理。当然,始终存在实施安全的要求。
因此,它们已决定使用 Oracle Visual Builder 来实施其 UI。该客户可能需要在调用 Oracle SaaS 之前执行一些复杂的业务逻辑,如高速缓存、数据的聚合、复杂逻辑或可能的协议转换(REST 到 SOAP)。在某些调查后,他们确定大多数网络请求都可以直接转到 Oracle SaaS,但某些调用需要穿过中间层来处理业务逻辑,而不是直接调用 API。
对于此客户,Oracle 提供了一种体系结构,它使用 Oracle Functions 作为自定义业务逻辑代码的中间层。
我们概括了解设计要求:
- 使用基于定制和 REST 的数据访问权限扩展 Oracle Fusion Applications Cloud Service
- 使用 Oracle -Managed Cloud 平台
- 实施 REST 动词(GET、POST、PUT 等)
- 将 Oracle Visual Builder 用于更简单的低代码定制设置
- 无需进行基础结构预配或管理即可运行代码的云本机无服务器方法
- 高效的低开销 Oracle Functions 可以处理需要复杂业务逻辑的调用
- 使用 SSO 处理对目标 SaaS 系统的身份传播,以确保安全,已验证,已授权的访问控制
- API 端点必须受到保护
- 实施跨源资源共享(CORS)以将 REST 调用直接发布到 REST 服务器。
为了满足这些要求,体系结构中将包括以下四项服务:
- Oracle Identity Cloud Service:全局身份存储库。
- Oracle Functions:使用您自己的代码定制 SaaS api。
- Oracle Cloud Infrastructure API 网关:将处理 REST 到函数的 API 网关映射以及实施安全性。
- Oracle Cloud Infrastructure Vault:用于对口令和客户机密钥进行加密的密钥管理机制。
Oracle Cloud Infrastructure API 网关具有内置的功能,可以与 Oracle Identity Cloud Service 进行通信。但是,为了演示如何将定制 Oracle Functions 代码与 API 网关结合使用,我们提供了定制验证功能(AuthN)作为可选验证机制。
关于所需服务和角色
此解决方案需要以下服务和角色:
- Oracle Fusion Applications Cloud Service
- Oracle Visual Builder
- Oracle Cloud Infrastructure
- Oracle Identity Cloud Service
这些是每个服务所需的角色。
服务名:角色 | 需要... |
---|---|
Oracle Fusion Applications Cloud Service:管理员 | 配置 Oracle Fusion Applications Cloud Service 与 Oracle Identity Cloud Service 之间的一次登入。 |
Oracle Visual Builder:可视构建器开发人员预定义角色,它映射到 ServiceDeveloper 应用程序层预定义角色。
|
创建,管理,保护和发布 Web 应用程序及移动应用程序。 |
Oracle Cloud Infrastructure:管理员 | 部署函数,并配置 API 网关。 |
Oracle Identity Cloud Service:安全管理员和应用程序管理员 | 管理身份提供者和管理应用程序。 |
请参阅了解如何获取适用于 Oracle 解决方案的 Oracle Cloud 服 务以获取所需的云服务。