瞭解如何使用雲端原生方法擴充 SaaS 應用系統
當企業採用更多 SaaS 時,延伸以符合變更業務需求的能力會變得更為重要。在雲端原生之前,IT 團隊已透過選取一組供應商提供的整合解決方案、簡化使用案例,或設定大型的基礎架構堆疊以支援更複雜的使用案例。使用 Oracle Java Cloud Service - SaaS Extension 的客戶通常代管 SaaS UI 擴充功能 (通常使用 Oracle ADF Framework 建立),或者使用服務來代管部分程式碼 (REST 進入點),而這些程式碼可由 Oracle Fusion Applications Cloud Service 或其他應用程式呼叫。Oracle Java Cloud Service - SaaS Extension 是舊版雲端服務,無論現代化 Oracle Cloud 原生產品的功能為何。
雲端原生導入的功能如容器和無伺服器功能。使用這些產品,您的開發團隊即可在將基礎架構複雜性移轉至雲端提供者時,於完成使用案例。Oracle Cloud Native Services 提供您開發小組因應擴充 SaaS 應用程式所需的功能,以便導入與維護更容易的方式來實作和維護。
架構
此架構顯示使用「雲端原生方法」建立之 SaaS 應用程式擴充的高階設計。您可以使用 Oracle Functions 作為由 Oracle Identity Cloud Service 保護之 REST API 的後端實行。
實行是透過使用「Oracle Cloud Infrastructure API 閘道」來完成。此解決方案播放書籍提供用於延伸 Oracle Fusion Applications Cloud Service 的使用案例,但您可以將相同技術搭配或不搭配圖片中的 SaaS 使用。
下列流程描述:
- Oracle Visual Builder 會透過 Oracle Identity Cloud Service 內的「識別雲端 App 認證 (函數資源從屬端)」應用程式連線至「API 閘道」。包括標頭為「授權:Bearer;< Token1 >」的認證記號。
- API 閘道會連線回 Oracle Identity Cloud Service,並連線至 Identity Cloud /admin/v1/SigningCert/jwk 元件以驗證記號。
- API 閘道會連線到與 Oracle 函數整合的「識別雲端 OAuth 宣告程式庫」,原始記號與步驟 1 之記號標頭相同。
- 與 Oracle 函數整合的 Identity Cloud OAuth 宣告程式庫會連線到 Oracle Cloud Infrastructure Vault,以查詢儲存的安全證明資料供下一個步驟使用。
- 此函數會連線回 Oracle Identity Cloud Service,以從 Identity Cloud App (函數資源擁有者)(Fusion Applications 資源從屬端) 應用程式擷取新的記號。此記號對存在於 Oracle Cloud PaaS 和 Oracle Fusion Applications 中的使用者而言都有效。
- Oracle Fusion Applications Cloud Client 函數內的 Business Logic 元件使用新的認證記號 (來自宣告的記號) 與標頭 "Authorization:Bearer;< Token2 >"連線至 Fusion Applications Cloud 執行處理
API 閘道可以直接向 Oracle Identity Cloud Service 認證,也可以選擇是否要執行自訂認證功能 (未顯示在圖表中)。
開始之前
若要從 Oracle PaaS 對 Oracle Fusion Applications Cloud Service 進行安全的 REST API 呼叫,您必須使用 Oracle Identity Cloud Service 設定整合。請參閱以下解決方案播放報表簿,瞭解如何設定整合:
若要在 Oracle Cloud Infrastructure 使用 Oracle Functions,您必須設定環境:
- 複查 Oracle Functions 快速入門指南,快速設定開發環境。
- 在 Oracle Cloud Infrastructure 文件的準備 Oracle Functions 段落中,找到完整的從屬端環境組態。
關於設計需求
當企業採用更多雲端軟體 (軟體即服務或 SaaS) 時,延長以符合變更業務需求的功能會變得更重要。在雲端原生之前,IT 團隊已透過選取一組供應商提供的整合解決方案來實際,可提供簡化的使用案例;或設定複雜而未經分散的基礎架構堆疊,以支援更複雜的使用案例。
雲端原生導入新功能,例如容器和無伺服器功能。只要使用這些產品,您的開發小組就能在搬移基礎架構複雜度至雲端提供者時完成其使用情況。Oracle Cloud Native Services 提供您開發團隊必須擴充其 SaaS 應用程式的功能,方便您實作和維護。
Oracle Functions 是 Oracle 提供的功能即服務 (FaaS),可讓開發人員能夠在雲端執行程式碼,而且只需支付使用的處理能力,因此可避免需要執行服務 24x7.其他優點是,執行程式碼所需的基礎架構是完全由 Oracle 管理,不需要客戶/開發人員維護程式實際執行環境。
搭配 Oracle Functions 使用新的「Oracle Cloud Infrastructure API 閘道」服務時,開發小組可以建立無伺服器的 API,以將無伺服器功能的功能解除鎖定為應用系統,例如 Oracle Fusion Applications Cloud Service 能夠輕鬆整合 RESTful API。
如果您將此與 Oracle Java Cloud Service 或 WebLogic Server Cloud 執行處理做比較,而您負責軟體的維護與管理、代管 WebLogic Server 的相關作業系統,且通常是資料庫的相關作業系統,這個「完全 Oracle 管理的方法」非常關聯。
您可能已經在使用 Oracle Java Cloud Service - SaaS Extension。例如,您可以使用此服務來代管通常使用 Oracle ADF Framework 建立的 SaaS UI Extensions。另一個常見的使用案例是主控由 Oracle Fusion Applications Cloud Service 或其他應用程式所呼叫的某些程式碼 (REST 進入點)。如果您想移動平台,Oracle 通常會建議移轉至 Oracle Visual Builder。
請考慮下列可能與您自己相似的設計需求。客戶目前已在 Oracle Java Cloud Service - SaaS Extension 上部署其應用程式,且使用 Oracle ADF Faces 架構。客戶想要移轉至更新的平台,且平台必須由 Oracle 管理–完成後,所有客戶都是 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 可以處理需要複雜商業邏輯的呼叫
- 處理目標 SaaS 系統的識別傳輸、以使用 SSO 進行安全、認證、授權的存取控制
- 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 通訊的功能。不過,為了示範如何搭配 API 閘道使用自訂 Oracle Functions 程式碼,我們提供了自訂認證函數 (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:Visual Builder 開發人員預先定義的角色,會對應至 ServiceDeveloper 應用程式層預先定義的角色。
|
建立、管理、安全及發布 Web 和行動應用程式。 |
Oracle Cloud Infrastructure:管理員 | 部署函數及設定 API 閘道。 |
Oracle Identity Cloud Service:安全管理員與應用程式管理員 | 管理身分識別提供者及管理應用程式。 |
請參閱瞭解如何取得 Oracle 解決方案的 Oracle Cloud 服務,以取得您所需的雲端服務。