A propos du chargement de données dans Oracle Cloud ERP à l'aide de technologies sans serveur
En tant que client Oracle SaaS, vous pouvez préférer le modèle de licence et la facilité de gestion de SaaS : payer par consommation de ressources ou par nombre d'"entités" que vous créez et ne gérer que vos propres données. Lorsque vous créez des extensions SaaS, vous pouvez profiter de la même expérience. Grâce aux options sans serveur d'Oracle, vous n'avez pas à gérer de système d'exploitation, de patches, de pare-feu ou de bibliothèques d'exécution. La technologie "sans serveur" ne signifie pas qu'il n'y a pas de serveurs, mais plutôt que le développeur ne les gère pas, donc ils sont essentiellement cachés au développeur. Dans un environnement sans serveur, vous déployez votre code et vos configurations vers le cloud, et Oracle les gère.
Oracle Functions, le stockage de données Oracle Cloud et d'autres fonctionnalités OCI ont mis à l'échelle la tarification en fonction de l'utilisation. Vous payez uniquement pour les ressources de stockage et de calcul que vous utilisez. Si vos fonctions ne sont pas utilisées pour le moment, il n'y a aucun coût ; si votre stockage est vide pour le moment, il n'y a aucun coût, etc.
Oracle Integration est le premier produit Oracle pour le transfert et la transformation de données entre systèmes. Oracle Integration permet aux intégrateurs de créer des intégrations à l'aide de structures déclaratives, d'effectuer des transformations dans le cloud, d'exécuter le chargement réel des données dans le cloud, de gérer automatiquement les exceptions et les nouvelles tentatives, et ce sans écrire de code. Pour les solutions lourdes ou low-code/no-code, Oracle Integration peut être une excellente option. Mais un cas d'utilisation où le sans serveur peut être utile est pour les clients qui chargent rarement des données dans SaaS ou où les flux d'intégration sont simples.
Ce guide de solutions vous explique comment implémenter un modèle de chargement de données à l'aide de technologies sans serveur et souligne comment le modèle fondamental peut être étendu pour inclure des notifications et d'autres améliorations.
Architecture
Cette architecture montre comment créer une architecture sans serveur pour charger des données dans Oracle Cloud ERP.
Pour démontrer comment utiliser les technologies sans serveur pour charger des données dans Oracle Fusion Cloud, nous avons créé un exemple à l'aide uniquement de services sans serveur OCI et d'une approche basée sur le code 3GL.
load-data-serverless-architecture-oracle.zip
Cette architecture prend en charge les composants suivants :
- Fonctions
Oracle Functions est une plate-forme Functions-as-a-Service (FaaS) entièrement gérée, colocative, hautement évolutive et à la demande. Il est optimisé par le moteur open source du projet Fn. Les fonctions vous permettent de déployer votre code et de l'appeler directement ou de le déclencher en réponse à des événements. Oracle Functions utilise des conteneurs Docker hébergés dans Oracle Cloud Infrastructure Registry.
- Evénements
Les services Oracle Cloud Infrastructure émettent des événements, qui sont des messages structurés décrivant les modifications apportées dans les ressources. Les événements sont émis pour les opérations de création, de lecture, de mise à jour ou de suppression (CRUD), les modifications de l'état de cycle de vie des ressources et les événements système ayant une incidence sur les ressources cloud.
- Notifications
Le service Oracle Cloud Infrastructure Notifications diffuse des messages aux composants distribués par le biais d'un modèle de publication/souscription qui délivre des messages sécurisés, durables, extrêmement fiables et à faible latence pour les applications hébergées sur Oracle Cloud Infrastructure.
- Vault
Oracle Cloud Infrastructure Vault vous permet de gérer de manière centralisée les clés de cryptage qui protègent vos données et les informations d'identification de clé secrète utilisées pour sécuriser l'accès à vos ressources dans le cloud. Vous pouvez utiliser le service Vault pour créer et gérer des coffres, des clés et des clés secrètes.
- API Gateway
Oracle API Gateway vous permet de publier des API avec des adresses privées accessibles à partir de votre réseau, que vous pouvez exposer au réseau Internet public si nécessaire. Les adresses prennent en charge la validation d'API, la transformation des demandes et des réponses, CORS, l'authentification et l'autorisation, ainsi que la limitation des demandes.
- Stockage d'objets
Object Storage offre un accès rapide à de grandes quantités de données structurées et non structurées de tout type de contenu, y compris des sauvegardes de base de données, des données analytiques et du contenu enrichi tel que des images et des vidéos. Vous pouvez stocker les données, puis les extraire directement à partir d'Internet ou de la plate-forme cloud, et ce, en toute sécurité. Vous pouvez adapter le stockage de manière transparente sans subir de dégradation des performances ni de la fiabilité du service. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archive pour un stockage "froid" que vous conservez pendant de longues périodes et que vous accédez rarement ou rarement.
- Fusion Applications
Oracle Fusion Cloud Applications Suite propose des dizaines d'applications cloud dans toutes les catégories d'entreprises, y compris les secteurs verticaux ERP, SCM, HCM, Sales, Service et Industry.
Cet exemple d'architecture explique comment créer une architecture sans serveur pour charger des données dans Oracle Cloud ERP. Elle montre un modèle d'utilisation des buckets OCI (fonctionnalité d'Object Storage), des événements, des fonctions, du coffre-fort, des notifications et de la passerelle d'API pour implémenter le pipeline d'intégration. Le modèle met en évidence la manière dont le flux peut être étendu pour inclure des notifications et enrichir davantage l'intégration. Ce modèle est basé sur du code et sans serveur. Lorsque le système est inactif, le seul coût pour le consommateur est le stockage des fichiers dans OCI Object Storage.
Si vous avez de nombreuses intégrations à implémenter et que ces intégrations seront fréquemment modifiées, Oracle Integration constitue une bonne alternative. Oracle Integration fournit un environnement de développement déclaratif riche dans lequel les intégrations peuvent être créées, déployées rapidement et adaptées à vos besoins. En outre, Oracle Integration vous offre de nombreuses fonctionnalités intégrées supplémentaires, telles que la gestion des erreurs, les nouvelles tentatives de messages, les tableaux de bord, la génération de rapports, le suivi d'état des demandes précédentes, etc.
Toutefois, si vous préférez une approche sans serveur, un style d'intégration centré sur le code, ainsi que la flexibilité et l'extensibilité fournies par ce modèle, utilisez cette architecture comme point de départ pour votre propre extension SaaS sans serveur basée sur Functions.
A propos du chargement de données dans Oracle Cloud ERP
Pour développer cette application, il est nécessaire de comprendre le flux de chargement de données dans Oracle Cloud ERP.
Les étapes suivantes sont typiques des exigences lors du chargement de données dans Oracle Cloud ERP :
- Enrichir les données entrantes avec des données externes et les transformer au format de chargement de données Oracle Cloud ERP (FBDI)
- Charger le fichier dans Oracle Cloud ERP à l'aide de services Web REST ou SOAP
- Ecoutez un callback d'Oracle Cloud ERP indiquant que le processus est terminé et que les données ont été traitées.
Enrichissement et transformation
Lors du chargement de données dans Oracle Cloud ERP, une étape obligatoire consiste à transformer les données d'entrée au format CSV requis, puis à compresser les fichiers dans un fichier ZIP unique. Dans l'exemple de ce livre de jeux, cette étape de transformation est illustrée en acceptant une structure de données JSON simplifiée, qui est ensuite transformée au format CSV requis par Oracle Cloud ERP. Les fichiers sont ensuite regroupés dans un fichier ZIP unique prêt à être chargé.
Charger
Une fois les données transformées, elles peuvent être chargées dans Oracle Cloud ERP à l'aide des API REST Fusion. La réponse d'Oracle Cloud ERP contient des métadonnées et le paramètre JobID utilisé pour charger les données. JobID est nécessaire ultérieurement pour déterminer quel fichier de données est importé par quel travail.
Traiter le callback
Oracle Cloud ERP envoie un rappel au client qui indique si le travail a été traité correctement ou s'il y a eu une erreur. Notez qu'un code de succès ne signifie pas nécessairement que les données ont toutes été chargées : par exemple, il peut y avoir des enregistrements en double.
Avant de commencer
Vous devrez créer différents objets dans une instance OCI, y compris des buckets de stockage, des funcitons et Oracle Cloud Infrastructure Vault. Les références suivantes peuvent s'avérer utiles :
- Consultez l'Exemple 1 : Opération ImportBulkData dans Créer un ensemble de données entrant ou sortant, dans API REST pour Oracle Fusion Cloud Financials.
- Pour créer des buckets dans OCI, reportez-vous à Mise en place de données dans Object Storage dans la documentation Oracle Cloud Infrastructure.
- Pour créer des fonctions dans OCI, reportez-vous à Création, déploiement et appel d'une fonction HelloWorld dans la documentation Oracle Cloud Infrastructure.
- Consultez la gestion des clés avec Oracle Vault dans la documentation Oracle Cloud Infrastructure.
A propos des services et des rôles requis
Cette solution requiert les services suivants :
- Oracle Fusion ERP
- Oracle Cloud Infrastructure, y compris Oracle API Gateway, Oracle Functions et d'autres composants OCI
Il s'agit des rôles nécessaires pour chaque service.
Nom de service : rôle | Obligatoire pour... |
---|---|
Oracle Fusion ERP : Implémenteur | Charger des données Fusion ERP via des API |
Oracle Cloud Infrastructure : administrateur | Créer des comptes dans OCI IAM, déployer des composants et des fonctions OCI |
Reportez-vous à Découvrez comment obtenir les services Oracle Cloud pour les solutions Oracle afin d'obtenir les services cloud dont vous avez besoin.