Découvrez comment étendre les applications SaaS avec une approche cloud native

Comme les entreprises adoptent davantage SaaS, la capacité à si étendre pour répondre aux besoins en constante évolution de l'entreprise devient plus importante. Avant l'environnement cloud natif, les équipes informatiques ont été mises en forme dans le but de sélectionner un ensemble de solutions d'intégration offertes par les fournisseurs, de proposer des cas d'emploi simplistes, ou de configurer des piles d'infrastructures plus importantes afin de répondre à leurs cas d'utilisation plus complexes. Les clients utilisant Oracle Java Cloud Service - SaaS Extension hébergent souvent des extensions d'interface utilisateur SaaS, qui sont généralement créées à l'aide de la structure Oracle ADF, ou ils utilisent le service pour héberger un code (un point d'entrée REST) appelé par Oracle Fusion Applications Cloud Service ou une autre application. Oracle Java Cloud Service - SaaS Extension est un service cloud hérité ne disposant pas des fonctionnalités d'offres Oracle Cloud natives modernes.

Le cloud natif présente des fonctionnalités telles que les conteneurs et les fonctions sans serveur. Grâce à ces offres, l'équipe de développement peut se concentrer sur la réalisation de son cas d'utilisation tout en déchargeant la complexité de l'infrastructure vers votre fournisseur cloud. Les services natifs Oracle Cloud offrent les fonctionnalités dont votre équipe de développement a besoin pour étendre vos applications SaaS de manière à être bien plus facile à implémenter et à gérer.

Cette solution montre comment concevoir une extension SaaS pour Oracle Fusion Applications Cloud Service à l'aide d'une approche basée sur Oracle Visual Builder. Vous pouvez également migrer une intégration Oracle Fusion Applications Cloud Service / Oracle Java Cloud Service - SaaS Extension existante avec cette conception. Oracle Functions fait office d'implémentation back-end d'une API REST utilisant la passerelle d'API Oracle Cloud Infrastructure, sécurisée par Oracle Identity Cloud Service.

Architecture

Cette architecture montre une conception de haut niveau pour une extension d'une application SaaS, conçue à l'aide d'une approche cloud native. Vous pouvez utiliser Oracle Functions en tant qu'implémentation back-end d'une API REST, sécurisée par Oracle Identity Cloud Service.

L'implémentation est réalisée par l'utilisation de la passerelle d'API Oracle Cloud Infrastructure. Ce guide de lecture de solution présente un cas d'emploi pour l'extension d'Oracle Fusion Applications Cloud Service, mais les mêmes techniques peuvent être utilisées avec ou sans SaaS dans l'image.



Le flux suivant est décrit :

  1. Oracle Visual Builder se connecte à la passerelle d'API via une application (client de ressource de fonction) d'authentification d'application Identity Cloud dans Oracle Identity Cloud Service. Un jeton d'authentification avec l'en-tête "Authorization : Bearer ; <Token1>" est inclus.
  2. La passerelle API se reconnecte à Oracle Identity Cloud Service et se connecte au composant Identity Cloud /admin/v1/SigningCert/jwk pour valider le jeton.
  3. La passerelle d'API se connecte à la bibliothèque d'assertions OAuth Identity Cloud intégrée à la fonction Oracle, avec le jeton d'origine avec le même en-tête que le jeton pour l'étape 1.
  4. La bibliothèque d'assertions OAuth Identity Cloud intégrée à la fonction Oracle se connecte à Oracle Cloud Infrastructure Vault pour rechercher les informations d'identification stockées et sécurisées pour la prochaine étape.
  5. La fonction se reconnecte à Oracle Identity Cloud Service pour extraire un nouveau jeton à partir de l'application Identity Cloud (propriétaire de la ressource de fonction) (client de ressource Fusion Applications). Ce jeton est valide pour les utilisateurs qui existent à la fois dans Oracle Cloud PaaS et Oracle Fusion Applications.
  6. Le composant Logique applicative de la fonction client Oracle Fusion Applications Cloud se connecte à une instance Fusion Applications Cloud, à l'aide d'un nouveau jeton d'authentification (jeton à partir de l'assertion) avec l'en-tête "Autorisation : Bearer ; <Token2>"

