SOA + ELK : comment indexer, rechercher et analyser ses documents SOA

 
 
 
 
 
A l’heure où les volumétries de données échangées sur nos plateformes SOA ne cessent d’augmenter et où le besoin d’analyse des données et d’éditions de tableaux de bord sont de plus en plus présents dans nos entreprises, j’ai décidé de vous proposer un pattern répondant au besoin et s’appuyant sur une solution SOA 12c couplée à la stack ELK.
 
 
 
 
 
 

1 – ELK

La stack ELK s’appuie sur 3 briques principales :
  • ElasticSearch : un moteur d’indexation et de recherche de données opensource qui repose sur une architecture REST.
  • Logstash : outil de traitement de fichiers texte depuis les serveurs applicatifs. Il route ensuite les informations recueillies vers ElasticSearch.
  • Kibana : tableau de bord ou interface de restitution des données présentent dans ElasticSearch.

 

2 – Pattern de diffusion des données

Le pattern présenté est principalement destiné au traitement de données métier transitant dans la SOA.
Le prérequis à son utilisation est la mise en place des sensors BAM au niveau des flux qui feront l’objet d’une analyse métier. Cela permet de tracer dans une file JMS l’ensemble des requêtes transitant par le flux et cela de façon asynchrone afin de ne pas perturber les temps de réponse ou les performances de la plateforme SOA concernée.
La seconde étape consiste à mettre en place un proxy JMS, dans cet exemple au sein de l’OSB, afin de consommer et de transformer les messages SOA dans le format accepté par ElasticSearch.
La dernière est l’appel à l’api REST mis à disposition par ElasticSearch dans le but de pousser le document qui sera par la suite indexé et utilisable dans Kibana.
Exemple de requête POST JSON à envoyer à ElasticSearch :
{
  "documentMetadata": {
    "indexName": "monindex",
    "compositeName": "moncomposite",
    "dataType": "doc",
    "version": "1.0",
    "environment": "DEV"
  },
  "documentPayload": {
    "firstname": "william",
    "lastname": "shakespeare",
    "title": "mr"
    }
}

 

 

 3 – Restitution des données

Une fois l’ensemble des données déversées dans ElasticSearch, une multitude des graphiques sont mis à disposition dans KIbana et permettent ainsi de réaliser selon les besoins des analyses métiers, de l’édition de statistiques ou de KPI voire du Machine Learning pour anticiper certains comportements sur la plateforme.

Conclusion

Même si le BAM proposé par Oracle offre des fonctionnalités intéressantes en terme d’analyse de données, on voit aujourd’hui que de nouveaux outils très performants et répondant aux nouvelles attentes des utilisateurs  peuvent facilement être intégrés à des systèmes possédant parfois un gros historique et cela à moindre frais.

 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *