Développement d'applications innovantes - Extensions SaaS

Oracle Applications Cloud est une suite complète d'applications Software as a Service (SaaS) qui fournit des solutions dans des domaines tels que Human Capital Management (HCM), Enterprise Resource Planning (ERP), Supply Chain Management (SCM) et Customer Experience (CX).

Comme pour toutes les applications SaaS, vous pouvez avoir besoin d'extensions uniques pour votre organisation, telles que des présentations d'interface utilisateur personnalisées ou d'autres processus métier. Ces extensions sont implémentées en tant qu'applications qui s'intègrent aux informations d'Oracle Applications Cloud ou combinent des données d'autres systèmes. Les applications utilisent la même couche de sécurité et offrent une expérience utilisateur s'intégrant de manière transparente à Oracle Applications Cloud. Certaines applications d'extension sont intégrées dans l'interface Oracle Applications Cloud ou, si elles sont ciblées sur des clients externes, fonctionnent en dehors de l'environnement Oracle Applications Cloud.

Ce document présente les principes de conception des applications d'extension SaaS, une architecture de référence et un chemin d'implémentation optimal.

Principes de conception

Utilisez les principes de conception suivants pour créer vos applications d'extension SaaS.

  • Utiliser des structures open source légères et des langages de programmation mature

    Utilisez Oracle JavaScript Extension Toolkit (Oracle JET) pour la couche d'interface utilisateur. Oracle JET est un toolkit open source de bibliothèques JavaScript open source et Oracle utilisé par les équipes Oracle Applications Cloud pour développer des interfaces utilisateur basées sur Redwood. JET fournit les mêmes modèles, styles et modèles d'interface utilisateur Redwood.

    Utilisez JavaScript pour la couche UI, ainsi que HTML5 et CSS. Pour le back-end, utilisez Java.

  • Créer vos applications en tant que suite de microservices qui communiquent à l'aide des API REST

    Développer des processus métier et des services de manipulation de données en tant que microservices exposés en tant qu'API REST. Vous pouvez ainsi gérer, redimensionner et accéder facilement aux services.

    Les interfaces utilisateur développées avec Oracle Visual Builder Studio utilisent des services back-end basés sur REST, y compris des services exposés par Oracle Applications Cloud et des services qui exposent des données provenant d'autres sources en tant qu'API REST.

  • Automatisation de la création, des tests et du déploiement

    Utilisez Oracle Visual Builder Studio pour automatiser les étapes de création, de package et de déploiement de votre extension SaaS, de la couche d'infrastructure à la couche de plate-forme. (Cela inclut des artefacts tels que des applications visuelles, des intégrations, des objets de base de données et du code middleware.) Oracle Visual Builder Studio intègre également des référentiels Git, le suivi des problèmes, la planification et le suivi agiles, ainsi que des fonctionnalités de collaboration d'équipe avec un pipeline d'intégration continue/de déploiement continu.

  • Utiliser des services entièrement gérés pour éliminer la complexité du développement d'applications, des exécutions et de la gestion des données

    La plupart des organisations qui utilisent Oracle Applications Cloud n'ont pas le souhait ou les ressources nécessaires pour gérer leur propre infrastructure. Utilisez plutôt un service entièrement géré pour simplifier le déploiement et la maintenance de vos applications métier.

    Oracle Visual Builder Studio fournit une plate-forme entièrement gérée qui héberge vos applications Web et mobiles. En outre, il gère les objets métier personnalisés, la couche REST qui les expose et sécurise l'accès aux services REST externes. Vous pouvez configurer l'accès aux sources de données externes via Oracle Integration, un service d'intégration géré. Vous pouvez également implémenter une logique métier supplémentaire en tant que fonctions présentées sous forme d'API REST. Pour certaines applications, vos données peuvent être répliquées dans des bases de données autonomes, auquel cas vous pouvez implémenter un ensemble de services REST pour accéder à ces données à l'aide d'Oracle REST Data Services.

  • Conserver le niveau des applications sans conservation de statut

    Oracle Visual Builder Studio crée des applications sans conservation de statut qui communiquent aux services back-end via des API REST. Oracle Functions peut également fournir des fonctionnalités sans état pour une logique métier supplémentaire côté serveur.

  • Mettre en œuvre la surveillance et la trace de bout en bout

    Utiliser Oracle Application Performance Monitoring pour surveiller et tracer les niveaux de votre application. A l'aide de ce service, vous pouvez suivre l'expérience de l'interface utilisateur, les appels REST, les fonctions et la base de données.

    En outre, de nombreux services gérés par Oracle offrent la surveillance et le suivi des artefacts qu'ils gèrent. Par exemple, Oracle Integration fournit un tableau de bord de surveillance qui indique l'utilisation et le statut des intégrations.

  • Implémenter une approche de défense en profondeur pour sécuriser le cycle de vie des applications

    Appliquer des mécanismes de défense approfondis pour garantir que seul le personnel ayant les bons rôles peut interagir avec les données. Utilisez l'accès avec connexion unique (SSO) entre votre application et Oracle Applications Cloud pour vous assurer que les utilisateurs qui accèdent aux données via les API REST respectent les rôles qu'ils ont définis dans Oracle Applications Cloud. Utilisez la passerelle d'API Oracle Cloud Infrastructure et le pare-feu d'applications Web pour créer des règles visant à limiter l'accès des utilisateurs aux services REST et aux interfaces Web en fonction de ces règles.

    Oracle Visual Builder Studio est préconfiguré avec SSO et permet la propagation des identités. Par exemple, un appel d'Oracle Visual Builder Studio vers une API REST propage automatiquement l'utilisateur Oracle Visual Builder Studio vers l'appel d'API.

