La fonction OCI représente une solution puissante pour étendre les capacités d’OIC, particulièrement lorsque vous devez :
- Traiter des fichiers volumineux
- Gérer des processus complexes sans impacter les performances d’OIC
- Automatiser des tâches spécifiques nécessitant plus de ressources
- Assurer une meilleure scalabilité de vos intégrations
À travers ce guide pratique, nous vous montrons pas à pas comment configurer et appeler une fonction OCI depuis OIC, en nous basant sur un cas concret d’automatisation du traitement de fichiers ZIP.
Prérequis et configuration initiale d’une fonction OCI dans Oracle Integration Cloud
Contexte et objectifs du projet d’intégration
Dans le cadre de l’intégration continue et de l’amélioration des processus métier chez nos clients, nous avons récemment implémenté une solution automatisée permettant de traiter des fichiers ZIP contenant des documents liés à l’embauche. Le but de cette solution est de pouvoir modifier avant chaque traitement les noms des fichiers qui comportent des caractères spéciaux qui ne sont pas acceptés par OIC. À noter également que cette solution doit pouvoir être monitorée dans OIC.
Architecture technique et considérations de performance
Compte tenu de l’architecture existante, où plusieurs intégrations tournent déjà en production avec des horaires spécifiquement programmés pour éviter les chevauchements, il était essentiel de s’assurer que l’ajout de cette nouvelle intégration ne surcharge pas les ressources allouées dans Oracle Integration Cloud.
Pour répondre à ces besoins, nous avons opté pour l’utilisation d’une fonction Oracle Cloud Infrastructure*, garantissant une évolutivité sans risque de dépassement des limites de calculs d’OIC.
Il est important de noter qu’une autre solution basée sur OIC seule aurait également pu être envisagée. L’utilisation de la bibliothèque OIC en Javascript.
Configuration des groupes dynamiques OCI pour l’intégration avec OIC
Étape 1 : Connexion et navigation dans la console OCI
Connectez-vous à la console OCI. Allez dans Identité > Domaines. Sélectionnez le compartiment contenant votre environnement, puis cliquez sur Groupe dynamique.
Étape 2 : Création du groupe dynamique avec les règles d’identification
Créez un groupe dynamique.
- Règle 1 : resource.id = ‘ID Client’
- Client ID peut être trouvé en allant dans Identité > Domaines > [compartiment] > Oracle Cloud Services, puis en sélectionnant le service avec la description « Integration Cloud Service ».
Mise en place des policy OCI pour la gestion des droits d’accès
Pour donner à ces groupes dynamiques les droits nécessaires, nous avons mis en place des policy. Les policy dans OCI sont des règles qui contrôlent l’accès aux ressources et services au sein de l’infrastructure cloud. Dans notre cas, nous allons créer des policy permettant à notre fonction OCI d’accéder aux fichiers stockés dans Object Storage.
Étape 1 Configuration des droits de gestion des fonctions
Connectez-vous à la console OCI. Allez dans Identité > Policy et créez une nouvelle politique.
Étape 2 Paramétrage des accès aux buckets et objets
Ajoutez les déclarations de politique suivantes :
- Allow dynamic-group / to manage functions-family in compartment
- Allow dynamic-group / to manage buckets in compartment
- Allow dynamic-group / to manage objects in compartment where target.bucket.name= »<BucketName> »
Ces Policy vous permettront d’utiliser le composant « Fonction OCI » ainsi que le composant « Stockage d’objets ».
Création et déploiement d’une fonction OCI
Étape 1 : Connexion et navigation dans la console OCI
Connectez-vous à la console OCI.
Étape 2 : Création de l’application
Allez dans Services Développeurs > Fonctions > Applications, puis cliquez sur « Créer une application ».
Étape 3 : Utilisation du Cloud Shell pour le déploiement
Créez la fonction via le Cloud Shell en suivant toutes les étapes de démarrage.
- Suivre les étapes de « Getting Started ».
- Pour l’étape 4 : Ecrire le [repo-name-prefix] en minuscules.
- Pour l’étape 5 : Lorsque vous générez le token, assurez-vous de le copier/coller et de le sauvegarder en lieu sûr.
Après avoir créé votre fonction, une image de celle-ci sera générée, et vous pourrez y accéder via un endpoint d’invocation.
Étape 4 : Modification de la fonction avec CS Code
- Modifiez votre fonction à l’aide de l’éditeur Cloud (VS Code).
- Ouvrez l’éditeur Cloud
-
- Accédez à votre propre dépôt, et trouvez votre fonction. Par exemple, pour une fonction en Python, ouvrez func.py, modifiez le code, puis sauvegardez-le avec Ctrl + S.
- Après avoir sauvegardé le nouveau code Python, retournez à la commande Shell et déployez la nouvelle fonction.
Utilisez le composant OCI Function pour invoquer la fonction depuis OIC.
Cas d’usage avancés des fonctions OCI avec OIC
- Traitement de données en temps réel
- Automatisation des tâches de maintenance
Conclusion et perspectives d’évolution de la fonction OCI depuis Oracle Integration Cloud
Les OCI Functions sont un outil puissant pour optimiser et automatiser de nombreux cas d’usage en entreprise, de la gestion des fichiers à l’orchestration de services plus complexes. N’hésitez pas à nous contacter afin d’exposer vos besoins et profiter de l’expertise de SQORUS.
**Oracle Cloud Infrastructure (OCI) Functions prend en charge plusieurs langages de programmation populaires pour développer des fonctions sans serveur (serverless).
Voici la liste des principaux langages de programmation que vous pouvez utiliser pour créer des fonctions dans OCI Functions :
1. Python
2. Node.js (JavaScript)
3. Java
4. Go
5. Ruby
6. .NET Core
Ces langages sont pris en charge via des images de base spécifiques à OCI Functions, ce qui permet de déployer rapidement des fonctions écrites dans ces langages. Vous pouvez également créer vos propres images de conteneur personnalisées pour exécuter des fonctions dans d’autres langages ou avec des configurations spécifiques.
Tout sur la gouvernance de projet IT
Découvrez les rôles et responsabilités des profils clés, ainsi que les meilleures pratiques en matière de gouvernance et de développement technologique pour mener à bien vos projets de transformation digitale.