Nous allons nous intéresser dans cet article à la plateforme SAP Hana Streaming Analytics.

Cette plateforme permet de provisionner et d’interagir avec un « live stream » d’éléments dans une base de données SAP HANA, au sein d’une architecture orientée événements.

Les deux points suivants sont importants pour comprendre les enjeux de ce type de technologie :

  • Quels sont les changements dans la façon de concevoir une architecture basée sur des événements par rapport aux architectures applicatives de nos clients ?
  • L’architecture basée sur des événements agit en complémentarité des architectures orientées vers des services existants.

 

Event driven architecture (Vue simplifiée)

L’objectif ici est de vous donner les éléments principaux d’une telle architecture événementielle, sans entrer dans le détail :

Typiquement ce type d’architecture repose sur 3 éléments distincts :

  • tout d’abord, des producteurs d’événements
  • ensuite, des bus de transmission ou broker
  • pour finir, des consommateurs d’événements

 

Architecture orientée événements

Architecture orientée événements

 

Producteur

Les producteurs peuvent être considérés comme des générateurs d’événements publiant leurs événements sur des bus de communication. Les événements publiés représentent des faits ou des états sous forme de messages qui peuvent être de nature différente. Dans l’industrie 4.0 il peut s’agir de capteurs sur des chaines de montage/production qui viendraient publier leur état ou des données plus élaborées. Il est important de comprendre que l’émetteur qui publie ne sait pas qui va consommer ses messages, mais le fait à destination du SI dans son ensemble.

 

Broker

Nous avons vu précédemment que des événements de nature et de formats différents sont disponibles dans le SI. C’est alors que le broker entre en jeu.
Il a pour rôle de propager sur le SI les événements généralement regroupés par ontologie.
L’idée est de rajouter une brique logique qui permet à chaque consommateur d’exploiter, de façon autonome et découplée, des informations contenues dans un message. La notion de temps réel est ici importante puisque, rappelons-le, l’un des enjeux est de faire transiter dans le SI les événements en temps réel. Par nature l’exploitation de tels messages devra donc se faire de façon asynchrone. Ainsi en fonction des architectures, un buffer ou queue plus ou moins importante sera nécessaire.

 

Consommateur

Les consommateurs s’abonnent à un ou des « topic » d’événements générés par le broker. Ils peuvent alors recueillir et identifier des informations permettant d’accomplir une réaction appropriée.
Par exemple nous pouvons mettre à jour des tableaux de bords, dans le cadre d’applications décisionnelles basées sur des modèles plus ou moins complexes.
On peut complexifier l’exemple en appliquant dans un premier temps des règles métiers prédéfinies. Ensuite nous réémettons d’autres événements sur les bus de communication. La finalité étant de capter ces événement par d’autres consommateurs afin d’effectuer de la maintenance préventive sur du matériel industriel en voie d’obsolescence.

 

SAP HANA Streaming Analytics (HSA)

SAP HSA peut être considéré comme un consommateur ou producteur en fonction des scénarios.

Vous trouverez ci-dessous le schéma d’un « projet » typique HSA.

 

Exemple Projet SAP HSA

Exemple Projet SAP Hana Streaming Analytics

 

Les adapters (input ou output) permettent de se connecter sur un stream d’événements en entrée ou en sortie.

Le streaming engine permet d’interpréter les événements entrant via une logique qui est à implémenter dans le projet. Les données peuvent être directement envoyées en temps réel via des requêtes prédéfinies. Elles peuvent également jouer le rôle de queue afin d’être historisées pour permettre des corrélations événementielles avancées. Cependant SAP HSA ne doit pas jouer le rôle de base de données car sa fonction primaire reste l’analyse de flux événementiels à haute fréquence. Ainsi, les données sont évaluées dès leur arrivée dans le système de façon incrémentale pour traitement. Ainsi SAP HSA n’est pas utilisée pour stocker les données brutes comme une base de donnée l’aurait fait dans une architecture plus traditionnelle.

Le langage CCL (Continuous Computation Language) permet une analyse continue du stream événementiel. Bonne nouvelle, CCL est basé principalement sur du SQL auquel il emprunte sa syntaxe. En revanche l’engine qui exécute les scripts ne se base pas sur le SQL Engine. Les instructions sont converties dans un langage propriétaire afin de pouvoir interpréter des stream à haute fréquence via le processeur de stream.

Les différentes briques sont paramétrables en vue graphique ou directement en code pour les développements plus avancés.

 

Exemple graphique d'un flux dans SAP HANA Streaming Analytics

Exemple graphique d’un flux dans SAP HANA Streaming Analytics

 

Exemple de code CCL d'un flux SAP HANA Streaming Analytics

Exemple de code CCL d’un flux SAP HSA

 

Conclusion

Cette plateforme technologique apporte un réel levier de croissance dans les stratégies de transformation digitale de nos clients. En effet, elle leur permet de tirer parti de leur architecture event-driven dans un contexte SAP.
Les applications sont nombreuses, comme par exemple, l’analyse :

  • d’informations provenant de capteur de machines industrielles,
  • de flux transactionnels d’ERP,
  • de données externes (cours de bourse, météo, …)
  • d’infrastructures IOT 5G,

Pour aller plus loin : HSA Master  Guide

The following two tabs change content below.

Geoffroy Barrois

Fort de ses 15 années d’expérience acquises lors de grands projets de transformation et d’une formation d’ingénieur, Geoffroy intervient chez nos clients en tant qu’expert solutions sur la suite décisionnelle SAP. Il est capable de mener une analyse précise des besoins et des challenges que rencontrent les responsables reporting, delivery managers et Business Owners de groupes internationaux. Ses connaissances fonctionnelles et techniques, ses capacités en management de projet et son sens du contact lui permettent d’intervenir sur un large spectre de missions
Share This