SAP HANA XS : description et fonctionnement
Comment utiliser le moteur SAP HANA XS (« Extended Application Services ») pour exécuter des applications légères sur la base In-Memory de SAP.
Dans SAP HANA XS, « XS » signifie « Extended Application Services » (services applicatifs étendus).
Si l'abréviation ne va pas forcément de soi, le rôle du moteur SAP HANA XS est, quant à lui, sans ambiguïté. Il s'agit d'un serveur d'applications légères incorporé dans la base In-Memory SAP HANA. Il permet d'ajouter une couche de logique procédurale et de services Web sur les tables et les vues HANA.
Les applications exécutées sur le moteur SAP XS peuvent être développées dans HANA Studio et être générées par l'environnement de développement River RDE de SAP.
Le moteur XS permet de créer des applications sur HANA en utilisant exclusivement HANA et une bibliothèque d'applications frontale telle que SAPUI5. Aucun serveur d'applications distinct n'est requis.
Plus spécifiquement, le moteur XS est un serveur d'applications JavaScript qui s'appuie sur le moteur Mozilla SpiderMonkey, le même qu'utilise le navigateur Firefox. Le serveur d'applications Node.js a lui aussi recours à un environnement JavaScript de navigateur incorporé en tant que serveur d'applications, mais il utilise le moteur de Chrome.
Le moteur XS fournit plusieurs API JavaScript pour l'accès aux fonctionnalités et aux données stockées dans le système HANA sur lequel il est exécuté. Les applications XS peuvent interroger et mettre à jour les tables et les vues HANA au moyen d'instructions SQL standard.
Sur le même sujet
Elles peuvent également envoyer des requêtes HTTP externes à des destinataires correctement configurés dans HANA, et planifier des tâches (également définies en JavaScript) à exécuter en arrière-plan, en dehors du contexte d'une requête.
Avant tout, le moteur XS fonctionne au niveau des requêtes HTTP entrantes et des réponses en sortie. Une requête est reçue dans un service donné du moteur XS (qui réside sur une URL dans le système HANA), et le service contrôle intégralement l'évaluation de la requête et l'élaboration de la réponse à renvoyer.
Les fonctionnalités du moteur XS sont certes limitées, mais elles peuvent être complétées par des bibliothèques. La plupart des bibliothèques JavaScript côté serveur ont été écrites pour Node.js et reposent sur des API Node.js. Leur utilisation sur le moteur XS peut par conséquent donner lieu à des résultats imprévisibles. Toutefois, les bibliothèques peu volumineuses et purement JavaScript devraient fonctionner et les clients sont libres de développer leurs propres bibliothèques d'utilitaires.
Cela dit, le moteur XS a de toute évidence été conçu pour prendre en charge le développement d'applications et de services légers dans HANA. Les développeurs en quête d'applications plus importantes ont tout intérêt à se tourner vers un serveur d'applications autonome exécuté parallèlement à leur système HANA.