欢迎访问深圳敏捷云计算科技有限公司!

甲骨文云OCI -APP应用开发-SaaS扩展的革新之路

2024-03-20 原创文章

Oracle Applications Cloud是一套完整的软件即服务(SaaS)应用套件,为人力资本管理(HCM)、企业资源规划(ERP)、供应链管理(SCM)和客户体验(CX)等领域提供解决方案。就像任何SaaS应用一样,您可能需要对您的组织进行特有的扩展,例如定制的UI布局或额外的业务流程。这些扩展作为应用实现,与Oracle Applications Cloud中的信息集成或结合来自其他系统的数据。这些应用使用相同的安全层,并提供与Oracle Applications Cloud无缝集成的用户体验。一些扩展应用嵌入在Oracle Applications Cloud界面中,或者,如果针对外部客户,可以在Oracle Applications Cloud环境之外运行。本文档提供了架构SaaS扩展应用的设计原则、参考架构和最佳实施路径。



设计原则

使用以下设计原则构建您的SaaS扩展应用。

  • 使用轻量级的开源框架和成熟的编程语言
  • 使用Oracle JavaScript扩展工具包(Oracle JET)作为UI层。Oracle JET是Oracle和开源JavaScript库的开源工具包,被Oracle Applications Cloud团队用于开发基于Redwood的UI。JET为您提供相同的Redwood UI模式、样式和模板。
  • 对于UI层,使用JavaScript,以及HTML5和CSS。后端则使用Java。
  • 将应用构建为一套通过REST API通信的微服务
  • 将业务流程和数据操作服务开发为暴露为REST API的微服务。这样做可以轻松处理、扩展和访问服务。
  • 使用Oracle Visual Builder Studio开发的UI使用基于REST的后端服务,包括由Oracle Applications Cloud暴露的服务和将来自其他来源的数据作为REST API暴露的服务。
  • 自动化构建、测试和部署
  • 使用Oracle Visual Builder Studio自动化您的SaaS扩展的构建、打包和部署步骤,从基础设施层到平台层。(这包括视觉应用、集成、数据库对象和中间件代码等工件。)Oracle Visual Builder Studio还集成了Git仓库、问题跟踪、敏捷规划和跟踪以及团队协作功能,与持续集成/持续部署(CI/CD)管道相结合。
  • 使用完全托管的服务消除应用开发、运行时和数据管理中的复杂性
  • 使用Oracle Applications Cloud的大多数组织不愿意或没有资源管理自己的基础设施。相反,使用完全托管的服务简化您的业务应用的部署和维护。
  • Oracle Visual Builder Studio提供了一个完全托管的平台来托管您的Web和移动应用。此外,它还管理自定义业务对象、暴露它们的REST层,并保护对外部REST服务的访问。您可以通过Oracle Integration(一种托管的集成服务)配置对外部数据源的访问。您还可以将额外的业务逻辑实现为暴露为REST API的函数。对于某些应用,您的数据可能会复制到独立的数据库中,在这种情况下,您可以使用Oracle REST数据服务实现一组REST服务来访问该数据。
  • 保持应用层无状态
  • Oracle Visual Builder Studio创建的应用是无状态的,通过REST API与后端服务进行通信。Oracle Functions还可以为额外的服务器端业务逻辑提供无状态功能。
  • 实施端到端监控和跟踪
  • 使用Oracle应用性能监控来监控和跟踪您的应用各层。使用此服务,您可以跟踪UI体验、REST调用、函数和数据库。
  • 此外,许多Oracle托管服务提供了对它们管理的工件的监控和跟踪。例如,Oracle Integration提供了一个监控仪表板,显示集成的使用情况和状态。
  • 实施深度防御方法来保护应用生命周期
  • 执行深度防御机制,确保只有拥有正确角色的人员可以与数据交互。在您的应用和Oracle Applications Cloud之间使用单点登录(SSO),确保通过REST API访问数据的用户遵守他们在Oracle Applications Cloud中定义的角色。使用Oracle云基础设施API网关和Web应用程序防火墙创建规则,根据这些规则限制用户对REST服务和Web界面的访问。
  • Oracle Visual Builder Studio预先配置了SSO,并提供身份传播。例如,从Oracle Visual Builder Studio到REST API的调用会自动将Oracle Visual Builder Studio用户传播到API调用。



架构

您可以通过基于这一固定观点的架构的部署来实现设计原则。

Oracle建议在您的SaaS扩展架构中使用以下组件:

UI

  • Oracle JavaScript扩展工具包(Oracle JET)提供了一个轻量级的开源工具包,用于构建跨多种设备的丰富UI。它还支持Redwood用户体验,让您开发与Oracle应用云提供的应用提供相同体验的扩展。为了简化和加速您的Oracle JET应用开发,使用Oracle Visual Builder Studio,它提供了更声明式和可视化的开发方法。


Web服务器

  • Oracle Visual Builder Studio提供了一个完全托管的服务来托管您的Web应用,并提供安全访问Oracle应用云中的数据和外部基于REST的服务。此外,它支持您的自定义扩展应用与Oracle应用云之间的单点登录。


业务逻辑

  • 为了实现业务逻辑需求,使用可扩展的无服务器技术,如Oracle Functions和Helidon,并将它们作为REST API暴露,以便于使用。


集成

  • Oracle Integration是一个完全托管的服务,允许您集成应用程序、自动化流程、了解业务流程,并创建可视化应用。
  • Oracle Integration for SaaS是Oracle Integration的简化版本,专注于SaaS,为您提供Oracle Integration的功能和优势。


数据库

  • Oracle数据库提供了一种在Oracle应用云缺乏易用或高性能的数据访问和处理方式时,以更易访问的方式存储数据的方法。


API网关

  • Oracle API网关使您能够发布带有私有端点的API,这些端点在您的网络内部可访问,并且在需要时可以暴露给公共互联网。端点支持API验证、请求和响应转换、CORS、身份验证和授权以及请求限制。


替代方案和反模式

  • 考虑到本模式中描述的架构的替代方案,并避免尝试实施反模式。


替代方案

  • 对于不需要集成到应用云界面的应用,您可以考虑使用其他UI框架。
  • 如果现有系统需要访问来自应用云的数据,并且您担心外部请求会过载应用云,您可以将数据集提取到外部数据库。


反模式

  • 不要尝试在外部系统中复制已在应用云中定义的业务流程、验证和安全性。这样做会带来与原始系统不同步的风险。



开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。


Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。


利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。


Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门