Intégrer les services AWS dans Oracle OSB 12c

Oracle Service Bus est un bus d’entreprise qui permet de construire des flux d’intégration agiles en connectant, virtualisant et gérant les interactions entre les services et les applications.

Oracle OSB dispose nativement d’une large palette de composants d’intégration à travers différents types d’adaptateurs technologiques (Jms, Jdbc, File, Ftp, …) ou applicatifs (Ebusiness suite, JDE, Salesforce, Oracle ERP Cloud, …). Ces composants facilitent l’intégration des services correspondants et aussi l’implémentation des contraintes associées (Performance, Sécurité, …) à travers des assistants graphiques.

Malheureusement, Oracle OSB 12c ne dispose pas encore d’adaptateur pour AWS.

AWS met à disposition une bibliothèque d’APIs REST pour intégrer ses services, l’ensemble de ces APIs sont sécurisées par le package aws.signature.

On pourrait être tenté d’utiliser l’adaptateur REST pour intégrer les services AWS, mais malheureusement la bibliothèque de Policies de sécurité OWSM disponible dans Weblogic n’inclus pas le package aws.signature, ce qui rend impossible l’utilisation de l’adaptateur REST pour construire des requêtes d’appels des APIs AWS.

La seule option qui reste pour pouvoir intégrer les services AWS dans OSB12c est de se baser sur AWS SDK pour Java et d’implémenter des actions JavaCallout dans les flux OSB.

 

Ci-dessous les étapes pour configurer AWS SDK dans Weblogic :

  1. Copier tous les jar files nécessaires dans $DOMAIN_DIR/lib. Les liens ci-dessous donnent accès à l’ensemble des librairies disponibles dans le SDK Java :
    • https://github.com/aws/aws-sdk-java
    • https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk
    • https://aws.amazon.com/sdk-for-java/#
  2. Redémarrer les serveurs Weblogic.

 

C’est ainsi que nous avons accès à un kit de développement logiciel AWS complet accessible depuis les actions JavaCallout dans les flux OSB.
Des APIs Java peuvent être programmées de façon simplifiée pour gérer des services AWS tel que AWS S3, AWS DynamoDB, …