La passerelle d'API peut soit s'authentifier directement auprès d'Oracle Identity Cloud Service, soit exécuter une fonction d'authentification personnalisée (non présentée dans le diagramme).

Avant de commencer

Pour configurer cette intégration, vous devez disposer d'un environnement de service cloud fédéré et configurer un environnement de développement Oracle Functions.

Pour effectuer des appels d'API REST sécurisés à partir d'Oracle PaaS vers Oracle Fusion Applications Cloud Service, vous devez configurer une intégration à l'aide d'Oracle Identity Cloud Service. Reportez-vous à ces guides de lecture de solution avec des instructions complètes sur la configuration de ce type d'intégration :

Pour utiliser Oracle Functions avec Oracle Cloud Infrastructure, vous devez configurer votre environnement :

A propos des conditions requises pour la conception

L'architecture présentée a été développée en tenant compte d'un ensemble d'exigences de conception. Il est utile d'étudier les exigences prises en compte dans ce scénario ; vous pouvez développer votre propre architecture modifiée en tenant compte de vos propres exigences en matière de conception.

Comme les entreprises adoptent des logiciels plus basés sur le cloud (logiciels en tant que services ou SaaS), la capacité d'extension à répondre aux besoins de modification en matière d'activité est devenue plus importante. Avant l'environnement cloud natif, les équipes informatiques ont été confrontées à la sélection d'un ensemble de solutions d'intégration offertes par le fournisseur, qui offrent des cas d'emploi simplistes, ou lors de la configuration de piles complexes et indésirables d'infrastructures afin de soutenir les cas d'utilisation plus complexes.

L'environnement cloud natif introduit de nouvelles capacités, telles que les conteneurs et les fonctions sans serveur. Grâce à ces offres, les équipes de développement peuvent se concentrer sur la réalisation de leur cas d'utilisation tout en déchargeant la complexité de l'infrastructure vers le fournisseur de cloud. Les services natifs Oracle Cloud offrent les fonctionnalités dont les équipes de développement ont besoin pour étendre leurs applications SaaS de façon à être bien plus facile à implémenter et à gérer.

Oracle Functions est une offre FaaS d'Oracle qui permet aux développeurs d'exécuter du code dans le cloud et de payer uniquement à la puissance de traitement utilisée, ce qui évite d'exécuter le service 24x7. L'avantage supplémentaire est que l'infrastructure nécessaire à l'exécution du code est entièrement gérée par Oracle et ne nécessite pas le client/développeur de gérer l'environnement d'exécution.

Lorsque vous utilisez le nouveau service de passerelle d'API Oracle Cloud Infrastructure pour Oracle Functions, les équipes de développement peuvent créer des API sans serveur qui déverrouillent la puissance des fonctions sans serveur aux applications telles qu'Oracle Fusion Applications Cloud Service, qui si intègrent facilement avec les API RESTful.

Si vous comparez cette comparaison avec une instance Oracle Java Cloud Service ou WebLogic Server Cloud, où vous êtes responsable de la maintenance et de la gestion du logiciel, le système d'exploitation associé qui héberge WebLogic Server et, souvent, cette “approche entièrement gérée par Oracle” est très active.

Vous utilisez peut-être déjà Oracle Java Cloud Service - SaaS Extension. Par exemple, vous pouvez utiliser le service pour héberger des extensions d'interface utilisateur SaaS, qui sont généralement construites à l'aide de la structure Oracle ADF. Un autre cas d'utilisation courant consiste à héberger un code (un point d'entrée REST) appelé par Oracle Fusion Applications Cloud Service ou une autre application. Si vous souhaitez déplacer une plate-forme, Oracle recommande souvent une migration vers Oracle Visual Builder.