Architecture

Vous pouvez implémenter les principes de conception en utilisant un déploiement basé sur cette architecture évaluée.



maf-arch-paas.zip

Oracle recommande les composants suivants dans votre architecture d'extension SaaS :

  • Interface graphique

    Oracle JavaScript Extension Toolkit (Oracle JET) fournit un toolkit open source léger permettant de créer des interfaces utilisateur riches qui couvrent plusieurs périphériques. Il prend également en charge l'expérience utilisateur Redwood, qui vous permet de développer des extensions d'Oracle Applications Cloud qui fournissent la même expérience que les applications fournies par Oracle. Pour simplifier et accélérer le développement des applications Oracle JET, utilisez Oracle Visual Builder Studio, qui offre une approche plus déclarative et visuelle du développement.

  • Serveur Web

    Oracle Visual Builder Studio fournit un service entièrement géré permettant d'héberger votre application Web et de fournir un accès sécurisé aux données dans Oracle Applications Cloud et aux services REST externes. En outre, il prend en charge l'accès avec connexion unique entre vos applications d'extension personnalisées et Oracle Applications Cloud.

  • Logique applicative

    Pour implémenter les exigences de la logique métier, utilisez des technologies sans serveur évolutives telles qu'Oracle Functions et Helidon, et présentez-les sous forme d'API REST pour en faciliter la consommation.

  • Intégration

    Oracle Integration est un service entièrement géré qui permet d'intégrer vos applications, d'automatiser des processus, d'obtenir des informations sur vos processus métier et de créer des applications visuelles.

    Oracle Integration for SaaS, version rationalisée d'Oracle Integration, vous offre les fonctionnalités et les avantages d'Oracle Integration centrées sur SaaS.

  • Base de données

    Oracle Database vous permet de stocker des données de manière plus accessible lorsqu'Oracle Applications Cloud ne dispose pas d'un moyen facile ou performant d'accéder aux données et de les gérer directement.

  • Passerelle d'API

    Oracle API Gateway vous permet de publier des API avec des adresses privées accessibles à partir de votre réseau, et que vous pouvez rendre visibles sur le réseau Internet public si nécessaire. Les adresses prennent en charge la validation d'API, la transformation des demandes et des réponses, la spécification CORS, l'authentification et l'autorisation, ainsi que la limitation des demandes.

Alternatives et antipatternes

Examinez les alternatives à l'architecture décrite dans ce modèle et évitez de tenter d'implémenter des modèles.
  • Autres

    Pour les applications qui ne nécessitent pas d'intégration dans l'interface Applications Cloud, vous pouvez envisager d'utiliser d'autres structures d'interface utilisateur.

    Si des systèmes existants nécessitent un accès aux données à partir d'Applications Cloud et que vous êtes préoccupé par la surcharge de Applications Cloud avec des demandes externes, vous pouvez extraire des ensembles de données vers des bases de données externes.

  • Antipatterns

    N'essayez pas de répliquer les processus métier, les validations et la sécurité déjà définis dans Applications Cloud dans des systèmes externes. Cela présente un risque de désynchronisation avec le système d'origine.

Exemples de cas d'utilisation

Voici quelques exemples de cas d'utilisation pour les extensions SaaS utilisant des architectures similaires :
  • Systèmes internes personnalisés

    Suivez l’intégration des nouveaux employés, l’allocation d’espace de stationnement, l’approbation des déplacements, les vérifications de conformité des factures, etc.

  • Systèmes de mashup

    Combinez le stock Applications Cloud avec les informations client provenant de systèmes externes tels que SalesForce.

  • Systèmes externes

    Saisie de commande, catalogues de partenaires et portails de support de service rarement utilisés.

Etudes de cas publiques

Voici quelques sociétés qui ont utilisé ce modèle de développement d'applications innovantes pour déployer des extensions SaaS :
  • Panasonic

    Création d'un portail partenaire Web qui accède aux données à partir d'Oracle Advertising and Customer Experience (Oracle CX).

  • Yum ! Marques

    Création d'un ensemble d'extensions HCM internes pour des tâches telles que la saisie des temps.

  • Caesars Entertainment

    Création d’un système de révision de la réglementation des factures qui a étendu l’ERP.

Journal des modifications

Ce journal répertorie les modifications importantes :

Remerciements

  • Auteur : Shay Shmeltzer
  • Contributeurs : Hassan Ajan, Matthias Brantner, James Emerson, Bernard Horan, Harshad Kasture, Parvez Syed Mohamed, Sajan Parihar, Joshua Stanley