Scripting des Règles Métier Maximo (MBR)

Le Scripting des Règles Métier Maximo (MBR) représente une avancée majeure dans la personnalisation et l’extension de la logique métier de Maximo, particulièrement dans le contexte des déploiements cloud. En tant que langage interprété, le MBR a été spécifiquement conçu pour Maximo, offrant un environnement de script en bac à sable qui assure une sécurité et une isolation accrues, ce qui le rend particulièrement adapté aux déploiements multi-locataires. Contrairement aux langages de script traditionnels tels que JavaScript et Python, qui offrent une large fonctionnalité et flexibilité, le MBR se concentre sur la fourniture d’un cadre de script hautement spécialisé adapté aux exigences opérationnelles uniques de Maximo.

Caractéristiques Principales du MBR
  • 1. Extensions Sécurisées pour le Cloud : La philosophie de conception du MBR privilégie la sécurité dans le cloud, permettant l’extension transparente de la logique métier de Maximo sans compromettre la sécurité et l’intégrité des déploiements cloud.
  • 2. Environnement en Bac à Sable : En fournissant un environnement de script en bac à sable, le MBR garantit que les scripts personnalisés fonctionnent dans un contexte contrôlé et isolé, prévenant ainsi les interactions non intentionnelles et les violations de données.
  • 3. Syntaxe Simplifiée : La syntaxe du MBR est délimitée par des nouvelles lignes, garantissant que les scripts sont directs et faciles à lire. Chaque ligne contient une seule expression, avec des commentaires indiqués par un caractère #, et des définitions de fonctions préfixées par un deux-points.
  • 4. Restrictions de Conception : Pour maintenir l’intégrité opérationnelle et la performance, le MBR impose certaines restrictions, telles que l’interdiction de la récursivité et des limitations sur les constructions de boucles, qui sont confinées aux MboSets et aux jetons.
  • 5. Support des Opérateurs et Fonctions : Le MBR prend en charge un large éventail d’opérateurs et de fonctions, couvrant les opérations mathématiques, la logique booléenne, la manipulation de chaînes, la gestion des dates, et les fonctions métier Maximo spécialisées.
Applications Pratiques

La fonctionnalité du MBR s’étend à divers cas d’utilisation pratiques au sein de l’écosystème Maximo :

  • Points de Scripting pour les Attributs d’Objet : Initialement, l’application du MBR se concentrera sur les points de scripting liés aux conditions et actions des attributs d’objet (Mbo), avec des plans pour élargir sa portée dans les futures versions.
  • Validation et Automatisation : Grâce au MBR, les développeurs peuvent automatiser les tâches, valider les données et mettre en œuvre une logique métier complexe adaptée aux exigences opérationnelles spécifiques, améliorant ainsi l’efficacité et l’intégrité des données.
  • Personnalisation sans Compromis : Le MBR permet la personnalisation de la logique métier et des workflows au sein de Maximo, permettant aux organisations de personnaliser le logiciel selon leurs besoins uniques sans compromettre la sécurité ou la performance.
Exemple Détaillé 1: Automatisation de l’Ajout de Compteurs pour Nouveaux Actifs

Imaginons que dans notre organisation, chaque nouvel actif de type “Pompe” (PUMP) nécessite l’ajout automatique de deux compteurs spécifiques : un compteur de “Pression d’Entrée” (IN-PRESSURE) et un compteur de “Pression de Sortie” (OUT-PRESSURE). Nous souhaitons que cette automatisation se déclenche uniquement si l’actif n’a encore aucun compteur associé.

Le script MBR suivant réalise cette tâche en vérifiant d’abord si l’actif nouvellement créé est de type “Pompe” et s’il n’a pas de compteurs. Si ces conditions sont remplies, il ajoute automatiquement les deux compteurs nécessaires :

# Script MBR pour l'ajout automatique de compteurs à un nouvel actif de type Pompe
setvar("ispump", (assettype == "PUMP" && countf("assetmeter") == 0))
if(getvar("ispump"), invokescript(":addmeters"))

:addmeters
newmbo("inpressure", "assetmeter")
setvaluetombo("inpressure", "metername", "IN-PRESSURE")
newmbo("outpressure", "assetmeter")
setvaluetombo("outpressure", "metername", "OUT-PRESSURE")

Dans cet exemple, setvar crée une variable ispump qui détermine si l’actif est de type “Pompe” et n’a pas encore de compteurs. Si ispump est vrai (TRUE), le script :addmeters est invoqué, ce qui crée les mbos pour les compteurs de pression d’entrée et de sortie et leur attribue les noms appropriés.

Exemple Détaillé 2: Validation Avancée du Prix d’Achat

Supposons maintenant que pour tous les actifs de type “Pompe” (PUMP), nous voulons valider que le prix d’achat ne dépasse pas 5000. Si le prix est supérieur à cette valeur, une erreur doit être générée pour avertir l’utilisateur.

Voici comment un tel script pourrait être structuré en MBR :

# Validation du prix d'achat pour les actifs de type Pompe
if(not(isnullf(assettype)) && assettype == "PUMP" && not(isnullf(purchaseprice)) && purchaseprice > 5000, error("asset", "priceexceeds"))

Ce script effectue plusieurs vérifications : il s’assure que le type d’actif (assettype) n’est pas nul, que cet actif est une “Pompe”, que le prix d’achat (purchaseprice) n’est pas nul, et enfin, que ce prix ne dépasse pas 5000. Si toutes ces conditions sont remplies, une erreur est générée, alertant ainsi l’utilisateur que le prix d’achat dépasse le seuil autorisé.

Ces exemples montrent comment le MBR permet aux utilisateurs de Maximo d’automatiser des processus métiers spécifiques et d’effectuer des validations complexes de manière efficace et sécurisée. En ajustant simplement les valeurs et les conditions dans ces scripts, les administrateurs Maximo peuvent adapter la logique métier pour répondre précisément aux besoins opérationnels de leur organisation, tout en maintenant les normes de sécurité et d’intégrité des données.

Voir aussi :

Opérateurs et Fonctions MBR : Personnalisation avancée dans Maximo
maximo4you
maximo4you

Un commentaire

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.