Considérons les conditions de conception suivantes, qui peuvent être similaires à celles qui vous sont propres. Un client dispose actuellement de son application déployée sur Oracle Java Cloud Service - SaaS Extension et utilise la structure Oracle ADF Faces. Le client souhaite migrer vers une plate-forme plus moderne et la plate-forme doit être gérée par Oracle, une fois que tous les clients SaaS ont été gérés. Bien sûr, il est toujours nécessaire de sécuriser l'implémentation.

Ils ont donc décidé d'utiliser Oracle Visual Builder pour implémenter leur interface utilisateur. Ce client peut souhaiter exécuter une logique métier complexe avant d'appeler Oracle SaaS, telle que la mise en mémoire cache, l'agrégation de données, la logique complexe ou la conversion de protocoles (REST vers SOAP). Après quelques enquêtes, elles ont déterminé que la plupart des demandes réseau peuvent accéder directement à Oracle SaaS, mais certains appels doivent passer par un niveau intermédiaire (middle tier) pour gérer la logique métier plutôt que d'appeler directement l'API.



Pour ce client, Oracle présente une architecture qui utilise Oracle Functions en tant que niveau intermédiaire (middle tier) pour leur code logique métier personnalisé.

Récapitulatif des exigences de conception :

  • Etendre Oracle Fusion Applications Cloud Service avec des personnalisations et l'accès aux données REST
  • Utiliser la plate-forme Oracle Managed Cloud
  • Implémentez des verbes REST (GET, POST, PUT, etc.).
  • Utilisez Oracle Visual Builder pour une personnalisation du code faible et plus simple
  • Une approche cloud native sans serveur qui permet d'exécuter le code sans exiger de fourniture d'infos de paramétrage ou de gestion d'infrastructure
  • Oracle Functions de faible surcharge efficace peut gérer les appels nécessitant une logique métier complexe.
  • Gérer la propagation de l'identité vers le système SaaS cible pour un contrôle d'accès sécurisé, authentifié et autorisé avec SSO
  • Les adresses d'API doivent être sécurisées
  • Implémentez CORS (Cross-Origin Resource Sharing) pour émettre des appels REST directement au serveur REST.

Pour répondre aux exigences suivantes, quatre autres services sont inclus dans l'architecture :

  • Oracle Identity Cloud Service : banque d'identités globale.
  • Oracle Functions : personnalisez les API SaaS avec votre propre code.
  • Passerelle d'API Oracle Cloud Infrastructure : passerelle d'API qui gère le mapping REST vers fonctions et applique la sécurité.
  • Oracle Cloud Infrastructure Vault : mécanisme de gestion des clés utilisé pour crypter les mots de passe et les clés secrètes client.

La passerelle API Oracle Cloud Infrastructure dispose de fonctionnalités intégrées pour communiquer avec Oracle Identity Cloud Service. Cependant, pour illustrer l'utilisation du code Oracle Functions personnalisé avec API Gateway, nous avons fourni une fonction d'authentification personnalisée (AuthN) comme mécanisme d'authentification facultatif.

A propos des services et des rôles obligatoires

Cette solution requiert les services et rôles suivants :

  • Oracle Fusion Applications Cloud Service
  • Oracle Visual Builder
  • Oracle Cloud Infrastructure
  • Oracle Identity Cloud Service

Il si agit des rôles nécessaires pour chaque service.

Nom de service : rôle Obligatoire pour...
Oracle Fusion Applications Cloud Service : Administrateur Configurez l'accès avec connexion unique entre Oracle Fusion Applications Cloud Service et Oracle Identity Cloud Service.
Oracle Visual Builder : rôle prédéfini Visual Builder Developer mis en correspondance avec le rôle prédéfini de couche d'application ServiceDeveloper. Créer, gérer, sécuriser et publier des applications Web et mobiles.
Oracle Cloud Infrastructure : Administrateur Déployez des fonctions et configurez la passerelle d'API.
Administrateur de sécurité et d'application Oracle Identity Cloud Service Gérer les fournisseurs d'identités et gérer les applications.

Pour obtenir les services cloud dont vous avez besoin, reportez-vous à Comment obtenir les services Oracle Cloud pour les solutions Oracle.