Business Activity Monitoring Guide de référence du serveur

Dimension: px
Commencer à balayer dès la page:

Download "Business Activity Monitoring Guide de référence du serveur"

Transcription

1 bc Business Activity Monitoring Guide de référence du serveur Adobe LiveCycle Business Activity Monitoring ES

2 Business Activity Monitoring Portions Copyright 2007 Adobe Systems Incorporated. Tous droits réservés. 345 Park Avenue, San Jose, CA Imprimé aux Etats-Unis Copyright Celequest Corporation. Tous droits réservés. 555 Twin Dolphin Drive, Redwood City, Californie 94065, Etats-Unis Ce manuel et le logiciel présenté sont protégés par copyright par Celequest Corporation et sont utilisés par Adobe Systems Incorporated sous licence. En vertu des lois de copyright, ce manuel ou logiciel ne peut être copié, que ce soit intégralement ou partiellement, sans l'autorisation écrite préalable de Celequest Corporation ou de ses cessionnaires, excepté à des fins internes par des clients sous licence d'adobe Systems. Ce manuel et le logiciel décrit sont fournis dans le cadre d'une licence entre Adobe Systems et le détenteur de la licence. Leur utilisation est sujette aux termes de ladite licence. DROITS LIMITES : l'utilisation, la duplication ou la divulgation par le gouvernement est soumise aux restrictions énoncées dans le sous-paragraphe (c)(l)(ii) de la clause sur les Droits en matière de données techniques et de logiciels, DFARS et FAR CLAUSE DE NON-RESPONSABILITE : Adobe Systems et Celequest Corporation n'apportent aucune garantie quant au contenu ou à l'utilisation de cette publication. De plus, Adobe Systems se réserve le droit de revoir cette publication et d'en modifier le contenu à tout moment, sans avis préalable. MARQUES COMMERCIALES : Adobe, le logo Adobe et LiveCycle sont des marques ou des marques déposées d'adobe Systems Incorporated aux Etats-Unis et/ou dans d'autres pays. Celequest et Celequest Activity Suite sont des marques de Celequest Corporation. BEA et WebLogic sont des marques déposées de BEA Systems, Inc. JBoss est une marque déposée et de service de JBoss, Inc. IBM et DB2 sont des marques déposées d'ibm Corporation aux Etats-Unis. Microsoft est une marque ou une marque déposée de Microsoft Corporation aux Etats-Unis et/ou dans d'autres pays. Toutes les autres marques, marques de service et appellations commerciales citées sont la propriété de leurs détenteurs respectifs. Adobe Systems nie tout intérêt dans les autres marques et appellations.

3 Contents 1 Introduction Filtres d'accès Conditions de filtre d'accès...16 Dénomination des utilisateurs...16 Filtres de contexte...16 Utilisateurs définis en tant que contexte...16 Résumé...17 Fonctionnement et restrictions des filtres d'accès...18 Création d'un filtre d'accès pour une vue...19 Création d'un filtre d'accès pour un cube...20 Affectation d'un filtre d'accès aux utilisateurs et aux rôles Agents Sources externes...24 Création d'agents...25 Modification des agents...26 Agents de fichier plat...26 Traitement des fichiers...26 Prérequis...26 Création d'un agent de fichier plat...27 Configuration du programme d'agent de fichier...27 Agents de file d'attente JMS...30 Propriétés JNDI permettant la connexion à un espace de nommage distant...32 Création d'un agent de file d'attente JMS...33 Agents de rubrique JMS...34 Propriétés JNDI permettant la connexion à un espace de nommage distant...35 Création d'un agent de rubrique JMS...36 TIBCO Rendezvous Agents...36 Prérequis...37 Attributs...37 Création d'un agent TIBCO Rendezvous...37 Agents de services Web...38 Attributs des agents de services Web...38 Création d'un agent de service Web Alertes Création d'alertes...41 Attributs des alertes...42 Objet et corps de texte d'un message...43 Abonnés aux alertes...44 Gestion des messages de notification d'alerte...45 Etats des alertes...46 Escalade des alertes...46 Consolidation de plusieurs messages...47 Configuration d'une alerte pour l'appel d'un service Web externe...47 Tableaux récapitulatifs des alertes

4 Contents Business Activity Monitoring Server Reference 4 Envoyer en tant que...50 Filtrage des tableaux récapitulatifs...50 Option Données du tableau récapitulatif basées sur Activités commerciales Création d'activités commerciales...56 Attributs des activités commerciales...56 Suppression d'activités commerciales Contexte Fonctionnement...58 Création de tables contextuelles...59 Modification des tables contextuelles...60 Limitations de la colonne contextuelle dans les requêtes...60 Mise en cache des requêtes de contexte...62 Mise en cache sur demande...62 Mise en cache de prélecture Cubes Mesures...64 Dimensions...65 Création de cubes...66 Colonnes Mesure...66 Colonnes Dimension Types de données Conversion des types de données...70 Conversion explicite...70 Conversion implicite...70 Ordre de priorité...70 Numérique...71 Types de données tiers...71 Combinaison de types numériques...72 Conversion de types numériques...72 Conversion en chaîne...72 Précision décimale des résultats...73 Conversion...73 Multiplication...73 Division...73 Addition et soustraction...74 Autres fonctions...74 Chaîne...74 Largeur des chaînes...74 Types de données tiers...75 Concaténation de chaînes...75 Littéral de chaîne...75 Conversion de chaînes dans d'autres types de données...75 Date-heure...75 Conversion des valeurs date/heure en chaînes et vice versa...76 Comparaison des valeurs date/heure...76 Arithmétique appliquée aux valeurs date/heure...77 Types de données tiers...77 Littéral TIMESTAMP...77

5 Contents Business Activity Monitoring Server Reference 5 Littéral INTERVAL...77 Mise en forme du type date-heure...80 Booléen Dimensions Que sont les dimensions?...84 Hiérarchie de niveaux...84 Noms d'alias...85 Trier par...85 Catégories géographiques...86 Colonnes clés...87 Création de dimensions Evénements Fonctionnement...91 Sources externes...91 Propriétés d'événement...92 Création de tables d'événements...93 Modification des tables d'événements Fichiers plats Fonctionnement...96 Tables d'événements de fichier plat...96 Création d'un événement source de fichier plat...98 Evénements sur plusieurs lignes...99 Fuseaux horaires associés aux événements de fichiers plats Fichiers délimités Fichiers à largeur fixe Fichiers XML XPaths Informations sur les champs XML Types de données XML Formules Fonctions Types de fonctions Scalar Set Rank Moving Set Tumbling Set Catégories de fonctions Fonctions ABS AVG CASE CAST CEIL CHARACTER_LENGTH CONCAT concatlist concatset

6 Contents Business Activity Monitoring Server Reference 6 COUNT CURRENT CURRENT_TIMESTAMP CURRENT_USER DATE_ADD DATE_DIFF DISPLAY_MONEY EXP FLOOR gammadist GREATEST IS_RAISED LAST_DAY LEAST LOG lognormdist LOWER LPAD LTRIM MAX median MIN MOD mode MOV_function Séries chronologiques Avertissement concernant les vues Interactions avec la clause GROUP BY MOV_AVG MOV_COUNT MOV_MAX MOV_MIN MOV_SUM MOV_STD_DEVIATION MOV_VARIANCE NTILE POSITION POWER PREV PRIOR_VALUE RANK RATIO_TO_REPORT ROUND RPAD RTRIM SAFE_DIVIDE SIGN SQRT SUBSTRING SUM SUM_OVER_GROUPS

7 Contents Business Activity Monitoring Server Reference 7 STD_DEVIATION TIMESTAMP_DIFF TO_CHAR TO_DATE TRUNC TUMBLE_AVG TUMBLE_COUNT TUMBLE_MAX TUMBLE_MIN TUMBLE_SUM TUMBLE_STD_DEVIATION TUMBLE_VARIANCE UPPER VARIANCE yield HTTP Post Fonctionnement Tables d'événements HTTP Post Création d'une table d'événements HTTP Post Informations sur les colonnes HTTP Post Envoi vers un événement HTTP Post Envoi vers des champs message Envoi de valeurs dans l'url Plusieurs lignes (événements) d'entrée Java Messaging Service (JMS) Fonctionnement Evénement JMS Limitations Prérequis Création d'une table d'événements JMS Informations sur la colonne JMS Correspondance des types de données JMS JDBC Tables JDBC Tables contextuelles Tables d'événements Création d'une table contextuelle ou d'événements d'une source JDBC Source Requête Exemple de contexte Exemple d'événement utilisant une requête d'interrogation Interrogation de la source JDBC Source Procédure enregistrée Exemple de réception d'un contexte à l'aide d'une procédure enregistrée Exemple de réception d'événements à l'aide d'une procédure enregistrée Correspondance des types de données JDBC Agents JDBC Attributs Création d'un agent JDBC Accès JDBC aux données des vues...228

8 Contents Business Activity Monitoring Server Reference 8 Chemin d'accès aux classes Interfaces des vues JDBC Mises en correspondance des types de données Récapitulatif des colonnes de la fonction getcolumns() Valeurs renvoyées par la colonne DATA_TYPE Exemples d'accesseur JDBC Java Exemple : Etablissement d'une connexion avec serveur BAM Exemple : Interrogation du contenu d'une vue Exemple : Interrogation des spécifications des colonnes d'une vue Exemple : Interrogation des métadonnées des colonnes Exemple : Interrogation des métadonnées des vues Objets Etat d'un objet Noms d'objet Mots réservés Espace de nommage d'objets Opérateurs et constantes Opérateurs numériques Opérateurs préfixe Opérateurs infixe Opérateurs de chaîne Opérateurs de comparaison Opérateur LIKE Opérateurs logiques Constantes Autorisations Application des autorisations Droits d'accès Droits d'accès au niveau de la classe Autorisation de création Droits d'autorisation Restrictions d'autorisation Héritage et dépendances des autorisations Dépendances Intégration du serveur de portail Avant de commencer Conditions préalables A propos du portlet BAM Dashboard Intégration dans BEA WebLogic Portal Server Conversion du fichier bamjsr168.war Déploiement du fichier bamjsr168.war dans WebLogic Portal Server Intégration dans IBM WebSphere Portal Server Intégration dans JBoss Portal Server Création de plusieurs instances de portlet sur un serveur de portail JBoss Portal Server Processus Fonctionnement Création et utilisation des processus

9 Contents Business Activity Monitoring Server Reference 9 Flux d'événements Table de recherche contextuelle Définitions de processus Diagrammes de processus Fenêtres de requêtes Présentation Types de fenêtres Déclarations et références des fenêtres En ligne Référence par nom Plusieurs fenêtres par requête Extension d'une définition de fenêtre avec une autre Restrictions Fenêtres de série d'événements Clause EVENTS Evénement actuel Fenêtres chronologiques Clause RANGE Quels sont les événements inclus? Clause ORDER BY Arrivée dans n'importe quel ordre Ordre décroissant Horodatages de valeur NULL Séries chronologiques de nombres entiers Partitions des fenêtres Clause PARTITION BY Avantage des partitions sur les groupes Mise à jour des vues pour une clause GROUP BY simple Mise à jour des vues pour une partition avec référence de cadre Mise à jour des vues pour une partition avec référence d'opérateur Utilisation de la clause GROUP BY dans les fenêtres sur le point d'expirer Résultats historiques des vues partitionnées Avancement des fenêtres Clause SLIDE Fenêtres culbute Fenêtres culbute de fin Fonctions tumble Fenêtres culbute et mobiles à l'aide de l'héritage de fenêtre Référence de mise à jour de fenêtre Clause REFERENCE Initialisation de fenêtre Clause INITIALIZE Autre exemple Tableaux récapitulatifs Création de tableaux récapitulatifs Attributs des tableaux récapitulatifs Attributs des tableaux récapitulatifs externes Vues de tableau récapitulatif Rôles...300

10 Contents Business Activity Monitoring Server Reference 10 Présentation Création de rôles Attributs de rôle Règles Création de règles Attributs de règle Condition de règle Action de règle Occurrences spécifiques Contrôle des alertes Alertes spécifiques Contrôle du journal système Salesforce Création d'un agent Salesforce Importation d'événements et de contextes Salesforce Fonction Flatten de Salesforce Fonction Picklist de Salesforce Console d'administration Salesforce SAP Connectivity Création d'un agent SAP Importation d'objets ODS Importation de cubes OLAP Scénarios Création de scénarios Attributs des scénarios Suppression de scénarios SELECT Syntaxe Liste Select ExpressionCASE Clause FROM Contraintes sur les vues Opérations de jointure Jointures internes Jointures externes Jointures imbriquées Expressions de table Syntaxe Restrictions Exemple de clause HAVING Clause WHERE Prédicats Alias Clause GROUP BY Alias Vues dérivées Sémantique des vues avec état Clause ORDER BY

11 Contents Business Activity Monitoring Server Reference Utilisateurs Utilisateur système Onglet Détails de l'utilisateur Onglet Profils de livraison Messagerie électronique Service Web Onglet Préférences utilisateur Interrogation du tableau de bord Onglet Autorisations de l'utilisateur TIBCO Rendezvous Fonctionnement TIBCO Rendezvous Tables Limitations Prérequis Création d'une table d'événements TIBCO Rendezvous Informations sur les colonnes TIBCO Mise en correspondance des types de données TIBCO Rendezvous Fonctions définies par l'utilisateur Restrictions des fonctions UDF Création et utilisation d'une fonction UDF Fichiers manifestes Vues Création de vues Copie d'une vue Attributs des vues Contraintes sur les vues Jointures synchronisées Restriction Exemple Evénements consolidés Vues agrégées Mise à jour des vues par le biais de la propagation d'événements Vues sans état et vues avec état Initialisation des vues Conservation des événements dans des vues sans état Sauvegarde des vues dans une base de données Attributs de sauvegarde des vues Colonnes des vues à sauvegarder Activation du forage jusqu'aux détails Services Web Evénements de service Web Attributs des événements des services Web Création d'un événement de service Web Contexte de service Web Création d'une table contextuelle de services Web Colonnes Sortie Colonnes Entrée Modèles de substitution de la chaîne

12 Contents Business Activity Monitoring Server Reference 12 Processus externes des services Web Attributs de processus externe Création d'un processus externe Implémentation du service externe Champs message Fichier WSDL de service Web XML/XSD A propos des fichiers XML et XSD de Business Activity Monitoring ES Dépendances Espace Caractères d'échappement Données caractères Téléchargement de fichiers XML A partir d'une ligne de commande A partir d'un navigateur Web Définition d'un objet avec le langage XML Exemple : Création d'un utilisateur Définition de plusieurs objets avec le langage XML Exemple : Commande batch Modification d'un objet existant avec le langage XML Dépendances Emission de commandes XML Exemple : Activation d'un objet et de ses dépendances Business Activity Monitoring ES XSD, fichiers Glossaire Index...398

13 1 Introduction Ce document décrit en détail chacun des objets et fonctionnalités de Business Activity Monitoring ES. Les rubriques abordées sont les suivantes : La section «Filtres d'accès», page 15 décrit les filtres qui limitent les données consultables par un utilisateur sans qu'il soit nécessaire de définir une nouvelle vue ou un nouveau cube pour chaque utilisateur. La section «Agents», page 23 décrit les objets qui permettent de recevoir ou d'extraire des informations de sources externes. La section «Alertes», page 40 décrit les notifications d'événements exceptionnels envoyées aux utilisateurs ou aux systèmes externes. La section «Activités commerciales», page 55 décrit les objets qui collectent les scénarios identifiant les conditions commerciales exceptionnelles. La section «Contexte», page 57 décrit les données contextuelles, leur traitement dans le système et leur mode de création. La section «Cubes», page 64 décrit les cubes de données multidimensionnels et leur mode de création. La section «Types de données», page 69 décrit les types de données SQL-99 pris en charge, ainsi que leur sémantique. La section «Dimensions», page 83 décrit les dimensions et les niveaux utilisés par les cubes. La section «Evénements», page 90 décrit les données d'événements, leur traitement dans le système et leur mode de création. La section «Fichiers plats», page 95 décrit comment le système utilise les fichiers texte pour générer des données d'événements. La section «Formules», page 109 décrit comment élaborer des formules dans Business Activity Monitoring ES. La section «Fonctions», page 115 décrit les fonctions C-SQL susceptibles d'apparaître dans des commandes et des formules de règle. La section «HTTP Post», page 201 décrit comment utiliser le protocole HTTP pour poster des événements dans un flux d'événements. La section «Java Messaging Service (JMS)», page 209 décrit comment le système utilise JMS pour générer des données d'événements. La section «JDBC», page 215 décrit comment le système utilise les interfaces JDBC pour extraire des données contextuelles, recevoir des données d'événements et autoriser d'autres applications Java à accéder aux vues commerce en mémoire. La section «Accès JDBC aux données des vues», page 228 décrit l'interface de programmation d'application (API) qui permet aux applications JDBC 2.0 d'extraire des données d'une vue et d'extraire les métadonnées qui décrivent les vues dans l'installation. La section «Objets», page 244 décrit les caractéristiques communes à tous les objets Business Activity Monitoring ES, dont le nom, la description facultative et l'état. La section «Opérateurs et constantes», page 250 décrit les constantes et opérateurs pris en charge. 13

14 Introduction Guide de référence du serveur Business Activity Monitoring 14 La section «Autorisations», page 255 décrit les commandes qui identifient les utilisateurs autorisés à accéder aux objets et comptes utilisateur Business Activity Monitoring ES, ainsi qu'à en créer et en modifier. La section «Processus», page 270 décrit comment Business Activity Monitoring ES utilise et présente les statistiques et diagrammes de processus commerciaux. La section «Fenêtres de requêtes», page 275 décrit les fenêtres de requête, c'est-à-dire des groupes de lignes utilisés pour effectuer des calculs sur la fenêtre d'événement courante. La section «Tableaux récapitulatifs», page 295 décrit les objets qui fournissent des informations sur un événement, permettant de le replacer dans son contexte. La section «Rôles», page 300 décrit comment utiliser les rôles pour attribuer des autorisations à un groupe d'utilisateurs. La section «Règles», page 303 décrit les objets qui analysent les vues commerce recherchant des mesures qui répondent à certains critères. La section «Scénarios», page 322 décrit les ensembles de règles, d'alertes et de tableaux récapitulatifs qui identifient des conditions commerciales exceptionnelles dans une vue commerce. La section «SELECT», page 325 décrit les instructions Select C-SQL qui gèrent des informations dans Business Activity Monitoring ES. La section «TIBCO Rendezvous», page 343 décrit comment le système utilise TIBCO Rendezvous pour gérer des données d'événements. La section «Utilisateurs», page 336 décrit les comptes qui identifient chaque utilisateur dans le système. La section «Fonctions définies par l'utilisateur», page 351 décrit les fonctions définies par l'utilisateur (UDF) utilisables dans les formules. La section «Vues», page 355 décrit les modèles de données qui offrent une image en temps réel d'une activité commerciale. La section «Services Web», page 367 décrit comment le système utilise les services Web pour extraire des données contextuelles. La section «XML/XSD», page 380 décrit comment créer des objets Business Activity Monitoring ES avec le langage XML. La section «Glossaire», page 395 définit les termes couramment utilisés dans Business Activity Monitoring ES.

15 2 Filtres d'accès Les filtres d'accès permettent à différents utilisateurs de visualiser plusieurs lignes de la même vue ou du même cube en fonction des critères indiqués dans le filtre. Ces filtres limitent les données visibles par un utilisateur sans qu'il soit nécessaire de définir une nouvelle vue ou un nouveau cube pour chaque utilisateur. Prenons l'exemple ci-après d'une vue du total des ventes par région : Total Sales Region West Central South East La définition d'un filtre d'accès tel que «OrderTotals.Region=Employees.Region» vous permet de limiter la visibilité des utilisateurs aux lignes qui s'appliquent à leur région d'activité. En conséquence, un utilisateur de la région Central obtiendrait la vue suivante : Total Sales Region Central Les filtres constituent des expressions logiques semblables à la Clause Where d'une définition de vue. (Pour plus de détails, reportez-vous à la section «Conditions de filtre d'accès», page 16.) Les filtres d'accès se définissent sur chaque vue et chaque cube individuellement et s'appliquent aux utilisateurs et aux rôles disposant d'un accès Filtré / Lecture seule à la vue ou au cube. Pour plus de détails sur le fonctionnement des filtres d'accès, reportez-vous à la section «Fonctionnement et restrictions des filtres d'accès», page 18. Pour appliquer un filtre d'accès à une vue ou à un cube, vous devez commencer par créer un filtre, puis l'affecter à des utilisateurs ou à des rôles en suivant les procédures décrites aux sections ci-après : «Création d'un filtre d'accès pour une vue», page 19 «Création d'un filtre d'accès pour un cube», page 20 «Affectation d'un filtre d'accès aux utilisateurs et aux rôles», page 21 Pour plus de détails sur les vues, reportez-vous à la section «Vues», page 355. Pour plus de détails sur les cubes, reportez-vous à la section «Cubes», page

16 Filtres d'accès Guide de référence du serveur Business Activity Monitoring Conditions de filtre d'accès 16 Conditions de filtre d'accès Les conditions de filtre d'accès sont des expressions logiques qui s'appliquent à chacune des lignes d'une vue ou à chacun des niveaux de dimension d'un cube. Un utilisateur examinant la vue ou le cube ne voit que les lignes pour lesquelles l'expression a été évaluée comme étant vraie. Chaque filtre doit contenir au minimum une condition évaluant les données présentes dans la vue ou dans le cube. Par exemple, la condition simple ci-après n'affiche que les lignes de la vue OrderTotals applicables à la région d'activité East : OrderTotals.Region='East' Dénomination des utilisateurs Vous devez affecter le filtre précédemment décrit à chaque utilisateur ou rôle de la région East afin de limiter leur accès. Il existe une expression plus puissante qui désigne les utilisateurs. La fonction CURRENT_USER() renvoie le nom de connexion de l'utilisateur examinant la vue. Vous pouvez inclure cette fonction dans la condition de filtre pour appliquer le filtre à des utilisateurs spécifiques. Par exemple, la condition ci-après identifie également deux utilisateurs. Ces utilisateurs seront donc les seuls à pouvoir visualiser les résultats de la région East : OrderTotals.Region='East' AND (CURRENT_USER()='Skyler' OR CURRENT_USER()='Nina') Remarque :les filtres d'accès sont des expressions logiques pouvant inclure des opérateurs booléens (AND, OR et NOT) et utiliser des parenthèses à des fins de regroupement. Les deux exemples ci-dessus sont limités par le fait que leurs expressions comportent des valeurs littérales codées en dur : le nom de la région et le nom des utilisateurs. L'utilisation de valeurs littérales se révèle problématique car vous devez modifier les filtres chaque fois que les noms changent. En outre, vous devez disposer d'une valeur littérale pour chaque région. Il existe une expression plus puissante qui peut être appliquée à tous les utilisateurs en récupérant dynamiquement les informations relatives aux utilisateurs et en les appliquant à la vue. Filtres de contexte Outre les données de la vue active, les filtres d'accès peuvent récupérer les données d'une table contextuelle. Si vous définissez une table contextuelle contenant des informations sur les utilisateurs, vous pouvez comparer ces dernières aux données de la vue afin de créer un filtre de contexte dynamique. Prenons l'exemple du filtre ci-après utilisant une table contextuelle Employees : OrderTotals.Region=Employees.Region AND CURRENT_USER()=Employees.User_Name Si vous choisissez d'appliquer ce filtre à un grand nombre d'utilisateurs et de rôles, seuls les utilisateurs affectés à la même région d'activité que les données pourront visualiser ces dernières. Remarque :pour utiliser des recherches dynamiques, vous devez présenter les informations dans une table contextuelle externe. Utilisateurs définis en tant que contexte En général, les tables Contexte prennent en charge des événements en fournissant des informations complémentaires sur ces derniers. Lorsque vous l'utilisez dans un filtre d'accès, une table contextuelle

17 Filtres d'accès Guide de référence du serveur Business Activity Monitoring Résumé 17 Résumé contient des informations compatibles avec le filtre, c'est-à-dire, des informations sur l'utilisateur en cours. En conséquence, une table contextuelle d'utilisateurs doit comporter au moins une colonne contenant un nom d'utilisateur identique au nom dont se sert l'utilisateur pour se connecter à Business Activity Monitoring ES. Notez que CURRENT_USER() renvoie le nom de connexion de l'utilisateur tel qu'il est défini dans Business Activity Monitoring ES, en respectant la distinction majuscules-minuscules, et tel qu'il apparaît dans BAM Workbench. La distinction majuscules-minuscules doit donc être scrupuleusement respectée. (Certains SGBD effectuant des comparaisons sans tenir compte de cette distinction, cette mise en garde peut ne pas s'appliquer à votre installation.) Pour éviter tout risque d'absence de concordance, vous pouvez choisir de saisir les noms uniquement en minuscules ou en majuscules dans la table contextuelle, puis d'utiliser UPPER() ou LOWER() dans l'expression du filtre, comme dans l'exemple ci-après : UPPER(CURRENT_USER())=Employees.User_Name Remarque :Vous ne pouvez pas utiliser UPPER() ou LOWER() dans la référence à la table contextuelle Employees. Pour plus de détails, reportez-vous à la section «Limitations de la colonne contextuelle dans les requêtes», page 60. De la même façon, toutes les colonnes de texte référencées dans un filtre doivent faire l'objet d'une distinction majuscules-minuscules. Pour utiliser une table contextuelle dans un filtre d'accès, ajoutez la table au plan de travail du filtre avant de définir le filtre. Pour plus de détails, reportez-vous à la section «Création d'un filtre d'accès pour une vue», page 19. En résumé, une table contextuelle d'utilisateurs doit inclure : Une ligne pour chaque utilisateur doté d'un accès Filtré / Lecture seule. Si un utilisateur ne figure pas dans la table contextuelle, le filtre ne trouvera vraisemblablement aucune ligne concernant cet utilisateur. Au moins une colonne de texte contenant le nom de connexion de l'utilisateur. Si le SGBD fait la distinction entre les majuscules et les minuscules, entrez les noms tels qu'ils sont définis dans Business Activity Monitoring ES, ou bien uniquement en minuscules ou en majuscules si vous prévoyez d'utiliser UPPER() ou LOWER() dans vos filtres. Une colonne pour chaque référence apparaissant dans le filtre. Les types de données doivent correspondre. En ce qui concerne les valeurs de caractère, les chaînes de la vue doivent être exactement identiques à celles de la table contextuelle. Notez également qu'en cas de mise en cache des données de la table contextuelle, les filtres risquent de ne pas fonctionner si les données des utilisateurs ne figurent dans le cache. En d'autres termes, si vous ajoutez un utilisateur à la base de données, vous pouvez choisir d'invalider le cache de la table contextuelle avant que l'utilisateur n'examine des vues ou des cubes filtré(e)s. Si l'utilisateur est introuvable dans le contexte, le filtre renverra la valeur False.

18 Filtres d'accès Guide de référence du serveur Business Activity Monitoring Fonctionnement et restrictions des filtres d'accès 18 Fonctionnement et restrictions des filtres d'accès Les filtres d'accès ne s'appliquent que lorsqu'un utilisateur disposant d'un accès Filtré / Lecture seule sur une vue examine ou requiert des données de cette dernière, ou définit une nouvelle vue au-dessus de cette vue. Les filtres n'ont aucune incidence sur les utilisateurs ou rôles dotés d'une autorisation en Lecture seule ou en Lecture - Ecriture sur cette vue et ne s'appliquent pas non plus aux utilisateurs recevant des tableaux récapitulatifs envoyés sous forme de pièces jointes dans des notifications d'alerte. En particulier : Par défaut, tous les nouveaux utilisateurs reçoivent l'autorisation d'accès Aucun accès pour les classes des objets Vue et Cube. Pour qu'un utilisateur puisse visualiser les résultats, il doit disposer, soit directement, soit en tant que membre d'un rôle, d'une autorisation en lecture seule ou en lecture et en écriture pour les classes des objets Vue et Cube (totalité des vues et des cubes), et d'au moins un accès Filtré/Lecture seule à la vue concernée. Lorsqu'un utilisateur fait l'objet de plusieurs filtres d'accès portant sur la même vue ou sur le même cube, par exemple en tant que membre de plusieurs rôles associés à différents filtres, il voit les lignes pour lesquelles l'un de ces filtres renvoie la valeur True. Par exemple, il est possible qu'un filtre n'autorise un utilisateur qu'à visualiser les données de la région «West», mais qu'un autre filtre permette à cet utilisateur de visualiser tous les résultats relatifs à une gamme de produits spécifique. Dans ce cas, l'utilisateur verra tous les résultats associés à cette gamme de produits, quelle que soit la région. Les tableaux récapitulatifs contiennent toujours toutes les données de la vue à laquelle ils font référence, quels que soient les filtres d'accès associés à cette vue. Les utilisateurs qui reçoivent des tableaux récapitulatifs dans des notifications d'alerte visualisent toujours la totalité de la vue référencée par ces tableaux. Lorsqu'un utilisateur disposant d'un accès filtré à une vue crée une nouvelle vue par-dessus la vue filtrée, la nouvelle vue hérite des résultats filtrés de cet utilisateur, mais non de la définition du filtre. En conséquence, tout utilisateur examinant la vue dérivée verra les mêmes résultats filtrés que l'utilisateur ayant créé la vue. Par exemple, si l'utilisateur Sklyer ne peut voir que la région «West» de la vue Total Sales, puis qu'il crée une nouvelle vue intitulée WrapUp, dérivée de la vue Total Sales, tout utilisateur autorisé à examiner la vue WrapUp verra les données de la région «West», quel que soit l'accès dont il dispose à la vue Total Sales. De la même façon, lorsqu'un utilisateur disposant d'un accès filtré à une vue crée une règle reposant sur cette vue, la règle hérite des résultats filtrés de cet utilisateur. En conséquence, cette règle ne voit que les événements qui remplissent la condition de filtre d'accès des utilisateurs, et tous les abonnés à l'alerte associée à la vue ne reçoivent que les alertes relatives aux événements filtrés.

19 Filtres d'accès Guide de référence du serveur Business Activity Monitoring Création d'un filtre d'accès pour une vue 19 Création d'un filtre d'accès pour une vue Pour créer un filtre d'accès, vous devez disposer d'une autorisation en Lecture - Ecriture sur la vue. Pour créer un filtre d'accès : 1. Dans la liste Vues située sur l'onglet Workbench de BAM Workbench, sélectionnez la vue sur laquelle portera le filtre. 2. Sélectionnez l'onglet Filtres d'accès pour afficher la liste des filtres déjà associés à la vue. 3. Cliquez sur Créer un filtre d'accès pour créer le nouveau filtre. 4. Ajoutez une table contextuelle au plan de travail en cliquant sur Ajouter le contexte. Le présent exemple inclut la table contextuelle Employees permettant de récupérer des informations sur l'utilisateur en cours. 5. Dans la boîte de dialogue Modifier le filtre d'accès, indiquez le nom du filtre, éventuellement accompagné d'une description. Définissez la condition de filtre en suivant les instructions de la section «Conditions de filtre d'accès», page Enregistrez le filtre d'accès. Vous pouvez alors affecter ce filtre à des utilisateurs disposant d'un accès en lecture seule filtré à la vue.

20 Filtres d'accès Guide de référence du serveur Business Activity Monitoring Création d'un filtre d'accès pour un cube 20 Création d'un filtre d'accès pour un cube Vous devez disposer d'une autorisation en Lecture - Ecriture sur le cube. Pour créer un filtre d'accès : 1. Dans la liste Cubes située sur l'onglet Workbench de BAM Workbench, sélectionnez le cube sur lequel portera le filtre. 2. Sélectionnez l'onglet Filtres d'accès pour afficher la liste des filtres déjà associés à la vue. 3. Cliquez sur Créer un filtre d'accès pour créer le nouveau filtre. 4. Dans la boîte de dialogue Configurer le filtre du cube, indiquez le nom du filtre, éventuellement accompagné d'une description. 5. Définissez la condition de filtre en suivant les instructions de la section «Conditions de filtre d'accès», page 16. Pour définir un filtre simple : Choisissez une dimension, un niveau, ainsi qu'une valeur, comme illustré ci-après : Pour définir un filtre de contexte : 1. Choisissez l'option Utiliser des filtres de contexte.

21 Filtres d'accès Guide de référence du serveur Business Activity Monitoring Affectation d'un filtre d'accès aux utilisateurs et aux rôles Choisissez la table contextuelle, puis identifiez la colonne contenant le nom de l'utilisateur, ainsi que la colonne associée à un niveau de dimension, comme illustré ci-après. Remarque :ce filtre est identique à celui présenté à la section «Filtres de contexte», page Enregistrez le filtre d'accès. Vous pouvez alors affecter ce filtre à des utilisateurs disposant d'un accès en lecture seule filtré à la vue. Affectation d'un filtre d'accès aux utilisateurs et aux rôles Pour effectuer cette opération : Vous devez disposer d'une autorisation en Lecture - Ecriture sur la vue ou sur le cube. Les filtres doivent déjà avoir été définis. Pour plus d'informations, reportez-vous à la section «Création d'un filtre d'accès pour une vue», page 19. Pour affecter un filtre d'accès à un utilisateur ou à un rôle sur une vue : 1. Sur l'onglet Workbench de BAM Workbench, cliquez sur le dossier Vues du plan de travail pour afficher la liste de toutes les vues. 2. Sélectionnez la vue pour laquelle vous souhaitez affecter l'accès en lecture seule filtré, puis cliquez sur Autorisations. 3. Sélectionnez un ou plusieurs utilisateurs ou rôles auxquels affecter l'accès filtré, puis cliquez sur Modifier les autorisations.

22 Filtres d'accès Guide de référence du serveur Business Activity Monitoring Affectation d'un filtre d'accès aux utilisateurs et aux rôles Choisissez l'accès Filtré/Lecture seule, puis un ou plusieurs filtres d'accès à utiliser. Lorsque vous affectez plusieurs filtres, l'utilisateur voie les lignes remplissant l'une de ces conditions. Par exemple, lorsqu'un filtre n'affiche que les lignes associées au service d'un utilisateur, et qu'un autre filtre présente les lignes applicables à la région d'activité de cet utilisateur, ce dernier voit la ligne pour laquelle l'une ou l'autre condition est vérifiée. Enregistrez les affectations. Les autorisations prennent effet immédiatement.

23 3 Agents Les agents sont des processus Business Activity Monitoring ES qui savent comment recevoir ou récupérer des informations à partir de sources externes. Lorsqu'un agent localise de nouvelles informations d'événement ou de contexte, il transmet ces données à une table Evénements et Contexte pour permettre leur utilisation par les Vues commerce. Environnement de serveur d'application Tables d'événements et tables contextuelles Agent JDBC Agent de services Web Agent JMS Agent de fichier plat Agent Agent SGBD Application Web Application Java Fichier plat Application de messagerie TIBCO Remarque :un même agent peut prendre en charge plusieurs tables d'événements ou tables contextuelles. Alors qu'un agent sait comment communiquer avec une source externe, les tables d'événements et tables contextuelles savent quelles informations sont souhaitées. En conséquence, la plupart des tables d'événements et tables contextuelles définissent les détails qui précisent à l'agent quelles informations rechercher. Ce chapitre comprend les sections suivantes : «Sources externes», page 24 «Création d'agents», page 25 «Modification des agents», page 26 «Agents de fichier plat», page 26 «Agents de file d'attente JMS», page 30 «Agents de rubrique JMS», page 34 «TIBCO Rendezvous Agents», page 36 «Agents de services Web», page 38 23

24 Agents Guide de référence du serveur Business Activity Monitoring Sources externes 24 Sources externes Business Activity Monitoring ES fournit des agents pour plusieurs sources contextuelles et sources d'événements externes. Certains événements sont transmis (envoyés) au système lorsqu'ils se produisent. D'autres événements sont chargés (extraits) sous forme de résultats d'une requête, par exemple dans une base de données ou à partir d'un fichier texte. Toutefois, les données contextuelles sont toujours extraites de la source. Le Tableau 1 : Sources et agents récapitule les sources disponibles et identifie l'agent qu'elles prennent en charge. Tableau1 : Sources et agents Source externe Agent Envoi d'événements Extraction d'événements Extraction de contexte JDBC (Java Database Connectivity, connectivité de base de données), généralement à partir d'un SGBDR (Système de Gestion de Base de Données Relationnelle) JMS (Java Messaging Service, service de messagerie Java) à partir d'une application Java Fichier texte TIBCO Rendezvous (RV) à partir d'une application commerciale utilisant des flux de messages TIBCO Services Web à partir d'une application Web sur une connexion HTTP (Hypertext Transfer Protocol, protocole de transfert hypertexte) JDBC (reportez-vous page 215) Java Messaging Service (JMS) (reportez-vous page 209) Fichiers plats (reportez-vous page 95) TIBCO Rendezvous (reportez-vous page 343) Services Web (reportez-vous page 367) Non Oui Oui Oui Non Non Non Oui Non Oui Non Non Oui Non Oui Agent JDBC utilisé pour accéder à la base de données d'un système SAP ERP Non Oui Non Système Salesforce Salesforce Non Oui Oui

25 Agents Guide de référence du serveur Business Activity Monitoring Création d'agents 25 Création d'agents Ces étapes présentent la création d'un agent. Pour plus de détails sur la création d'agents d'un type spécifique, reportez-vous aux descriptions de ce type. Remarque :Pour les implémentations JBoss, vous devez configurer une définition JNDI (Java Naming and Directory Interface) correspondante dans un fichier celequest_context-ds.xml. Pour plus de détails, reportez-vous aux instructions de déploiement JBoss du guide d'installation. Pour pouvoir créer un agent, vous devez disposer d'une autorisation en création pour les agents (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260), ainsi que des spécifications de connexion pour ce type d'agent. Pour créer un agent : 1. Ouvrez l'onglet Console d administration de BAM Workbench. 2. Sélectionnez Agents. 3. Cliquez sur Nouvel agent. 4. Choisissez le type de source correspondant à l'agent (comme décrit dans le Tableau 1, page 24). 5. Renseignez les détails relatifs au type de source spécifique. Pour plus de détails, reportez-vous aux sections suivantes : «Agents de fichier plat», page 26 «Agents de file d'attente JMS», page 30 «Agents de rubrique JMS», page 34 «TIBCO Rendezvous Agents», page 36 «Agents de services Web», page 38 Enregistrez l'objet comme étant activé ; il devient ainsi prêt à recevoir des événements ou un contexte. Remarque :pour plus de détails sur la création d'un agent ERP, reportez-vous à la section «Création d'un agent SAP», page 318.

26 Agents Guide de référence du serveur Business Activity Monitoring Modification des agents 26 Modification des agents Ces étapes présentent la modification d'un agent existant. Pour plus d'informations sur les attributs des agents, consultez la description de la source spécifique. Pour pouvoir créer un agent, vous devez disposer d'une autorisation en lecture et en écriture pour cet agent (pour plus de détails, reportez-vous à la section «Droits d'accès», page 257). Pour modifier un agent : 1. Ouvrez l'onglet Console d administration de BAM Workbench. 2. Sélectionnez Agents. 3. Double-cliquez sur l'agent à modifier. 4. Renseignez les détails relatifs au type de source spécifique. Enregistrez l'objet comme étant activé ; il devient ainsi prêt à recevoir des événements ou un contexte. Agents de fichier plat Un agent de fichier plat récupère les messages d'événements à partir d'un fichier texte. Remarque :vous ne pouvez pas récupérer le contexte par le biais d'un agent de fichier car aucune logique de requête n'existe, comme le résume le tableau ci-après. Envoi d'événements Extraction d'événements Extraction de contexte Non Oui Non Traitement des fichiers Prérequis L'agent de fichier plat recherche des fichiers à un emplacement spécifié selon une fréquence définie. Le nom des fichiers à rechercher peut inclure les caractères génériques * et?. Lorsque l'agent localise un fichier, il récupère les événements, puis supprime, déplace ou renomme le fichier source. S'il détecte plusieurs fichiers à l'emplacement défini, il les traite dans l'ordre alphabétique. Pour créer un agent de fichier plat, vous devez disposer des éléments suivants : disposer de l'autorisation Création sur les agents (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260) ; un programme d'agent de fichier en cours d'exécution (reportez-vous à la section «Configuration du programme d'agent de fichier», page 27).

27 Agents Guide de référence du serveur Business Activity Monitoring Création d'un agent de fichier plat 27 Un agent de fichier comporte les attributs suivants : Attribut Nom Description Etat Description Identifie l'agent et est identique au nom défini par l'élément agentname dans le fichier de configuration TestAgent.xml de l'agent. Pour plus de détails, reportez-vous à la section «Configuration du programme d'agent de fichier», page 27. Description facultative qui peut contenir tous les caractères de texte. Indique si l'agent est ou non activé (contrôle des événements) ou désactivé (pas de contrôle des événements). Création d'un agent de fichier plat Utilisez la procédure suivante pour créer un agent de fichier plat. Pour créer un agent de fichier plat : 1. Ouvrez la BAM Workbench Console d administration. 2. Cliquez sur Nouvel agent. 3. Choisissez le type de source Fichier plat. 4. Renseignez les champs qui définissent les attributs de l'agent. Enregistrez l'agent avec l'état activé pour qu'il commence immédiatement à rechercher des événements. Configuration du programme d'agent de fichier L'agent de fichier est un programme Java autonome s'exécutant sur un hôte (pouvant différer de l'hôte du serveur BAM) et regroupant les événements d'un fichier texte. Lorsque cet agent trouve des données d'événements, il les transmet au serveur BAM pour traitement. L'agent comporte deux fichiers de configuration XML : TestAgent.xml (reposant sur VCAgent.xsd) définit les informations de connexion, telles que la procédure pour localiser le serveur BAM et la façon dont ces serveurs peuvent identifier l'agent de fichier. FileAgent.xml (reposant sur FileAgent.xsd) identifie le fichier texte ainsi que la procédure à suivre avec le fichier à l'issue du téléchargement de ses données. Pour lancer l'agent, exécutez le fichier cqagent.jar dans Java, puis transmettez le fichier de configuration TestAgent.xml sous la forme d'un argument de la façon suivante : java -jar \cqagent.jar TestAgent.xml Vous pouvez également identifier le répertoire du fichier de journalisation et le niveau de journalisation en définissant les propriétés correspondantes. L'exemple ci-après définit le niveau de journalisation de tous les messages : java "-Dcom.celequest.property.Logging Directory=C:\logs\agents" "-Dcom.celequest.property.Detailed Log File Level=All" -jar \cqagent.jar TestAgent.xml

28 Agents Guide de référence du serveur Business Activity Monitoring Configuration du programme d'agent de fichier 28 TestAgent.xml Le fichier TestAgent.xml comporte les attributs et éléments de configuration suivants : Attribut serverport (attribut) pinginterval (attribut) agentname serverhost agentimplclass agentimplconfigfile agentport pollinginterval loggingdirectory Description (Facultatif : valeur par défaut = 80) Port HTTP du serveur d'application exécutant le serveur BAM et utilisé par l'agent pour communiquer avec le serveur. Ce port est identique à celui permettant aux utilisateurs de se connecter à BAM Workbench. (Facultatif : valeur par défaut = 20 secondes) Fréquence à laquelle l'agent vérifie si le serveur BAM est en cours d'exécution. Lorsque le serveur n'est pas en cours d'exécution, l'agent ne regroupe pas les événements. (Requis) Identifie l'agent et définit le Nom à utiliser pour la création de l'agent sur la Console d administration. Ce nom doit être unique parmi les agents. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. (Requis) Nom de l'ordinateur hôte exécutant le serveur BAM. Si ce dernier s'exécute sur le même ordinateur que l'agent de fichier, indiquez le nom localhost. (Requis) Classe d'implémentation de l'agent. Ne modifiez pas cette valeur ; la classe com.celequest.agent.fileagent est requise pour l'instant. (Requis) Identifie le fichier de configuration de l'implémentation (composant de fichier texte), généralement FileAgent.xml. (Requis) Port utilisé pour communiquer avec l'agent sur l'hôte de l'agent. Ce port permet au serveur de communiquer à l'agent les changements d'état de désactivation et d'activation. Utilisez n'importe quel numéro de port valide, tel que (Requis) Fréquence (en secondes) de recherche de nouveaux événements. (Facultatif : la valeur par défaut correspond au répertoire des fichiers de configuration) Répertoire dans lequel stocker les informations de fichier. Le nom du fichier journal est agentname.log. Exemple L'exemple ci-après attribue à l'agent d'événements le nom «orderstatusevent», choisit FileAgent.xml en tant que fichier de configuration de l'implémentation et configure le port du serveur sur 8080 :

29 Agents Guide de référence du serveur Business Activity Monitoring Configuration du programme d'agent de fichier 29 <?xml version="1.0" encoding="utf-8"?> <VCAgent xmlns=" xmlns:xsi=" xsi:schemalocation=" VCAgent.xsd" serverport="80" > <agentname>flatfileevent</agentname> <serverhost>localhost</serverhost> <agentimplclass>com.celequest.agent.fileagent</agentimplclass> <agentimplconfigfile>fileagent.xml</agentimplconfigfile> <agentport>5050</agentport> <pollinginterval>20</pollinginterval> </VCAgent> FileAgent.xml Ce fichier configure le composant de fichier texte (l'implémentation) de l'agent de fichier. Le nom réel et l'emplacement de ce fichier sont identifiés dans le fichier TestAgent.xml qui se trouve généralement dans le même répertoire. Ce fichier de configuration comporte quatre éléments de configuration, bien que la plupart des configurations n'utilisent que les éléments <filename> et <filedisposal>. Eléments Le fichier FileAgent.xml comporte les éléments de configuration suivants : Elément filename type Description Nom et emplacement du fichier texte source contenant les événements. Ce fichier est supposé se trouver dans le même répertoire que le fichier de configuration, sauf si vous identifiez un autre emplacement dans le nom de fichier. Vous pouvez spécifier un chemin d'accès relatif ou complet. Le nom du fichier peut inclure les caractères génériques * et?. Sur les systèmes UNIX, utilisez une barre oblique pour séparer les noms des répertoires ; par exemple, events/file*.txt. Sur les systèmes Windows, séparez les noms des répertoires à l'aide de deux barres obliques inversées ; par exemple, events\\file*.txt. Identifie la source en tant que STREAM (flux) ou que FILE (fichier). Utilisez FILE si la totalité du fichier texte doit être téléchargée de façon atomique (tout ou rien), par exemple dans le cas d'un fichier XML. Dans le cas contraire, utilisez STREAM pour télécharger des lignes sous forme de lots définis par l'élément buffersize.

30 Agents Guide de référence du serveur Business Activity Monitoring Agents de file d'attente JMS 30 Elément buffersize filedisposal Description (Facultatif : valeur par défaut = 4,000+EOL) Nombre de caractères à stocker en mémoire tampon ou à envoyer par lots au serveur. La taille réelle envoyée correspond à la taille de la mémoire tampon, additionnée du reste de la ligne de caractères chevauchant la taille limite. Utilisez cette valeur si vous souhaitez éviter de télécharger une quantité de texte volumineuse en une seule fois. (Facultatif) Définit la procédure à suivre avec le fichier source après le téléchargement de ses données. Les options possibles sont les suivantes : delete : (option par défaut) supprime le fichier après le téléchargement. move : déplace le fichier vers un répertoire spécifié par l'attribut target. rename : renomme le fichier en ajoutant l'attribut d'extension au nom du fichier. Les options move et rename remplacent les fichiers existants du même nom dans l'emplacement cible sans afficher de message d'avertissement ou d'erreur. Exemple L'exemple ci-après indique que le fichier texte source est le fichier orderstatusdata.txt dans le sous-répertoire events\ d'un hôte Windows et déplace le fichier traité vers le répertoire apparenté..\done\ : <?xml version="1.0" encoding="utf-8"?> <FileAgent xmlns=" xmlns:xsi=" xmlns:schemalocation=" FileAgent.xsd"> <filename>event\\orderstatusdata.txt</filename> <filedisposal> <move target="..\\done\\" /> </filedisposal> </FileAgent> Agents de file d'attente JMS Un agent de file d'attente Java Messaging Service (JMS) communique avec un producteur de messages JMS via une file d'attente JMS exécutée dans l'environnement du serveur d'application. L'agent indique au producteur les messages que la table d'événements des Agents de file d'attente JMS souhaite recevoir. Le producteur envoie ensuite les messages concernés à la table d'événements via l'agent. Remarque :Les agents de file d'attente JMS sont asynchrones, ce qui signifie qu'ils reçoivent des messages d'événements au fur et à mesure que les événements se produisent. En revanche, vous ne pouvez pas extraire du contexte d'un agent de file d'attente JMS, comme récapitulé dans le tableau ci-dessous. Envoi d'événements Extraction d'événements Extraction de contexte Oui Non Non Avant de créer un agent, vous devez :

31 Agents Guide de référence du serveur Business Activity Monitoring Agents de file d'attente JMS 31 Déployer dans le serveur d'application hôte un MDB (composant logiciel JavaBeans guidé par message) personnalisé, qui code en dur le nom de l'événement et qui va recevoir des messages de la file d'attente. Remarque :Les serveurs d'application n'autorisent pas les abonnements dynamiques aux files d'attente JMS. Un MDB personnalisé doit être créé à cette fin. Pour plus d'informations sur la création et la configuration de ce MDB, reportez-vous aux fichiers ReadMe dans le dossier samples/cqmdb du CD de distribution. disposer de l'autorisation Création sur les agents (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260) ; Mentionner l'emplacement JNDI de la classe de rubriques dans le serveur d'application qui reçoit les messages de file d'attente. Un agent de file d'attente JMS a les attributs suivants : Attribut Requis Description Nom Oui Identifie l'agent. Ce nom doit être unique parmi les agents. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Description Non Description facultative qui peut contenir tous les caractères de texte. Etat Oui Indique si l'agent est activé (contrôle des événements) ou désactivé (pas de contrôle des événements). Classe d'objets de connexion de la file d'attente Mode Accuser réception (Auto) Oui Non Identifie la classe d'objets de connexion J2EE, qui gère la file d'attente souhaitée. Cette chaîne identifie la classe d'objets de connexion par son nom JNDI. Par exemple : jms.manufacturingqueue Dans un environnement BEA WebLogic, le nom JNDI de la classe d'objets de connexion est mentionné à l'emplacement suivant : Console BEA WebLogic, Services > JMS > Classes d'objets de connexion > NomClasseObjets > onglet Général. Protocole à utiliser lorsque l'utilisateur accuse réception du message. AUTO : (par défaut) le fournisseur accuse réception du message lors de sa livraison. CLIENT : accuse réception du message lorsque l'agent le reçoit. DUPS OK : Indique au module de publication qu'il peut envoyer un message plusieurs fois. Notez que les réceptions suivantes du même message sont considérées comme des événements nouveaux et uniques. Nom d'utilisateur Non Nom d'utilisateur à utiliser pour se connecter à la classe d'objets JMS.

32 Agents Guide de référence du serveur Business Activity Monitoring Propriétés JNDI permettant la connexion à un espace de nommage distant 32 Attribut Requis Description Mot de passe Non Mot de passe pour le nom d'utilisateur. Propriétés JNDI Non Propriétés JNDI (Java Naming and Directory Interface) facultatives et supplémentaires, requises pour créer l'agent ou en assurer la maintenance dans la table JMS. Ces paires nom/valeur vous permettent de spécifier les propriétés JMS reconnues par JNDI. Remarque :lorsque la file d'attente JMS s'exécute dans un espace de nommage différent de celui du serveur BAM, définissez les propriétés décrites dans la section «Propriétés JNDI permettant la connexion à un espace de nommage distant», page 32. Propriétés JNDI permettant la connexion à un espace de nommage distant Lorsque la file d'attente JMS s'exécute dans un espace de nommage différent de celui du serveur BAM, définissez ces propriétés JNDI pour créer la connexion : java.naming.factory.initial java.naming.provider.url De plus, si vous utilisez la sécurité, définissez les propriétés ci-dessous : Exemples java.naming.security.authentication java.naming.security.principal java.naming.security.credentials JNDI BEA WebLogic java.naming.factory.initial=weblogic.jndi.wlinitialcontextfactory java.naming.provider.url=t3://localhost:9180 IBM Websphere java.naming.factory.initial=com.ibm.websphere.naming.wsninitialcontextfact ory java.naming.provider.url=iiop://localhost:9180 JBOSS java.naming.factory.initial=org.jnp.interfaces.namingcontextfactory java.naming.provider.url=jnp://localhost:1099 Sun One Directory Server LDAP java.naming.factory.initial=com.sun.jndi.ldap.ldapctxfactory java.naming.provider.url=ldap://russell:59226/dc=viewceler,dc=com Enfin, avant la valeur du paramètre Classe d'objets de connexion de la file d'attente, indiquez : cn=

33 Agents Guide de référence du serveur Business Activity Monitoring Création d'un agent de file d'attente JMS 33 Création d'un agent de file d'attente JMS Pour créer un agent de file d'attente JMS, suivez la procédure décrite ci-dessous. Pour créer un agent de file d'attente JMS : 1. Ouvrez le Console d administration. 2. Cliquez sur Nouvel agent. 3. Sélectionnez File d'attente JMS dans Type de source. 4. Complétez les champs requis qui définissent les attributs de l'agent. Enregistrez l'agent avec l'état activé pour qu'il commence immédiatement à rechercher des événements.

34 Agents Guide de référence du serveur Business Activity Monitoring Agents de rubrique JMS 34 Agents de rubrique JMS Un agent de rubrique Java Messaging Service (JMS) communique avec un producteur de messages JMS via une rubrique JMS exécutée dans l'environnement du serveur d'application. L'agent indique au module de publication les messages auxquels la table d'événements des Agents de rubrique JMS souhaite s'abonner. Le module de publication envoie ensuite les messages concernés à la table d'événements via l'agent. Remarque :Les agents de rubrique JMS sont asynchrones, ce qui signifie qu'ils reçoivent des messages d'événements au fur et à mesure que les événements se produisent. En revanche, vous ne pouvez pas extraire du contexte d'un agent de rubrique JMS, comme récapitulé dans le tableau ci-dessous. Envoi d'événements Extraction d'événements Extraction de contexte Oui Non Non Avant de créer un agent, vous devez : Déployer dans le serveur d'application hôte un MDB (composant logiciel JavaBeans guidé par message) personnalisé, qui code en dur le nom de l'événement et qui va s'abonner à la rubrique. Remarque :Les serveurs d'application n'autorisent pas les abonnements dynamiques aux rubriques JMS. Un MDB personnalisé doit être créé à cette fin. Pour plus d'informations sur la création et la configuration de ce MDB, reportez-vous aux fichiers ReadMe dans le dossier samples/cqmdb du CD de distribution. disposer de l'autorisation Création sur les agents (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260) ; Mentionner l'emplacement JNDI de la classe de rubriques dans le serveur d'application qui publie les rubriques. Un agent JMS a les attributs suivants : Attribut Requis Description Nom Oui Identifie l'agent. Ce nom doit être unique parmi les agents. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Description Non Description facultative qui peut contenir tous les caractères de texte. Etat Oui Indique si l'agent est activé (contrôle des événements) ou désactivé (pas de contrôle des événements).

35 Agents Guide de référence du serveur Business Activity Monitoring Propriétés JNDI permettant la connexion à un espace de nommage distant 35 Attribut Requis Description Classe d'objets de connexion à la rubrique Mode Accuser réception (Auto) Oui Non Identifie la classe d'objets de connexion J2EE qui gère les rubriques souhaitées. Cette chaîne identifie la classe d'objets de connexion par son nom JNDI. Par exemple : jms.manufacturingtopic Dans un environnement BEA WebLogic, le nom JNDI de la classe d'objets de connexion est mentionné à l'emplacement suivant : Console BEA WebLogic, Services > JMS > Classes d'objets de connexion > NomClasseObjets > onglet Général. Protocole à utiliser lorsque l'utilisateur accuse réception du message. AUTO : (par défaut) le fournisseur accuse réception du message lors de sa livraison. CLIENT : accuse réception du message lorsque l'agent le reçoit. DUPS OK : Indique au module de publication qu'il peut envoyer un message plusieurs fois. Notez que les réceptions suivantes du même message sont considérées comme des événements nouveaux et uniques. Nom d'utilisateur Non Nom d'utilisateur à utiliser pour se connecter à la classe d'objets JMS. Mot de passe Non Mot de passe du nom d'utilisateur. Propriétés JNDI Non Propriétés JNDI (Java Naming and Directory Interface) facultatives et supplémentaires, requises pour créer l'agent et en assurer la maintenance dans la table JMS. Ces paires nom/valeur vous permettent de spécifier les propriétés JMS reconnues par JNDI. Remarque :lorsque la rubrique JMS s'exécute dans un espace de nommage différent de celui du serveur BAM, définissez les propriétés décrites dans la section «Propriétés JNDI permettant la connexion à un espace de nommage distant», page 32. Propriétés JNDI permettant la connexion à un espace de nommage distant Lorsque la rubrique JMS s'exécute dans un espace de nommage différent de celui du serveur BAM, définissez ces propriétés JNDI pour créer la connexion : java.naming.factory.initial java.naming.provider.url De plus, si vous utilisez la sécurité, définissez les propriétés ci-dessous : java.naming.security.authentication java.naming.security.principal java.naming.security.credentials

36 Agents Guide de référence du serveur Business Activity Monitoring Création d'un agent de rubrique JMS 36 Exemples JNDI BEA WebLogic java.naming.factory.initial=weblogic.jndi.wlinitialcontextfactory java.naming.provider.url=t3://localhost:9180 IBM Websphere java.naming.factory.initial=com.ibm.websphere.naming.wsninitialcontextfact ory java.naming.provider.url=iiop://localhost:9180 JBOSS java.naming.factory.initial=org.jnp.interfaces.namingcontextfactory java.naming.provider.url=jnp://localhost:1099 Sun One Directory Server LDAP java.naming.factory.initial=com.sun.jndi.ldap.ldapctxfactory java.naming.provider.url=ldap://russell:59226/dc=viewceler,dc=com Enfin, avant la valeur du paramètre Classe d'objets de connexion à la rubrique, indiquez : cn= Création d'un agent de rubrique JMS Pour créer un agent de rubrique JMS, suivez la procédure décrite ci-dessous. Pour créer un agent de rubrique JMS : 1. Ouvrez le Console d administration. 2. Cliquez sur Nouvel agent. 3. Sélectionnez Rubrique JMS dans Type de source. 4. Complétez les champs requis qui définissent les attributs de l'agent. Enregistrez l'agent avec l'état activé pour qu'il commence immédiatement à rechercher des événements. TIBCO Rendezvous Agents Un agent TIBCO Rendezvous communique avec un démon TIBCO Rendezvous s'exécutant dans l'environnement du serveur d'application. Le démon recherche des messages dans un flux de messages TIBCO Rendezvous. Lorsqu'il trouve un message demandé par l'une des TIBCO Rendezvous Tables, il récupère ses données et les transmet à la table par le biais de l'agent. Remarque :Les agents TIBCO Rendezvous sont asynchrones, ils reçoivent les messages des événements lorsque ces événements se produisent, comme résumé dans le tableau suivant. Vous ne pouvez pas récupérer de contexte à partir d'un agent TIBCO Rendezvous. Envoi d'événements Extraction d'événements Extraction de contexte Oui Non Non

37 Agents Guide de référence du serveur Business Activity Monitoring Prérequis 37 Prérequis Avant de créer un agent, vous devez : Attributs disposer de l'autorisation Création sur les agents (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260) ; vous connecter au démon écouteur TIBCO Rendezvous. Remarque :Pour vous connecter, vous avez besoin des noms Service, Réseau et Démon. Pour obtenir des valeurs particulières, contactez l'informaticien qui gère votre système TIBCO Rendezvous. Un agent TIBCO Rendezvous possède les attributs suivants : Attribut Nom Description Service Réseau Démon Etat Description Identifie l'agent. Ce nom doit être unique parmi les agents. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Description facultative qui peut contenir tous les caractères de texte. Port du service TIBCO Rendezvous. Laissez cette zone vide pour utiliser le port par défaut Modifiez cette valeur uniquement si l'administrateur TIBCO Rendezvous vous attribue un autre port. Identifie l'interface réseau à utiliser si l'hôte est connecté à plusieurs réseaux ou s'il prend en charge la multidiffusion (auquel cas l'adresse ressemblera à ; ). Modifiez cette valeur uniquement si l'ordinateur hôte n'est pas sur le réseau par défaut, puis utilisez l'adresse IP fournie par votre administrateur TIBCO Rendezvous. Port du démon de routage sur l'hôte TIBCO Rendezvous trouvé sur le réseau et identifié par l'attribut Réseau. Laissez cette zone vide pour utiliser le port par défaut Modifiez cette valeur uniquement si l'administrateur TIBCO Rendezvous vous attribue un autre port. Indique si l'agent est activé (contrôle des événements) ou désactivé (pas de contrôle des événements). Création d'un agent TIBCO Rendezvous Utilisez la procédure suivante pour créer un agent TIBCO Rendezvous. Pour créer un agent TIBCO Rendezvous : 1. Ouvrez la BAM Workbench Console d administration. 2. Cliquez sur Nouvel agent. 3. Choisissez TIBCO Rendezvous comme type de source. 4. Renseignez les champs qui définissent les attributs de l'agent. Enregistrez l'agent avec l'état activé pour qu'il commence immédiatement à rechercher des événements.

38 Agents Guide de référence du serveur Business Activity Monitoring Agents de services Web 38 Agents de services Web Un agent de service Web communique avec une application s'exécutant sur un serveur d'application Web dans le but de récupérer des données contextuelles. L'agent se connecte à l'application via une connexion HTTP, à l'aide du protocole SOAP (Simple Object Access Protocol). Remarque :les agents de services Web sont synchrones, ils récupèrent les données contextuelles, résultat d'une requête particulière comme le résume le tableau ci-dessous. Envoi d'événements Extraction d'événements Extraction de contexte Oui Non Oui Avant de créer un agent de service Web, vous devez : disposer d'une autorisation Création sur les agents (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260) ; connaître l'emplacement HTTP du fichier WSDL qui définit le service à utiliser. Notez que le service doit publier ses données dans une liaison SOAP ; la liaison RPC n'est pas prise en charge. Attributs des agents de services Web Un agent de service Web possède les attributs suivants : Attribut Nom Description Etat URL Nom d'utilisateur Mot de passe Description Identifie l'agent. Ce nom doit être unique parmi les agents. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Description facultative qui peut contenir tous les caractères de texte. Indique si l'agent est activé (contrôle des événements) ou désactivé (pas de contrôle des événements). Emplacement HTTP du fichier WSDL (Web service definition language) qui décrit le service, les données qu'il fournit et comment échanger des données avec le service. Les données renvoyées doivent être un message SOAP de style doc ; la liaison RPC n'est pas prise en charge. (facultatif) Nom d'utilisateur à saisir pour se connecter au service. Ce paramètre est transmis au serveur lorsqu'il requiert un nom d'utilisateur. (facultatif) Mot de passe de l'utilisateur à saisir pour se connecter au service. Ce paramètre est transmis au serveur lorsqu'il requiert un mot de passe. Création d'un agent de service Web Utilisez la procédure suivante pour créer un agent de service Web. Pour créer un agent de service Web : 1. Dans BAM Workbench, Console d administration, cliquez sur Nouvel agent

39 Agents Guide de référence du serveur Business Activity Monitoring Création d'un agent de service Web Sélectionnez Service Web comme type de source. 3. Renseignez les champs qui définissent les attributs de l'agent. Enregistrez l'agent comme étant activé, il sera ainsi prêt à récupérer des données.

40 4 Alertes Les alertes sont des notifications d'événements exceptionnels envoyées à des utilisateurs ou à des systèmes externes. Une alerte peut prendre la forme d'un simple message signalant l'événement ou d'informations plus détaillées indiquant la cause du problème ainsi que les lignes de conduite possibles. Chaque message d'alerte contient du texte décrivant l'incident exceptionnel à l'abonné. Ce texte apparaît dans BAM Workbench et sur tous les autres appareils identifiés par le profil de livraison de l'abonné. La présentation du message dépend de l'appareil sur lequel il est présenté à l'abonné. Ce chapitre comprend les sections suivantes : «Création d'alertes», page 41 «Attributs des alertes», page 42 «Objet et corps de texte d'un message», page 43 «Abonnés aux alertes», page 44 «Gestion des messages de notification d'alerte», page 45 «Etats des alertes», page 46 «Consolidation de plusieurs messages», page 47 «Configuration d'une alerte pour l'appel d'un service Web externe», page 47 «Tableaux récapitulatifs des alertes», page 50 «Filtrage des tableaux récapitulatifs», page 50 40

41 Alertes Guide de référence du serveur Business Activity Monitoring Création d'alertes 41 Création d'alertes Pour créer une alerte, vous devez disposer des autorisations suivantes : l'autorisation Création sur les activités commerciales (pour plus d'informations, reportez-vous à la section «Autorisation de création», page 260) ; autorisation en lecture et écriture sur l'activité commerciale contenant l'alerte ; autorisation en lecture seule sur la vue ou le cube qui alimente l'alerte. Le modeleur de scénario de BAM Workbench vous offre trois méthodes pour créer des alertes : alerte autonome ; alerte associée à une règle ; clonage d'une alerte existante. Pour créer une alerte autonome : 1. Sélectionnez une activité commerciale existante. 2. Sélectionnez un scénario existant destiné à contenir l'alerte. 3. Sélectionnez le dossier Alertes. 4. Cliquez sur le bouton Nouvelle alerte. 5. Choisissez la source de données qui alimentera l'alerte. Si le scénario a une vue par défaut, c'est celle-ci qui s'affiche par défaut. Pour choisir une autre source, cliquez sur Sélectionner une source de données. S'il s'agit d'une vue, choisissez la vue. S'il s'agit d'un cube, choisissez le niveau de dimension. Si vous le souhaitez, vous pouvez également appliquer un filtre limitant les données communiquées par le cube dans l'alerte. Si la source contient des données, celles-ci s'affichent et vous fournissent un échantillon de ce à quoi vous pouvez vous attendre. Si la source est vide, le formulaire contient uniquement des noms de colonne ainsi que le message «Aucune donnée disponible». 6. Renseignez les champs du formulaire Définition de l'alerte. Pour créer une alerte associée à une règle : 1. Suivez les instructions de la section «Création de règles», page Renseignez les champs de l'étape 2 sur 2 : formulaire Définition de l'alerte. Pour cloner une alerte existante : Copiez la définition d'une alerte existante dans une nouvelle alerte. 1. Modifiez l'alerte à cloner. 2. Changez le nom de l'alerte, ainsi que les autres attributs qui diffèrent de l'alerte d'origine. 3. Choisissez Enregistrer sous Nouvelle alerte.

42 Alertes Guide de référence du serveur Business Activity Monitoring Attributs des alertes 42 Attributs des alertes Remarque :Il est conseillé de modifier les paramètres de notification qui contrôlent le nombre maximal d'alertes pouvant être envoyées dans un intervalle de temps spécifié. Pour plus de détails, reportez-vous à la section «Configuration des limitations d alertes/notifications», page 106 du guide Utilisation de Celequest Application Workbench. Utilisation de LiveCycle Workflow Workbench. Chaque alerte comporte les attributs suivants : Attribut Nom de l'alerte Etat Description Identifie l'objet d'alerte. Ce nom ne peut comporter que des lettres et des chiffres. Il doit être propre à chaque alerte d'un même scénario. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Spécifie si la règle est activée (elle reçoit les informations sur les nouveaux événements) ou désactivée. Remarque :Si le scénario contenant l'alerte est désactivé, vous ne pouvez pas activer l'alerte. Vous devez activer le scénario pour pouvoir activer l'alerte. Importance Précision du niveau d'importance d'un message. Les valeurs possibles sont : ELEVE, NORMAL (par défaut) ou FAIBLE. Les messages arrivant dans BAM Dashboard sont classés dans le dossier correspondant à leur niveau d'importance. En outre, l'importance des courriers électroniques est signalée en conséquence par le champ d'en-tête «Importance» disponible en standard dans les messageries électroniques. Description Source de données Abonnés Objet Corps de texte Description facultative qui peut contenir tous les caractères de texte. Vue ou niveau de dimension d'un cube définissant les colonnes de l'alerte. Notez que cette source doit être identique à celle de la règle associée ou être dérivée de cette source, faute de quoi, l'alerte générée risque de contenir des informations incorrectes. Utilisateurs recevant l'alerte. Pour plus de détails, reportez-vous à la section «Abonnés aux alertes», page 44. Ligne de texte indiquant l'objet de l'alerte, semblable à la ligne d'objet d'un courrier électronique. Ce texte peut faire référence à des colonnes de la vue commerce sous-jacente. Corps de texte de l'alerte. Ce texte peut faire référence à des colonnes de la vue commerce sous-jacente et contenir des accusés de réception ainsi que des tableaux récapitulatifs. Pour plus de détails sur les accusés de réception, reportez-vous à la section Accusés de réception. Pour plus de détails sur les tableaux récapitulatifs, reportez-vous à la section «Tableaux récapitulatifs», page 295.

43 Alertes Guide de référence du serveur Business Activity Monitoring Objet et corps de texte d'un message 43 Objet et corps de texte d'un message Chaque message d'alerte contient du texte décrivant l'incident exceptionnel à l'abonné. Ce texte apparaît dans BAM Workbench et dans BAM Dashboard, ainsi que sur tous les autres appareils identifiés par le profil de livraison de l'abonné. La présentation du message dépend de l'appareil sur lequel il est présenté à l'abonné. Les attributs d'alerte Objet et Corps de texte définissent le texte du message. Ces attributs contiennent du texte statique ainsi que des champs. Lorsque l'alerte génère le message, elle remplace les champs par les valeurs des colonnes du même nom sur la ligne de la vue commerce ayant entraîné l'alerte. Prenons l'exemple de définition de message par défaut ci-après : Objet : AVERTISSEMENT -- Un client a ouvert un dossier-problème. Corps de texte : le client CUST_NAME de niveau TIER a ouvert un dossier-problème numéro TICKET. Lorsque l'alerte est activée, elle génère un message semblable au courrier électronique suivant : De : Business Activity Monitoring ES Date : 05/05/ :45:00 Objet : AVERTISSEMENT -- Un client a ouvert un ticket problématique Le client Untel de niveau ELEVE a ouvert un dossier-problème numéro Remarque :Vous pouvez inclure un code HTML valide dans le corps du message. Si vous faites référence à un objet externe, tel qu'un graphique, référencez-le par son emplacement sur un serveur HTTP ; ne faites pas référence à un fichier local, car ce dernier ne sera pas inclus dans le message.

44 Alertes Guide de référence du serveur Business Activity Monitoring Abonnés aux alertes 44 Abonnés aux alertes Lorsque vous définissez une alerte, vous pouvez également déclarer un ou plusieurs Utilisateurs comme destinataires de la notification d'alerte correspondante. Le bouton Ajouter/Supprimer situé en regard de la liste d'abonnés présentée par l'éditeur d'alerte vous permet de désigner les utilisateurs et Rôles qui devront recevoir l'alerte, ou d'identifier, dans la vue de l'alerte, les colonnes présentant des listes d'utilisateurs, de rôles ou d'adresses électroniques devant recevoir la notification. La boîte de dialogue Avertir les abonnés comporte deux onglets : L'onglet Inscription individuelle vous permet de choisir les utilisateurs et les rôles qui recevront la notification. Les abonnés obligatoires reçoivent toujours la notification. Ces utilisateurs ou rôles ne peuvent pas se désinscrire eux-mêmes de l'alerte dans BAM Dashboard ; ils doivent être supprimés à partir de cette boîte de dialogue. Les abonnés facultatifs reçoivent les notifications, mais peuvent se désinscrire au moyen de BAM Dashboard. L'onglet Inscription guidée par les données vous permet d'identifier les colonnes de la vue qui contiennent les noms ou adresses des utilisateurs ou les rôles destinés à recevoir la notification. Une colonne peut contenir soit une liste d'utilisateurs et de rôles, soit une listes d'adresses électroniques devant recevoir les notifications. Les listes de valeurs d'une colonne sont séparées les unes des autres

45 Alertes Guide de référence du serveur Business Activity Monitoring Gestion des messages de notification d'alerte 45 par une virgule ou par un point-virgule, et chacun des éléments peut être éventuellement indiqué entre guillemets ("). Remarque :Les inscriptions guidées par les données sont obligatoires : les utilisateurs, rôles et adresses électroniques inscrits n'ont pas la possibilité de se désinscrire. En outre, les utilisateurs faisant l'objet de ces inscriptions par l'intermédiaire d'une liste d'adresses électroniques ne les voient pas dans la liste d'inscriptions de BAM Dashboard. Lorsque la colonne contient plusieurs instances de la même adresse électronique, un seul message est envoyé. Toutefois, si les entrées diffèrent légèrement, un message est envoyé à chacune d'elles. Par exemple, les deux variations de la même adresse monnom@celequest.com et "Moi" <monnom@celequest.com> génèrent deux messages. Gestion des messages de notification d'alerte Les utilisateurs reçoivent les notifications d'alerte sur les appareils identifiés par leur profil de livraison, comme décrit à la section «Onglet Profils de livraison», page 339. Pour plus de détails sur l'utilisation du gestionnaire d'alertes de BAM Dashboard pour afficher et supprimer les notifications et s'inscrire à ces dernières, reportez-vous à la section «Interaction avec les alertes», page 47. Les alertes subsistent dans la liste du gestionnaire d'alertes jusqu'à ce qu'elles soient supprimées explicitement par l'utilisateur ou automatiquement par le système. Le système supprime les messages au bout du nombre de jours spécifié par l'administrateur système dans la boîte de dialogue Paramètres du système, comme décrit à la section «Utilisation des paramètres du système», page 95 de la documentation de BAM Workbench. Vous pouvez également contrôler le nombre maximal d'alertes pouvant être envoyées au cours d'un intervalle de temps spécifique. Pour plus de détails, reportez-vous à la section «Configuration des limitations d alertes/notifications», page 106 de la documentation de BAM Workbench.

46 Alertes Guide de référence du serveur Business Activity Monitoring Etats des alertes 46 Etats des alertes Business Activity Monitoring ES propose deux types d'alertes : Les alertes sans état sont des notifications uniques signalant l'existence d'une condition commerciale. Ces alertes sont envoyées lorsque la condition de règle est remplie. Par exemple, une alerte sans état peut envoyer une notification au responsable d'un entrepôt lorsque l'inventaire d'un produit tombe en deçà d'un seuil spécifique. Notez que chaque changement ultérieur des niveaux d'inventaire de ce produit entraîne également l'envoi d'une notification tant que l'inventaire demeure en dessous de ce seuil. Les alertes avec état présentent l'état lancé ou confirmé à la réception aussi longtemps que la condition commerciale existe, et l'état diminué lorsque la condition n'existe pas. Dans le cas d'une alerte avec état, le responsable d'un entrepôt reçoit une notification d'alerte lorsque l'inventaire tombe en deçà d'un seuil défini, et n'en reçoit pas d'autre jusqu'à ce que l'alerte soit diminuée, vraisemblablement lorsque les niveaux d'inventaire remontent au-dessus du seuil. Lorsque plusieurs intervenants sont concernés par une alerte, l'un d'eux peut choisir de gérer l'alerte lancée et d'en accuser réception. Il effectue cette opération en cliquant sur le lien Accuser réception situé dans le corps du message. Le créateur de l'alerte insère ce lien dans le corps du message au moment où il crée l'alerte. Pour plus de détails, reportez-vous à la section Accusés de réception. Etat diminué Règle Règle Action d'accusé de réception Règle Règle Etat diminué Etat confirmé àla réception Règle Règle En combinant une alerte avec état et une période Correspondant à, vous pouvez différer la notification. Par exemple, vous pouvez choisir de n'alerter le responsable d'un entrepôt que lorsque l'inventaire d'un produit est resté en deçà d'un seuil défini pendant une journée entière : dans ce cas, «la condition d'alerte correspond à 1 jour». De cette façon, le responsable ne reçoit aucune notification si l'inventaire tombe en dessous du seuil spécifié la veille même d'un réapprovisionnement. Escalade des alertes Vous pouvez contrôler l'état d'une alerte et générer de nouvelles alertes lorsque les conditions l'exigent. Par exemple, si une alerte n'a pas été traitée dans les délais, une nouvelle alerte peut être envoyée à des utilisateurs occupant un poste plus élevé dans la hiérarchie, entraînant ainsi l'escalade de l'alerte d'origine. Pour tester ces états, utilisez la fonction IS_RAISED. Pour plus de détails, reportez-vous à la section «Contrôle des alertes», page 307.

47 Alertes Guide de référence du serveur Business Activity Monitoring Consolidation de plusieurs messages 47 Consolidation de plusieurs messages Les événements contiennent parfois plusieurs lignes d'information. Lorsqu'un événement remplit une condition de règle, cette règle génère une alerte pour chacune des lignes de l'événement. Il est généralement préférable de n'envoyer qu'un seul message décrivant la totalité des alertes. Ce type de message est appelé alerte consolidée. Prenons l'exemple de l'introduction d'un nouveau bon de commande dans le système (événement). Si la quantité d'articles en stock est insuffisante pour le traitement de cette commande, il est possible de signaler cette condition à l'aide d'une alerte. Lorsque plusieurs articles de la commande n'existent pas en quantité suffisante dans le stock, chacun d'eux génère une nouvelle alerte. Si vous préférez n'envoyer qu'une seule notification à la place, utilisez une alerte consolidée. Pour créer une alerte consolidée : Sur le formulaire Créer une règle, cochez la case Consolider plusieurs messages à partir d'un même événement. Configuration d'une alerte pour l'appel d'un service Web externe Vous pouvez configurer un message d'alerte pour appeler un service Web externe. Cette procédure dans Business Activity Monitor nécessite que vous conceviez indépendamment une fonction Java empaquetée créant le message du service Web à partir de la charge utile de l'alerte. Plus précisément, cette fonction détermine les éléments de données de la charge utile de l'alerte qui sont mis en correspondance avec les entrées attendues par le service Web. Cette fonction est ensuite téléchargée dans Business Activity Monitor sous la forme d'une fonction définie par l'utilisateur (UDF). Le service Web est spécifié dans un profil de service Web qui appelle l'udf. Vous pouvez ensuite définir le profil de service Web en tant qu'abonné à l'alerte souhaitée. Remarque :La création de cette fonction requiert une grande connaissance de la programmation. Pour plus d'informations, consultez la section «A propos de la fonction définie par l'utilisateur associée au service Web», page 48. Pour configurer une alerte pour l'appel d'un service Web : 1. Créez une alerte, comme décrit à la section «Création d'alertes», page 41. Remarque :N'inscrivez aucun utilisateur à cette alerte pour le moment. Vous définirez des utilisateurs ultérieurement. 2. Créez une fonction chargée de concevoir le message du service Web à l'aide de certaines parties des données d'alerte et de les regrouper sous la forme d'un fichier JAR. Pour plus d'informations, consultez la section «A propos de la fonction définie par l'utilisateur associée au service Web», page Téléchargez le fichier JAR dans BAM Workbench sous la forme d'une fonction UDF. Pour plus d'informations, consultez la section «Création et utilisation d'une fonction UDF», page Créez un utilisateur, puis enregistrez-le. Remarque :vous devez créer et enregistrer l'utilisateur pour pouvoir modifier les propriétés du profil de tableau de bord par défaut.

48 Alertes Guide de référence du serveur Business Activity Monitoring Configuration d'une alerte pour l'appel d'un service Web externe Modifiez le paramétrage du nouvel utilisateur en procédant comme suit : Dans la boîte de dialogue Modifier l'utilisateur, cliquez sur l'onglet Profils de livraison. Ouvrez le profil de tableau de bord par défaut. Désélectionnez l'option Ajouter automatiquement ce profil... Cliquez sur OK. 6. Créez un profil utilisateur pour le nouvel utilisateur en procédant comme suit : Dans la boîte de dialogue Modifier l'utilisateur, sélectionnez l'onglet Profils de livraison. Cliquez sur le bouton Créer un nouveau profil. Dans le champ Type de profil de la boîte de dialogue qui s'affiche, sélectionnez Service Web. Dans le champ Nom du profil, entrez une valeur appropriée. Dans le champ URL du service Web, entrez le point limite du WSDL. Dans le champ Méthode, spécifiez la méthode (opération) à appeler dans le service Web. Renseignez les champs Nom d'utilisateur et Mot de passe en fonction des besoins. Dans le champ UDF, sélectionnez le fichier JAR que vous avez téléchargé pour l'appel de ce service Web. Assurez-vous que l'option Ajouter automatiquement ce profil... est désélectionnée. Cliquez sur OK. 7. Réaffichez la configuration de l'alerte que vous avez créée à l'étape Ajoutez en tant qu'abonné l'utilisateur que vous venez de créer. 9. Cliquez sur Enregistrer. L'envoi de l'alerte entraînera l'appel de ce service Web. A propos de la fonction définie par l'utilisateur associée au service Web La fonction que vous créez doit étendre la classe com.celequest.api.function.webservice. IAlertWSMessageConstructor. Cette fonction reçoit en entrée un élément DOM décrivant les données d'alerte générées par Business Activity Monitor et conforme au fichier alertmessage.xsd (inclus dans le répertoire $Business Activity Monitor_HOME$/samples). Elle génère en sortie un message AXIS contenant le SOAP (Simple Object Access Protocol) envoyé au service Web.

49 Alertes Guide de référence du serveur Business Activity Monitoring Configuration d'une alerte pour l'appel d'un service Web externe 49 Interface com.celequest.api.function.webservice.ialertwsmessageconstructor : package com.celequest.api.function.webservice; import com.celequest.api.function.*; import org.apache.axis.message; import org.w3c.dom.element; import java.lang.exception; public interface IAlertWSMessageConstructor extends IUDFunction { public Message constructmessage(element alertdata, String wsdluri, String soapoperation) throws Exception; }

50 Alertes Guide de référence du serveur Business Activity Monitoring Tableaux récapitulatifs des alertes 50 Tableaux récapitulatifs des alertes Les Tableaux récapitulatifs décrivent le contenu d'une vue et présentent ces informations dans un rapport joint au message d'alerte. Les tableaux récapitulatifs présentent souvent des informations qui replacent l'événement dans son contexte. Pour inclure des tableaux récapitulatifs dans le corps de la notification d'une alerte : 1. Ouvrez la boîte de dialogue Ajouter un tableau récapitulatif. 2. Sélectionnez le tableau récapitulatif dans la liste. 3. Choisissez OK pour l'ajouter à l'alerte. Envoyer en tant que Les alertes affichées dans BAM Dashboard incorporent le tableau récapitulatif sous la forme d'une table HTML en ligne. L'option Envoyer en tant que spécifie le format du tableau récapitulatif à joindre à la notification d'alerte envoyée aux profils d'inscription des utilisateurs. Vous pouvez incorporer le tableau récapitulatif dans le corps du message ou l'inclure en tant que pièce jointe dans l'un des formats disponibles. La section suivante, «Filtrage des tableaux récapitulatifs», page 50, décrit les options Données du tableau récapitulatif basées sur et Les données du tableau récapitulatif sont. Filtrage des tableaux récapitulatifs Lorsque vous créez le tableau récapitulatif, vous identifiez la vue ou le cube dont les données alimentent le tableau. Toutefois, les données qui s'affichent dans le tableau récapitulatif dépendent du type de la

51 Alertes Guide de référence du serveur Business Activity Monitoring Filtrage des tableaux récapitulatifs 51 source (sans état ou avec état) et du filtrage des lignes de données spécifié dans la boîte de dialogue Ajouter un tableau récapitulatif. En règle générale : L'option Données du tableau récapitulatif basées sur indique si la source avec état d'un tableau récapitulatif doit inclure les données reposant sur tous les événéments ou uniquement sur ceux qui ont rempli la condition de règle. L'option Les données du tableau récapitulatif sont indique si les lignes de la source du tableau récapitulatif doivent n'inclure que celles associées à l'événement ayant activé l'alerte, ou également toutes les données d'événements précédentes de la source. Pour mieux comprendre l'effet de ces paramètres sur les données du tableau récapitulatif, examinez les deux vues ci-après qui suivent et présentent les commandes de produits. La vue sans état OrderDetails est un résumé de chaque événement de commande, tandis que la vue avec état OrderAggregates assure le suivi de la quantité moyenne commandée pour chaque produit. SELECT prod_name,avg(ord_qty), COUNT(*) AS Ct FROM OrderDetails GROUP BY prod_name SELECT prod_name,ord_qty FROM OrderEvent,Product WHERE OrderEvent.prod_id= Product.prod_id Vue règle OrderDetails Vue tableau récapitulatif OrderAggregates SEND ALERT BigOrder WHEN ord_qty>3000 OrderEvent Product Examinez à présent les événements suivants : prod_name ord_qty nails 1000 plywood 1000 nails 4000 nails 4000 plywood 5000 Une fois les événements entrés dans le flux, la vue OrderAggregates comporte les valeurs suivantes : prod_name AVG(ord_qty) Ct nails plywood Par défaut, un rapport récapitulatif utilisant la vue OrderAggregates présente les détails des deux produits, quel que soit le produit associé à l'événement qui a généré l'alerte. En outre, même si les trois derniers événements ont rempli la condition de règle ord_qty supérieur à 3 000, le tableau récapitulatif affiche les résultats de tous les événements, ce qui ne correspond pas obligatoirement à ce que vous vouliez obtenir. Les deux options de filtrage de la boîte de dialogue Ajouter un tableau récapitulatif modifient les résultats en filtrant ceux qui sont présentés dans le tableau. L'activation de l'option Les données du tableau récapitulatif sont entraîne l'affichage de l'un des éléments suivants dans le tableau récapitulatif :

52 Alertes Guide de référence du serveur Business Activity Monitoring Option Données du tableau récapitulatif basées sur 52 toutes les données de la vue ou de la face du cube ; uniquement les données liées à l'événement identifié par la règle. Pour n'afficher que les données liées à l'événement, vous devez définir la relation existant entre la source de l'événement et celle du tableau récapitulatif. Par exemple, si vous souhaitez que le tableau récapitulatif n'affiche que le résultat de l'élément «product» dans les deux vues, définissez cette relation en sélectionnant la colonne prod_name dans les deux vues. Vous indiquez ainsi au tableau récapitulatif de ne présenter que les lignes de la vue OrderAggregates dont la valeur prod_name correspond au nom de produit dans la vue OrderDetails. En conséquence, le tableau récapitulatif n'affichera la valeur du produit «nails» que lorsque la règle générera l'alerte. prod_name AVG(ord_qty) Ct nails De la même façon, si vous travaillez avec la face d'un cube, vous devez sélectionner les colonnes identifiant le mieux l'événement pour le tableau récapitulatif. Par exemple, dans l'illustration ci-après, la colonne PROD_NAME de la vue règle est liée à la dimension PRODUCT du cube du tableau récapitulatif : Afficher les produits correspondant au produit lié à l'événement qui a déclenché l'alerte Une autre possibilité consiste à lier la gamme de produits au lieu du nom de produit. Dans ce cas, le tableau récapitulatif présente tous les produits appartenant à la même gamme que le produit ayant déclenché l'événement. Option Données du tableau récapitulatif basées sur L'option Données du tableau récapitulatif basées sur indique si une vue avec état doit inclure les données reposant sur tous les événéments ou uniquement sur ceux qui ont rempli la condition de règle. Selon l'exemple ci-dessus, la colonne AVG(ord_qty) de la vue OrderAggregates présente une valeur de pour le produit «nails» après le traitement des deux événements. Vous obtenez ce résultat lorsque cette option est paramétrée sur Données d'événements. Toutefois, la condition de règle indique de ne générer une alerte que lorsque la quantité de la commande est supérieure à Pour ne suivre que les événements ayant rempli cette condition, reparamétrez cette option sur Filtre de règle de données d'événements. Le tableau récapitulatif vous présente alors une valeur moyenne de car cette valeur correspond à la moyenne des deux événements supérieurs à

53 Alertes Guide de référence du serveur Business Activity Monitoring Option Données du tableau récapitulatif basées sur 53 Exemple Les illustrations ci-après présentent les résultats des vues correspondant aux données d'exemple lorsque vous utilisez les deux options de filtrage du tableau récapitulatif. Notez que le premier événement ne répond pas aux critères du filtre de règle et n'apparaît donc pas dans ces vues. Evénements prod_name ord_qty nails 1000 Données d'événements Toutes les données de la vue tableau récapitulatif prod_name ord_qty Ct nails Uniquement les données liées à l'événement (prod_name) prod_name ord_qty Ct nails Filtre de règle de données d'événements (ord_qty>3000) prod_name ord_qty Ct prod_name ord_qty Ct Le deuxième événement ne répond pas non plus aux critères du filtre de règle. Notez cependant que la vue qui présente les données liées à l'événement ne contient plus désormais que l'événement «plywood». Evénements prod_name ord_qty nails 1000 plywood 1000 Données d'événements Toutes les données de la vue tableau récapitulatif prod_name ord_qty Ct nails plywood Uniquement les données liées à l'événement (prod_name) prod_name ord_qty Ct plywood Filtre de règle de données d'événements (ord_qty>3000) prod_name ord_qty Ct prod_name ord_qty Ct Le troisième événement répond aux critères du filtre de règle et apparaît donc dans les vues ci-après. Une fois de plus, le produit «nails» est le produit apparaissant dans les vues liées à l'événement. Evénements prod_name ord_qty nails 1000 plywood 1000 nails 4000 Données d'événements Toutes les données de la vue tableau récapitulatif prod_name ord_qty Ct nails plywood Uniquement les données liées à l'événement (prod_name) prod_name ord_qty Ct nails Filtre de règle de données d'événements (ord_qty>3000) prod_name ord_qty Ct nails prod_name ord_qty Ct nails

54 Alertes Guide de référence du serveur Business Activity Monitoring Option Données du tableau récapitulatif basées sur 54 Le troisième événement lié au produit «nails» répond lui aussi aux critères du filtre de règle. Evénements prod_name ord_qty nails 1000 plywood 1000 nails 4000 nails 4000 Données d'événements Toutes les données de la vue tableau récapitulatif prod_name ord_qty Ct nails plywood Uniquement les données liées à l'événement (prod_name) prod_name ord_qty Ct nails Filtre de règle de données d'événements (ord_qty>3000) prod_name ord_qty Ct nails prod_name ord_qty Ct nails Le dernier événement modifie de nouveau les vues liées à l'événement. Notez que la vue supérieure gauche présente tous les événements, tandis que la vue inférieure gauche ne contient que les événements répondant aux critères du filtre de règle. Evénements prod_name ord_qty nails 1000 plywood 1000 nails 4000 nails 4000 plywood 5000 Données d'événements Filtre de règle de données d'événements (ord_qty>3000) Toutes les données de la vue tableau récapitulatif prod_name ord_qty Ct nails plywood prod_name ord_qty Ct nails plywood Uniquement les données liées à l'événement (prod_name) prod_name ord_qty Ct nails prod_name ord_qty Ct nails

55 5 Activités commerciales Une activité commerciale est un ensemble de scénarios possibles identifiant des conditions commerciales exceptionnelles. Chaque scénario contient des règles identifiant des conditions potentielles spécifiques, ainsi que des alertes et des tableaux récapitulatifs à envoyer au personnel clé dès que la condition est remplie. Activité commerciale Scénario Règle Règle Règle Alerte Tableau récapitulatif Scénario Règle Alerte Les activités commerciales sont des ensembles de scénarios possibles. Les scénarios identifient des conditions exceptionnelles dans une activité commerciale. Pour pouvoir créer des scénarios, des règles, des alertes ou des tableaux récapitulatifs, vous devez disposer d'au moins une activité commerciale. Conseils : La suppression d'une activité commerciale supprime les scénarios qu'elle contient, ainsi que tous les objets de ces scénarios. La désactivation d'une activité commerciale désactive les scénarios, les règles, les alertes et les tableaux récapitulatifs qu'elle contient. Ce chapitre comprend les sections suivantes : «Création d'activités commerciales», page 56 «Attributs des activités commerciales», page 56 «Suppression d'activités commerciales», page 56 55

56 Activités commerciales Guide de référence du serveur Business Activity Monitoring Création d'activités commerciales 56 Création d'activités commerciales Vous devez disposer d'une autorisation en création pour les activités commerciales (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260). Pour créer une activité commerciale : 1. Ouvrez le modeleur de scénario. 2. Cliquez sur Nouvelle activité commerciale. 3. Renseignez les champs de la boîte de dialogue Nouvelle activité commerciale. Attributs des activités commerciales Chaque scénario possède les attributs suivants : Attribut Nom Etat Description Description Identifie l'activité commerciale. Ce nom ne peut comporter que des lettres et des chiffres. et doit être unique parmi les activités commerciales et les utilisateurs ; un utilisateur ne peut pas avoir le même nom qu'une activité commerciale. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Indique si l'activité commerciale est activé (réception d'informations sur les nouveaux événements) ou désactivé. Lorsqu'une activité est désactivée, tous les objets qu'elle contient le sont également, notamment les règles, les alertes et les tableaux récapitulatifs. Description facultative qui peut contenir tous les caractères de texte. Suppression d'activités commerciales Vous devez disposer d'une autorisation en lecture et en écriture pour les activités commerciales. Remarque :la suppression d'une activité commerciale supprime les scénarios qu'elle contient, ainsi que tous les objets de ces scénarios. Pour supprimer une activité commerciale : 1. Ouvrez le modeleur de scénario. 2. Dans l'arborescence, sélectionnez le dossier Activités commerciales. 3. Dans la liste des activités commerciales, sélectionnez l'activité à supprimer. 4. Cliquez sur Supprimer l'activité commerciale.

57 6 Contexte Les contextes prennent en charge le traitement d'événements en communiquant des informations pertinentes sur les événements. Les contextes correspondent aux informations commerciales stockées dans des bases de données et des entrepôts de données ou fournies par des Services Web. Les tables contextuelles reçoivent leurs données de la part des Agents qui savent communiquer avec les sources d'information. Lorsque vous définissez une table contextuelle, vous indiquez également à l'agent comment identifier les informations de la source. Ce chapitre comprend les sections suivantes : «Fonctionnement», page 58 «Création de tables contextuelles», page 59 «Modification des tables contextuelles», page 60 «Limitations de la colonne contextuelle dans les requêtes», page 60 «Mise en cache des requêtes de contexte», page 62 57

58 Contexte Guide de référence du serveur Business Activity Monitoring Fonctionnement 58 Fonctionnement Lorsqu'une vue commerce requiert des informations sur le contexte, elle base sa recherche sur certaines des informations qu'elle contient déjà. Par exemple, la vue qui traite un bon de commande peut recevoir un code produit avec les données d'événements. Si la vue requiert également les fournisseurs du produit, elle récupère les noms de fournisseur dans une table contextuelle contenant les noms correspondant au code produit. Dans la définition de cette vue, une clause WHERE lie la table contextuelle à l'événement, comme ci-après : WHERE event.product_id = context.suppliers_of_product_id Lorsque la vue effectue cette liaison, elle transmet le code produit provenant de l'événement à la table contextuelle. Si les données du fournisseur correspondant se trouvent déjà dans la mémoire cache du contexte, la table utilise ces données et les transmet à la vue commerce. Si les données ne figurent pas dans la mémoire, l'id est transmise à un agent, en tant que requête SQL ou valeur de procédure enregistrée, qui envoie les données au SGBD ou service Web pour traitement. Le résultat de la requête est ensuite chargé dans la table contextuelle, puis inclus dans la vue commerce. Vue commerce Données de la requête La table contextuelle contient des données qui correspondent à certaines ID de la vue. Les données sont récupérées dans une mémoire cache mais leur origine est une source externe, telle qu'un SGBD. Mémoire cache du contexte Requête de contexte Table d'événements Table contextuelle Lignes des résultats Agent Source du contexte La source du contexte peut correspondre à des bases de données accessibles par l'intermédiaire d'un JDBC ou à des applications commerciales accessibles par le biais de Services Web. Pour plus de détails sur ces types de sources, reportez-vous aux sections «Tables JDBC», page 216 ou «Contexte de service Web», page 371.

59 Contexte Guide de référence du serveur Business Activity Monitoring Création de tables contextuelles 59 Création de tables contextuelles Chaque table contextuelle comporte un attribut de nom, de description et d'état, ainsi qu'un agent. Ces éléments sont décrits dans le tableau suivant : Attribut Nom Description Etat Agent Description Identifie la table et correspond au nom accessible aux Vues commerce qui dépendent de cette table. Ce nom doit être unique parmi les vues, les événements, le contexte et les événements consolidés. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. (Facultative) Description de la table. Indique si l'objet est activé (peut recevoir et transmettre des données) ou désactivé (ne peut ni recevoir ni transmettre de données). Agent chargé de récupérer les informations de contexte et de transmettre ces dernières à l'objet d'événement ou de contexte. Pour plus de détails sur les types d'agents, reportez-vous à la section «Agents», page 23. Désactiver le contexte lorsque le nombre d'erreurs consécutives est atteint Nombre d'erreurs consécutives pouvant se produire avant que le système ne désactive ce contexte. Une fois désactivé, un contexte doit être réactivé manuellement. Pour créer une table contextuelle, vous devez disposer d'une autorisation en création pour les tables (reportez-vous à la section «Autorisation de création», page 260) et d'un accès en lecture seule à l'agent qui alimente la table. Pour créer une table contextuelle : 1. Ouvrez l'onglet BAM Workbench. 2. Cliquez sur Nouveau contexte. 3. Choisissez le type de source. Chaque type comporte des attributs qui lui sont propres. Pour plus de détails, reportez-vous aux sections suivantes : «JDBC», page 215 «Services Web», page Renseignez les champs du formulaire Nouveau contexte. Enregistrez la table avec l'état activé. Elle sera ainsi prête à recevoir un contexte.

60 Contexte Guide de référence du serveur Business Activity Monitoring Modification des tables contextuelles 60 Modification des tables contextuelles La modification des attributs d'une table contextuelle entraîne la perte de l'état de l'objet et invalide éventuellement les vues dépendantes. Par exemple, si vous supprimez une colonne, toutes les vues ou règles faisant référence à cette colonne deviennent incorrectes. (Toutefois, si vous redéfinissez la colonne dans la table, les vues dépendantes redeviennent automatiquement valides.) Pour modifier une table contextuelle, vous devez disposer d'une autorisation en lecture et en écriture pour les tables (reportez-vous à la section «Droits d'accès», page 257) et d'un accès en lecture seule à l'agent qui alimente la table. Pour modifier une table contextuelle : 1. Ouvrez l'onglet BAM Workbench. 2. Sélectionnez l'objet d'événement ou de contexte. 3. Choisissez Modifier ce contexte. 4. Modifiez les définitions dans le formulaire Modifier ce contexte. Notez que chacun des types comporte des attributs qui lui sont propres. Pour plus de détails, reportez-vous aux sections suivantes : «JDBC», page 215 «Services Web», page 367 Enregistrez la table avec l'état activé ; elle devient ainsi prête à recevoir des événements ou un contexte. Limitations de la colonne contextuelle dans les requêtes Le contexte peut être récupéré sans limitations à partir de la source d'une requête JDBC. Cependant, les limitations ci-dessous s'appliquent lors d'une récupération à partir d'une source de procédure enregistrée JDBC ou du service Web : Lorsque la colonne du contexte est référencée dans une requête, elle doit s'afficher, quelque part dans la clause WHERE ou la clause FROM, dans une expression d'égalité et uniquement comme prédicat atomique (aucun autre opérateur du même côté du signe égal). Par exemple, l'expression ci-après est autorisée : WHERE context_column = 10*event_column Par contre, l'expression ci-dessous est interdite car le prédicat du côté gauche, qui contient la colonne du contexte, est une expression comprenant un opérateur (/) : WHERE context_column/10 = event_column La référence atomique requise ne peut pas s'afficher dans une expression disjointe (OR). L'expression suivante échoue : WHERE (context_column = event_column OR A > B) Cependant, elle peut s'afficher dans une expression conjointe (AND) : WHERE (context_column = event_column AND A > B)

61 Contexte Guide de référence du serveur Business Activity Monitoring Limitations de la colonne contextuelle dans les requêtes 61 Si la requête contient au moins une référence d'égalité, vous pouvez utiliser la colonne d'une autre manière. Par exemple, les deux requêtes ci-après sont autorisées : WHERE (context_column = event_column AND context_column/10 = other_event_column) WHERE ((context_column = event_column AND context_column >= other_event_colum) OR (A > B)) Par contre, l'expression ci-dessous échoue car la requête ne contient pas de référence d'égalité : WHERE context_column >= event_column L'expression d'égalité requise ne doit pas référencer une autre colonne du contexte dans la même table. Par exemple : t1.context_column = t1.other_context_column Cependant, l'expression d'égalité peut référencer une colonne du contexte dans une autre table, par exemple : t1.context_column = t2.other_context_column Limitations avec Sybase Lorsque vous envoyez une requête à une base de données Sybase, tenez compte des limitations suivantes : Tous les noms, tables et colonnes incluses, sont sensibles à la casse. Toutes les requêtes doivent se présenter uniquement sous la forme SELECT * FROM table ; vous ne pouvez inclure aucune clause SELECT. Pour filtrer les résultats, chargez-les dans une vue commerce, puis filtrez cette vue.

62 Contexte Guide de référence du serveur Business Activity Monitoring Mise en cache des requêtes de contexte 62 Mise en cache des requêtes de contexte La mise en cache vous permet de stocker en mémoire les résultats des requêtes de contexte. Les requêtes d'informations déjà demandées récupèrent les résultats stockés en mémoire plutôt que d'interroger le SGBD avec une nouvelle requête. Lorsque la mise en cache est active et qu'une vue requiert un contexte, elle recherche d'abord dans la mémoire cache. Si la mémoire cache ne contient pas les données recherchées, Business Activity Monitoring ES transmet une requête à la base de données si la mise en cache sur demande est activée ; toutefois, si la mise en cache de prélecture est activée, Business Activity Monitoring ES envoie une requête au cache de prélecture. (Pour plus de détails sur ces méthodes de mise en cache, reportez-vous aux sections Mise en cache sur demande et Mise en cache de prélecture.) La mémoire cache du contexte est configurée à l'aide des paramètres suivants : Mettre les données de ce contexte en cache Cette option détermine la mise en cache ou non des résultats de la requête de contexte dans la mémoire cache des requêtes les plus récentes. Pour définir les autres paramètres, vous devez avoir activé cette option. Lorsque vous sélectionnez ce paramètre, vous devez également ajouter un calendrier d'invalidation au moins. Activer la prélecture Cette option vous permet d'activer ou de désactiver la prélecture du contexte. Lorsque vous activez cette option, la totalité de la table contextuelle externe est mise en mémoire cache à partir de la source de données externe et remplace la source des requêtes externe. Nombre de résultats à mettre en cache Ce paramètre détermine le nombre de résultats d'une requête à mettre en mémoire cache. Chaque résultat peut contenir une ou plusieurs lignes de contexte lié à l'événement. Calendrier d'invalidation Ce paramètre identifie les dates d'invalidation de la mémoire cache et de suppression de toutes les informations qu'elle contient. Mise en cache sur demande La mise en cache sur demande se produit lorsque vous avez sélectionné l'option Mettre les données de ce contexte en cache sur l'onglet Mise en cache des données et que vous n'avez pas sélectionné Activer la prélecture. La mise en cache sur demande crée une mémoire cache des requêtes les plus récentes qui gère les résultats sur une base LRU (Least Recently Used, fréquence d'utilisation moindre). Cette mémoire cache enregistre la date à laquelle chaque résultat a été requis. Une fois pleine, la mémoire cache conserve les

63 Contexte Guide de référence du serveur Business Activity Monitoring Mise en cache de prélecture 63 lignes demandées le plus récemment et efface les lignes les plus anciennes. Si les données requises ne se trouvent pas dans la mémoire cache des requêtes les plus récentes, elles sont récupérées à partir de la source de données externe. Remarque :Les lignes contenant des données souvent requises sont conservées le plus longtemps dans la mémoire cache des requêtes les plus récentes pour réduire l'impact sur la base de données. Toutefois, si les informations changent régulièrement, définissez un calendrier d'invalidation pour prendre en compte les modifications et invalider ainsi la mémoire cache. Lorsqu'une invalidation planifiée se produit, la mémoire cache des requêtes les plus récentes est effacée et mise à jour avec les requêtes ultérieures. Si les données contextuelles changent rarement, il est préférable d'invalider moins souvent la mémoire cache des requêtes les plus récentes. Par exemple, si le contexte est relativement statique, vous pouvez invalider la mémoire cache une fois par semaine ou par mois. Si, au contraire, la base de données contextuelles est mise à jour tous les soirs, vous pouvez choisir d'invalider quotidiennement la mémoire cache des requêtes les plus récentes pour prendre en compte les toutes dernières données. Vous obtiendrez de meilleures performances avec la mise en cache sur demande qu'en l'absence d'une mise en cache. Toutefois, vous pouvez encore améliorer les performances en utilisant la mise en cache de prélecture. Mise en cache de prélecture Lorsque vous activez le cache de prélecture, la totalité de la table contextuelle externe est mise en mémoire cache à partir de la source de données externe et remplace la source des requêtes externe. Le fonctionnement de la mémoire cache des requêtes les plus récentes est décrit à la section précédente, Mise en cache sur demande. Toutefois, si les données requises ne se trouvent pas dans la mémoire cache des requêtes les plus récentes, elles sont cette fois récupérées à partir du cache de prélecture, et non à partir de la source de données externe. Lorsqu'une invalidation se produit conformément au calendrier d'invalidation que vous avez défini, la mémoire cache des requêtes les plus récentes est effacée et une requête est transmise à la source de données externe pour mettre à jour la copie en mémoire de la table contextuelle. La mémoire cache des requêtes les plus récentes est mise à jour avec les requêtes ultérieures à partir du cache de prélecture. Lorsque vous activez le cache de prélecture, prenez en compte les points suivants : La quantité de mémoire utilisée est plus importante car les informations de la source de données externe sont stockées en mémoire et un index est créé pour chaque colonne. Le cache de prélecture n'est mis à jour qu'au moment de l'invalidation planifiée. Si les données requises ne se trouvent pas dans le cache de prélecture, aucune donnée n'est renvoyée. Les mises à jour de la source de données externe ne sont reflétées dans le cache de prélecture qu'après l'invalidation planifiée suivante. Si une exception survient, le cache de prélecture effectue 5 tentatives d'actualisation du calendrier d'invalidation. Si l'actualisation échoue à partir de la source de données externe, la mémoire cache des requêtes les plus récentes est alors utilisée jusqu'à l'actualisation planifiée suivante.

64 7 Cubes Un cube est un ensemble de données organisées par dimensions et mesures, et ce, dans le but de rassembler différents sous-ensembles d'un plus grand ensemble de données. Lorsqu'ils prennent la forme d'un Objet de tableau de bord, les cubes vous permettent de sélectionner rapidement des catégories qui «filtrent» les données afin d'afficher des résultats conformes à votre sélection. Par exemple, un cube de données «ventes» peut fournir des agrégations des mêmes données par produit, heure ou par dimension de région de vente. En regardant le cube, vous pouvez choisir d'afficher le total des ventes d'un produit (Nails (Clous)) pour une région donnée (West (Ouest)) au cours d'un trimestre fiscal (Q1 (T1)) : West Q1 January Hardware Nails 120,000 West Q1 March Hardware Nails 98, Total En outre, en supprimant rapidement la spécification de la dimension Product, vous demandez à voir la totalité des ventes pour cette région et ce trimestre : West Q1 January Hardware Nails 120,000 West Q1 March Hardware Nails 98,000 West Q1 March Hardware Screws 97,000 West Q1 January Lumber Studs 137, Total Ou la totalité des ventes au cours du mois de mars : West Q1 March Hardware Nails 98,000 West Q1 March Hardware Screws 97,000 East Q1 March Lumber Plywood 92,000 South Q1 March Hardware Nails 98, Total Ou encore la totalité des ventes de la gamme de produits Lumber pour la région West : West Q1 January Lumber Studs 137, Total Remarque :pour plus de détails sur la visualisation et l'utilisation des données de cube, reportez-vous aux sections Exemple : détails du graphique d un cube et Tables de cubes du guide Utilisation de Dashboard. Ce chapitre comprend les sections suivantes : «Mesures», page 64 «Dimensions», page 65 «Création de cubes», page 66 Mesures Les mesures correspondent aux valeurs centrales agrégées et analysées. Dans les exemples ci-dessus, Total sales correspond à la valeur agrégée. Dans chacun de ces exemples, la valeur «Total» mesure la somme de 64

65 Cubes Guide de référence du serveur Business Activity Monitoring Dimensions 65 toutes les ventes de l'ensemble. Les mesures sont effectuées à l'aide des fonctions C-SQL Set, telles que SUM, AVG, MIN, MAX, STD_DEVIATION et VARIANCE. Pour plus de détails sur les mesures, reportez-vous à la section «Colonnes Mesure», page 66. Dimensions Une dimension est un ordre de classement qui, pour chacun des niveaux du plus élevé au plus bas, décrit des ensembles de données associées plus petits et plus distincts. Dans les exemples fournis au début de ce chapitre, la région d'activité constitue un niveau d'une dimension géographique, les colonnes trimestre et mois correspondent à chacun des niveaux d'une dimension temporelle, et les gammes et noms de produit font partie d'une dimension d'inventaire. Dans la dimension temporelle, les mois constituent des sous-ensembles des trimestres fiscaux, de même que le nom de produit correspond à un sous-ensemble du niveau Gamme de produit. Le tableau ci-après présente quelques exemples de dimensions : Heure Géographie Inventaire Sécurité Taxinomie année trimestre mois semaine jour heure minute continent pays région état département ville arrondissement classement type fabricant modèle configuration type évaluation entreprise cusip royaume phylum classe ordre famille genre espèce Pour plus de détails sur les dimensions, reportez-vous à la section «Dimensions», page 83. Remarque :Vous pouvez limiter l'accès des utilisateurs aux données du cube à l'aide d'un filtre d'accès. Pour plus d'informations, consultez la section «Filtres d'accès», page 15.

66 Cubes Guide de référence du serveur Business Activity Monitoring Création de cubes 66 Création de cubes Les cubes sont semblables aux vues commerce, dans le sens où ils rassemblent des données d'événements, mais ils le font sur plusieurs dimensions. La vue qu'un cube agrège est une table Fait : une vue ou table d'événements à l'intérieur d'un flux d'événements qui contient une ou plusieurs colonnes à mesurer (agréger) et qui contient aussi des colonnes qui identifient les éléments dimensionnels associés à l'événement. Vous pouvez par exemple imaginer une table Fait contenant un événement semblable à celui-ci : Cost Quantity Product State Month Nails California January Toutefois, en pratique, les éléments dimensionnels sont stockés dans des Dimensions (tables contextuelles spéciales) et référencés par ID, comme suit : Cost Quantity prod_id region_id ddim_id Cette illustration montre un cube conçu à partir de la table Fait OrderDetails (Détails de la commande) qui mesure le total des ventes sur plusieurs régions, produits et durées : OrderCube SUM(prod_cost*order_qty) OrderDetails Products Location DateTime order_id prod_id region_id ddim_id order_qty prod_id total_sale prod_id prod_name prod_family region_id region_name region_state region_city ddim_id ddim_year ddim_qtr ddim_mon ddim_week ddim_dom ddim_dname Pour définir un cube : 1. Choisissez la table Fait et les colonnes à mesurer. 2. Indiquez la façon dont les mesurer (formules agrégées à utiliser). 3. Choisissez une ou plusieurs dimensions classant les mesures. Colonnes Mesure Les colonnes Mesure définissent les agrégations calculées par le cube. Un cube doit disposer d'au moins une colonne Mesure. Chaque colonne Mesure définit une expression qui contient une fonction C-SQL Set agrégeant d'autres colonnes de la table Fait. Ainsi, pour déterminer le «total des ventes» de la table Fait OrderDetails (Détails de la commande), une colonne Mesure sera définie de la sorte : SUM(OrderDetails.prod_cost*OrderDetails.order_qty) AS TotalOrderSales

67 Cubes Guide de référence du serveur Business Activity Monitoring Colonnes Dimension 67 Colonnes Dimension Les colonnes Dimension classent les mesures. Un cube doit disposer d'au moins une dimension. De plus, les données présentes dans la table Fait doivent pouvoir identifier un élément unique dans chaque dimension associée. Pour plus d'informations, consultez la section «Dimensions», page 83. (Notez que tandis que le terme mathématique «cube» implique trois dimensions, le cube d'une base de données peut en comporter un nombre illimité, mais une dimension au minimum.) Prérequis Avant de créer un cube, vous devez : Créer une autorisation pour les Vues, Cubes et Dimensions. Disposer au moins d'un accès en lecture seule d'une table Fait existante (vue commerce). Disposer d'au moins un accès en lecture seule aux Dimensions à inclure. Pour plus de détails, reportez-vous à la section «Création de dimensions», page 88. Disposer d'une dimension avec l'option Catégories géo activée si vous prévoyez d'utiliser le cube pour des graphiques géographiques. Procédure de création La procédure ci-après décrit la création d'un cube. Pour créer un cube : 1. Ouvrez l'onglet Workbench de BAM Workbench, sélectionnez le dossier Cubes, puis cliquez sur Nouveau cube. 2. Identifiez un nom et indiquez, éventuellement, une description du cube. 3. Choisissez la table Fait contenant les données à mesurer ainsi que les colonnes permettant d'identifier les éléments de dimension. 4. Définissez une ou plusieurs Colonnes Mesure. Pour définir une colonne, cliquez sur Ajouter une colonne Mesure. Nommez la colonne dans le champ Nom de la mesure. Utilisez une fonction C-SQL Set pour définir la formule de la mesure dans le champ Expression agrégée. La fonction doit se rapporter à une colonne de la table Fait. Par exemple, l'expression SUM() ci-après totalise le produit des colonnes Cost (Coût) et Quantity (Quantité) : SUM(OrderDetails.prod_cost*OrderDetails.order_qty) Pour plus de détails sur les expressions C-SQL, reportez-vous à la section «Formules», page Définissez une ou plusieurs Colonnes Dimension. Pour définir une colonne, cliquez sur Ajouter une dimension.

68 Cubes Guide de référence du serveur Business Activity Monitoring Colonnes Dimension 68 Choisissez la dimension à inclure dans la liste déroulante de la colonne Dimension. Cette liste répertorie toutes les dimensions pour lesquelles vous disposez d'un accès en lecture seule au moins. Identifiez les colonnes clés dans la dimension et dans la table Fait. Pour plus de détails sur les clés, reportez-vous à la section «Colonnes clés», page 87. Le type de données correspondant à la clé de la table Fait doit être identique à celui de la clé de la dimension (table contextuelle). Vous ne pouvez pas, par exemple, mélanger les nombres entiers avec les nombres décimaux ; il faut utiliser l'un ou l'autre. 6. Enregistrez le cube et vous pourrez l'utiliser immédiatement pour commencer à concevoir des objets de tableau de bord.

69 8 Types de données Business Activity Monitoring ES et C-SQL prennent en charge les types de données SQL-99 ci-après ainsi que leur sémantique. Chacun de ces types de données est décrit en détail dans les sections suivantes de cette documentation : C-SQL Type de données BOOLEAN DECIMAL DOUBLE PRECISION INTEGER INTERVAL TIMESTAMP VARCHAR Catégorie de type de données Booléen Numérique Numérique Numérique Date-heure Date-heure Chaîne C-SQL offre différentes méthodes pour convertir les données d'un type en un autre type. Pour plus de détails, reportez-vous à la section «Conversion des types de données», page 70. Ce chapitre comprend les sections suivantes : «Conversion des types de données», page 70 «Numérique», page 71 «Chaîne», page 74 «Date-heure», page 75 «Booléen», page 82 69

70 Types de données Guide de référence du serveur Business Activity Monitoring Conversion des types de données 70 Conversion des types de données Business Activity Monitoring ES vous offre deux moyens de convertir des valeurs d'un type de données vers un autre : conversion explicite et conversion implicite. Conversion explicite N'importe quel argument C-SQL peut contenir la commande CAST() pour convertir le type de données d'une valeur. Par exemple, vous pouvez convertir une chaîne de chiffres en une valeur numérique et utiliser le résultat en tant qu'argument de FLOOR() : FLOOR( CAST( ' ' AS DECIMAL) ) Conversion implicite C-SQL tente automatiquement de convertir un type de données en un type adéquat pour l'argument dans lequel la valeur est utilisée. Par exemple, si C-SQL rencontre la valeur VARCHAR dans l'argument FLOOR(), il la convertit automatiquement en une valeur numérique DOUBLE PRECISION avant de tronquer les décimales. Par exemple : FLOOR( ' ' ) << Implicit cast to DOUBLE PRECISION. De la même façon, lorsqu'une valeur d'un type de données est comparée à une valeur d'un autre type, C-SQL commence par convertir l'une des valeurs pour lui attribuer le même type de données que l'autre. Dans l'exemple ci-après, C-SQL convertit la chaîne VARCHAR en une valeur BOOLEAN avant d'évaluer l'expression : 'true' = TRUE << Implicit cast to BOOLEAN. Le contexte se répercute également sur la conversion. Par exemple, étant donné que l'opérateur arithmétique d'addition ci-après attend des arguments numériques, et bien que les deux valeurs soient des caractères, ces dernières sont d'abord converties en valeurs numériques : '2' + '3' Ordre de priorité << Both cast to numeric to match operator data type. Remarque :si la valeur n'est pas convertible dans le type requis, l'expression produira un message d'erreur type de données incorrect. Le tableau ci-après présente les types de données convertibles, ainsi que l'ordre de priorité affecté à chacune des conversions possibles, où zéro (0) indique la priorité la plus élevée et un million ( ) la priorité la plus faible : Vers\Depuis VARCHAR BOOLEAN TIMESTAMP DOUBLE PRECISION DECIMAL INTEGER VARCHAR ,000,000 1,000,000 BOOLEAN 1 0 TIMESTAMP 2 0 DOUBLE PRECISION

71 Types de données Guide de référence du serveur Business Activity Monitoring Numérique 71 Vers\Depuis VARCHAR BOOLEAN TIMESTAMP DOUBLE PRECISION DECIMAL INTEGER DECIMAL INTEGER Dans l'exemple de comparaison fourni à la section précédente (Conversion implicite), C-SQL convertit la valeur VARCHAR en une valeur BOOLEAN car le niveau de priorité de cette conversion est de 1, contrairement à la conversion du type BOOLEAN en type VARCHAR dont le niveau de priorité est de 10. De la même façon, dans l'exemple FLOOR(" "), C-SQL convertit la chaîne en valeur DOUBLE PRECISION car le niveau de priorité de ce type de données est plus élevé que celui du type DECIMAL, bien que ce dernier type semble plus adéquat pour cette valeur. Pour plus de détails sur la conversion des types de données C-SQL, reportez-vous aux descriptions des différents types. Numérique C-SQL comporte trois types de données pour les valeurs numériques. Type Description Bits Valeur minimale Valeur maximale INTEGER Nombre entier signé 32-2,147,483,648 2,147,483,647 DECIMAL Décimal 1 chiffres Le nombre total de chiffres du type DECIMAL avant et après le séparateur decimal est de chiffres Le nombre total de chiffres du type DECIMAL avant et après le séparateur decimal est de 256. DOUBLE PRECISION Virgule flottante IEEE / E-324 +/ E-308 Le nombre total de chiffres du type DECIMAL avant et après le séparateur decimal est de 256. Pour exprimer une valeur DOUBLE PRECISION sous la forme d'un littéral, utilisez une notation scientifique, telle que 1e24. Types de données tiers Le type de données numérique C-SQL correspond aux types de données ci-après dans les autres systèmes : Système tiers Types de données numériques C-SQL/JDBC INTEGER DECIMAL DOUBLE PRECISION Java Entier BigDecimal double Oracle Number(p=38) Number(p=38) Number(p=38)

72 Types de données Guide de référence du serveur Business Activity Monitoring Combinaison de types numériques 72 Système tiers Types de données numériques SQL-Server Int(32 bit) Decimal(p=38) Numeric(p=38) Money(64bit) SmallMoney(32bit) Sybase Int(32 bit) Decimal(p=38) Numeric(p=38) Money(64bit) SmallMoney(32bit) double real(4 bytes) double real(4 bytes) MySQL TINYINT SMALLINT MEDIUMINT INT, INTEGER BIGINT DECIMAL NUMERIC DOUBLE REAL PostgreSQL SMALLINT INT, INTEGER BITINT DECIMAL NUMERIC DOUBLE PRECISION REAL (p = précision) Combinaison de types numériques Lorsque vous combinez deux types numériques distincts, le résultat obtenu est du type doté du niveau de priorité le plus élevé selon la section «Ordre de priorité», page 70. Par exemple, l'addition d'une valeur INTEGER et d'une valeur DECIMAL produit un total de type DECIMAL. La conversion d'un nombre fractionnaire en nombre entier tronque la fraction (en arrondissant la valeur au chiffre inférieur) pour produire le résultat attendu. Par exemple, la conversion d'une valeur DOUBLE PRECISION en valeur INTEGER tronque la partie fractionnaire de la valeur. Conversion de types numériques La conversion de valeurs numériques en types dotés d'une taille de stockage distincte est autorisée à condition que la cible ait une capacité suffisante pour contenir le résultat ; dans le cas contraire, la conversion échoue et renvoie un message d'erreur du type «Valeur hors limites». Par exemple, toute tentative d'insertion d'un type de valeur à virgule flottante dans un emplacement doté d'une taille de stockage plus restreinte génère une erreur. Conversion en chaîne Lors de la conversion de valeurs numériques en chaînes, tenez compte des points suivants : Dans le cas d'un nombre DECIMAL, des zéros sont ajoutés à cette valeur décimale de façon à correspondre à la précision et à l'échelle définies pour la colonne. Par exemple, si une colonne est définie avec une précision de 5 et une échelle de 4, la valeur 1.1 de la colonne devient Pour les nombres à DOUBLE PRECISION, le «e» est converti en majuscule. Par exemple, +1e11 est converti en 1.0E11.

73 Types de données Guide de référence du serveur Business Activity Monitoring Précision décimale des résultats 73 Précision décimale des résultats Tous les nombres décimaux se composent de deux éléments : Conversion Précision Nombre de chiffres à gauche et à droite du signe décimal. Le nombre maximal est de 256 et le nombre minimal est de 1. Echelle Nombre de chiffres de la partie fractionnaire. Ce nombre est inférieur ou égal à la précision. Lorsqu'aucune échelle n'est spécifiée, la valeur par défaut est de 2. Dans les cas où une valeur est dotée d'une échelle ou d'une précision supérieure à celle de la valeur de stockage cible, telle qu'un champ de base de données doté d'une précision plus réduite, Business Activity Monitoring ES tronque la valeur décimale et arrondit le résultat à la valeur inférieure pour l'adapter à la capacité de la cible. Lorsque vous convertissez une valeur décimale, vous pouvez déclarer la précision et l'échelle de la façon suivante : DECIMAL( précision, échelle ) Par exemple : CAST( ' ', DECIMAL(5,4) ) --> En cas de conversion des valeurs décimales d'une colonne sous forme de chaîne, des zéros sont ajoutés aux valeurs décimales de façon à correspondre à l'échelle. Par exemple, si une colonne est définie avec une précision de 5 et une échelle de 4, la conversion implicite de la valeur 1.1 de la colonne en une chaîne produit le résultat Multiplication Division Dans une multiplication, la précision résultante est la somme des précisions, et l'échelle correspond à la somme des échelles. PrecisionResult = MIN( PrecisionLeft+PrecisionRight, 256 ) ScaleResult = MIN( ScaleLeft+ScaleRight, 256) Par exemple, le résultat de (4.55*1.414) présente la précision 7 (3+4) et l'échelle 5 (2+3). Dans une division, les résultats sont les suivants : ScaleResult = MIN(MAX((ScaleLeft+PrecisionRight-ScaleRight+1),2), 256) PrecisionResult = MIN((PrecisionLeft + ScaleRight + ScaleResult), 256) Par exemple, le résultat de (4.55/1.414) présente l'échelle 4 (2+4-1) et la précision 10 (3+3+4).

74 Types de données Guide de référence du serveur Business Activity Monitoring Addition et soustraction 74 Addition et soustraction Dans une addition ou une soustraction, les résultats sont les suivants : Autres fonctions PrecisionResult = MIN( (MAX( PrecisionLeft - ScaleLeft, PrecisionRight - ScaleRight) + MAX( ScaleLeft, ScaleRight ) + 1), 256) ScaleResult = MAX( ScaleLeft, ScaleRight ) Pour toutes les autres fonctions et opérations, le résultat est déterminé par les valeurs dotées de la précision et de l'échelle maximales (il peut s'agir de la même valeur). PrecisionResult = MIN( MAX( Precision[i] ), 256) ScaleResult = MIN( MAX( Scale[i] ), 256) Chaîne Le type de données C-SQL VARCHAR conserve les valeurs de chaîne de caractères. Type Description Caractères de remplissage Taille minimale Taille maximale VARCHAR Longueur variable Non 1 caractère (par défaut), peut avoir la valeur Null. Nombre de caractères illimité. Notez que vous obtenez une erreur si vous tentez de stocker une valeur dans un SGBD plus volumineux que la taille de la colonne définie dans la table. Largeur des chaînes Bien que la taille maximale des valeurs de chaîne soit illimitée, évitez de dépasser 255 caractères car cette limite est imposée par un grand nombre de systèmes de gestion de base de données. Toutefois, pour optimiser les performances, simplifier le stockage des données et faciliter les comparaisons de chaînes, il est conseillé de déclarer une largeur maximale appropriée lors de la définition d'une colonne VARCHAR. Cette largeur doit être suffisamment importante pour prendre en charge la longueur maximale de n'importe quelle chaîne résultante insérée dans le champ. Tout texte plus long que la largeur maximale sera tronqué lors du stockage de la chaîne.

75 Types de données Guide de référence du serveur Business Activity Monitoring Types de données tiers 75 Types de données tiers Le type de chaîne C-SQL/JDBC VARCHAR correspond aux types de données ci-après dans les autres systèmes : Java Oracle SQL-Server Sybase MySQL PostGreSQL Chaîne Char Varchar Varchar2(4k) Varchar(8k) Varchar(8k) CHAR VARCHAR BINARY VARBINARY BLOB ENUM SET CHAR[n] VARCHAR[n] Concaténation de chaînes Pour concaténer deux chaînes, utilisez l'instruction CONCAT() ou l'opérateur. Pour plus de détails, reportez-vous à la section «CONCAT», page 123. Littéral de chaîne Pour exprimer une chaîne sous la forme d'un littéral, indiquez le texte entre apostrophes ( ). Pour insérer une apostrophe à l'intérieur du texte, entrez deux apostrophes ; par exemple : 'Couldn''t' renvoie : Couldn t Conversion de chaînes dans d'autres types de données Lorsque vous combinez une chaîne avec un type de données différent ou que vous exprimez une chaîne à un emplacement destiné à un autre type de données, la chaîne est automatiquement convertie dans le nouveau type en fonction des indications de la section «Ordre de priorité», page 70. De plus : Date-heure Tous les espaces de début et de fin sont supprimés. Si la chaîne contient un caractère ou une mise en forme non valide, une erreur survient. Un caractère non valide est un caractère inapproprié pour le type de données cible. Par exemple, vous ne pouvez pas convertir la chaîne bonjour en une valeur de type INTEGER. Une mise en forme non valide est une mise en forme non cohérente avec la définition d'une valeur de donnée littérale du type cible. Par exemple, pour qu'une chaîne puisse être implicitement convertie en un type de données TIMESTAMP, la chaîne source doit être contenue dans le format de date C-SQL par défaut. Pour plus de détails sur la mise en forme des chaînes pour les types de données date-heure, reportez-vous à la section Reportez-vous à la section «Date-heure», page 75.. Les types de données date-heure stockent des données de date et d'heure sous la forme d'une valeur unique (nombre). Il n'existe aucune fonctionnalité permettant d'accéder directement à une date-heure sous la forme de sa représentation numérique interne. Pour offrir un accès pertinent aux valeurs

76 Types de données Guide de référence du serveur Business Activity Monitoring Conversion des valeurs date/heure en chaînes et vice versa 76 date/heure, C-SQL propose en revanche différentes fonctions de manipulation des valeurs, ainsi que des structures littérales permettant de représenter les valeurs dans des expressions. Fonction Littéral TIMESTAMP Littéral INTERVAL Description Représentation d'une valeur date/heure sous la forme d'une chaîne de caractères. Il peut s'agir de n'importe quelle combinaison d'année, de mois, de jour, d'heures, de minutes, de secondes et de secondes fractionnaires. Représentation d'un intervalle sous la forme d'une chaîne de caractères : plage de temps composée d'années et de mois ou de jours, d'heures, de minutes et de secondes. Remarque :les valeurs date/heure appartiennent au fuseau horaire des paramètres régionaux du serveur exécutant Business Activity Monitoring ES. Conversion des valeurs date/heure en chaînes et vice versa Pour convertir une valeur date/heure en chaîne de caractères (VARCHAR), utilisez TO_CHAR() ; pour convertir une chaîne en une valeur date/heure, utilisez TO_DATE(). Ces deux fonctions vous permettent de définir le format de la chaîne. En insérant un Littéral TIMESTAMP dans une chaîne, un argument convertit automatiquement la valeur en une chaîne en utilisant le format de date-heure par défaut, à savoir «yyyy-mm-dd hh:mm:ss.sss». Pour plus de détails sur les conversions entre les valeurs date/heure et les chaînes, reportez-vous à la section «Conversion des types de données», page 70. Comparaison des valeurs date/heure Une valeur date/heure est stockée de façon interne sous la forme d'un nombre représentant la date-heure en millisecondes. Vous devez donc faire preuve de prudence lorsque vous comparez deux valeurs date/heure. Par exemple, la comparaison ci-après n'est vraie que si les deux dates comportent exactement le même nombre de millisecondes : first_date = second_date Si une granularité exacte n'a pas d'importance, envisagez de commencer par convertir les valeurs date/heure en chaînes représentant uniquement la partie date : TO_CHAR(first_date,"yyyy-MM-dd") = TO_CHAR(second_date,"yyyy-MM-dd") Notez que selon la section «Ordre de priorité», page 70, la comparaison d'une chaîne avec une valeur date/heure commence par convertir la chaîne en date-heure avant le début de la comparaison. Examinez l'exemple ci-après dans lequel birth_date est une valeur date/heure. Si la valeur birth_date est associée à une heure, la comparaison ne sera jamais vraie : ' ' = birth_date Une comparaison plus exacte consiste à convertir la valeur birth_date en une chaîne n'indiquant aucune heure : ' ' = TO_CHAR( birth_date, "yyyy-mm-dd" )

77 Types de données Guide de référence du serveur Business Activity Monitoring Arithmétique appliquée aux valeurs date/heure 77 Arithmétique appliquée aux valeurs date/heure Les fonctions DATE_ADD() et DATE_DIFF() additionnent et soustraient des intervalles d'années, de mois, de jours, d'heures, de minutes et de secondes dans des valeurs date/heure. Pour plus de détails, reportez-vous aux descriptions de ces fonctions. Toutefois, certaines clauses de requête nécessitent un Littéral INTERVAL (décrit ci-après). Types de données tiers Le type de données date-heure C-SQL correspond aux types de données ci-après dans les autres systèmes : Système tiers C-SQL/JDBC Java Oracle SQL-Server Sybase MySQL PostgreSQL Type date-heure Date-time Date Time Timestamp Date(YMDHMS) Datetime (YMDHMS.xx) SmallDateTime (YMDHMS) Datetime (YMDHMS.xx) SmallDateTime (YMDHMS) DATE DATETIME TIMESTAMP TIME YEAR TIMESTAMP Littéral TIMESTAMP Le littéral TIMESTAMP représente une valeur date/heure sous la forme d'une chaîne de caractères. Pour exprimer une valeur date/heure sous la forme d'une valeur littérale, faites précéder les données du préfixe «TIMESTAMP» et indiquez la totalité des données entre apostrophes ( ) ; par exemple : TIMESTAMP ' :45:23.123' Le format de cette chaîne est «yyyy-mm-dd hh:mm:ss.sss», où les valeurs S (les secondes fractionnaires) sont facultatives et dotées d'une précision comprise entre zéro et neuf chiffres. Pour plus de détails sur les caractères de mise en forme, reportez-vous à la section «Mise en forme du type date-heure», page 80. Littéral INTERVAL Un littéral INTERVAL identifie une plage de temps composée d'années et de mois (intervalles année-mois) ou de jours, d'heures, de minutes et de secondes (intervalles jour-heure). Vous ne pouvez pas combiner un intervalle année-mois et un intervalle jour-heure dans une même déclaration d'intervalle. Les intervalles

78 Types de données Guide de référence du serveur Business Activity Monitoring Littéral INTERVAL 78 sont appliqués aux valeurs date/heure pour le calcul d'une plage de temps à partir de cette instance. Ils sont généralement utilisés dans les expressions pour équilibrer les colonnes date-heure et les littéraux TIMESTAMP, notamment en cas de déclaration de la plage à partir d'une date ou d'une heure dans les Fenêtres de requêtes. Par exemple, la fenêtre de requête ci-après totalise tous les événements survenus au cours de la dernière heure (implicitement appliquée à l'heure d'arrivée du tout dernier événement ) : SUM(Qty) AS Total_Of_Qty OVER (RANGE INTERVAL '1' HOUR PRECEDING) Lors de l'application d'un intervalle à une valeur date/heure, l'intervalle est ajouté à cette valeur ou retranché de cette dernière. Par exemple, si la date-heure du jour correspond au 5 mars 2003 à 19 h 45, l'ajout d'un intervalle d'une année à cette date renvoie la valeur 5 mars 2004 à la même heure. Notez que les opérations arithmétiques appliquées au calendrier suivent les règles du calendrier grégorien (pour plus de détails, reportez-vous à la section «DATE_DIFF», page 129). Intervalles année-mois Une valeur INTERVAL année-mois utilise l'un des champs de date-heure YEAR ou MONTH, ou combine les deux. Les définitions possibles sont les suivantes : INTERVAL 'yy' YEAR[(<précision>)] INTERVAL 'mm' MONTH[(<précision>)] INTERVAL 'yy mm' YEAR[(<précision>)] TO MONTH[(<précision>)] Les exemples ci-après définissent des intervalles de 3 ans et 10 mois respectivement : INTERVAL '3' YEAR INTERVAL '10' MONTH Vous pouvez définir un intervalle d'années fractionnaire en exprimant le résultat en nombre total de mois, tel que 46 mois, ou en combinant le champ. Par exemple, pour identifier un intervalle de 3 ans et 10 mois : INTERVAL '3-10' YEAR TO MONTH Notez que vous pouvez définir une valeur de zéro (0) pour l'un ou l'autre champ. Chacun des intervalles ci-après est de 2 ans : INTERVAL '2-0' YEAR TO MONTH INTERVAL '1-12' YEAR TO MONTH INTERVAL '0-24' YEAR TO MONTH Précision des intervalles année-mois L'argument <précision> est un standard ANSI qui déclare le nombre maximal de chiffres du nombre entier. La <précision> par défaut est de 2. Dans ce cas, les deux déclarations d'intervalles de 100 mois ci-après échoueront : INTERVAL '100' MONTH(2) << ERROR, precision is less than value size. INTERVAL '100' MONTH << ERROR, default precision is 2. Pour utiliser plus de 2 chiffres, déclarez la précision de la façon suivante : INTERVAL '100' MONTH(3) Si vous utilisez les deux champs, n'appliquez la précision qu'au champ YEAR ; le champ MONTH applique une précision par défaut de 2. Par exemple, la déclaration ci-après est erronée car le mois excède la valeur par défaut. INTERVAL ' ' YEAR(3) TO MONTH << ERROR, month is 3 digits

79 Types de données Guide de référence du serveur Business Activity Monitoring Littéral INTERVAL 79 Intervalles jour-heure Une valeur INTERVAL jour-heure est constituée d'une combinaison de jours, d'heures, de minutes et de secondes. Les définitions possibles sont les suivantes (.nn constituant la partie fractionnaire d'une seconde) : INTERVAL 'dd' DAY INTERVAL 'dd hh' DAY TO HOUR INTERVAL 'dd hh:mm' DAY TO MINUTE INTERVAL 'dd hh:mm:ss[.nn ]' DAY TO SECOND INTERVAL 'hh' HOUR INTERVAL 'hh:mm' HOUR TO MINUTE INTERVAL 'hh:mm:ss[.nn ]' HOUR TO SECOND INTERVAL 'mm' MINUTE INTERVAL 'mm:ss[.nn ]' MINUTE TO SECOND INTERVAL 'ss[.nn ]' SECOND Voici quelques exemples d'intervalles jour-heure : INTERVAL '27 23:59: ' DAY TO SECOND INTERVAL '100 10:10' DAY(3) TO MINUTE Précision des intervalles jour-heure Chacun des champs de jour-heure comporte également un argument de précision, par exemple : MINUTE(<précision>) L'argument <précision> est un standard ANSI qui déclare le nombre maximal de chiffres du nombre entier. La <précision> par défaut est de 2 (sauf pour les secondes fractionnaires dont la précision par défaut est de 9 ; pour plus de détails, voir ci-dessous). Dans ce cas, les deux déclarations d'intervalles de 100 heures ci-après échoueront : INTERVAL '100' HOUR(2) << ERROR, precision is less than value size. INTERVAL '100' HOUR << ERROR, default precision is 2. Pour utiliser plus de 2 chiffres, déclarez la précision de la façon suivante : INTERVAL '100' HOUR(3) Pour déclarer la précision de la valeur SECOND avec une partie fractionnaire, définissez deux valeurs de précision en les séparant par une virgule. Examinez les exemples ci-après : INTERVAL '12.345' SECOND(2, 3) INTERVAL ' ' SECOND(2, 9) INTERVAL ' ' SECOND Notez que les deux derniers exemples ci-dessus ont le même effet car la précision par défaut est de (2, 9) pour la valeur SECOND. Si vous utilisez plusieurs champs, n'exprimez la précision que sur le premier champ. Les champs restants utilisent leur valeur par défaut. Par exemple, la précision de l'exemple ci-après ne s'applique qu'aux minutes et ne se répercute pas sur les secondes fractionnaires : INTERVAL '100: ' MINUTE(3) TO SECOND

80 Types de données Guide de référence du serveur Business Activity Monitoring Mise en forme du type date-heure 80 Mise en forme du type date-heure Les fonctions TO_CHAR() et TO_DATE() comportent toutes deux des arguments définissant le format de la chaîne date-heure. La chaîne du modèle de format de date est identique à celle utilisée par la classe Java SimpleDateFormat, qui utilise les lettres ci-après dans les modèles : Lettre Composant date-heure Présentation Exemples G Indicateur de l'ère Texte Apr. J.-C. y Année Année 1996; 96 M Mois de l'année Mois Juillet ; Juil. ; 07 w Semaine de l'année Nombre 27 W Semaine du mois Nombre 2 D Jour de l'année Nombre 189 d Jour du mois Nombre 10 F Jour de la semaine dans le mois Nombre 2 E Jour de la semaine Texte Mardi ; Mar. a Marqueur matin/après-midi Texte PM H Heure du jour (0 à 23) Nombre 0 k Heure du jour (1 à 24) Nombre 24 K h Heure en présentation 12 h (0 à 11) Heure en présentation 12 h (1 à 12) Nombre 0 Nombre 12 m Minutes Nombre 30 s Secondes Nombre 55 S Fraction de seconde (un S renvoie toujours un nombre entier de 0 à 9 chiffres) Nombre 978 ' Texte d'échappement Délimiteur '' Guillemet simple Littéral ' Certaines lettres produisent différents résultats selon le nombre de lettres consécutives dans le format. Le résultat final correspond à la valeur la plus fidèle au modèle. Dans le cas des nombres, si le modèle est plus long que la valeur, des zéros (0) sont ajoutés au début du résultat. Pour plus de détails, reportez-vous aux exemples du Tableau 1 : Exemples de modèles de date et d'heure.

81 Types de données Guide de référence du serveur Business Activity Monitoring Mise en forme du type date-heure 81 Les exemples fournis dans le tableau ci-après, modifiés à partir de la documentation sur la classe Java SimpleDateFormat, présentent la façon dont les modèles de date et d'heure sont interprétés dans les paramètres régionaux nord-américains. La date et l'heure utilisées en exemple correspondent au :08:56, heure locale aux Etats-Unis, fuseau horaire du Pacifique. Tableau1 : Exemples de modèles de date et d'heure Modèle de date et d'heure Résultat 'd M yy' 'dd MM yy' 'ddd MMM yyy' 004 aoû 2001 'dddd MMMM yyyy' 0004 août 2001 "yyyy.mm.dd G 'at' HH:mm:ss z" AD at 12:08:56 PDT "EEE, MMM d, ''yy" Sam, aoû 4, '01 "h:mm a" "hh 'o''clock' a, zzzz" "K:mm a, z" "yyyyy.mmmmm.dd GGG hh:mm aaa" 12:08 PM 12 o'clock PM, Heure avancée du Pacifique 0:08 PM, PDT août.04 AD 12:08 PM "EEE, d MMM yyyy HH:mm:ss Z" Sam, 4 aoû :08: "yymmddhhmmssz"

82 Types de données Guide de référence du serveur Business Activity Monitoring Booléen 82 Booléen C-SQL suit l'utilisation SQL-99 de la logique à trois valeurs (TRUE, FALSE et UNKNOWN) pour prendre en charge la sémantique des valeurs NULL. Par exemple : WHERE OnSale IS TRUE WHERE (Age >= 21) IS UNKNOWN Lorsque vous utilisez des opérateurs booléens pour évaluer la vérité d'une expression, les valeurs sont évaluées conformément aux tables de vérité ci-après : Table de vérité pour NOT NOT TRUE FALSE UNKNOWN FALSE TRUE UNKNOWN Table de vérité pour AND AND TRUE FALSE UNKNOWN TRUE TRUE FALSE UNKNOWN FALSE FALSE FALSE FALSE UNKNOWN UNKNOWN FALSE UNKNOWN Table de vérité pour OR OR TRUE FALSE UNKNOWN TRUE TRUE TRUE TRUE FALSE TRUE FALSE UNKNOWN UNKNOWN TRUE UNKNOWN UNKNOWN Table de vérité pour IS IS TRUE FALSE UNKNOWN TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE UNKNOWN FALSE FALSE TRUE Remarque :la valeur TRUE est supérieure à la valeur FALSE dans les comparaisons.

83 9 Dimensions Les dimensions sont des ordres de classement de données associées et sont utilisées par les cubes pour classer des mesures. Ces mesures sont classées par niveau et par valeur. Ce chapitre comprend les sections suivantes : «Que sont les dimensions?», page 84 «Hiérarchie de niveaux», page 84 «Noms d'alias», page 85 «Trier par», page 85 «Catégories géographiques», page 86 «Colonnes clés», page 87 «Création de dimensions», page 88 83

84 Dimensions Guide de référence du serveur Business Activity Monitoring Que sont les dimensions? 84 Que sont les dimensions? Une dimension est un ordre de classement qui, pour chacun des niveaux, du plus élevé au plus bas, décrit des ensembles de données associées de plus en plus petits. Le tableau ci-après présente quelques exemples de dimensions dans lesquels le niveau supérieur de chaque liste contient l'ensemble d'éléments associés le plus vaste, tandis que le niveau inférieur contient l'ensemble d'éléments le plus réduit et le plus spécifique : Heure Géographie Inventaire Sécurité Taxinomie année trimestre mois semaine jour heure minute continent pays région état département ville arrondissement classement type fabricant modèle configuration type évaluation entreprise cusip royaume phylum classe ordre famille genre espèce Les Cubes classent les mesures par dimension, puis par niveau et par valeur dans chaque dimension Par exemple, une dimension d'emplacement peut filtrer les résultats pour afficher les mesures relatives à toutes les villes d'un état. L'illustration ci-après présente plusieurs emplacements filtrés par nom d'état, ce qui restreint les mesures à trois villes seulement : East East Central Central Central West West West West South South New York R. Island Missouri Ohio Texas Nevada California California California Florida Georgia Rochester Tug Hollow Parman Toledo Austin Reno Lodi Ojai Pasadena Wallaby Ranch Rising Fawn Les dimensions tirent leurs valeurs des tables contextuelles : chaque niveau de dimension constitue une colonne de la table, et chaque ligne correspond à un élément de dimension unique. Dans l'exemple illustré ci-dessus, les noms de région apparaissent dans une colonne, les états dans une autre et les villes dans une troisième. Lorsque vous créez une dimension, vous identifiez la table contextuelle source existante ainsi que les colonnes à inclure, puis vous organisez les colonnes dans la hiérarchie de niveaux. Hiérarchie de niveaux La hiérarchie de niveaux permet d'accéder à un niveau de dimension supérieur ou inférieur dans les cubes. Lorsqu'un utilisateur visualise les données d'un niveau, il peut choisir de consulter le niveau de mesures immédiatement supérieur ou inférieur. Par exemple, si l'utilisateur examine les résultats relatifs à un état, il peut choisir d'accéder au niveau supérieur pour afficher la mesure portant sur tous les états de la région. Il

85 Dimensions Guide de référence du serveur Business Activity Monitoring Noms d'alias 85 a également la possibilité de cliquer sur les résultats pour obtenir les résultats associés à chacune des villes de l'état. La hiérarchie de niveaux définit les niveaux de la dimension. L'illustration ci-après présente quatre colonnes du fichier source, mais seulement trois de ces colonnes contiennent des données de niveau de dimension. Ces trois colonnes sont sélectionnées et organisées dans la hiérarchie, depuis le niveau le plus général jusqu'au niveau le plus spécifique. Remarque :Si vous avez sélectionné l'option Utiliser ceci pour les graphiques géographiques, une colonne Catégories géo s'affiche. Pour plus d'informations sur les catégories géographiques, reportez-vous à la section «Catégories géographiques», page 86. Noms d'alias Après avoir identifié les colonnes, vous pouvez en option affecter des noms d'alias que les utilisateurs verront lorsqu'ils travailleront avec le cube. L'illustration ci-après présente les noms d'alias de niveau de filtre tels qu'ils apparaissent dans le Tableau de bord. Noms d'alias vus par les utilisateurs lorsqu'ils choisissent les niveaux de filtre dans le cube. Trier par Dans BAM Dashboard, les valeurs de dimension sont présentées dans l'ordre dans lequel elles ont été triées (défini par le serveur). Par exemple, une liste de noms de mois apparaît dans l'ordre alphabétique, c'est-à-dire en commençant par April et en finissant par September, et non dans l'ordre chronologique. Pour définir un autre ordre, utilisez le champ Trier/colonne. Ce champ identifie une autre colonne

86 Dimensions Guide de référence du serveur Business Activity Monitoring Catégories géographiques 86 contenant les valeurs à utiliser pour le tri. Par exemple, au lieu d'utiliser la colonne correspond au nom de mois, utilisez la colonne du numéro de mois, comme illustré ci-après. Tri par défaut par nom de mois Tri par numéro de mois En outre, si le champ Trier/colonne vous présente plusieurs valeurs correspondant à une seule valeur de la dimension, l'ordre de tri sera configuré sur la valeur minimale du champ Trier/colonne. Si tel est le cas, sélectionnez avec soin la colonne à utiliser pour trier les valeurs. Par exemple, l'utilisation des noms de mois comme ordre de tri pour les trimestres risquerait de produire des résultats imprévisibles car les mois seraient triés par ordre alphabétique et non par ordre numérique. Catégories géographiques Les catégories géographiques permettent d'utiliser des informations géographiques dans les cubes. Le paramétrage d'une catégorie géographique spécifie le niveau de précision utilisé par BAM Dashboard pour la colonne. Par exemple, si une colonne contient des noms d'état ou de province, vous devez lui affecter la catégorie géographique Etat/Province. Les catégories disponibles sont les suivantes : Non utilisé Pays Etat/Province Ville Rue Code postal Utilisez la catégorie Non utilisé pour une colonne que vous ne souhaitez pas représenter sur un graphique géographique ou qui ne correspond à aucune des catégories disponibles. Par exemple, une colonne REGION_NAME contenant des données telles que North, South, East et West ne peut pas être associée à

87 Dimensions Guide de référence du serveur Business Activity Monitoring Colonnes clés 87 l'un des emplacements géographiques proposés ; vous devriez donc lui affecter la catégorie géographique Non utilisé. Catégories géographiques à affecter aux colonnes Colonnes clés Pour utiliser le contexte en tant que dimension, vos données d'événement doivent identifier l'élément de dimension unique (ligne) auquel elles appartiennent. Dans les données contextuelles d'emplacement, la valeur la plus unique de chaque élément correspond au nom de ville ; toutefois, bien que ce nom soit utilisable à des fins d'identification, il est préférable d'utiliser un numéro pour des raisons de performances. En conséquence, les données contextuelles des emplacements doivent être identifiées par un nombre entier, comme ci-après : region_id region_name region_state region_city West Nevada Reno 2 South Texas Austin 3 East New York Rochester 4 Central Ohio Toledo 5 West California Pasadena... La table Fait qui fournit la valeur à mesurer pour le cube inclut alors également cette valeur clé pour identifier la dimension associée. Par exemple, l'enregistrement de commande ci-après est associé à Ojai, California, dans la région West : order_id region_id total_sales Remarque :Le type de données correspondant à la clé de la table Fait doit être identique à celui de la clé de la dimension (table contextuelle). Vous ne pouvez pas, par exemple, mélanger les nombres entiers avec les nombres décimaux ; il faut utiliser l'un ou l'autre. Lorsque vous définissez la dimension, identifiez un ou plusieurs champs clés utilisables pour déterminer le niveau spécifique. Vous pouvez choisir une colonne ne correspondant pas déjà à un niveau de dimension, car les niveaux sont automatiquement supposés constituer des clés potentielles. L'illustration ci-après ne présente qu'une seule colonne, REGION_ID, car toutes les autres colonnes de la dimension sont affectées à des niveaux. Lorsque vous définissez le cube par la suite, identifiez la colonne clé de la dimension correspondant à la clé de la table Fait. Dans cet exemple, elles portent le même nom ; toutefois, ceci ne

88 Dimensions Guide de référence du serveur Business Activity Monitoring Création de dimensions 88 constitue pas une obligation. En outre, vous pouvez affecter un nom d'alias à la colonne pour en faciliter l'identification. Identification des clés dans l'éditeur de dimension Mise en correspondance des dimensions avec les faits dans l'éditeur de cube Pour plus de détails sur la définition des cubes, reportez-vous à la section «Création de cubes», page 66. Création de dimensions Avant de créer une dimension, vous devez : Créer une autorisation pour les Vues, Cubes et Dimensions. disposer d'au moins un accès en lecture seule à la table de Contexte fournissant les éléments de dimension. Remarque :Pour des performances optimales, activez la mise en cache pour la table contextuelle. Lorsque la mise en cache est désactivée, les performances des cubes sont susceptibles d'être fortement ralenties. Pour plus d'informations sur le contrôle de la mémoire cache, consultez la section «Mise en cache des requêtes de contexte», page 62. Pour créer une dimension : 1. Ouvrez l'onglet Workbench de BAM Workbench, sélectionnez le dossier Dimensions, puis cliquez sur Nouvelle dimension. 2. Identifiez un nom et entrez éventuellement une description de la dimension. 3. Choisissez la table contextuelle contenant les éléments de dimension. 4. (Facultatif) Sélectionnez l'option Utiliser ceci pour les graphiques géographiques si vous prévoyez d'implémenter des graphiques géographiques. Cette opération ajoute une colonne Catégories géo à la liste Champs sélectionnés. 5. Définissez les niveaux de la hiérarchie : Ajoutez des champs à la hiérarchie sélectionnés dans la liste Champs disponibles. Classez les niveaux de l'ensemble du plus grand (en haut) au plus petit (en bas). Identifiez une ou plusieurs colonnes clés à inclure. Affectez éventuellement des Noms d'alias aux niveaux.

89 Dimensions Guide de référence du serveur Business Activity Monitoring Création de dimensions 89 Si vous le souhaitez, affectez des catégories géographiques à chacun des niveaux si vous avez coché la case Utiliser ceci pour les graphiques géographiques. Les catégories disponibles sont les suivantes : Non utilisé Pays Etat/Province Ville Rue Code postal Enregistrez la dimension pour pouvoir l'utiliser immédiatement dans les Cubes.

90 10 Evénements Les événements génèrent un traitement interne Business Activity Monitoring ES. Il s'agit de données produites par des applications commerciales externes qui enregistrent les transactions, identifient les modifications relatives à l'état de l'activité et regroupent les détails des activités commerciales. Business Activity Monitoring ES reçoit les événements dans des tables d'événements. Les vues commerce reposant sur les tables agrègent ensuite les informations d'événement et génèrent les Règles qui recherchent des conditions commerciales exceptionnelles. Ce chapitre comprend les sections suivantes : «Fonctionnement», page 91 «Sources externes», page 91 «Propriétés d'événement», page 92 «Création de tables d'événements», page 93 «Modification des tables d'événements», page 93 90

91 Evénements Guide de référence du serveur Business Activity Monitoring Fonctionnement 91 Fonctionnement Les événements qui arrivent dans Business Activity Monitoring ES proviennent d'applications commerciales, de bases de données et de fichiers texte. En général, les Agents reçoivent ou récupèrent automatiquement les données d'événement et les chargent dans une table d'événements. Vous pouvez également choisir de charger manuellement des événements à partir de fichiers texte à l'aide de BAM Workbench. Les événements sont traités à leur arrivée et leurs données sont transmises aux vues commerce. Les vues agrègent les données et peuvent alors récupérer des données contextuelles relatives à l'événement. Application commerciale Agent Vue commerce SGBD Fichier plat Agent Agent Bouton Télécharger événement Table d'événements Table contextuelle Les événements affluent dans la table d'événements en provenance d'applications commerciales, de bases de données et de fichiers texte. Ils sont ensuite transmis aux vues commerce. Remarque :Les événements sont traités dans l'ordre de leur réception dans le système. Lorsqu'un agent a reçu un grand nombre d'événements, tous les nouveaux événements reçus par d'autres agents sont mis en file d'attente derrière ce premier groupe et ne sont traités qu'une fois le traitement du premier groupe complètement achevé. Sources externes Business Activity Monitoring ES fournit des agents permettant d'accéder à plusieurs sources d'événements externes. Certains événements sont transmis (envoyés) au système lorsqu'ils se produisent. D'autres événements sont chargés (extraits) sous forme de résultats d'une requête, par exemple à partir d'une base de données ou d'un fichier texte. Le tableau ci-après récapitule les sources disponibles et identifie l'agent qu'elles prennent en charge. (Pour plus de détails sur la façon dont elles récupèrent et reçoivent les données d'événement, reportez-vous à la section «Agents», page 23.) Source externe Agent Envoi d'événements Extraction d'événements JMS (Java Messaging Service, service de messagerie Java) Java Messaging Service (JMS) (reportez-vous page 209) Oui Non Fichier texte (XML ou plat) Fichiers plats (reportez-vous page 95) Non Oui TIBCO Rendezvous (RV) TIBCO Rendezvous (reportez-vous page 343) Oui Non Action HTTP Post HTTP Post (reportez-vous page 201) Oui Non

92 Evénements Guide de référence du serveur Business Activity Monitoring Propriétés d'événement 92 Source externe Agent Envoi d'événements Extraction d'événements Salesforce Salesforce (reportez-vous page 309) Non Oui service Web Aucun. (Reportez-vous à la section «Evénements de service Web», page 368.) Oui Non Propriétés d'événement Chaque table d'événements comporte un attribut de nom, de description et d'état, ainsi qu'un agent la plupart du temps. Le tableau ci-après décrit ces attributs. Attribut Nom Description Etat Agent Enregistrer les données d'événements en vue de la récupération Traiter les événements en suivant l'ordre d'arrivée Description Identifie la table et correspond au nom accessible aux Vues commerce qui dépendent de cette table. Ce nom doit être unique parmi les vues, les événements, le contexte et les événements consolidés. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. (Facultative) Description de la table. Indique si l'objet est ou non activé (en mesure de recevoir et de transmettre des données) ou désactivé (incapable de recevoir ou de transmettre des données). Agent chargé de recevoir ou de récupérer les informations d'événement et de transmettre ces dernières à la table d'événements. Pour plus de détails sur les types d'agents, reportez-vous à la section «Agents», page 23. Si cet attribut est activé, le système enregistre les données d'événements reçues depuis le démarrage du dernier point de contrôle. Ce journal de récupération permet de restaurer le système dans un état opérationnel en cas d'arrêt anormal des serveurs. Pour plus de détails, reportez-vous à la section Utilisation du point de contrôle et de la récupération. Sélectionnez cette option lorsque les événements doivent être traités dans l'ordre de leur réception. Si cette option est désactivée, les événements peuvent être traités dans n'importe quel ordre. Remarque :La liaison des événements d'une vue nécessite que les événements soit traités dans l'ordre. Désactivez cette option pour lier les événements.

93 Evénements Guide de référence du serveur Business Activity Monitoring Création de tables d'événements 93 Création de tables d'événements Pour créer une table d'événements, vous devez disposer d'une autorisation en création pour les tables (reportez-vous à la section «Autorisation de création», page 260) et d'un accès en lecture seule à l'agent qui alimente la table. Pour créer une table d'événements : 1. Dans l'onglet Workbench de BAM Workbench, cliquez sur Nouvel événement. 2. Choisissez le type de source. 3. Chacun des types comporte des attributs qui lui sont propres. Pour plus de détails, reportez-vous aux sections associées ci-après : «Fichiers plats», page 95 «HTTP Post», page 201 «Java Messaging Service (JMS)», page 209 «JDBC», page 215 «Salesforce», page 309 «TIBCO Rendezvous», page 343 «Services Web», page Renseignez les champs du formulaire Nouvel événement ou Nouveau contexte. 5. Enregistrez l'objet comme étant activé. Il devient ainsi prêt à recevoir des événements ou un contexte. Modification des tables d'événements La modification des attributs d'une table d'événements entraîne la perte de l'état de l'objet et invalide éventuellement les vues dépendantes. Par exemple, si vous supprimez une colonne, toutes les vues ou règles faisant référence à cette colonne deviennent incorrectes. (Toutefois, si vous redéfinissez la colonne dans la table, les vues dépendantes redeviennent automatiquement valides.) Pour modifier une table d'événements, vous devez disposer d'une autorisation en lecture et en écriture pour les tables (reportez-vous à la section «Droits d'accès», page 257) et d'un accès en lecture seule à l'agent qui alimente la table. Pour modifier une table d'événements : 1. Dans l'onglet Workbench de BAM Workbench, sélectionnez l'objet d'événement ou de contexte. 2. Choisissez Modifier cet événement ou Modifier ce contexte. 3. Modifiez les définitions dans le formulaire Modifier cet événement. Chaque type d'événement comporte des attributs qui lui sont propres. Pour plus de détails, reportez-vous aux sections ci-après : «Fichiers plats», page 95 «HTTP Post», page 201

94 Evénements Guide de référence du serveur Business Activity Monitoring Modification des tables d'événements 94 «Java Messaging Service (JMS)», page 209 «JDBC», page 215 «Salesforce», page 309 «TIBCO Rendezvous», page 343 «Services Web», page 367 Enregistrez l'objet comme étant activé ; il devient ainsi prêt à recevoir des événements ou un contexte.

95 11 Fichiers plats Un fichier plat est un fichier texte contenant des informations sur un ou plusieurs événements. Chacune des lignes du fichier constitue généralement un enregistrement d'événement (une ligne de la table d'événements), et les données de la ligne correspondent aux colonnes de la table d'événements. Les lignes peuvent être présentées sous forme de fichiers à largeur fixe, délimités ou XML. Ce chapitre comprend les sections suivantes : «Fonctionnement», page 96 «Tables d'événements de fichier plat», page 96 «Fichiers délimités», page 103 «Fichiers à largeur fixe», page 104 «Fichiers XML», page 105 Remarque :Les fichiers à largeur fixe et délimités peuvent contenir plusieurs lignes relatives au même événement. Pour plus de détails, reportez-vous à la section «Evénements sur plusieurs lignes», page

96 Fichiers plats Guide de référence du serveur Business Activity Monitoring Fonctionnement 96 Fonctionnement Les événements d'un fichier plat sont chargés en mode lot dans la table d'événements associée au fichier, mais sont traités individuellement lors de leur chargement dans la table. Vous disposez de deux façons pour charger des fichiers plats dans les tables d'événements : Automatiquement Les Fichiers délimités vérifient régulièrement si le fichier associé existe. Lorsqu'un agent trouve le fichier, il le récupère et le transmet à l'objet d'événement pour le traitement des événements. Manuellement Le bouton Télécharger un fichier événement situé sur la page de détails d'un événement dans BAM Workbench vous permet de charger un fichier sélectionné manuellement. Pour plus d'informations, reportez-vous à la section Option Télécharger un fichier événement du guide Utilisation de Celequest Application Workbench. Utilisation de LiveCycle Workflow Workbench. Table d'événements Fichier à rechercher Transmet le contenu du fichier à la table d'événements. Table d'événements Transmet le contenu du fichier à la table d'événements. Agent de Agent Bouton Télécharger un fichier événement Les fichiers plats peuvent être chargés automatiquement par un agent, ou manuellement à l'aide du bouton Télécharger un fichier événement Recherche le fichier. Récupère et prend en charge le fichier trouvé. Recherche le fichier. Récupère le contenu du fichier trouvé et laisse le fichier. Tables d'événements de fichier plat Les tables d'événements de Fichiers plats reçoivent les fichiers d'événements par le biais des Fichiers délimités ou de l'option Télécharger un fichier événement dans BAM Workbench. Les trois formats de fichiers plats sont les suivants : «Fichiers délimités», page 103 «Fichiers à largeur fixe», page 104. «Fichiers XML», page 105 La création d'un événement dans une table d'événements de fichier plat nécessite : Des autorisations : autorisation en création pour les tables (reportez-vous à la section «Autorisation de création», page 260) et accès en lecture seule à l'agent qui alimente la table. Des fichiers à largeur fixe et délimités (facultatif) : fichier exemple présentant les données dans le format des événements réels. Utilisez ce fichier exemple lorsque vous créez l'événement pour vous assurer que les champs sont correctement mis en correspondance dans la table d'événements. Notez que cette opération est facultative et que vous pouvez créer l'événement sans source ; toutefois, cette procédure se révèle d'une aide précieuse pour la création d'une table d'événements.

97 Fichiers plats Guide de référence du serveur Business Activity Monitoring Tables d'événements de fichier plat 97 Schéma des fichiers XML à charger. Vous devez notamment connaître le nom des attributs contenant les informations de colonne des événements, ainsi que le chemin d'accès XML à l'élément contenant les colonnes de chacun des événements. Pour plus de détails, reportez-vous à la section «XPaths», page 105. Le tableau ci-après décrit ces attributs. Attribut Nom Description Etat Enregistrer les données d'événements en vue de la récupération Traiter les événements en suivant l'ordre d'arrivée Agent de fichier Commencer l'importation à la ligne Utiliser cette ligne pour les noms de colonne Sauter les lignes Description Identifie l'objet d'événement. Ce nom doit être unique parmi les vues, les événements, le contexte et les événements consolidés. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Description facultative qui peut contenir tous les caractères de texte. Indique si l'objet d'événement est activé (il recherche les événements) ou désactivé (il ne recherche pas les événements). Si cet attribut est activé, le système enregistre les données d'événements reçues depuis le démarrage du dernier point de contrôle. Ce journal de récupération permet de restaurer le système dans un état opérationnel en cas d'arrêt anormal des serveurs. Pour plus de détails, reportez-vous à la section Utilisation du point de contrôle et de la récupération. Remarque :pour améliorer les performances d'entrée/sortie, sélectionnez un répertoire pour les fichiers journaux de récupération sur un autre disque que celui qui alimente cet agent. Remarque :Sélectionnez cette option si les événements doivent être traités en suivant l'ordre de leur réception. Si les événements peuvent être traités dans un ordre aléatoire, désactivez-la. La liaison des événements d'une vue nécessite que les événements soit traités dans l'ordre. Activez cette option pour lier les événements. Agent de fichier existant récupérant les événements et le contexte à partir d'un fichier texte. Créez un agent dans l'onglet Administration de BAM Workbench. Pour plus de détails, reportez-vous à la section «Fichiers délimités», page 103. Pour les fichiers à largeur fixe et délimités, cette option identifie la ligne de texte dans le fichier source contenant les premières données à importer. Par défaut, cette option est configurée sur 1, ce qui signifie la première ligne. Utilisez cette option si le texte contient une introduction ou des informations d'en-tête inutiles. Pour les fichiers à largeur fixe et délimités en cas d'utilisation d'un exemple, cette option identifie une ligne de l'exemple contenant les noms de colonne. Ces noms identifient chacune des colonnes dans les détails des informations sur les colonnes. Si cette option n'est pas définie, les noms par défaut sont Champ1, Champ2, etc. Pour les fichiers à largeur fixe et délimités, cette option identifie les lignes à ignorer dans le fichier source avant d'importer les données d'événements. Par exemple, si le fichier contient des informations de titre et d'en-tête, la source des données commence en réalité à la troisième ligne du fichier. Dans ce cas précis, vous devez indiquer la valeur 2 comme nombre de lignes à ignorer.

98 Fichiers plats Guide de référence du serveur Business Activity Monitoring Création d'un événement source de fichier plat 98 Attribut Autoriser les lignes courtes Délimiteur Caractère d'échappement qualificatif de texte Formats numériques Informations sur la colonne Clé d'événement Informations sur le champ Intervalle de suppression de l'état Description Pour fichiers délimités uniquement. Pour plus de détails, reportez-vous à la section «Fichiers délimités», page 103. Pour fichiers délimités uniquement. Pour plus de détails, reportez-vous à la section «Fichiers délimités», page 103. Pour fichiers délimités uniquement. Pour plus de détails, reportez-vous à la section «Fichiers délimités», page 103. Pour fichiers délimités uniquement. Pour plus de détails, reportez-vous à la section «Fichiers délimités», page 103. Spécifications de mise en forme des valeurs numériques. Les valeurs par défaut sont la virgule (,) comme séparateur de milliers et le point (.) comme séparateur décimal. Pour les fichiers à largeur fixe et délimités, cet attribut fournit des détails sur chacune des colonnes de la table, tels que le nom, le type de données et la mise en forme applicable au type. Pour les fichiers à largeur fixe et délimités, cet attribut identifie les colonnes constituant les champs clés pour les événements sur plusieurs lignes. Pour plus de détails, reportez-vous à la section «Evénements sur plusieurs lignes», page 99. Pour les fichiers XML, cet attribut identifie les éléments sources ainsi que leur mise en correspondance avec les colonnes de la table d'événements. Pour plus de détails, reportez-vous à la section «Informations sur les champs XML», page 106. Cet onglet contient plusieurs options permettant de supprimer les données d'événements sauvegardées qui sont propagées de l'événement dans les vues, les objets et les tableaux de bord qui en dépendent. Les trois options sont les suivantes : Ne pas supprimer l'état : Option par défaut. Les données sont sauvegardées. Suppression de l'état sur un calendrier : Sélectionnez cette option pour supprimer l'état dans un calendrier. La sélection de cette option active la fonction de planification située à droite. Toujours supprimer l'état (pour chaque événement) : l'état est actualisé à chaque mise à jour de l'événement. Création d'un événement source de fichier plat Utilisez la procédure ci-après pour créer un événement source de fichier plat. Pour créer un événement source de fichier plat : 1. Ouvrez l'onglet Workbench de BAM Workbench. 2. Choisissez Nouvel événement, puis sélectionnez le type de source Fichier plat.

99 Fichiers plats Guide de référence du serveur Business Activity Monitoring Evénements sur plusieurs lignes (Facultatif pour les fichiers délimités et à largeur fixe.) Identifiez un fichier exemple pour faciliter la mise en correspondance des colonnes. Ce fichier est un échantillon du fichier de données réel. Les données de ce fichier s'affichent à l'étape suivante pour vous aider à faire correspondre les données d'événements à la table. 4. Pour les fichiers à largeur fixe, définissez l'emplacement des colonnes de données à l'aide de la boîte de dialogue Définir les largeurs de champs. 5. Identifiez l'attribut d'événement. 6. Définissez les informations sur la colonne en fonction du format choisi. Pour plus de détails sur le type de source, reportez-vous aux sections suivantes : «Fichiers délimités», page 103 «Fichiers à largeur fixe», page 104. «Fichiers XML», page 105 Enregistrez la source du fichier avec l'état activé ; elle sera ainsi prête à recevoir des messages d'événements. Evénements sur plusieurs lignes Un fichier à largeur fixe ou délimité peut contenir plusieurs lignes relatives au même événement. Par exemple, un événement «bon de commande» peut contenir une ligne pour chacun des articles de la commande. Lorsque cet événement est chargé dans la table d'événements, le système traite chacune des lignes comme faisant partie du même événement, et non comme un nouvel événement. Pour que les lignes soient reconnues comme contenant des données relatives au même événement, chaque ligne doit comporter des données d'identification propres à l'événement. Les données d'exemple ci-après contiennent des articles figurant sur 3 bons de commandes, chacune des commandes étant identifiée par la colonne POID. La première commande comporte 3 articles, la deuxième 1 article et la troisième 2 articles : POID,ITEM_NO,ITEM_NAME,ITEM_QTY,ITEM_COST,ITEM_TOTAL 0697,1,Smoke Shifter,100,5.00, ,2,Nano Webber,50,6.00, ,3,Locking Rail Key,25,7.50, ,1,Nano Webber,50,6.00, ,1,Foo Bar Stool,100,60.00, ,2,Can of Levers,250,1.50, Lorsque vous définissez les informations de colonne de cet événement, vous identifiez la colonne POID en tant que champ clé en choisissant Clé d'événement. Chaque événement peut comporter un ou plusieurs champs Clé d'événement, comme illustré ci-après.

100 Fichiers plats Guide de référence du serveur Business Activity Monitoring Fuseaux horaires associés aux événements de fichiers plats 100 Les lignes associées à chaque événement doivent être regroupées dans le fichier et les données des champs Clé d'événement doivent être propres à l'événement. Dès que les données de l'un des champs diffèrent de celles de la ligne précédente, la ligne correspondant au champ fait référence à un nouvel événement. Par exemple, les données ci-après sont considérées comme trois événements distincts, même si la dernière ligne comporte la même valeur de clé d'événement que les deux premières : POID,ITEM_NO,ITEM_NAME,ITEM_QTY,ITEM_COST,ITEM_TOTAL 0697,1,Smoke Shifter,100,5.00, ,2,Nano Webber,50,6.00, ,1,Foo Bar Stool,100,60.00, ,3,Locking Rail Key,25,7.50, Remarque :Si l'une des lignes contient des données non valides, elle est rejetée et n'a pas de répercussions sur les lignes suivantes. Par exemple, la troisième ligne de données ci-après contient un caractère (X) à un emplacement destiné à un nombre entier. Dans cet exemple, la troisième ligne est donc rejetée, et la quatrième est insérée en tant que troisième ligne de l'événement : POID,ITEM_NO,ITEM_NAME,ITEM_QTY,ITEM_COST,ITEM_TOTAL 0697,1,Smoke Shifter,100,5.00, ,2,Nano Webber,50,6.00, ,X,Foo Bar Stool,100,60.00, ,4,Locking Rail Key,25,7.50, Fuseaux horaires associés aux événements de fichiers plats Les événements de fichiers plats (délimités et à largeur fixe) vous offrent la possibilité de définir un format de date pour un champ d'horodatage. Outre le format de date, vous pouvez également spécifier un fuseau horaire. Cette opération vous permet de préciser la façon dont le serveur interprète la valeur d'horodatage dans le champ ; en effet, l'horodatage peut être supposé appartenir au même fuseau horaire que le serveur d'application ou à un fuseau horaire différent. Cette fonctionnalité peut se révéler utile lorsque le serveur d'application est situé dans un autre fuseau horaire que celui dans lequel les événements se produisent et que vous souhaitez afficher l'horodatage dans une vue pour ce fuseau horaire. La valeur par défaut correspond au fuseau horaire du serveur. Horodatage configuré sur le fuseau horaire du serveur

101 Fichiers plats Guide de référence du serveur Business Activity Monitoring Fuseaux horaires associés aux événements de fichiers plats 101 Le tableau ci-après fournit des exemples d'horodatages avec différents formats et fuseaux horaires. Notez que lorsque le fuseau horaire est défini sur GMT+5:30 et GMT+13:00, l'horodatage dans la vue résultante présente la date sous la forme au lieu de la valeur du champ. Valeur du champ dans le fichier plat Format d'horodatage Résultat dans la vue :49: yyyy-mm-dd HH:mm:ss.S; Fuseau horaire du serveur :49: yyyy-mm-dd HH:mm:ss.S; Fuseau horaire du serveur :49: yyyy-mm-dd HH:mm:ss.S; (GMT+5:30) Chennai, Kolkata,Mumbai :49:12 yyyy-mm-dd HH:mm:ss; (GMT+13:00)Nuku'alofa :49: :49: :19: :49:12.0 Pour définir le format et le fuseau horaire d'un événement de fichier plat : 1. Cliquez sur l'onglet Modifier cet événement pour l'événement de fichier plat. 2. Dans l'onglet Informations sur la colonne, recherchez le champ contenant un type de données TIMESTAMP, puis sélectionnez <Modifier la mise en forme> sous Mise en forme. La fenêtre Format de date personnalisé s'affiche. 3. Sélectionnez un format dans le menu déroulant Format date/heure ou créez un format personnalisé.

102 Fichiers plats Guide de référence du serveur Business Activity Monitoring Fuseaux horaires associés aux événements de fichiers plats Sélectionnez un fuseau horaire dans le menu déroulant Fuseau horaire. 5. Cliquez sur OK. Le format d'horodatage et le fuseau horaire s'affichent dans la colonne Mise en forme de votre champ d'horodatage. Horodatage configuré sur le fuseau horaire Perth Pour créer un format de date personnalisé : 1. Ouvrez la fenêtre Format de date personnalisé. 2. Sélectionnez <Format personnalisé> dans le menu déroulant Format date/heure. 3. Créez votre format personnalisé dans le champ Format personnalisé en entrant les lettres composant le format de date et d'heure. Pour connaître les définitions disponibles, utilisez la liste de formats de date proposée. Le champ Exemple présente un exemple du format que vous créez. 4. Cliquez sur OK pour appliquer le format personnalisé à votre champ d'horodatage.

103 Fichiers plats Guide de référence du serveur Business Activity Monitoring Fichiers délimités 103 Fichiers délimités Dans un fichier délimité, chacun des champs (colonnes) est séparé par un caractère, une virgule le plus souvent. Par exemple : 0703,00001,Assigned,13, :23:00,Sridar 0706,00004,Open,13, :50:00, 0706,00004,Resolved,13, :50:00,Niku Remarque :les fichiers délimités sont également appelés fichiers CSV (Comma Separated Value, valeurs séparées par une virgule). Le caractère de séparation des champs, le caractère d'échappement et le qualificatif de texte sont tous personnalisables. Caractère de séparation : sépare chacun des champs de la ligne ; il s'agit le plus souvent d'une virgule (,). Caractère d'échappement : précède les caractères qui ne doivent pas être utilisés comme séparateurs ; il s'agit généralement d'une barre oblique inversée. Par exemple, si le caractère de séparation est une virgule et que le texte contient également une virgule, cette dernière est précédée d'une barre oblique inversée. Dans l'exemple ci-après, la virgule qui suit «Altadena» n'est pas un séparateur de champ : 123 Buena Loma Dr,Altadena\, CA,91001 Qualificatif de texte : caractère délimitant davantage les chaînes de texte ; il s'agit généralement de guillemets ("). Utilisez cette option pour des chaînes de texte qualifiées comme étant différentes des autres types de données. Par exemple, l'événement ci-après comporte des champs de texte contenant des chiffres, mais l'un de ces champs (valeur 13) est numérique : "0706","00004","Open",13, :50:00,"" Les lignes sources qui ne contiennent pas suffisamment de données pour remplir la ligne génèrent une erreur. Pour autoriser ces données sans obtenir de message d'erreur, activez l'option Autoriser les lignes courtes. Par exemple, le texte ci-après génère une erreur dès que la troisième ligne est importée, sauf si les lignes courtes sont autorisées : 1,2,3,4,5,6 1,,,,, 1 Lorsque l'option Utiliser cette ligne pour les noms de colonne est sélectionnée, les noms indiqués dans la ligne s'affichent comme noms de colonne. Dans le cas contraire, définissez manuellement les noms. En outre, pour chacune des colonnes, indiquez un type de données et, en option, déclarez un format de données.

104 Fichiers plats Guide de référence du serveur Business Activity Monitoring Fichiers à largeur fixe 104 Fichiers à largeur fixe Dans les fichiers à largeur fixe, chacun des champs (colonnes) présente la même largeur prédéfinie sur chaque ligne du fichier, comme dans une table de feuille de calcul. Par exemple : Assigned :23:00Sridar Open :50: Resolved :50:00Niku Pour importer un fichier à largeur fixe, vous devez identifier les positions des colonnes qui commencent chaque champ de données à l'aide de la boîte de dialogue Définir les largeurs des champs. Lorsque vous fournissez un exemple et que les données d'exemple s'affichent, vous cliquez sur les colonnes pour indiquer le début d'un champ. Si vous ne disposez pas d'un exemple, vous devez identifier la position de départ de chacune des colonnes dans le texte. N'oubliez pas que le premier champ démarre à la position zéro (0). Une fois les positions des colonnes définies, vous pouvez leur affecter des noms et déclarer le type et le format des données qu'elles contiennent. Lorsque l'option Utiliser cette ligne pour les noms de colonne est sélectionnée, les noms indiqués dans la ligne s'affichent comme noms de colonne. Dans le cas contraire, définissez manuellement les noms. En outre, pour chacune des colonnes, indiquez un type de données et, en option, déclarez un format de données.

105 Fichiers plats Guide de référence du serveur Business Activity Monitoring Fichiers XML 105 Fichiers XML XPaths Dans les fichiers XML (Extensible Markup Language), chacune des lignes d'événements est un élément XML et chacune des colonnes est un attribut ou un élément enfant de la ligne. Par exemple, le fichier XML ci-après présente deux événements de dossier-problème. <problem_tickets> <ticket> <ticket_id>0703<ticket_id> <customer cust_id=00001> <customer_name>big Trees</customer_name> </customer> <status>assigned</status> <topic>13</topic> <when_opened> :23:00</when_opened> <assigned_to>sridar</assigned_to> </ticket> <ticket> <ticket_id>0706<ticket_id> <customer cust_id=00004> <customer_name/> </customer> <status>open</status> <topic>13</topic> <when_opened> :50:00</when_opened> </ticket> <problem_tickets> Lors de la définition des informations de champ d'un événement, les XPaths identifient les lignes et les colonnes du fichier XML de la façon suivante : Le XPath de schéma identifie l'élément de ligne d'événement, tel que <ticket> dans l'exemple précédent. Un XPath de schéma est un chemin d'accès absolu à l'élément de la structure XML et commence donc toujours par une barre oblique inversée, suivie de l'élément racine et du chemin d'accès à l'élément de ligne. Dans l'exemple précédent, le XPath de schéma est «/problem_tickets/ticket». Le XPath relatif identifie un élément de colonne ou un attribut relatif à l'élément de ligne. Lorsque la colonne est un élément enfant de l'élément de ligne, le XPath correspond simplement au nom de

106 Fichiers plats Guide de référence du serveur Business Activity Monitoring Informations sur les champs XML 106 l'élément ou commence par «child::». Voici quelques exemples de XPaths relatifs valides découlant de l'exemple précédent : ticket_id child::status customer/customer_name child::customer/customer_name Pour identifier un attribut, insérez un avant le nom de l'attribut, comme ci-après : customer/@cust_id Remarque :le standard XPath relatif aux emplacements définit des mises en correspondance de nœuds XML supplémentaires non prises en charge par les événements Business Activity Monitoring ES. Informations sur les champs XML Chacune des colonnes de la table d'événements est identifiée en tant que champ dans l'éditeur d'événement XML. Tous les champs comportent les attributs suivants : Attribut Nom du champ XPath relatif Type de données XML Type de données Business Activity Monitoring ES Mise en forme Description Nom de la colonne dans la table d'événements. Elément du fichier XML contenant les données de ce champ. Pour plus de détails, reportez-vous à la section XPaths. Type de données de l'élément XML. Pour plus de détails, voir ci-après. Type de données de la colonne dans la table d'événements. Pour plus de détails, reportez-vous à la section «Types de données», page 69. Mise en forme de la valeur décimale, de chaîne ou de date-heure. Types de données XML Les types de données XML correspondent aux Types de données Business Activity Monitoring ES comme ci-après. XSD anyuri base64binary Booléen byte date datetime Type de données Varchar Varchar Booléen Nombre entier Timestamp (portion d'heure mise à zéro) Timestamp (notez que l'application prend en charge jusqu'à 9 chiffres significatifs pour la partie fractionnaire d'une seconde)

107 Fichiers plats Guide de référence du serveur Business Activity Monitoring Types de données XML 107 XSD decimal double duration ENTITIES ENTITY float gday gmonth gmonthday gyear gyearmonth hexbinary ID IDREF IDREFS Entier integer language long Nom NCName negativeinteger NMTOKEN NMTOKENS nonnegativeinteger nonpositiveinteger normalizedstring Type de données Décimal Double Varchar (sous forme de chaîne) Varchar Varchar Double Varchar (sous fome de chaîne) - Définit une partie d'une date : le jour (DD) Varchar (sous forme de chaîne) - Définit une partie d'une date : le mois (MM) Varchar (sous forme de chaîne) - Définit une partie d'une date : le mois et le jour (MM-DD) Varchar (sous forme de chaîne) - Définit une partie d'une date : l'année (CCYY) Varchar (sous forme de chaîne) - Définit une partie d'une date : l'année et le mois (CCYY-MM) Varchar Varchar Varchar Varchar Nombre entier Nombre entier Varchar Décimal Varchar Varchar Nombre entier Varchar Varchar (sous forme de chaîne unique) Nombre entier Nombre entier Varchar

108 Fichiers plats Guide de référence du serveur Business Activity Monitoring Types de données XML 108 XSD NOTATION positiveinteger QName QName short string time token unsignedbyte unsignedint unsignedlong unsignedshort Type de données Varchar Nombre entier Varchar Varchar Nombre entier Varchar Varchar Varchar Nombre entier Décimal Décimal Nombre entier

109 12 Formules Toutes les formules de Business Activity Monitoring ES sont des expressions formulées en langage C-SQL, un dérivé du langage ANSI SQL. Certaines de ces formules sont des expressions simples, telles que des expressions de champ définissant les valeurs des colonnes d'une vue commerce. D'autres expressions plus complexes représentent des composants entiers de l'instruction de requête C-SQL (SELECT), comme les clauses WHERE, WINDOW et JOIN. Toutes les formules de Business Activity Monitoring ES acceptent des Opérateurs et constantes pouvant manipuler les valeurs, ainsi que la plupart des Fonctions C-SQL permettant de traiter plus avant les résultats. Remarque :pour obtenir une description détaillée de l'ensemble des instructions, opérateurs et fonctions SELECT C-SQL, reportez-vous à la section «SELECT», page 325. Ce chapitre comprend les sections suivantes : «Fonctions», page 110 «Types de fonctions», page 110 «Catégories de fonctions», page

110 Formules Guide de référence du serveur Business Activity Monitoring Fonctions 110 Fonctions Les fonctions renvoient des valeurs qui sont des informations système, telles que l'heure en cours, des manipulations de données, telles que la conversion d'une chaîne de caractères en lettres majuscules, ou des évaluations d'ensembles de données, telles que le montant total d'un groupe de bons de commande. Les fonctions C-SQL sont utilisables dans la plupart des formules de Business Activity Monitoring ES. Toutefois, certaines de ces fonctions sont limitées par les opérations autorisées dans le contexte de la formule. La section suivante, Types de fonctions, décrit les types de fonctions et indique les cas dans lesquels vous pouvez les utiliser. Si vous recherchez une fonction pour une tâche spécifique, reportez-vous à la section «Catégories de fonctions», page 112 pour connaître les tâches que les fonctions vous permettent d'effectuer. Pour plus de détails sur chacune des fonctions, reportez-vous à la section «Fonctions», page 115. Types de fonctions Scalar C-SQL comporte cinq types de fonctions : Scalar, Set, Rank, Moving Set et Tumbling Set. Le type de fonction détermine les cas dans lesquels vous pouvez utiliser la fonction dans une formule. Les fonctions scalar agissent sur un seul élément et renvoient un résultat unique. Par exemple, la fonction ABS() renvoie la valeur absolue d'un nombre (unique). Les fonctions scalar peuvent apparaître dans n'importe quelle expression C-SQL. Les fonctions scalar sont les suivantes : ABS DISPLAY_MONEY LPAD SIGN CAST EXP LTRIM SQRT CEIL FLOOR MOD SUBSTRING CHARACTER_LENGTH GREATEST POSITION TIMESTAMP_DIFF CONCAT IS_RAISED POWER TO_CHAR CURRENT_TIMESTAMP LAST_DAY PRIOR_VALUE TO_DATE CURRENT_USER LEAST ROUND TRUNC DATE_ADD LOG RPAD UPPER DATE_DIFF LOWER RTRIM Set Les fonctions set agrègent des ensembles de lignes d'une vue commerce et génèrent un résultat unique pour ces ensembles. Par exemple, la fonction SUM() renvoie le total de toutes les lignes d'une colonne

111 Formules Guide de référence du serveur Business Activity Monitoring Rank 111 figurant dans une vue. Une fonction set est uniquement utilisable dans la Liste Select d'une instruction SELECT : définitions de champ d'une vue. Remarque :Une fonction set peut faire référence à une autre fonction set, mais les résultats obtenus sont les mêmes que si la fonction référencée (interne) était exprimée seule. Par exemple, SUM(AVG(Order_Total)) renvoie le même résultat que AVG(Order_Total). AVG MAX PREV STD_DEVIATION COUNT MIN SUM VARIANCE CURRENT Rank Remarque :NULL est ignoré lors du calcul de valeurs à l'aide de la fonction set, de la fonction moving set et de la fonction rank. Par exemple, la moyenne de (3, NULL, 3) est 3, et non NULL, ni 2. Les fonctions rank calculent le résultat scalaire d'une colonne dans chaque ligne d'un ensemble par rapport à la totalité de l'ensemble. Une fonction rank est uniquement utilisable dans la Liste Select d'une instruction SELECT. NTILE RANK RATIO_TO_REPORT Moving Set Les fonctions moving set sont des fonctions spéciales effectuant des calculs sur un ensemble de lignes les plus récentes d'une vue. L'ensemble de lignes à inclure est uniquement déterminé à l'arrivée d'un nouvel événement. Lorsque tel est le cas, seules les lignes les plus récentes répondant aux critères définis sont incluses dans le calcul. Pour définir une fonction moving set, vous devez appliquer l'expression MOV_ à une fonction set existante. Par exemple, pour calculer une moyenne mobile, utilisez MOV_AVG(). Une fonction moving set peut être déterminée par un nombre d'événements ou sous la forme d'une durée. L'exemple suivant calcule la moyenne arithmétique de Order_Total sur les douze dernières heures. Lorsque de nouvelles commandes sont insérées dans la vue, elles sont incluses dans le calcul ; toutefois, les commandes antérieures aux 12 dernières heures ne sont pas prises en compte. SELECT MOV_AVG(Order_Total, HOUR, 12) FROM Purchase_Orders Remarque :Les fonctions moving set constituent un moyen rapide d'exprimer une fenêtre de requête simple. Pour plus de détails, reportez-vous à la section «MOV_function», page 151. MOV_AVG MOV_MAX MOV_SUM MOV_VARIANCE MOV_COUNT MOV_MIN MOV_STD_DEVIATION Tumbling Set Les fonctions tumbling set sont des fonctions spéciales effectuant des calculs sur un ensemble fenêtré de lignes d'une vue. L'ensemble de lignes à inclure est uniquement déterminé à l'arrivée d'un nouvel événement et se vide lorsqu'il est plein. Les fonctions tumbling set constituent un moyen rapide

112 Formules Guide de référence du serveur Business Activity Monitoring Catégories de fonctions 112 d'exprimer une requête de fenêtre culbute. Pour plus d'informations, consultez la section «Fenêtres culbute», page 290. TUMBLE_AVG TUMBLE_MIN TUMBLE_STD_DEVIATION TUMBLE_COUNT TUMBLE_SUM TUMBLE_VARIANCE TUMBLE_MAX Catégories de fonctions Les catégories de fonctions C-SQL sont les suivantes : Alertes IS_RAISED Conversion CAST DISPLAY_MONEY TO_CHAR TO_DATE Date et heure CURRENT_TIMESTAMP DATE_ADD DATE_DIFF GREATEST TIMESTAMP_DIFF LEAST LAST_DAY TO_CHAR TO_DATE Mathématiques ABS CAST CEIL EXP FLOOR LOG MOD POWER ROUND SIGN SQRT SUM TRUNC

113 Formules Guide de référence du serveur Business Activity Monitoring Catégories de fonctions 113 Classement Règles NTILE RANK RATIO_TO_REPORT IS_RAISED CURRENT_USER Statistiques AVG COUNT GREATEST LEAST MAX MIN MOV_AVG MOV_COUNT MOV_MAX MOV_MIN MOV_SUM MOV_STD_DEVIATION MOV_VARIANCE NTILE RANK RATIO_TO_REPORT STD_DEVIATION TUMBLE_AVG TUMBLE_COUNT TUMBLE_MAX TUMBLE_MIN TUMBLE_SUM TUMBLE_STD_DEVIATION TUMBLE_VARIANCE VARIANCE Texte et chaîne CAST CHARACTER_LENGTH CONCAT DISPLAY_MONEY GREATEST LEAST LOWER LTRIM LPAD POSITION RPAD RTRIM

114 Formules Guide de référence du serveur Business Activity Monitoring Catégories de fonctions 114 SUBSTRING TO_CHAR TO_DATE UPPER Séries chronologiques et agrégation Vues AVG COUNT MAX MIN MOV_function MOV_AVG MOV_COUNT MOV_MAX MOV_MIN MOV_SUM MOV_STD_DEVIATION MOV_VARIANCE STD_DEVIATION TUMBLE_AVG TUMBLE_COUNT TUMBLE_MAX TUMBLE_MIN TUMBLE_SUM TUMBLE_STD_DEVIATION TUMBLE_VARIANCE VARIANCE CURRENT IS_RAISED PREV PRIOR_VALUE

115 13 Fonctions Les fonctions C-SQL sont susceptibles d'apparaître dans les commandes et dans les formules de règle acceptant une expression. Pour obtenir des informations d'ordre général sur les fonctions, ainsi qu'une liste des Catégories de fonctions, reportez-vous à la section «Formules», page 109. Le présent document décrit chacune des fonctions C-SQL en détail. Fonction C-SQL ABS AVG CASE CAST CEIL CHARACTER_LENGTH CONCAT concatlist concatset COUNT CURRENT CURRENT_TIMESTAMP CURRENT_USER DATE_ADD DATE_DIFF DISPLAY_MONEY Description Renvoie la valeur absolue d'un nombre. Renvoie la valeur moyenne (moyenne arithmétique) d'un ensemble de valeurs numériques. L'expression CASE est décrite en détail à la section «ExpressionCASE», page 327. Convertit une valeur d'un type Business Activity Monitoring ES en un autre type Business Activity Monitoring ES. Renvoie le plus petit nombre entier, arrondi à partir de zéro, supérieur ou égal à un nombre. Renvoie la longueur d'une chaîne. Renvoie une chaîne correspondant à la concaténation de deux caractères ou chaînes. Renvoie une chaîne correspondant à la concaténation d'une liste de caractères ou de chaînes. Renvoie un ensemble de chaînes trié dans l'ordre alphabétique. Renvoie le nombre de lignes d'une vue ou d'un ensemble. Renvoie une valeur de la ligne la plus récente ou de la dernière ligne d'un ensemble. Renvoie la date du jour et l'heure actuelle dans le fuseau horaire du serveur. Renvoie le nom de connexion de l'utilisateur actuel. Ajoute une durée à une valeur date/heure. Soustrait une durée d'une valeur date/heure. Formate un nombre en tant que valeur de devise. 115

116 Fonctions Guide de référence du serveur Business Activity Monitoring 116 Fonction C-SQL EXP FLOOR gammadist GREATEST IS_RAISED LAST_DAY LEAST LOG lognormdist LOWER LPAD LTRIM MAX median MIN MOD mode MOV_function MOV_AVG MOV_COUNT MOV_MAX Description Renvoie e élevé à une puissance spécifique. Renvoie le plus grand nombre entier inférieur ou égal à une expression. Renvoie la distribution gamma d'une valeur. Renvoie le plus grand des résultats d'expression de la liste. Renvoie TRUE lorsque l'alerte spécifiée est dans un état lancé. Renvoie la date du dernier jour du mois contenant une date précise. Renvoie la valeur la plus faible d'une liste d'expressions. Renvoie le logarithme d'un nombre d'une base spécifique. Renvoie la distribution log-normale cumulée d'une valeur. Convertit tous les caractères en majuscules en une chaîne en minuscules. Insère une ou plusieurs instances d'une chaîne au début d'une autre chaîne. Supprime des caractères du début d'une chaîne. Renvoie la valeur maximale d'un ensemble. Renvoie la valeur médiane (centrale) d'un ensemble. Renvoie la valeur minimale d'un ensemble. Renvoie le module (reste) d'une division. Renvoie la valeur la plus fréquente d'un ensemble. Limite les lignes utilisées pour le calcul d'une fonction set aux lignes les plus récentes de la vue. Renvoie la valeur moyenne (moyenne arithmétique) mobile d'un ensemble de valeurs numériques d'une fenêtre mobile. Renvoie le nombre de lignes d'un ensemble d'une fenêtre mobile. Renvoie la valeur maximale d'un ensemble d'une fenêtre mobile.

117 Fonctions Guide de référence du serveur Business Activity Monitoring 117 Fonction C-SQL MOV_MIN MOV_SUM MOV_STD_DEVIATION MOV_VARIANCE NTILE POSITION POWER PREV PRIOR_VALUE RANK RATIO_TO_REPORT ROUND RPAD RTRIM SAFE_DIVIDE SIGN SQRT SUBSTRING SUM Description Renvoie la valeur minimale d'un ensemble d'une fenêtre mobile. Renvoie la somme d'un ensemble de valeurs numériques d'une fenêtre mobile. Renvoie un exemple d'écart-type d'un ensemble de valeurs d'une fenêtre mobile. Renvoie le carré de l'exemple d'écart-type d'un ensemble de valeurs d'une fenêtre mobile. Détermine le rang du niveau de chacune des valeurs d'un ensemble par rapport à l'intégralité de l'ensemble. Renvoie la position d'un caractère ou d'une chaîne dans une chaîne. Renvoie une valeur élevée à une puissance spécifique. Renvoie une valeur de l'avant-dernière ligne d'un ensemble. Renvoie la valeur antérieure d'une colonne, d'un alias ou d'une expression. Détermine le rang de chacune des valeurs d'un ensemble par rapport à l'intégralité de l'ensemble. Calcule le rapport d'une valeur à la somme des valeurs pour l'intégralité de l'ensemble. Renvoie un nombre arrondi à un nombre de décimales défini. Ajoute une ou plusieurs instances d'une chaîne à la fin d'une autre chaîne. Supprime des caractères de la fin d'une chaîne. Renvoie un quotient de deux valeurs, sauf si le quotient est égal à 0, auquel cas la fonction renvoie une autre valeur de quotient. Identifie le signe arithmétique d'un nombre. Renvoie la racine carrée d'un nombre. Renvoie la partie d'une chaîne identifiée par sa position et sa longueur. Renvoie la somme d'un ensemble de valeurs numériques.

118 Fonctions Guide de référence du serveur Business Activity Monitoring 118 Fonction C-SQL SUM_OVER_GROUPS STD_DEVIATION TIMESTAMP_DIFF TO_CHAR TO_DATE TRUNC TUMBLE_AVG TUMBLE_COUNT TUMBLE_MAX TUMBLE_MIN TUMBLE_SUM TUMBLE_STD_DEVIATION TUMBLE_VARIANCE UPPER VARIANCE Description Renvoie une somme évolutive des valeurs numériques classées en fonction de la colonne définie dans les arguments. Renvoie un exemple d'écart-type d'un ensemble de nombres. Renvoie l'intervalle de temps entre deux horodatages. Convertit une date-heure en chaîne de caractères. Convertit une chaîne de caractères en date-heure. Tronque une valeur après un nombre de décimales défini. Renvoie la valeur moyenne (moyenne arithmétique) d'un ensemble d'une fenêtre culbute. Renvoie le nombre de lignes d'un ensemble d'une fenêtre culbute. Renvoie la valeur maximale d'un ensemble d'une fenêtre culbute. Renvoie la valeur minimale d'un ensemble d'une fenêtre culbute. Renvoie la somme d'un ensemble de valeurs numériques d'une fenêtre culbute. Renvoie un exemple d'écart-type d'un ensemble de valeurs d'une fenêtre culbute. Renvoie le carré de l'exemple d'écart-type d'un ensemble de valeurs d'une fenêtre culbute. Convertit tous les caractères en minuscules en une chaîne en majuscules. Renvoie le carré de l'exemple d'écart-type d'un ensemble de valeurs. yield

119 Fonctions Guide de référence du serveur Business Activity Monitoring ABS 119 ABS Cette fonction scalar renvoie la valeur absolue d'un nombre. Syntaxe ABS( numeric ) Paramètres numeric : expression évaluée sous la forme d'une valeur numérique. Type de valeur renvoyée Numérique, même type de données que l'argument numeric. Exemple Renvoyer la différence d'âge de deux personnes, quelle que soit la plus âgée des deux. SELECT ABS( father_age - mother_age ) AS "Difference of parents ages" FROM Family SIGN() renvoie le signe arithmétique d'un nombre. AVG Cette fonction set renvoie la valeur moyenne (moyenne arithmétique) d'un ensemble de valeurs numériques. Syntaxe AVG( numeric ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Type de valeur renvoyée Numérique, même type de données que l'argument numeric. Remarques Calcule la moyenne de l'argument numeric dans toutes les lignes de la vue référencée. En cas d'utilisation d'une Clause GROUP BY, la moyenne s'applique à l'argument numeric de chacun des groupes. SELECT AVG( pr_price ) "Average price" FROM Products Average price Exemple L'exemple ci-après utilise des moyennes mobiles pour produire des résultats semblables à un indicateur MACD (Moving Average Convergence/Divergence, convergence/divergence de la moyenne mobile). (Le résultat ne constitue pas un indicateur MACD proprement dit car il n'utilise pas une moyenne mobile

120 Fonctions Guide de référence du serveur Business Activity Monitoring AVG 120 exponentielle.) Dans le domaine des transactions de valeurs mobilières, la règle MACD fondamentale consiste à vendre lorsque le MACD tombe en deçà de sa moyenne calculée sur 9 jours et d'acheter lorsqu'il dépasse cette moyenne. Vous pouvez obtenir ce résultat en définissant des règles semblables à ce qui suit : Raise SELL lorsque MACD > Nine_Day_MA Lower SELL lorsque MACD < Nine_Day_MA Raise BUY lorsque MACD < Nine_Day_MA Lower BUY lorsque MACD > Nine_Day_MA Pour obtenir ces valeurs, vous devez disposer de deux vues : MACD_Base_View répertorie les moyennes mobiles pour chacun des symboles de valeur mobilière dans le flux d'événements. Notez que la formule Nine_Day_MA répète les formules pour les deux autres moyennes, car vous ne pouvez pas faire référence à un alias d'une autre colonne de la même vue. SELECT StockQuotes.SYMBOL AS Symbol, MOV_AVG(StockQuotes_Event.CLOSE, Day, 26, StockQuotes.DATE) AS Twentysix_Day_MA, MOV_AVG(StockQuotes_Event.CLOSE, Day, 12, StockQuotes.DATE) AS Twelve_Day_MA, MOV_AVG((MOV_AVG(StockQuotes.CLOSE, Day, 12, StockQuotes.DATE) - MOV_AVG(StockQuotes.CLOSE, Day, 26, StockQuotes.DATE)), Day, 9, StockQuotes.DATE ) AS Nine_Day_MA FROM StockQuotes GROUP BY StockQuotes.SYMBOL MACD_View contient les dernières valeurs MACD pour chacune des valeurs mobilières stockées dans la vue de base : SELECT MACD_Base_View.Symbol AS Symbol, MACD_Base_View.Nine_Day_MA AS Nine_Day_MA, (MACD_Base_View.Twentysix_Day_MA - MACD_Base_View.Twelve_Day_MA ) AS MACD FROM MACD_Base_View median() renvoie la valeur médiane (centrale) d'un ensemble. mode() renvoie la valeur la plus fréquente d'un ensemble. MOV_AVG() renvoie la moyenne mobile d'un ensemble. TUMBLE_AVG() renvoie la moyenne culbute d'un ensemble.

121 Fonctions Guide de référence du serveur Business Activity Monitoring CASE 121 CASE L'expression CASE est décrite en détail à la section «ExpressionCASE», page 327. CAST Cette fonction scalar convertit une valeur d'un type Business Activity Monitoring ES en un autre type Business Activity Monitoring ES. Syntaxe CAST( value AS vcdatatype ) Paramètres value : valeur à convertir. vcdatatype : l'un des Types de données C-SQL dans lequel la valeur doit être convertie. INTEGER DECIMAL DOUBLE PRECISION VARCHAR TIMESTAMP BOOLEAN Type de valeur renvoyée Même type de données que l'argument vcdatatype. Remarques Les types sont convertis conformément au tableau Ordre de priorité fourni à la section «Conversion des types de données», page 70. CAST() renvoie une erreur si un type n'est pas convertissable tel qu'il est défini dans une expression. Par exemple, l'expression ci-après génère une erreur car C-SQL tente de convertir 4.5 en valeur INTEGER, alors qu'une valeur décimale est un caractère incorrect pour les types de données INTEGER : 3 < CAST( '4.5' AS INTEGER ) En cas de conversion des valeurs décimales d'une colonne sous la forme d'une chaîne, des zéros sont ajoutés aux valeurs décimales de façon à correspondre à l'échelle, tout comme en cas de conversion d'une chaîne en une valeur décimale. Par exemple : CAST( '1.1' AS DECIMAL(5,4) ) --> CAST( CAST( '1.1' AS DECIMAL(5,4) ) AS VARCHAR ) --> '1.1000'

122 Fonctions Guide de référence du serveur Business Activity Monitoring CEIL 122 Exemple Convertir une chaîne de date en horodatage : SELECT CAST(' ' AS TIMESTAMP ) FROM Foo; Pour plus de détails sur la conversion des différents types de données, reportez-vous à la section «Conversion des types de données», page 70. TO_CHAR() convertit un horodatage en une chaîne de caractères d'un format défini. TO_DATE() convertit une chaîne de caractères en date. CEIL Cette fonction scalar renvoie le plus petit nombre entier, arrondi à partir de zéro, supérieur ou égal à un nombre. Syntaxe CEIL( numeric ) Paramètres numeric : nombre à arrondir. Type de valeur renvoyée Même type de données que l'argument numeric. Exemple CEIL( ) renvoie CEIL(-2.75) renvoie FLOOR() renvoie la valeur maximale inférieure ou égale à un nombre.

123 Fonctions Guide de référence du serveur Business Activity Monitoring CHARACTER_LENGTH 123 CHARACTER_LENGTH Cette fonction scalar renvoie la longueur d'une chaîne. Syntaxe CHARACTER_LENGTH( string ) Paramètres string : chaîne ou résultat d'expression VARCHAR dont la longueur doit être évaluée. Type de valeur renvoyée INTEGER. Remarques Vous pouvez également orthographier cette fonction sous la forme : CHAR_LENGTH( string ) Renvoie un nombre entier indiquant la longueur de la chaîne. Renvoie NULL si la chaîne a la valeur NULL. La longueur d'une chaîne est déterminée par le nombre de caractères affichables de la chaîne, et non nécessairement par la capacité de stockage requise pour la chaîne. Par exemple, un caractère Unicode requiert 16 bits pour son stockage, ce que certains systèmes peuvent considérer comme une longueur de stockage de 2 caractères, mais la longueur réelle de ce caractère est égale à 1. CONCAT Cette fonction scalar renvoie une chaîne correspondant à la concaténation de deux caractères ou chaînes. Syntaxe CONCAT( string1, string2 ) Paramètres string : valeur de chaîne de caractères ou résultat d'expression VARCHAR. Type de valeur renvoyée VARCHAR. Remarques Renvoie la valeur string2 ajoutée à la fin de string1. Renvoie NULL si l'une ou l'autre chaîne a la valeur NULL. L'opérateur (reportez-vous à la section «Opérateurs de chaîne», page 251) produit le même résultat que cette fonction.

124 Fonctions Guide de référence du serveur Business Activity Monitoring concatlist 124 Exemples CONCAT('a', 'b') renvoie 'ab'. 'a' 'b' renvoie 'ab'. concatlist() renvoie une chaîne correspondant à la concaténation d'une liste de caractères ou de chaînes. concatset() renvoie un ensemble de chaînes trié dans l'ordre alphabétique. La section «Opérateurs de chaîne», page 251 décrit l'opérateur. concatlist Cette fonction scalar renvoie une chaîne correspondant à la concaténation d'une liste de caractères ou de chaînes. Remarque :Cette fonction est fournie sous la forme d'un exemple de fonction définie par l'utilisateur (UDF). Pour l'utiliser, vous devez la charger à partir du répertoire \samples\udf\jar\com\celequest\manifest situé sur le CD d'accompagnement. Pour plus de détails sur la procédure de chargement des UDF, reportez-vous à la section «Fonctions définies par l'utilisateur», page 351. Syntaxe concatlist( string1, string2 [, stringn ] ) Paramètres string : expression évaluée sous la forme d'une valeur VARCHAR. Type de valeur renvoyée VARCHAR. Remarques Renvoie la valeur string2 ajoutée à la fin de string1, la valeur string3 ajoutée derrière string2, etc. Ignore les valeurs NULL, sauf si toutes les valeurs sont NULL, auquel cas la fonction renvoie une chaîne vide. Exemples concatlist('a','b','c') renvoie 'abc'. CONCAT() renvoie une chaîne correspondant à la concaténation de deux caractères ou chaînes. concatset() renvoie un ensemble de chaînes trié dans l'ordre alphabétique. La section «Opérateurs de chaîne», page 251 décrit l'opérateur.

125 Fonctions Guide de référence du serveur Business Activity Monitoring concatset 125 concatset Cette fonction set renvoie un ensemble de chaînes trié dans l'ordre alphabétique. Remarque :Cette fonction est fournie sous la forme d'un exemple de fonction définie par l'utilisateur (UDF). Pour l'utiliser, vous devez la charger à partir du répertoire \samples\udf\jar\com\celequest\manifest situé sur le CD d'accompagnement. Pour plus de détails sur la procédure de chargement des UDF, reportez-vous à la section «Fonctions définies par l'utilisateur», page 351. Syntaxe concatset( stringexp ) Paramètres stringexp : expression évaluée sous la forme d'une valeur VARCHAR. L'argument correspond généralement à l'une des colonnes d'une vue. Type de valeur renvoyée VARCHAR. Remarques Renvoie une chaîne correspondant à l'ensemble trié de toutes les chaînes transmises à la fonction. Ignore les valeurs NULL, sauf si toutes les valeurs sont NULL, auquel cas la fonction renvoie une chaîne vide. Exemples Examinez l'instruction ci-après : SELECT concatset(item) AS item_list FROM GroceryList Si les articles de GroceryList sont présentés dans l'ordre suivant : 'banana' 'egg' 'apple' 'donut' NULL 'carrot' Les articles répertoriés par item_list dans la nouvelle vue seront présentés dans l'ordre suivant : 'apple,banana,carrot,donut,egg' Par la suite, si vous ajoutez l'article bagel à GroceryList, la nouvelle vue affichera les articles dans l'ordre suivant : 'apple,bagel,banana,carrot,donut,egg' CONCAT() renvoie une chaîne correspondant à la concaténation de deux caractères ou chaînes. concatlist() renvoie une chaîne correspondant à la concaténation d'une liste de caractères ou de chaînes. La section «Opérateurs de chaîne», page 251 décrit l'opérateur.

126 Fonctions Guide de référence du serveur Business Activity Monitoring COUNT 126 COUNT Cette fonction set renvoie le nombre de lignes d'une vue ou d'un ensemble. Syntaxe COUNT( * ) Type de valeur renvoyée INTEGER. Remarques Renvoie la valeur zéro (0) si la vue ou l'ensemble est vide. Cette fonction est également connue sous le nom «count étoile». Les lignes contenant des valeurs NULL sont comptabilisées. MOV_COUNT() renvoie le nombre de lignes d'un ensemble mobile. TUMBLE_COUNT() renvoie le nombre de lignes d'un ensemble culbute. CURRENT Cette fonction set renvoie une valeur de la ligne la plus récente ou de la dernière ligne d'un ensemble. Syntaxe CURRENT( columnname ) Paramètres columnname : colonne ou alias à récupérer. Type de valeur renvoyée Même type de données que l'argument. Remarques Renvoie une valeur de la ligne la plus récente de l'ensemble basée sur l'horodatage d'événement. Si toutes les lignes de l'ensemble présentent le même horodatage, cette fonction renvoie la valeur de la dernière ligne de l'ensemble.

127 Fonctions Guide de référence du serveur Business Activity Monitoring CURRENT_TIMESTAMP 127 Exemple Rassembler toutes les soumissions de titres et les regrouper par symbole de titre. La ligne «actuelle» est toujours la dernière ligne reçue et contient donc le cours acheteur actuel : SELECT symbol, CURRENT(bid) AS Bid, MAX(bid) AS High, MIN(bid) AS LOW FROM Stock_feed GROUP BY symbol symbol Bid High Low K IBM VCLR Sémantique pour les ensembles mobiles Cette fonction n'est pas utilisable avec un ensemble mobile ou culbute. PREV() renvoie une valeur de la ligne précédant la ligne actuelle. CURRENT_TIMESTAMP Cette fonction scalar renvoie la date du jour et l'heure actuelle dans le fuseau horaire du serveur. Syntaxe CURRENT_TIMESTAMP() Type de valeur renvoyée Date-heure. Exemple LAST_DAY( CURRENT_TIMESTAMP() ) renvoie la date du dernier jour du mois actuel. TO_CHAR() convertit un horodatage en chaîne de caractères. LAST_DAY() renvoie la date du dernier jour d'un mois. DATE_ADD() ajoute une durée à une valeur date/heure. DATE_DIFF() soustrait une durée d'une valeur date/heure. TIMESTAMP_DIFF() renvoie un intervalle de temps entre deux horodatages.

128 Fonctions Guide de référence du serveur Business Activity Monitoring CURRENT_USER 128 CURRENT_USER Cette fonction scalar renvoie le nom de connexion de l'utilisateur actuel. Syntaxe CURRENT_USER() Type de valeur renvoyée VARCHAR. Remarques Renvoie le nom de connexion de l'utilisateur tel qu'il est défini dans Business Activity Monitoring ES, en respectant la distinction majuscules-minuscules, et tel qu'il apparaît dans BAM Workbench. En cas d'utilisation de ce nom dans une comparaison, la distinction majuscules-minuscules doit donc être scrupuleusement respectée. Cette fonction est essentiellement destinée à être utilisée dans les filtres d'accès. Pour découvrir des exemples et des utilisations possibles, reportez-vous à la section «Filtres d'accès», page 15, et plus précisément à la section «Utilisateurs définis en tant que contexte», page 16. DATE_ADD Cette fonction scalar ajoute une durée à une valeur date/heure. Syntaxe DATE_ADD( timestamp, [ durationtype, ] duration ) Paramètres timestamp : date-heure à ajuster. durationtype : type de valeur de durée ; l'un des littéraux suivants : SECOND MINUTE HOUR DAY (valeur par défaut) MONTH YEAR duration : durée à ajouter ; littéral entier positif.

129 Fonctions Guide de référence du serveur Business Activity Monitoring DATE_DIFF 129 Type de valeur renvoyée Date-heure. Remarques Applique les règles d'ajout du calendrier grégorien. Exemple DATE_ADD( CURRENT_TIMESTAMP(), 2) renvoie la valeur date/heure obtenue après avoir ajouté deux jours à la date-heure actuelle. DATE_ADD( atimestamp, DAY, 14 ) renvoie la valeur obtenue après avoir ajouté 2 semaines aux données. DATE_DIFF() soustrait une durée d'une valeur date/heure. CURRENT_TIMESTAMP() renvoie la date du jour et l'heure actuelle. TIMESTAMP_DIFF() renvoie un intervalle de temps entre deux horodatages. DATE_DIFF Cette fonction scalar soustrait une durée d'une valeur date/heure. Syntaxe DATE_DIFF( timestamp, [ durationtype, ] duration ) Paramètres timestamp : valeur date/heure de laquelle doit être soustraite la durée. durationtype : type de valeur de durée ; l'un des littéraux suivants : SECOND MINUTE HOUR DAY (valeur par défaut) MONTH YEAR duration : durée à retrancher ; littéral entier positif.

130 Fonctions Guide de référence du serveur Business Activity Monitoring DISPLAY_MONEY 130 Type de valeur renvoyée Date-heure. Remarques Applique les règles de soustraction du calendrier grégorien. Les durées englobant des jours d'années bissextiles et des secondes intercalaires ignorent généralement la valeur d'ajustement. Par exemple, si la fonction retranche 1 année de la date du 3 mars 1976, elle renvoie la valeur 3 mars 1975 sans tenir compte du 29 février Touefois, si la fonction retranche 1 année de la date du 29 février, elle renvoie la date du 28 février. Exemples DATE_DIFF( CURRENT_TIMESTAMP(), 2) renvoie la valeur date/heure obtenue après avoir retranché deux jours de la date-heure actuelle. DATE_ADD() ajoute une durée à une valeur date/heure. CURRENT_TIMESTAMP() renvoie la date du jour et l'heure actuelle. TIMESTAMP_DIFF() renvoie un intervalle de temps entre deux horodatages. DISPLAY_MONEY Cette fonction scalar formate un nombre en tant que valeur de devise. Syntaxe DISPLAY_MONEY( number [, languagecode, countrycode ] ) Paramètres number : nombre à formater. languagecode : Code de langue ISO 639 à deux lettres. Permet de déterminer le symbole de devise à afficher. countrycode : Code de pays ISO 3166 à deux lettres. Indique le séparateur de milliers, le séparateur décimal, ainsi que le nombre de chiffres décimaux à afficher en fonction des conventions en usage dans le pays. Type de valeur renvoyée VARCHAR. Remarques Renvoie un nombre présenté sous la forme d'une chaîne de devise. L'omission des paramètres languagecode et countrycode entraîne l'utilisation du symbole et du format adaptés au pays que votre ordinateur est configuré pour utiliser par défaut. Certains symboles de devise nécessitent que le navigateur soit configuré sur la page de code appropriée pour la langue.

131 Fonctions Guide de référence du serveur Business Activity Monitoring DISPLAY_MONEY 131 Exemples Le tableau ci-après présente quelques exemples de mise en forme du nombre : Langue/Pays Formule Résultat Anglais/Etats-Unis DISPLAY_MONEY( ,'en','us') $12, Suédois/Suède DISPLAY_MONEY( ,'sv','se') ,68 kr Allemand/Allemagne DISPLAY_MONEY( ,'de','de') ,68 dm Codes courants Le tableau ci-après répertorie les codes de langue ISO 639 à deux lettres les plus courants : Langue Code Langue Code Langue Code Afrikaans af Fidjien fj Néerlandais nl Arabe ar Féringien fo Norvégien no Catalan ca Français fr Panjabi pa Corse co Hébreu he Polonais pl Tchèque cs Hindi hi Portugais pt Danois da Croate hr Russe ru Allemand de Italien it Serbo-croate sh Grec el Inuktitut iu Suédois sv Anglais en Japonais ja Turc tr Espagnol es Coréen ko Urdu ur Persan fa Mongol mn Yoruba yo Finnois fi Népalais ne Chinois zh

132 Fonctions Guide de référence du serveur Business Activity Monitoring DISPLAY_MONEY 132 Le tableau ci-après répertorie les codes de pays ISO 3166 à deux lettres les plus courants : Pays Code Pays Code AUSTRALIE AU NEPAL NP AUTRICHE AT PAYS-BAS NL BRESIL BR NOUVELLE-ZELANDE NZ CANADA CA NORVEGE NO CHINE CN OMAN OM CROATIE (nom local : Hrvatska) HR PAKISTAN PK DANEMARK DK PITCAIRN PN FIDJI FJ POLOGNE PL FINLANDE FI PORTUGAL PT FRANCE FR ARABIE SAOUDITE SA ALLEMAGNE DE AFRIQUE DU SUD ZA GRECE GR ESPAGNE ES HONG KONG HK SUEDE SE INDE IN SUISSE CH IRAN (République islamique) IR TAIWAN TW ISRAEL IL TURQUIE TR ITALIE IT EMIRATS ARABES UNIS AE JAPON JP ROYAUME-UNI GB COREE (République populaire démocratique) KP ETATS-UNIS US MEXIQUE MX

133 Fonctions Guide de référence du serveur Business Activity Monitoring EXP 133 EXP Cette fonction scalar renvoie e élevé à une puissance spécifique. Syntaxe EXP( power ) Paramètres power : puissance (DOUBLE) à laquelle e doit être élevé. Type de valeur renvoyée DOUBLE PRECISION. Remarques Renvoie e élevé à la n e puissance, où e = Exemple EXP(4) élève e à la 4 e puissance et renvoie LOG() renvoie le logarithme d'un nombre d'une base spécifique. POWER() élève une valeur à une puissance spécifique.

134 Fonctions Guide de référence du serveur Business Activity Monitoring FLOOR 134 FLOOR Cette fonction scalar renvoie le plus grand nombre entier inférieur ou égal à une expression. Syntaxe FLOOR( numeric ) Paramètre numeric : nombre à arrondir au chiffre inférieur. Type de valeur renvoyée Numérique, même type de données que l'argument numeric. Exemple FLOOR(' ') renvoie le nombre entier , après avoir commencé par convertir implicitement le littéral de chaîne en valeur de type DECIMAL. FLOOR(-2.75) renvoie Remarque :cette fonction produit le même résultat que la fonction Microsoft Excel INT(). CEIL() renvoie le plus petit nombre entier arrondi au chiffre supérieur.

135 Fonctions Guide de référence du serveur Business Activity Monitoring gammadist 135 gammadist Cette fonction scalar renvoie la distribution gamma d'une valeur. Syntaxe gammadist( number, alphanumber, betanumber, iscumulative ) Remarque :Cette fonction est fournie sous la forme d'un exemple de fonction définie par l'utilisateur (UDF). Pour l'utiliser, vous devez la charger à partir du répertoire \samples\udf\jar\com\celequest\manifest situé sur le CD d'accompagnement. Pour plus de détails sur la procédure de chargement des UDF, reportez-vous à la section «Fonctions définies par l'utilisateur», page 351. Paramètre number : nombre positif à évaluer ; peut être égal à zéro (0). alphanumber : paramètre alpha (nombre positif pouvant être égal à zéro) pour l'équation de distribution gamma. betanumber : paramètre bêta (nombre positif pouvant être égal à zéro) pour l'équation de distribution gamma. iscumulative : paramètre booléen déterminant la forme de la fonction du nombre reposant sur les paramètres alphanumber et betanumber: La valeur TRUE utilise la fonction de distribution cumulée. La valeur FALSE utilise la fonction de masse de probabilité. Type de valeur renvoyée DOUBLE PRECISION. Remarques Lorsque le paramètre alphanumber est égal à un (1), la fonction renvoie une distribution exponentielle. Lorsque le paramètre alphanumber est un nombre entier positif, le résultat est une distribution d'erlang. Exemple Remplir une vue avec la masse de probabilité pour une distribution gamma où alpha=9 et bêta=2 : SELECT TimeToFail, gammadist(timetofail, 9, 2, FALSE) AS GammaDist FROM UnitTests ORDER BY TimeToFail lognormdist() renvoie la distribution log-normale cumulée d'une valeur.

136 Fonctions Guide de référence du serveur Business Activity Monitoring GREATEST 136 GREATEST Cette fonction scalar renvoie le plus grand des résultats d'expression de la liste. Syntaxe GREATEST( value, value [, value ] ) Paramètres value : Valeur à utiliser pour la comparaison. Toutes les valeurs qui suivent la première valeur sont converties dans le type de données de cette dernière. Type de valeur renvoyée Même type de données que l'argument. Exemple Sélectionner la chaîne présentant la valeur maximale : SELECT Greatest( 'SCHOLAR', 'SKYLER', 'SHUELLER') FROM Foo; Greatest SKYLER LEAST() détermine la valeur minimale d'une liste. MAX() renvoie la valeur maximale d'un ensemble. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

137 Fonctions Guide de référence du serveur Business Activity Monitoring IS_RAISED 137 IS_RAISED Cette fonction scalar renvoie la valeur TRUE lorsque l'alerte spécifiée présente l'état lancé. Syntaxe IS_RAISED('alertName') Paramètres alertname : Nom complet d'une alerte. Ce nom doit inclure le nom de l'activité commerciale et le nom du scénario associés, comme suit : 'NomActivité.NomScénario.NomAlerte'. Type de valeur renvoyée Booléen. Remarques Renvoie la valeur True si l'alerte existe et présente l'état lancé ; renvoie la valeur False si l'alerte est à l'état diminué ou inexistante. Remarque :cette fonction renvoyant la valeur False lorsque l'alerte n'existe pas, aucun contrôle n'est effectué pour vérifier la validité du nom d'alerte spécifié ; par conséquent, la fonction renvoie toujours la valeur False si le nom de l'alerte n'est pas correctement orthographié. Utilisez cette fonction dans une condition de règle pour tester l'état d'une alerte et pour générer une nouvelle alerte lorsque l'alerte testée conserve l'état élevé sur une période donnée. Si vous utilisez cette fonction dans une définition de vue, cette dernière ne peut pas comporter de fonction set. Pour plus de détails sur l'utilisation de cette fonction, reportez-vous à la section «Contrôle des alertes», page 307. Etats des alertes. Contrôle des alertes.

138 Fonctions Guide de référence du serveur Business Activity Monitoring LAST_DAY 138 LAST_DAY Cette fonction scalar renvoie la date du dernier jour du mois contenant une date précise. Syntaxe LAST_DAY( datetime ) Paramètres datetime : date valide (TIMESTAMP). Type de valeur renvoyée Date-heure. Exemple LAST_DAY( CURRENT_TIMESTAMP() ) renvoie la date du dernier jour du mois actuel. CURRENT_TIMESTAMP() renvoie la date du jour et l'heure actuelle.

139 Fonctions Guide de référence du serveur Business Activity Monitoring LEAST 139 LEAST Cette fonction scalar renvoie la valeur la plus faible d'une liste d'expressions. Syntaxe LEAST( value, value [, value ] ) Paramètres value : Valeur à utiliser pour la comparaison. Toutes les valeurs qui suivent la première valeur sont converties dans le type de données de cette dernière. Type de valeur renvoyée Même type de données que l'argument. Exemple SELECT Least( 'SCHOLAR', 'SKYLER', 'SHUELLER') FROM Foo; Least SCHOLAR GREATEST() détermine la valeur maximale d'une liste. MIN() renvoie la valeur minimale d'un ensemble. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

140 Fonctions Guide de référence du serveur Business Activity Monitoring LOG 140 LOG Cette fonction scalar renvoie le logarithme d'un nombre d'une base spécifique. Syntaxe LOG( numeric [, base ] ) Paramètres numeric : valeur (DOUBLE) dont le logarithme doit être calculé ; cette valeur doit être supérieure à 1. base : Base (DOUBLE) du logarithme ; cette valeur doit être supérieure à zéro (0). N'utilisez pas cette option si vous souhaitez récupérer le logarithme naturel d'une valeur numérique. Type de valeur renvoyée DOUBLE PRECISION. Remarques Cette fonction peut être exprimée de façon mathématique sous la forme «log valeur base». Exemple LOG(8,64) renvoie 2.0. LOG(2) renvoie EXP() renvoie e élevé à une puissance spécifique. POWER() élève une valeur à une puissance spécifique.

141 Fonctions Guide de référence du serveur Business Activity Monitoring lognormdist 141 lognormdist Cette fonction scalar renvoie la distribution log-normale cumulée d'une valeur. Syntaxe lognormdist( number, meannumber, stdnumber ) Remarque :Cette fonction est fournie sous la forme d'un exemple de fonction définie par l'utilisateur (UDF). Pour l'utiliser, vous devez la charger à partir du répertoire \samples\udf\jar\com\celequest\manifest situé sur le CD d'accompagnement. Pour plus de détails sur la procédure de chargement des UDF, reportez-vous à la section «Fonctions définies par l'utilisateur», page 351. Paramètres number : valeur à évaluer. meannumber : moyenne arithmétique d'ln(number). stdnumber : écart-type d'ln(number). Type de valeur renvoyée DOUBLE PRECISION. Remarques Renvoie la distribution log-normale cumulée d'une valeur, où ln(number) est distribué normalement avec une moyenne et un écart-type. gammadist() renvoie la distribution gamma d'une valeur.

142 Fonctions Guide de référence du serveur Business Activity Monitoring LOWER 142 LOWER Cette fonction scalar convertit tous les caractères en majuscules en une chaîne en minuscules. Syntaxe LOWER( string ) Paramètres string : chaîne à convertir. Type de valeur renvoyée VARCHAR. Exemple LOWER('Stage Right') renvoie stage right. UPPER() convertit tous les caractères en majuscules.

143 Fonctions Guide de référence du serveur Business Activity Monitoring LPAD 143 LPAD Cette fonction scalar insère une ou plusieurs instances d'une chaîne au début d'une autre chaîne. Syntaxe LPAD( string, length, [ padchar ] ) Paramètres string : caractère ou chaîne à modifier. length : Longueur d'affichage de la chaîne renvoyée. Cette valeur doit être supérieure ou égale à zéro (0). Si vous utilisez des caractères multi-octet, la longueur correspond au nombre de caractères qui s'affichent ou s'impriment, et non au nombre de multi-octets. padchar : Caractère ou chaîne à insérer. La valeur par défaut est un espace unique ou un caractère vide ( ). Type de valeur renvoyée VARCHAR. Remarques Renvoie une chaîne présentant le même type de caractère que le paramètre string. Si la longueur spécifiée est inférieure à celle de la chaîne de départ, la fonction renvoie la chaîne tronquée. Exemples LPAD('ABC',6,'x') renvoie xxxabc. LPAD('ABC',6,'xo') renvoie xoxabc. LPAD('ABC',4) renvoie ABC. LPAD('ABC', 2, 'x') renvoie AB. RPAD() ajoute des caractères à la fin d'une chaîne.

144 Fonctions Guide de référence du serveur Business Activity Monitoring LTRIM 144 LTRIM Cette fonction scalar supprime des caractères du début d'une chaîne. Syntaxe LTRIM( wholestring [, setstring ] ) Paramètres wholestring : chaîne à tronquer. setstring : caractères à supprimer ; la valeur par défaut est un espace unique ( ). Type de valeur renvoyée VARCHAR. Remarques Supprime de façon récursive toutes les instances de setstring à partir du début de wholestring jusqu'à ce que wholestring ne commence plus par setstring, puis renvoie le résultat correspondant. Exemples LTRIM(' ZZZ') renvoie ZZZ. LTRIM('aaaZZZ','a') renvoie ZZZ. LTRIM('ababaZZZ','ab') renvoie azzz. LTRIM('abcabaZZZ','abc') renvoie abazzz. RTRIM() supprime des caractères de la fin d'une chaîne.

145 Fonctions Guide de référence du serveur Business Activity Monitoring MAX 145 MAX Cette fonction set renvoie la valeur maximale d'un ensemble. Syntaxe MAX( expression ) Paramètres expression : Expression évaluée sous la forme de n'importe quel type de données et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Type de valeur renvoyée Même type de données que l'argument expression. Remarques Dans le cas d'une valeur booléenne, la valeur True est supérieure à la valeur False. Dans le cas d'une chaîne, z est supérieur à A. Exemple Renvoyer le prix maximal de toutes les lignes de l'ensemble Foo : SELECT MAX( price ) FROM Foo; PRICE Sémantique pour les ensembles mobiles Lorsque cette fonction est utilisée sous la forme d'une MOV_function(), elle renvoie la valeur maximale de l'ensemble mobile. MOV_MAX( numeric, window, size [,timestampcolumn] ) MOV_MAX() renvoie la valeur maximale d'un ensemble d'une fenêtre mobile. TUMBLE_MAX() renvoie la valeur maximale d'un ensemble d'une fenêtre culbute. MIN() renvoie la valeur minimale d'un ensemble. GREATEST() renvoie la valeur maximale d'une liste.

146 Fonctions Guide de référence du serveur Business Activity Monitoring median 146 median Cette fonction set renvoie la valeur médiane (centrale) d'un ensemble. Remarque :Cette fonction est fournie sous la forme d'un exemple de fonction définie par l'utilisateur (UDF). Pour l'utiliser, vous devez la charger à partir du répertoire \samples\udf\jar\com\celequest\manifest situé sur le CD d'accompagnement. Pour plus de détails sur la procédure de chargement des UDF, reportez-vous à la section «Fonctions définies par l'utilisateur», page 351. Syntaxe median( numericexp ) Paramètres numericexp : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Type de valeur renvoyée INTEGER lorsque tous les résultats de numericexp sont des nombres entiers ; DOUBLE PRECISION lorsque l'un des résultats est une valeur décimale. Remarques Cette fonction trie les valeurs de l'ensemble, puis renvoie la valeur médiane de l'ensemble trié. Lorsque le nombre de valeurs est impair, la valeur médiane correspond au nombre central de l'ensemble. Par exemple, la valeur médiane de 2,1,5 est 2, car il s'agit de la valeur centrale de l'ensemble trié. Si le nombre de valeurs est pair, la valeur médiane correspond à la moyenne des deux nombres centraux de l'ensemble. Par exemple, la valeur médiane de 2,1,5,4 est 3, car il s'agit de la moyenne des valeurs 2 et 4. En outre, si le résultat de la moyenne est une valeur décimale, ce résultat est arrondi au nombre entier inférieur : la valeur médiane de 2 et de 3 est 2, qui correspond au résultat de l'instruction floor(2.5). Cette fonction ignore les valeurs NULL. Exemples Examinez l'instruction ci-après : SELECT median(value) AS MedianV FROM NumberList Le résultat de cette instruction est 1.5 (moyenne des valeurs 1.0 et 2.0 après omission des valeurs NULL) lorsque les éléments de NumberList sont présentés dans l'ordre suivant : 3.0 NULL NULL NULL Le résultat de l'instruction est 1 si l'ensemble est le suivant : 1 2

147 Fonctions Guide de référence du serveur Business Activity Monitoring median 147 Les valeurs de l'ensemble étant des nombres entiers, le résultat doit également être un nombre entier. Par conséquent, la valeur moyenne de l'ensemble, correspondant à 1.5, est arrondie au nombre entier inférieur : 1. AVG() renvoie la moyenne arithmétique d'un ensemble. mode() renvoie la valeur la plus fréquente d'un ensemble.

148 Fonctions Guide de référence du serveur Business Activity Monitoring MIN 148 MIN Cette fonction set renvoie la valeur minimale d'un ensemble. Syntaxe MIN( expression ) Paramètres expression : Expression évaluée sous la forme de n'importe quel type de données et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Type de valeur renvoyée Même type de données que l'argument expression. Remarques Dans le cas d'une valeur booléenne, la valeur True est supérieure à la valeur False. Dans le cas d'une chaîne, z est supérieur à A. Exemple Renvoyer le prix minimal de toutes les lignes de l'ensemble Foo : SELECT MIN( price ) FROM Foo; PRICE Sémantique pour les ensembles mobiles Lorsque cette fonction est utilisée sous la forme d'une MOV_function(), elle renvoie la valeur minimale de l'ensemble mobile. MOV_MIN( numeric, window, size [,timestampcolumn] ) MOV_MIN() renvoie la valeur minimale d'un ensemble d'une fenêtre mobile. TUMBLE_MIN() renvoie la valeur minimale d'un ensemble d'une fenêtre culbute. MAX() renvoie la valeur maximale d'un ensemble. LEAST() renvoie la valeur minimale d'une liste.

149 Fonctions Guide de référence du serveur Business Activity Monitoring MOD 149 MOD Cette fonction scalar renvoie le module (reste) d'une division. Syntaxe MOD( dividend, divisor ) Paramètres dividend : dividende. divisor : diviseur. Type de valeur renvoyée INTEGER. Remarques Lorsque le diviseur est égal à zéro (0), cette fonction renvoie le dividende. Cette fonction ne produit pas le même résultat que la fonction de module mathématique classique lorsque le dividende est négatif. Le module classique peut être exprimé à l'aide de la formule suivante : dividend - divisor * FLOOR(dividend/divisor) La présente fonction utilise la formule modifiée suivante : SIGN(dividend) * (ABS(dividend) - ABS(divisor * FLOOR(ABS(dividend/divisor)) ) ) Le tableau ci-après indique les différences entre la fonction MOD et la formule de module classique : Dividende Diviseur MOD (Dividend,Divisor) Module classique Remarque :La plupart des systèmes de gestion de base de données utilisent la même formule que Business Activity Monitoring ES, tandis que les tableurs tels que Microsoft Excel utilisent la fonction module classique. Exemple Renvoyer le reste du dividende divisé par le diviseur : SELECT MOD(11,4) "Modulus" FROM Foo; Modulus

150 Fonctions Guide de référence du serveur Business Activity Monitoring mode 150 mode Cette fonction set renvoie la valeur la plus fréquente d'un ensemble. Remarque :Cette fonction est fournie sous la forme d'un exemple de fonction définie par l'utilisateur (UDF). Pour l'utiliser, vous devez la charger à partir du répertoire \samples\udf\jar\com\celequest\manifest situé sur le CD d'accompagnement. Pour plus de détails sur la procédure de chargement des UDF, reportez-vous à la section «Fonctions définies par l'utilisateur», page 351. Syntaxe mode( numericexp ) Paramètres numericexp : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Type de valeur renvoyée Même type de données que le résultat numericexp. Remarques Lorsque plusieurs valeurs surviennent à la même fréquence, la fonction mode() renvoie la première valeur rencontrée. Reportez-vous à l'exemple. Cette fonction ignore les valeurs NULL. Exemples Examinez l'ensemble de valeurs ci-après indiquées dans la fonction mode() dans l'ordre suivant : La fonction mode() renvoie la valeur 1 car cette dernière survient le plus fréquemment et a été rencontrée avant la valeur 3 qui survient à la même fréquence. Si l'ensemble avait été spécifié dans l'ordre inverse, la fonction mode() aurait renvoyé la valeur 3. Pour l'ensemble de valeurs ci-après, la fonction mode renvoie le résultat 1.0 : 1 3 NULL 2.0 NULL NULL 1 Les valeurs NULL sont ignorées, et la valeur 2.0 contraint la fonction mode() à renvoyer une valeur DOUBLE PRECISION.

151 Fonctions Guide de référence du serveur Business Activity Monitoring MOV_function 151 Voir aussi AVG() renvoie la moyenne arithmétique d'un ensemble. median() renvoie la valeur médiane (centrale) d'un ensemble. Pour obtenir la liste complète des fonctions, reportez-vous à la section «Fonction C-SQL», page 115. MOV_function Cette fonction scalar limite les lignes utilisées pour le calcul d'une fonction set aux lignes les plus récentes de la vue. Fonctions moving set Les fonctions portant sur les ensembles de valeurs d'une fenêtre mobile (fonctions moving set) sont les suivantes : Argument MOV_AVG MOV_COUNT MOV_MAX MOV_MIN MOV_SUM MOV_STD_DEVIATION MOV_VARIANCE Description Renvoie la valeur moyenne (moyenne arithmétique) mobile d'un ensemble de valeurs numériques d'une fenêtre mobile. Renvoie le nombre de lignes d'un ensemble d'une fenêtre mobile. Renvoie la valeur maximale d'un ensemble d'une fenêtre mobile. Renvoie la valeur minimale d'un ensemble d'une fenêtre mobile. Renvoie la somme d'un ensemble de valeurs numériques d'une fenêtre mobile. Renvoie un exemple d'écart-type d'un ensemble de valeurs d'une fenêtre mobile. Renvoie le carré de l'exemple d'écart-type d'un ensemble de valeurs d'une fenêtre mobile. Remarque :Les fonctions moving set constituent un moyen rapide d'exprimer des fenêtres de requêtes simples. Pour plus d'informations, consultez la section «Fenêtres de requêtes», page 275. Syntaxe Toutes les fonctions moving set présentent la syntaxe suivante : mov_function( numeric, window, size [,timestampcolumn] ) où function correspond à une fonction set existante. Le type de valeur renvoyée par la fonction mobile est identique à celui de la fonction nommée. L'argument numeric correspond généralement à l'une des colonnes d'une vue, mais peut contenir d'autres fonctions et opérateurs, bien qu'elle ne puisse pas faire référence à une fonction rank. Les arguments window (fenêtre) et size (taille) indiquent les lignes figurant dans l'ensemble. L'argument window détermine si la taille correspond au nombre de lignes de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). Par exemple, un ensemble regroupant les 6 derniers

152 Fonctions Guide de référence du serveur Business Activity Monitoring MOV_function 152 événements limite l'ensemble à 6 événements seulement (par groupe en cas d'utilisation de la Clause GROUP BY). Notez que certains événements génèrent plusieurs lignes ; ne confondez pas événements et lignes. MOV_SUM(Price, EVENT, 6) Heure Price 03: : : : : Remarque : ensemble de 5 événements seulement. Heure Price 03: : : : : : Heure Price 03: : : : : : : Expression de fenêtre complète : SUM(Price) OVER (EVENT '5' PRECEDING REFERENCE FRAME) Heure Price 03: : : : : : : : En cas d'utilisation de séries chronologiques (au lieu d'une plage d'événements), la taille de l'ensemble varie en fonction du moment où les événements ont été enregistrés dans la vue. Par exemple, si vous utilisez une série chronologique d'une heure, seules les lignes entrées dans la vue au cours de l'heure qui précède sont utilisées dans le calcul. MOV_SUM(Price, HOUR, 1) Heure Price 03: : : : : Heure Price 03: : : : : : Heure Price 03: : : : : : : Heure Price 03: : : : : : : : Expression de fenêtre complète : SUM(Price) OVER (RANGE '1' HOUR PRECEDING REFERENCE OPERATOR) Remarque :Il est possible, mais très improbable, qu'un événement arrive dans le système à temps pour être inclus dans une vue, mais qu'il soit rejeté parce qu'il ne se trouve plus dans la plage de temps de la vue le temps qu'il atteigne cette dernière. Par exemple, si l'événement est introduit dans la table d'événements quelques millisecondes seulement avant le moment où il serait exclu d'une vue dérivée, son inclusion ou son exclusion dépend finalement du temps requis par le traitement et la propagation de l'événement dans les vues de base. L'argument facultatif timestampcolumn demande au système d'utiliser la valeur d'un champ de la vue comme point de référence pour le démarrage de la série chronologique. Si vous omettez cette option, le système calcule la série chronologique en fonction de l'horloge système, par exemple sur l'heure qui vient

153 Fonctions Guide de référence du serveur Business Activity Monitoring Séries chronologiques 153 de s'écouler. Si vous nommez une colonne d'horodatage, en revanche, le calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. MOV_SUM(Price, HOUR, 1, Time) Evénements de la dernière heure à partir de l'événement le plus récent en fonction de sa valeur dans la colonne Time, ne correspondant pas nécessairement à l'ordre d'arrivée des événements dans la vue. Heure Price 03: : : : : : : : Expression de fenêtre complète : SUM(Price) OVER (ORDER BY Time RANGE '1' HOUR PRECEDING REFERENCE OPERATOR) Séries chronologiques Les calculs de séries chronologiques utilisent le calendrier grégorien et reposent sur la seconde où l'événement a été enregistré dans le système (indiqué dans la colonne vc_timestamp). Par exemple, si la plage de temps est d'une journée et qu'un événement se produit juste avant minuit, il exclut la quasi-totalité des événements du jour qui précède ; toutefois, un événement survenant immédiatement après minuit inclut quasiment tous les événements de la veille. Voici quelques règles sémantiques supplémentaires : Dans des fuseaux horaires appliquant une heure d'été, la durée des jours, mois et années est ajustée en conséquence. Même si un jour compte normalement 24 heures, il peut durer 23 ou 25 heures selon le moment. Les calculs portant sur des mois reposent sur le jour du mois : une plage de temps d'un mois associée au 5 avril inclut toutes les dates qui suivent le 5 mars. Lorsque le jour du mois n'existe pas au début de la fenêtre, la fin du mois est utilisée. Par exemple, une plage de temps d'un mois associée au 31 mai démarre après le 30 avril. De la même façon, les calculs portant sur des années reposent sur le jour de l'année et s'ajustent éventuellement en fonction des années bissextiles. En cas d'exécution parallèle, vous pouvez choisir de ne pas traiter les événements dans l'ordre de leur horodatage. Dans ce cas, l'ordre des données au sein d'un groupe est arbitraire et ne produira que des valeurs moving set approximatives non susceptibles de se reproduire pour les mêmes événements d'entrée au cours d'une évaluation ultérieure du même ensemble. L'ensemble d'événements inclus dans une vue de fenêtre mobile est déterminé lorsqu'un nouvel événement entre dans la vue. Les événements filtrés avant leur arrivée dans la vue, par exemple du fait de leur exclusion par une Clause WHERE, n'ont pas de répercussions sur la vue et n'entraînent pas la mise à jour de cette dernière. Avertissement concernant les vues N'utilisez pas de fonction moving set dans une vue dérivée pour effectuer un calcul sur le résultat d'une fonction moving set dans une vue de base. En effet, la fonction dérivée renverra toujours la valeur actuelle dans la vue de base, indépendamment de la plage de temps de la fenêtre. Si vous avez besoin d'une

154 Fonctions Guide de référence du serveur Business Activity Monitoring Interactions avec la clause GROUP BY 154 agrégation de ce type, placez les fonctions dans la même vue. Pour plus de détails, reportez-vous à l'exemple fourni à la section «AVG», page 119. Interactions avec la clause GROUP BY L'utilisation d'une fonction moving set dans une vue définie avec une Clause GROUP BY remplit les groupes de la façon suivante : Séries chronologiques Les séries chronologiques s'appliquent à tous les événements de la totalité des groupes. Seuls les événements survenant au cours de cette plage de temps sont inclus dans les groupes. Les événements ne correspondant pas à la plage de temps définie sont exclus. Lorsque tous les événements de l'ensemble d'un groupe ont été supprimés, ce groupe est vide. Si aucune autre colonne ne conserve ce groupe, ce dernier est supprimé de la vue. Examinez l'exemple ci-après recherchant les prix moyens dans des groupes par produit au cours de l'heure qui précède. Lorsqu'un produit ne comporte plus aucun événement pour l'heure qui vient de s'écouler, le groupe associé est supprimé. SELECT MOV_AVG(Price,HOUR,1) AS Av_pr FROM GROUP BY Product Toutefois, dans la variante ci-après, la présence de la fonction SUM() oblige la vue à conserver chacun des groupes d'événements, mais il est possible que le prix moyen d'un groupe sur l'heure qui précède soit vide. L'envoi d'une requête à un groupe vide renvoie une valeur NULL. SELECT MOV_AVG(Price,HOUR,1) AS Av_pr, SUM(Price) AS Total FROM GROUP BY Product Plages d'événements Les plages d'événements appliquent leur durée à chacun des groupes de la vue ; chaque groupe recherche un nombre d'événements déterminé par la durée de la plage de temps. Les groupes ne sont jamais supprimés de la vue, et les événements ne sont supprimés des ensembles que lorsqu'ils sont sortis par un événement plus récent. Examinez la vue de l'exemple ci-après, dans laquelle MOV_AVG() recherche jusqu'à 3 événements par groupe. Lorsque le quatrième événement présentant une valeur Ix égale à 100 est inséré, le premier événement est exclu du calcul de la moyenne mobile du groupe Ix=100. Toutefois, dans cet exemple, une fois que le groupe 200 est créé, son ensemble reste constant avec ce même événement : Evénements Ix Price Ix 100 Ix Ix Ix Av_pr Av_pr Av_pr Ct 1 Ct 2 1 Ct 3 1 Ct 3 1 Premier événement uniquement. Inclut Ix=200. Comporte 3 Ix=100. SELECT IX, MOV_AVG(Price,EVENT,3) AS Av_pr, COUNT(*) AS Ct FROM GROUP BY Ix Av_pr Premier événement supprimé.

155 Fonctions Guide de référence du serveur Business Activity Monitoring MOV_AVG 155 Dans le cas des plages d'événements englobant des événements constitués de plusieurs lignes dans la vue, la totalité de l'événement est considérée comme un seul élément dans l'ensemble basé sur l'horodatage (vc_timestamp) et sur l'id de l'événement (vc_event_id). Remarque :tous les noms columnnames directement désignés par une fonction rank ou une fonction scalar doivent apparaître dans l'ensemble de colonnes répertorié dans la liste GROUP BY. MOV_AVG Cette fonction moving set renvoie la valeur moyenne (moyenne arithmétique) mobile d'un ensemble de valeurs numériques d'une fenêtre mobile. Syntaxe MOV_AVG( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit être un nombre entier supérieur à zéro (0). timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée Numérique, même type de données que l'argument numeric. Remarques Renvoie une valeur NULL si le groupe est vide. Exemple Renvoyer le prix moyen de tous les événements survenant au cours d'une période de 7 jours : MOV_AVG(price, DAY, 7, trade_time) AS Avg_7_day_price La section «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles. AVG() renvoie la moyenne arithmétique d'un ensemble. TUMBLE_AVG() renvoie la moyenne culbute d'un ensemble.

156 Fonctions Guide de référence du serveur Business Activity Monitoring MOV_COUNT 156 MOV_COUNT Cette fonction moving set renvoie le nombre de lignes d'un ensemble d'une fenêtre mobile. Syntaxe MOV_COUNT( *, window, size [,timestampcolumn] ) Paramètres window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit être un nombre entier supérieur à zéro (0). timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée INTEGER. Remarques Renvoie la valeur zéro (0) si l'ensemble est vide. Les lignes contenant des valeurs NULL sont comptabilisées. Lorsque cette fonction est utilisée avec une clause GROUP BY, elle renvoie le nombre de lignes de l'ensemble d'un groupe. Pour plus de détails, reportez-vous à la section «Interactions avec la clause GROUP BY», page 154. Exemple Renvoyer le nombre de tous les événements survenant lors de l'intervalle de 8 heures en cours : MOV_COUNT(*, HOUR, 8, trade_time) AS Total La fonction ci-dessus constitue une forme abrégée de l'expression de fenêtre en ligne suivante : COUNT(*) AS Total OVER (ORDER BY trade_time '8' HOUR) Cette expression est l'équivalent de l'expression ci-dessous après remplissage de toutes les valeurs par défaut : COUNT(*) AS Total OVER ( ORDER BY trade_time RANGE INTERVAL '8' HOUR PRECEDING REFERENCE OPERATOR) Remarque :La fenêtre de huit heures débute lorsque le premier événement arrive dans la vue. Pour faire commencer la fenêtre au début de l'heure, indiquez INITIALIZE ' :00:00.000'. La section «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles. COUNT() renvoie le nombre de lignes d'une vue ou d'un ensemble. TUMBLE_COUNT() renvoie le nombre de lignes d'un ensemble d'une fenêtre culbute.

157 Fonctions Guide de référence du serveur Business Activity Monitoring MOV_MAX 157 MOV_MAX Cette fonction moving set renvoie la valeur maximale d'un ensemble d'une fenêtre mobile. Syntaxe MOV_MAX( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit être un nombre entier supérieur à zéro (0). timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée Même type de données que l'argument expression. Remarques Dans le cas d'une valeur booléenne, la valeur True est supérieure à la valeur False. Dans le cas d'une chaîne, z est supérieur à A. Exemple Renvoyer le prix maximal de tous les événements survenant au cours d'une période de 7 jours : MOV_MAX(price, DAY, 7, trade_time) AS Max_7_day_price MAX() renvoie la valeur maximale d'un ensemble d'une fenêtre mobile. TUMBLE_MAX() renvoie la valeur maximale d'un ensemble d'une fenêtre culbute. MIN() renvoie la valeur minimale d'un ensemble. GREATEST() renvoie la valeur maximale d'une liste. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

158 Fonctions Guide de référence du serveur Business Activity Monitoring MOV_MIN 158 MOV_MIN Cette fonction moving set renvoie la valeur minimale d'un ensemble d'une fenêtre mobile. Syntaxe MOV_MIN( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit être un nombre entier supérieur à zéro (0). timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée Même type de données que l'argument expression. Remarques Dans le cas d'une valeur booléenne, la valeur True est supérieure à la valeur False. Dans le cas d'une chaîne, z est supérieur à A. Exemple Renvoyer le prix minimal de tous les événements survenant au cours d'une période de 7 jours : MOV_MIN(price, DAY, 7, trade_time) AS Min_7_day_price MIN() renvoie la valeur minimale d'une vue ou d'un ensemble. TUMBLE_MIN() renvoie la valeur minimale d'un ensemble d'une fenêtre culbute. MAX() renvoie la valeur maximale d'un ensemble. LEAST() renvoie la valeur minimale d'une liste. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

159 Fonctions Guide de référence du serveur Business Activity Monitoring MOV_SUM 159 MOV_SUM Cette fonction moving set renvoie la somme d'un ensemble de valeurs numériques d'une fenêtre mobile. Syntaxe MOV_SUM( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit être un nombre entier supérieur à zéro (0). timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée Numérique, même type de données que l'argument numeric. Renvoie une valeur NULL si l'ensemble est vide. Exemple Calculer le prix total de tous les événements survenant au cours de l'heure actuelle : MOV_SUM(Price, HOUR, 1) L'instruction ci-dessus constitue une forme abrégée de l'expression de fenêtre en ligne suivante : SUM(Price) OVER (RANGE '1' HOUR PRECEDING REFERENCE OPERATOR) SUM() renvoie la somme d'une vue ou d'un ensemble. TUMBLE_SUM() renvoie la somme d'un ensemble d'une fenêtre culbute. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

160 Fonctions Guide de référence du serveur Business Activity Monitoring MOV_STD_DEVIATION 160 MOV_STD_DEVIATION Cette fonction moving set renvoie un exemple d'écart-type d'un ensemble de valeurs d'une fenêtre mobile. Syntaxe MOV_STD_DEVIATION( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit être un nombre entier supérieur à zéro (0). timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée DOUBLE PRECISION. Remarques Renvoie la valeur 0 s'il n'existe qu'une ligne d'entrée. Renvoie une valeur NULL si l'ensemble est vide. Le résultat est calculé à l'aide de la formule l'exemple et X à l'exemple de moyenne. Exemple ( X i X) n, où n correspond au nombre d'éléments de Renvoyer l'écart-type relatif aux salaires pour les événements de l'année passée : SELECT MOV_STD_DEVIATION(salary, YEAR, 1) AS "Dev. for the last year" FROM employees; Cette expression est l'équivalent de l'expression ci-dessous après remplissage de toutes les valeurs par défaut : SELECT STD_DEVIATION(salary) AS "Dev. for the last year" OVER ( RANGE INTERVAL '1' YEAR PRECEDING REFERENCE OPERATOR) STD_DEVIATION() renvoie l'écart-type d'une vue ou d'un ensemble. TUMBLE_STD_DEVIATION() renvoie l'écart-type d'un ensemble d'une fenêtre culbute. VARIANCE() renvoie le carré de l'écart-type. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

161 Fonctions Guide de référence du serveur Business Activity Monitoring MOV_VARIANCE 161 MOV_VARIANCE Cette fonction moving set renvoie le carré de l'exemple d'écart-type d'un ensemble de valeurs d'une fenêtre mobile. Syntaxe MOV_STD_DEVIATION( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit être un nombre entier supérieur à zéro (0). timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée DOUBLE PRECISION. Remarques Renvoie la valeur zéro (0) si l'ensemble de l'expression ne contient qu'un seul élément. Renvoie une valeur NULL si l'ensemble est vide. ( X Le résultat est calculé à l'aide de la formule i X) , où n correspond au nombre d'éléments de n l'exemple et X à l'exemple de moyenne. Exemple Renvoyer l'écart relatif aux salaires pour chaque année civile : SELECT MOV_STD_VARIATION(salary, YEAR, 1) AS "Variation for last year" FROM employees; Cette expression est l'équivalent de l'expression ci-dessous après remplissage de toutes les valeurs par défaut : SELECT VARIATION(salary) AS "Variation for last year" OVER ( RANGE INTERVAL '1' YEAR PRECEDING REFERENCE OPERATOR) VARIANCE() renvoie la variance d'une vue ou d'un ensemble. STD_DEVIATION() renvoie un écart-type. TUMBLE_VARIANCE() renvoie la variance d'un ensemble d'une fenêtre culbute. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

162 Fonctions Guide de référence du serveur Business Activity Monitoring NTILE 162 NTILE Cette fonction rank détermine le rang du niveau de chacune des valeurs d'un ensemble par rapport à l'intégralité de l'ensemble. Syntaxe NTILE( torank, tiers ) Paramètres torank : expression d'un type de données quelconque, faisant généralement référence à une colonne de valeurs à classer. tiers : Nombre de niveaux pour la partition des résultats ; nombre entier supérieur à zéro (0). Lorsque cette valeur est supérieure au nombre d'éléments à classer, le même rang est attribué à tous les éléments. Type de valeur renvoyée INTEGER. Remarques Renvoie, pour chacune des lignes de l'ensemble, un nombre entier représentant le niveau auquel appartient la ligne, où un (1) constitue le niveau le plus élevé contenant la valeur maximale. Lorsque le paramètre torank présente une valeur NULL, celle-ci reçoit le rang le plus bas. Remarque :Vous ne pouvez pas utiliser cette fonction en tant qu'argument dans une fonction set, une fonction moving set ou une fonction rank. Par exemple, l'instruction SUM(NTILE()) est incorrecte. Une fonction ntile classe les lignes en tentant de les répartir uniformément au sein d'un ensemble de niveaux fixe. Par exemple, lorsqu'un ensemble de six résultats d'expression {D, B, E, C, A et B} doit être classé en deux niveaux, NTILE() attribue à chacun des niveaux le rang 1 (pour C, D et E) ou 2 (pour A, B et B). Les résultats présentant une valeur identique sont toujours placés dans le même niveau. Lorsqu'un ensemble de valeurs n'est pas divisible par le nombre de niveaux, la fonction répartit uniformément toutes les lignes en surplus entre les groupes du niveau le plus élevé. Par exemple, le tableau ci-après démontre le mode de répartition des éléments lettres en fonction de différents nombres de niveaux : Niveaux: A B B C D E

163 Fonctions Guide de référence du serveur Business Activity Monitoring NTILE 163 Exemple La requête ci-après classe les ventes de produits de café et de thé en six niveaux selon le rang des ventes. Le classement comportant six niveaux, chacun des noms de produit reçoit une valeur comprise entre 1 et 6. Cet exemple requiert une seule entrée par produit : SELECT prod_name, NTILE( dollars, 6) AS sales_rank FROM (lineitem INNER JOIN product ON lineitem.item_id=product.productid) WHERE product.classkey IN (1, 2, 4, 5); PROD_NAME SALES_RANK Demitasse M 1 Xalapa Lapa 1 Cafe Au Lait 2 Aroma Roma 2 Veracruzano 3 Colombiano 3 Darjeeling Special 4 Irish Breakfast 4 English Breakfast 5 Earl Grey 5 Gold Tips 6 RANK() classe les lignes dans l'intégralité de l'ensemble. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

164 Fonctions Guide de référence du serveur Business Activity Monitoring POSITION 164 POSITION Cette fonction scalar renvoie la position d'un caractère ou d'une chaîne dans une chaîne. Syntaxe POSITION( sourceforstring, searchinstring ) Variante : POSITION( sourceforstring IN searchinstring ) Paramètres sourceforstring : chaîne à rechercher. sourceinstring : résultat de l'expression de chaîne dans laquelle effectuer la recherche. Type de valeur renvoyée INTEGER. Remarques Renvoie la position, en commençant par 1, de la 1 re instance de sourceforstring dans le résultat sourceinstring. Lorsque CHARACTER_LENGTH(sourceForString) présente la valeur zéro (0), la fonction renvoie 1. Lorsque l'un des arguments présente la valeur NULL, la fonction renvoie le résultat NULL. Exemples POSITION( 'a' IN 'banana') renvoie 2. POSITION( 'ana' IN 'banana') renvoie 2. POSITION( 'A' IN 'banana') renvoie 0. POSITION( 'M' IN 'banana') renvoie 0. POSITION( '' IN 'banana') renvoie 1. POSITION( NULL IN 'banana') renvoie NULL. SUBSTRING() extrait un caractère ou une sous-chaîne d'une chaîne.

165 Fonctions Guide de référence du serveur Business Activity Monitoring POWER 165 POWER Cette fonction scalar renvoie une valeur élevée à une puissance spécifique. Syntaxe POWER( numeric, power ) Paramètres numeric : nombre à élever à une puissance. power : Puissance à laquelle la valeur numérique doit être élevée. Il doit s'agir d'un nombre entier lorsque la valeur numérique est négative. Type de valeur renvoyée Même type de données que l'argument numeric. Remarques Cette fonction peut être exprimée de façon mathématique sous la forme «nombre puissance». Exemple POWER(3,5) renvoie 243. EXP() renvoie e élevé à une puissance spécifique. LOG() renvoie le logarithme d'un nombre d'une base spécifique.

166 Fonctions Guide de référence du serveur Business Activity Monitoring PREV 166 PREV Cette fonction set renvoie une valeur de l'avant-dernière ligne d'un ensemble. Syntaxe PREV( columnname ) Paramètres columnname : colonne ou alias d'un type de données quelconque à évaluer. Type de valeur renvoyée Même type de données que l'argument. Remarques Renvoie les valeurs de la ligne précédant la ligne «actuelle» d'un ensemble, où la ligne actuelle correspond à la ligne la plus récente de l'ensemble basée sur l'horodatage d'événement ou, si l'horodatage est le même pour toutes les lignes, à la dernière ligne de l'ensemble. Exemple Rassembler tous les cours de clôture des titres et les regrouper par symbole de titre. La ligne «actuelle» est toujours la dernière ligne reçue et contient donc le cours de clôture actuel. La ligne précédente correspond au cours de clôture de la veille : SELECT symbol, CURRENT(close) AS "Last Trade", PREV(close) AS "Prev Cls", (CURRENT(close) - PREV(close)) AS Change FROM Stock_feed GROUP BY symbol symbol Last Trade Prev Cls Change K IBM VCLR Sémantique pour les ensembles mobiles Cette fonction n'est pas utilisable avec un ensemble mobile ou culbute. CURRENT() renvoie la valeur de la ligne la plus récente ou de la dernière ligne d'un ensemble. PRIOR_VALUE() renvoie la valeur antérieure d'une colonne, d'un alias ou d'une expression. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

167 Fonctions Guide de référence du serveur Business Activity Monitoring PRIOR_VALUE 167 PRIOR_VALUE Cette fonction scalar renvoie la valeur antérieure d'une colonne, d'un alias ou d'une expression. Syntaxe PRIOR_VALUE( columnname ) Paramètres columnname : colonne ou alias d'un type de données quelconque à évaluer. Type de valeur renvoyée Même type de données que l'argument. Remarques Renvoie une valeur NULL si aucune valeur précédente n'existe, c'est-à-dire lors de la première exécution de la fonction sur la valeur columnname spécifiée. Utilisez la fonction PRIOR_VALUE() lorsque les données (événements) entrent dans le système de façon groupée et triée. Cette fonction n'est pas autorisée dans la Clause WHERE d'une définition de vue. Exemple Examinez la requête ci-après identifiant, sous la forme d'un pourcentage d'une heure, la durée requise pour l'exécution d'une tâche, en fonction du nombre de minutes écoulées depuis l'exécution de la tâche précédente : SELECT Task, CAST( (TIMESTAMP_DIFF(PRIOR_VALUE(Completed), Completed, MINUTE ) /60, DECIMAL(5,4) ) AS Hours FROM Tasks_Completed Task Hours Startup Initialize Begin job Finish job Clean up Shut down Have milk shake PREV() renvoie une valeur de l'avant-dernière ligne d'un ensemble.

168 Fonctions Guide de référence du serveur Business Activity Monitoring RANK 168 RANK Cette fonction rank détermine le rang de chacune des valeurs d'un ensemble par rapport à l'intégralité de l'ensemble. Syntaxe RANK( expression ) Paramètres expression : expression d'un type de données quelconque, faisant généralement référence à une colonne. Type de valeur renvoyée INTEGER. Remarques Renvoie, pour chacune des lignes de l'ensemble, un nombre entier correspondant au rang de la ligne dans l'intégralité de l'ensemble, où la valeur la plus élevée reçoit le rang 1. Lorsque l'expression présente une valeur NULL, celle-ci est classée en dernière position dans la liste de résultats. Par exemple, le classement des valeurs de l'ensemble (10, NULL, 20) attribue le rang 2 à la valeur 10, le rang 1 à la valeur 20 et le rang 3 à la valeur NULL. Lorsque les valeurs à classer sont identiques, elles reçoivent le même rang, et le rang suivant est omis. Par exemple, les valeurs 4.5, 4.5, 1.0 reçoivent respectivement les rangs 1, 1 et 3. Remarque :Vous ne pouvez pas utiliser cette fonction en tant qu'argument dans une fonction set, une fonction rank ou une fonction moving set. Par exemple, l'instruction SUM(RANK( )) est incorrecte. Vous ne pouvez pas non plus utiliser une fonction RANK() dans une vue sans état. Lorsque l'ensemble ne contient qu'une ligne, la fonction RANK() renvoie la valeur 1. Par exemple, RANK(SUM(sales)) = 1. Exemples Classer les ventes de produits par région : SELECT RANK( SUM( sales ) ) AS R, SUM(sales) AS S, region FROM product_orders GROUP BY region R S region north south

169 Fonctions Guide de référence du serveur Business Activity Monitoring RANK 169 Classer les ventes de produits par produit : SELECT prod_name, SUM(dollars) AS prod_sales, RANK( SUM(dollars) ) AS prod_rank FROM product, lineitem WHERE lineitem.classkey = product.classkey AND lineitem.prodkey = product.prodkey GROUP BY prod_name; PROD_NAME PROD_SALES PROD_RANK Demitasse Ms Xalapa Lapa Aroma Roma Verona NA Lite Lotta Latte NTILE() classe les lignes et les place dans un ensemble de niveaux fini. «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

170 Fonctions Guide de référence du serveur Business Activity Monitoring RATIO_TO_REPORT 170 RATIO_TO_REPORT Cette fonction rank calcule le rapport d'une valeur à la somme des valeurs pour l'intégralité de l'ensemble. Syntaxe RATIO_TO_REPORT( numeric ) Paramètres numeric : expression d'un type de données numérique quelconque, faisant généralement référence à une colonne numérique. Type de valeur renvoyée DOUBLE PRECISION. Remarques Renvoie, pour chacune des lignes de l'ensemble, un nombre indiquant le rapport de la ligne à la somme de l'intégralité de l'ensemble. Lorsque l'expression présente une valeur NULL, la fonction renvoie un résultat NULL. Lorsque la somme de l'ensemble est égale à zéro (0), le rapport est également de zéro. Remarque :Vous ne pouvez pas utiliser cette fonction en tant qu'argument dans une fonction set, une fonction moving set ou une fonction rank. Par exemple, l'expression SUM(RATIO_TO_REPORT( )) est incorrecte. Exemple Déterminer le pourcentage que représente chacune des ventes de produit par rapport aux ventes totales de tous les produits sur les 20 dernières semaines : SELECT prod_description DESC, SUM(dollars) as sales, RATIO_TO_REPORT( SUM( li_amount )) * 100 AS ratio_dollars FROM lineitem, product WHERE lineitem.li_prod_id = product.prod_id GROUP BY prod_description; DESC SALES RATIO_DOLLARS Widget Basket Football Oil Drum Computer Chair Desk Mesh Bag Shoelace Powder Telephone Cord Mouse Monitor Case Cup

171 Fonctions Guide de référence du serveur Business Activity Monitoring ROUND 171 ROUND Cette fonction scalar renvoie un nombre arrondi à un nombre de décimales défini. Syntaxe ROUND( number, [ places ] ) Paramètres number : expression numérique à arrondir. places : Nombre de décimales auquel le nombre doit être arrondi. Lorsque le nombre de décimales est un nombre entier négatif, la fonction renvoie un nombre entier rond. La valeur par défaut de ce paramètre est zéro (0), ce qui a pour effet de supprimer toutes les décimales. Type de valeur renvoyée Numérique, même type de données que l'argument number. Exemples ROUND( ) renvoie ROUND( , 0) renvoie ROUND( , 1) renvoie ROUND( , 2) renvoie ROUND( , -2) renvoie TRUNC() supprime des chiffres d'un nombre.

172 Fonctions Guide de référence du serveur Business Activity Monitoring RPAD 172 RPAD Cette fonction scalar ajoute une ou plusieurs instances d'une chaîne à la fin d'une autre chaîne. Syntaxe RPAD( string, length, [ padchar ] ) Paramètres string : caractère ou chaîne à modifier. length : Longueur d'affichage de la chaîne renvoyée. Si vous utilisez des caractères multi-octet, la longueur correspond au nombre de caractères qui s'affichent ou s'impriment, et non au nombre de multi-octets. padchar : Caractère ou chaîne à ajouter. La valeur par défaut est un espace unique ou un caractère vide ( ). Type de valeur renvoyée VARCHAR. Remarques Si la longueur spécifiée est inférieure à celle de la chaîne de départ, la fonction renvoie la chaîne tronquée. Exemples RPAD('ABC', 6, 'x') renvoie ABCxxx. RPAD('ABC', 6, 'xo') renvoie ABCxox. RPAD('ABC', 4) renvoie ABC. RPAD('ABC', 2, 'x') renvoie AB. LPAD() insère des caractères au début d'une chaîne.

173 Fonctions Guide de référence du serveur Business Activity Monitoring RTRIM 173 RTRIM Cette fonction scalar supprime des caractères de la fin d'une chaîne. Syntaxe RTRIM( sourcestring [, setstring ] ) Paramètres sourcestring : chaîne à tronquer. setstring : caractères à supprimer ; la valeur par défaut est un espace unique ( ). Type de valeur renvoyée VARCHAR. Remarques Supprime de façon récursive toutes les instances de setstring à partir de la fin de sourcestring jusqu'à ce que sourcestring ne finisse plus par setstring, puis renvoie le résultat correspondant. Exemples RTRIM('ZZZ ') renvoie ZZZ. RTRIM('ZZZaaa', 'a') renvoie ZZZ. RTRIM('ZZZababab', 'ab') renvoie ZZZ. RTRIM('ZZZababc', 'abc') renvoie ZZZab. LTRIM() supprime des caractères du début d'une chaîne.

174 Fonctions Guide de référence du serveur Business Activity Monitoring SAFE_DIVIDE 174 SAFE_DIVIDE Cette fonction scalar renvoie un quotient déterminé par un dividende et un diviseur, ou un quotient de remplacement en cas de division par zéro. Si le diviseur est différent de zéro, cette fonction renvoie le quotient de la division du dividende par le diviseur. Si le diviseur est égal à zéro ou qu'une autre erreur d'exécution survient pendant le calcul du quotient, par exemple dans le cas d'une valeur DECIMAL hors limites, la fonction renvoie le quotient de remplacement. Remarque :il est conseillé d'utiliser des valeurs décimales à la fois pour le dividende et pour le diviseur. Syntaxe SAFE_DIVIDE(numberDividend,numberDivisor,numberAlternateQuotient) Paramètres numberdividend : valeur numérique à diviser (dividende). Le type de données est déterminé par la façon dont la valeur est entrée. Si la valeur est entrée sans décimale (par exemple, 19), cette valeur est convertie en nombre entier. Si la valeur est entrée avec décimale (par exemple, 19.00), cette valeur est convertie en nombre entier. numberdivisor : valeur numérique par laquelle le dividende doit être divisé (diviseur). Cette valeur est automatiquement convertie dans le même type de données que la valeur numberdividend. numberalternatquotient : valeur numérique à renvoyer si le quotient obtenu est égal à 0 ou si t Type de valeur renvoyée Numérique, même type de données que l'argument number. Exemples SAFE_DIVIDE(100.20,4321) renvoie 5. SAFE_DIVIDE( ,4321) renvoie 5. La valeur 19.5 est convertie en nombre entier, c'est-à-dire 19. SAFE_DIVIDE(100.00,19.5,4321) renvoie Le quotient est renvoyé avec le même nombre de décimales que la valeur numberdividend, deux décimales dans le cas présent. SAFE_DIVIDE(SAFE_DIVIDE( ,19.5,4321) renvoie Le quotient est renvoyé avec le même nombre de décimales que la valeur numberdividend, trois décimales dans le cas présent. SAFE_DIVIDE(100.0,4321) renvoie Le quotient de la division de numberdividend par numberdivisor étant égal à 0, la fonction renvoie la valeur numberalternatequotient.

175 Fonctions Guide de référence du serveur Business Activity Monitoring SIGN 175 SIGN Cette fonction scalar identifie le signe arithmétique d'un nombre. Syntaxe SIGN( number ) Paramètres number : valeur numérique à évaluer. Type de valeur renvoyée INTEGER. Remarques Renvoie la valeur 1 si le nombre est positif, la valeur 0 si le nombre est égal à zéro et la valeur -1 si le nombre est négatif. Notez que les expressions ci-après renvoient des résultats identiques : (number * SIGN(number) ) ABS(number) ABS() renvoie la valeur absolue d'un nombre.

176 Fonctions Guide de référence du serveur Business Activity Monitoring SQRT 176 SQRT Cette fonction scalar renvoie la racine carrée d'un nombre. Syntaxe SQRT( number ) Paramètres number : Valeur numérique (DOUBLE) à évaluer. Cette valeur doit être supérieure à zéro (0). Type de valeur renvoyée DOUBLE PRECISION. Exemple SQRT(42) renvoie 6.480

177 Fonctions Guide de référence du serveur Business Activity Monitoring SUBSTRING 177 SUBSTRING Cette fonction scalar renvoie une sous-chaîne d'une chaîne spécifiée. Syntaxe SUBSTRING( string, position, [ length ] ). Variantes : SUBSTR( string, position, [ length ] ) SUBSTRING( string FROM position [ FOR length ] ) Paramètres string : chaîne de caractères à rechercher. position : Position de départ de la sous-chaîne, où 1 correspond au premier caractère du début de la chaîne et -1 au dernier caractère. Les valeurs négatives recherchent la sous-chaîne en partant de la fin de la chaîne. La valeur zéro (0) renvoie le même résultat que la valeur 1. Une position en dehors de la chaîne renvoie une chaîne vide. length : Longueur de la sous-chaîne à extraire. Si vous n'indiquez aucune longueur, la fonction renvoie tous les caractères situés entre la position spécifiée et la fin de la chaîne. L'indication d'une longueur supérieure au nombre de caractères restants de la chaîne renvoie tous les caractères situés entre la position définie et la fin de la chaîne et remplit la différence avec des caractères d'espacement pour atteindre la longueur spécifiée. Une valeur négative ou égale à zéro (0) renvoie une chaîne vide. Type de valeur renvoyée VARCHAR. Exemples SUBSTR('breakfast', 1) renvoie breakfast. SUBSTR('breakfast', 0) renvoie breakfast. SUBSTR('breakfast', 30) renvoie (chaîne vide). SUBSTR('breakfast', 1, 2) renvoie br. SUBSTR('breakfast', CHARACTER_LENGTH('breakfast'), 2) renvoie t. SUBSTR('breakfast', 3, 4) renvoie eakf. SUBSTR('breakfast', 3, 8) renvoie eakfast. SUBSTR('breakfast', -5, 4) renvoie kfas. SUBSTR('breakfast', 1, -1) renvoie (chaîne vide). CHARACTER_LENGTH() renvoie la longueur d'une chaîne de caractères. POSITION() recherche un caractère dans une chaîne.

178 Fonctions Guide de référence du serveur Business Activity Monitoring SUM 178 SUM Cette fonction set renvoie la somme d'un ensemble de valeurs numériques. Syntaxe SUM( numeric ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Type de valeur renvoyée Numérique, même type de données que l'argument numeric. Renvoie une valeur NULL si l'ensemble est vide. Exemple Calculer le total de la colonne invonhand pour toutes les lignes de la table stock : SELECT SUM(invOnHand) "Total on hand" FROM stock; Total on hand Sémantique pour les ensembles mobiles Lorsque cette fonction est utilisée sous la forme d'une MOV_function(), elle renvoie la somme mobile de l'ensemble mobile. MOV_SUM( numeric, windowwindow, size [,timestampcolumn] ) Dernière valeur de l'ensemble Lorsque la taille de l'ensemble mobile correspond à un événement unique, la fonction MOV_SUM() conserve la somme des prix des dernières commandes de chacun des clients ayant passé une commande depuis le démarrage du système. SELECT os.os_cust_id, MOV_SUM(os.os_price, EVENT, 1) FROM order_status os GROUP BY os.os_cust_id MOV_SUM() renvoie la somme d'un ensemble d'une fenêtre mobile. TUMBLE_SUM() renvoie la somme d'un ensemble d'une fenêtre culbute.

179 Fonctions Guide de référence du serveur Business Activity Monitoring SUM_OVER_GROUPS 179 SUM_OVER_GROUPS Il s'agit d'une fonction rank à laquelle sont transmis deux paramètres, une valeur numérique suivie d'un paramètre de classement. Lorsque les groupes sont triés selon ce paramètre de classement, la fonction renvoie une somme évolutive des valeurs numériques. Syntaxe SUM_OVER_GROUPS([numeric value],[ordering parameter]) Paramètres numeric value : valeur numérique. ordering parameter : paramètre de classement. Type de valeur renvoyée Somme évolutive des valeurs numériques fournies dans les arguments. Exemple Examinez l'ensemble de données ci-après : grp data L'exécution de la fonction suivante : SELECT grp, SUM_OVER_GROUPS(data, grp) as running_sum GROUP BY grp Renvoie le résultat ci-après : grp running_sum

180 Fonctions Guide de référence du serveur Business Activity Monitoring STD_DEVIATION 180 STD_DEVIATION Cette fonction set renvoie un exemple d'écart-type d'un ensemble de nombres. Syntaxe STD_DEVIATION( number ) Paramètres number : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Type de valeur renvoyée DOUBLE PRECISION. Remarques Renvoie la valeur 0 s'il n'existe qu'une ligne d'entrée. Renvoie une valeur NULL si l'ensemble est vide. Le résultat est calculé à l'aide de la formule l'exemple et X à l'exemple de moyenne. ( X i X) n, où n correspond au nombre d'éléments de Exemple SELECT STD_DEVIATION(salary) "Deviation" FROM employees; Deviation MOV_STD_DEVIATION() renvoie l'écart-type d'un ensemble d'une fenêtre mobile. TUMBLE_STD_DEVIATION() renvoie l'écart-type d'un ensemble d'une fenêtre culbute. VARIANCE() renvoie le carré de l'écart-type.

181 Fonctions Guide de référence du serveur Business Activity Monitoring TIMESTAMP_DIFF 181 TIMESTAMP_DIFF Cette fonction scalar renvoie, sous la forme d'une valeur absolue, l'intervalle de temps entre deux horodatages. Syntaxe TIMESTAMP_DIFF( starttime, endtime, unit ) Paramètres starttime : Date-heure de début. endtime : Date-heure de fin. unit : type d'intervalle de temps à renvoyer ; l'un des littéraux suivants : SECOND MINUTE HOUR DAY MONTH (30 jours) YEAR (12 mois ou 360 jours) Type de valeur renvoyée INTEGER. Remarques Cette fonction utilise la différence de temps absolue arrondie au nombre entier supérieur le plus proche ; elle n'utilise pas l'arithmétique du calendrier grégorien. La fonction arrondit le résultat au nombre entier le plus proche. Par exemple, la différence entre 10:00 et 10:29 en unités de type HOUR est égale à zéro (0), mais la différence entre 10:00 et 10:30 renvoie la valeur un (1). Renvoie le résultat NULL si l'un ou l'autre horodatage a la valeur NULL. Exemple Renvoyer le nombre de jours entre le moment présent et la fin du mois : TIMESTAMP_DIFF( CURRENT_TIMESTAMP(), LAST_DAY( CURRENT_TIMESTAMP() ), DAY) Renvoyer la valeur True lorsqu'un dossier-problème est ouvert pendant plus de 30 minutes : TIMESTAMP_DIFF( ticket_opened, CURRENT_TIMESTAMP(), MINUTE) > 30 Renvoyer le nombre de jours entre deux dates sous la forme d'un nombre positif, quelle que soit la date la plus ancienne : ABS( TIMESTAMP_DIFF( father_birthdate, mother_birthdate, DAY) ) DATE_ADD() ajoute une durée à une valeur date/heure. DATE_DIFF() soustrait une durée d'une valeur date/heure. CURRENT_TIMESTAMP() renvoie la date du jour et l'heure actuelle.

182 Fonctions Guide de référence du serveur Business Activity Monitoring TO_CHAR 182 TO_CHAR Cette fonction scalar convertit une date-heure en chaîne de caractères. Syntaxe TO_CHAR( date, [ format ] ) Paramètres date : valeur Date-heure à convertir. format : Chaîne de modèle de date identique à celle utilisée par la classe Java SimpleDateFormat et décrite à la section «Mise en forme du type date-heure», page 80. N'indiquez pas cette option si vous souhaitez convertir la valeur en utilisant le format par défaut, à savoir «yyyy-mm-dd HH:mm:ss.SSSSSSSSS». Type de valeur renvoyée VARCHAR. Remarques Pour plus d'informations sur la conversion, reportez-vous à la section «Conversion des valeurs date/heure en chaînes et vice versa», page 76. Exemples TO_CHAR(CURRENT_TIMESTAMP(), 'd MMMM yy') renvoie '5 March 03'. CAST() convertit un type de données en un autre type. TO_DATE() convertit une chaîne de caractères en date. CURRENT_TIMESTAMP() renvoie la date du jour et l'heure actuelle.

183 Fonctions Guide de référence du serveur Business Activity Monitoring TO_DATE 183 TO_DATE Cette fonction scalar convertit une chaîne de caractères en valeur date/heure. Syntaxe TO_DATE( string, [ format ] ) Paramètres string : chaîne de date (VARCHAR) ou littéral à convertir. format : Chaîne de modèle de date identique à celle utilisée par la classe Java SimpleDateFormat et décrite à la section «Mise en forme du type date-heure», page 80. N'indiquez pas cette option si vous souhaitez convertir la valeur en utilisant le format par défaut, à savoir «yyyy-mm-dd HH:mm:ss.SSSSSSSSS». Type de valeur renvoyée Date-heure. Remarques Si vous n'indiquez aucune valeur d'heure dans le modèle, la fonction insère des zéros (0) dans la partie correspondante des données TIMESTAMP, configurant ainsi l'heure sur minuit. Exemples TO_DATE(' ') produit le même résultat que TO_DATE(' ', "yyyy-mm-dd"). TO_DATE(' :00:00', 'yyyy-mm-dd HH:mm:ss') configure l'heure sur midi. Pour supprimer la partie heure d'une valeur TIMESTAMP, convertissez-la en caractères, puis de nouveau en date : TO_DATE( TO_CHAR( a_timestamp, 'yyyy-mm-dd' ) ) CAST() convertit un type de données en un autre type. TO_CHAR() convertit une date en chaîne de caractères. CURRENT_TIMESTAMP() renvoie la date du jour et l'heure actuelle.

184 Fonctions Guide de référence du serveur Business Activity Monitoring TRUNC 184 TRUNC Cette fonction scalar tronque une valeur après un nombre de décimales défini. Syntaxe TRUNC( decimalnumber [, places ] ) Paramètres decimalnumber : nombre à tronquer. places : Nombre de décimales en fonction duquel le nombre doit être tronqué. Si vous omettez cette valeur, la fonction tronque toutes les décimales et renvoie un nombre entier. Si cette valeur est négative, la fonction convertit les chiffres en zéros. Type de valeur renvoyée Numérique, même type de données que l'argument decimalnumber. Exemples TRUNC( ) renvoie TRUNC( , 1) renvoie TRUNC( , -2) renvoie ROUND() arrondit un nombre à un nombre de décimales défini.

185 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_AVG 185 TUMBLE_AVG Cette fonction tumbling set renvoie la valeur moyenne (moyenne arithmétique) d'un ensemble d'une fenêtre culbute. Syntaxe TUMBLE_AVG( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit correspondre à un entier positif. timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée Numérique, même type de données que l'argument numeric. Remarques Renvoie une valeur NULL si le groupe est vide. Exemple Renvoyer le prix moyen de tous les événements survenant au cours d'une période de 7 jours : TUMBLE_AVG(price, DAY, 7, trade_time) AS Avg_7_day_price La fonction ci-dessus constitue une forme abrégée de l'expression de fenêtre en ligne suivante : AVG(price) AS Avg_7_day_price OVER ( ORDER BY trade_time RANGE INTERVAL '7' DAY PRECEDING SLIDE) Pour déterminer le prix moyen des 7 jours précédents, sans inclure le jour actuel, utilisez une fenêtre plutôt que la fonction TUMBLE_AVG(), comme ci-après : AVG(price) AS Avg_prev_7_day_price OVER ( ORDER BY trade_time RANGE BETWEEN INTERVAL '8' DAY PRECEDING AND INTERVAL '1' DAY PRECEDING SLIDE INTERVAL '7' DAY INITIALIZE TIMESTAMP ' :00:00.000' REFERENCE OPERATOR) AVG() renvoie la moyenne arithmétique d'un ensemble. MOV_AVG() renvoie la moyenne d'un ensemble d'une fenêtre mobile. La section Fenêtres culbute présente les ensembles d'une fenêtre culbute.

186 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_COUNT 186 TUMBLE_COUNT Cette fonction tumbling set renvoie le nombre de lignes d'un ensemble d'une fenêtre culbute. Syntaxe TUMBLE_COUNT( *, window, size [,timestampcolumn] ) Paramètres window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit correspondre à un entier positif. timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée INTEGER. Remarques Renvoie la valeur zéro (0) si l'ensemble est vide. Si vous utilisez une fenêtre EVENT, cette fonction renvoie un nombre entier inférieur ou égal à la valeur de la fenêtre. Les lignes contenant des valeurs NULL sont comptabilisées. Lorsque cette fonction est utilisée avec une clause GROUP BY, elle renvoie le nombre de lignes de l'ensemble d'un groupe. Exemple Renvoyer le nombre de tous les événements survenant au cours d'un intervalle de 8 heures : TUMBLE_COUNT(*, HOUR, 8, trade_time) AS Total La fonction ci-dessus constitue une forme abrégée de l'expression de fenêtre en ligne suivante : COUNT(*) AS Total OVER (ORDER BY trade_time RANGE INTERVAL '8' HOUR PRECEDING SLIDE) Cette expression est l'équivalent de l'expression ci-dessous après remplissage de toutes les valeurs par défaut : COUNT(*) AS Total OVER ( ORDER BY trade_time RANGE INTERVAL '8' HOUR PRECEDING SLIDE INTERVAL '8' HOUR REFERENCE OPERATOR) Remarque :La fenêtre de huit heures débute lorsque le premier événement arrive dans la vue. Pour faire commencer la fenêtre au début de l'heure, indiquez INITIALIZE ' :00:00.000'. COUNT() renvoie le nombre de lignes d'une vue ou d'un ensemble.

187 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_COUNT 187 MOV_COUNT() renvoie le nombre de lignes d'un ensemble d'une fenêtre culbute.

188 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_MAX 188 TUMBLE_MAX Cette fonction tumbling set renvoie la valeur maximale d'un ensemble d'une fenêtre culbute. Syntaxe TUMBLE_MAX( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit correspondre à un entier positif. timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée Même type de données que l'argument expression. Remarques Dans le cas d'une valeur booléenne, la valeur True est supérieure à la valeur False. Dans le cas d'une chaîne, z est supérieur à A. Exemple Renvoyer le prix maximal de tous les événements survenant au cours d'un intervalle d'une heure : TUMBLE_MAX(price, HOUR, 1, trade_time) AS Max_price La fonction ci-dessus constitue une forme abrégée de l'expression de fenêtre en ligne suivante : MAX(price) AS Max_price OVER (ORDER BY trade_time RANGE INTERVAL '1' HOUR PRECEDING SLIDE) Cette expression est l'équivalent de l'expression ci-dessous après remplissage de toutes les valeurs par défaut : MAX(price) AS Max_price OVER ( ORDER BY trade_time RANGE INTERVAL '1' HOUR PRECEDING SLIDE INTERVAL '1' HOUR REFERENCE OPERATOR) Remarque :La fenêtre d'une heure débute lorsque le premier événement arrive dans la vue. Pour faire commencer la fenêtre au début de l'heure, indiquez TIMESTAMP ' :00:00.000'.

189 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_MAX 189 De la même façon, la fonction TUMBLE_MAX(price, EVENT, 5) constitue la forme abrégée de la fenêtre complète suivante : MAX(price) OVER ( ORDER BY trade_time EVENTS BETWEEN 4 PRECEDING AND CURRENT EVENT SLIDE 5 REFERENCE OPERATOR) MAX() renvoie la valeur maximale d'un ensemble d'une fenêtre mobile. MOV_MAX() renvoie la valeur maximale d'un ensemble d'une fenêtre culbute. MIN() renvoie la valeur minimale d'un ensemble. GREATEST() renvoie la valeur maximale d'une liste. La section Fenêtres culbute présente les ensembles d'une fenêtre culbute.

190 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_MIN 190 TUMBLE_MIN Cette fonction tumbling set renvoie la valeur minimale d'un ensemble d'une fenêtre culbute. Syntaxe TUMBLE_MIN( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit correspondre à un entier positif. timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée Même type de données que l'argument expression. Remarques Dans le cas d'une valeur booléenne, la valeur True est supérieure à la valeur False. Dans le cas d'une chaîne, z est supérieur à A. Exemple Renvoyer le prix minimal de tous les événements survenant au cours d'un intervalle d'une heure : TUMBLE_MIN(price, HOUR, 1, trade_time) AS Min_price La fonction ci-dessus constitue une forme abrégée de l'expression de fenêtre en ligne suivante : MIN(price) AS Min_price OVER (ORDER BY trade_time RANGE INTERVAL '1' HOUR PRECEDING SLIDE) Cette expression est l'équivalent de l'expression ci-dessous après remplissage de toutes les valeurs par défaut : MIN(price) AS Min_price OVER ( ORDER BY trade_time RANGE INTERVAL '1' HOUR PRECEDING SLIDE INTERVAL '1' HOUR REFERENCE OPERATOR) Remarque :La fenêtre d'une heure débute lorsque le premier événement arrive dans la vue. Pour faire commencer la fenêtre au début de l'heure, indiquez TIMESTAMP ' :00:00.000'.

191 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_MIN 191 De la même façon, la fonction TUMBLE_MIN(price, EVENT, 5) constitue la forme abrégée de la fenêtre complète suivante : MIN(price) OVER ( ORDER BY trade_time EVENTS BETWEEN 4 PRECEDING AND CURRENT EVENT SLIDE 5 REFERENCE OPERATOR) MIN() renvoie la valeur minimale d'un ensemble d'une fenêtre mobile. MOV_MIN() renvoie la valeur minimale d'un ensemble d'une fenêtre culbute. MAX() renvoie la valeur maximale d'un ensemble. LEAST() renvoie la valeur minimale d'une liste. La section Fenêtres culbute présente les ensembles d'une fenêtre culbute.

192 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_SUM 192 TUMBLE_SUM Cette fonction tumbling set renvoie la somme d'un ensemble de valeurs numériques d'une fenêtre culbute. Syntaxe MOV_SUM( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit correspondre à un entier positif. timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'utilisez pas cette option si vous souhaitez utiliser le premier événement de la vue en tant que base. Type de valeur renvoyée Numérique, même type de données que l'argument numeric. Renvoie une valeur NULL si l'ensemble est vide. Exemple Cette expression de somme culbute totalise tous les événements survenant au cours d'un intervalle d'une heure : TUMBLE_SUM(price, HOUR, 1, trade_time) AS Total La fonction ci-dessus constitue une forme abrégée de l'expression de fenêtre en ligne suivante : SUM(price) AS Total OVER ( ORDER BY trade_time RANGE INTERVAL '1' HOUR PRECEDING SLIDE) Cette expression est l'équivalent de l'expression ci-dessous après remplissage de toutes les valeurs par défaut : SUM(price) AS Total OVER ( ORDER BY trade_time RANGE INTERVAL '1' HOUR PRECEDING SLIDE INTERVAL '1' HOUR REFERENCE OPERATOR) Remarque :La fenêtre d'une heure débute lorsque le premier événement arrive dans la vue. Pour faire commencer la fenêtre au début de l'heure, indiquez TIMESTAMP ' :00:00.000'. De même, la fonction TUMBLE_SUM(price, EVENT, 5) est un raccourci de cette fenêtre complète : SUM(price) OVER (ORDER BY trade_time EVENTS BETWEEN 4 PRECEDING AND CURRENT EVENT SLIDE 5 REFERENCE OPERATOR)

193 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_SUM 193 SUM() renvoie la somme d'une vue ou d'un ensemble. MOV_SUM() renvoie la somme d'un ensemble d'une fenêtre mobile. La section Fenêtres culbute présente les ensembles d'une fenêtre culbute.

194 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_STD_DEVIATION 194 TUMBLE_STD_DEVIATION Cette fonction tumbling set renvoie un exemple d'écart-type d'un ensemble de valeurs d'une fenêtre culbute. Syntaxe TUMBLE_STD_DEVIATION( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit correspondre à un entier positif. timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée DOUBLE PRECISION. Remarques Renvoie la valeur 0 s'il n'existe qu'une ligne d'entrée. Renvoie une valeur NULL si l'ensemble est vide. Le résultat est calculé à l'aide de la formule l'exemple et X à l'exemple de moyenne. Exemple ( X i X) n, où n correspond au nombre d'éléments de Renvoyer l'écart-type relatif aux salaires pour chaque année civile : SELECT TUMBLE_STD_DEVIATION(salary, YEAR, 1) AS "Deviation per year" FROM employees; Cette expression est l'équivalent de l'expression ci-dessous après remplissage de toutes les valeurs par défaut : SELECT STD_DEVIATION(salary) AS "Deviation per year" OVER ( RANGE INTERVAL '1' YEAR PRECEDING SLIDE INTERVAL '1' YEAR REFERENCE OPERATOR)

195 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_STD_DEVIATION 195 Notez que vous pouvez utiliser la commande INITIALIZE pour déclarer une année fiscale. Envisagez également d'utiliser PARTITION BY pour obtenir les écarts relatifs aux différents échelons de salaire. Par exemple : SELECT STD_DEVIATION(salary) AS "Deviation per year" OVER ( PARTITION BY pay_grade RANGE INTERVAL '1' YEAR PRECEDING SLIDE INTERVAL '1' YEAR INITIALIZE ' :00:00.000' REFERENCE OPERATOR) STD_DEVIATION() renvoie l'écart-type d'une vue ou d'un ensemble. MOV_STD_DEVIATION() renvoie l'écart-type d'un ensemble d'une fenêtre culbute. VARIANCE() renvoie le carré de l'écart-type. La section Fenêtres culbute présente les ensembles d'une fenêtre culbute.

196 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_VARIANCE 196 TUMBLE_VARIANCE Cette fonction tumbling set renvoie le carré de l'exemple d'écart-type d'un ensemble de valeurs d'une fenêtre culbute. Syntaxe TUMBLE_STD_DEVIATION( numeric, window, size [,timestampcolumn] ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Pour connaître les autres restrictions, reportez-vous aux descriptions des fonctions concernées. window : détermine si la taille correspond au nombre d'événements de l'ensemble (EVENT) ou à une durée (SECOND, MINUTE, HOUR, DAY, MONTH ou YEAR). size : Durée ou décompte de la fenêtre à utiliser pour déterminer la taille de l'ensemble. Cette valeur doit être un nombre entier supérieur à zéro (0). timestampcolumn : (Facultatif) Valeur du champ à utiliser comme point de départ de la série chronologique. Ce calcul repose sur la plage de temps à partir de la valeur la plus récente de la colonne dans n'importe quelle ligne de la vue. N'indiquez pas cette option si vous souhaitez baser les calculs sur l'horloge système. Type de valeur renvoyée DOUBLE PRECISION. Remarques Renvoie la valeur zéro (0) si l'ensemble de l'expression ne contient qu'un seul élément. Renvoie une valeur NULL si l'ensemble est vide. ( X Le résultat est calculé à l'aide de la formule i X) , où n correspond au nombre d'éléments de n l'exemple et X à l'exemple de moyenne. Exemples Renvoyer l'écart relatif aux salaires pour chaque année civile : SELECT TUMBLE_STD_VARIATION(salary, YEAR, 1) AS "Variation for last year" FROM employees; Cette expression est l'équivalent de l'expression ci-dessous après remplissage de toutes les valeurs par défaut : SELECT VARIANCE(price) AS "Variation for last year" OVER ( ORDER BY trade_time RANGE INTERVAL '1' YEAR PRECEDING SLIDE INTERVAL '1' YEAR REFERENCE OPERATOR) FROM employees; MOV_VARIANCE() renvoie la variance d'un ensemble d'une fenêtre mobile. STD_DEVIATION() renvoie un écart-type.

197 Fonctions Guide de référence du serveur Business Activity Monitoring TUMBLE_VARIANCE 197 VARIANCE() renvoie la variance d'une vue ou d'un ensemble. La section «Types de fonctions», page 110 présente les fonctions pour ensembles mobiles.

198 Fonctions Guide de référence du serveur Business Activity Monitoring UPPER 198 UPPER Cette fonction scalar convertit tous les caractères en minuscules en une chaîne en majuscules. Syntaxe UPPER( string ) Paramètres string : chaîne de caractères (VARCHAR) à convertir. Type de valeur renvoyée VARCHAR. Exemple UPPER('Volta') renvoie VOLTA. LOWER() convertit tous les caractères en minuscules.

199 Fonctions Guide de référence du serveur Business Activity Monitoring VARIANCE 199 VARIANCE Cette fonction set renvoie le carré de l'exemple d'écart-type d'un ensemble de valeurs. Syntaxe VARIANCE( numeric ) Paramètres numeric : Expression évaluée sous la forme d'une valeur numérique et ne pouvant pas faire référence à une fonction rank. L'argument correspond généralement à l'une des colonnes d'une vue. Type de valeur renvoyée DOUBLE PRECISION. Remarques Renvoie la valeur zéro (0) si l'ensemble de l'expression ne contient qu'un seul élément. Renvoie une valeur NULL si l'ensemble est vide. ( X Le résultat est calculé à l'aide de la formule i X) , où n correspond au nombre d'éléments de n l'exemple et X à l'exemple de moyenne. Exemple SELECT VARIANCE(salary) "Variance" FROM employees; Variance MOV_VARIANCE() renvoie la variance d'un ensemble d'une fenêtre mobile. STD_DEVIATION() renvoie un écart-type. TUMBLE_VARIANCE() renvoie la variance d'un ensemble d'une fenêtre culbute.

200 Fonctions Guide de référence du serveur Business Activity Monitoring yield 200 yield Cette fonction calcule le rendement relatif à un ensemble de résultats de test (échec=0, réussite=1), c'est-à-dire le nombre d'unités ayant réussi le test par rapport au nombre total d'unités. Les valeurs Null sont ignorées. Syntaxe yield(pass, unit) Paramètres pass : Indique si le rendement doit être calculé en fonction du nombre d'unités ayant réussi le test ou du nombre d'unités ayant échoué. Indiquez la valeur pass si vous souhaitez baser le calcul du rendement sur le nombre d'unités ayant réussi le test. Indiquez la valeur fail si vous souhaitez baser le calcul du rendement sur le nombre d'unités ayant échoué au test. unit : indique le nombre total d'unités à tester. Type de valeur renvoyée Renvoie la valeur NULL si le rendement est inférieur à zéro ; dans le cas contraire, la fonction renvoie une valeur DOUBLE PRECISION. Exemple Si les valeurs ci-après sont transmises à la fonction SELECT YEILD(pass, 4) FROM E : 0, 1 1, 0 0, 1 NULL, NULL La fonction renvoie le résultat 0.5 car le test 1 et le test 3 ont réussi, mais le test 2 a échoué. Le test 4 est ignoré. Si vous transmettez les mêmes valeurs à la fonction SELECT YEILD(fail, 4) FROM E, la fonction renvoie le résultat 0.25 car un seul des quatre tests a réussi.

201 14 HTTP Post Une table d'événements HTTP Post reçoit des événements issus d'une action HTTP Post, soit en tant que résultat d'un formulaire HTML envoyé par un navigateur, soit sous forme de données codées dans une URL connectée à la table. Ce chapitre comprend les sections suivantes : «Fonctionnement», page 202 «Tables d'événements HTTP Post», page 202 «Envoi vers un événement HTTP Post», page

202 HTTP Post Guide de référence du serveur Business Activity Monitoring Fonctionnement 202 Fonctionnement Les données d'événements HTTP Post arrivent incorporées dans une URL. L'agent interne extrait les champs de l'url, puis insère les données dans la table d'événements. L'URL peut être constituée à partir du résultat d'un formulaire HTML contenant des champs <INPUT> ou être créée par une autre application communiquant dans le protocole HTTP. Formulaire HTML Name: MyName Send Les tables d'événements HTTP Post reçoivent les données incorporées dans une URL, généralement à partir d'un formulaire HTML. Table d'événements Tables d'événements HTTP Post Une table d'événements HTTP Post reçoit de nouveaux événements à partir d'une action HTTP Post qui constitue généralement le résultat d'un formulaire HTML envoyé par un navigateur. Chaque élément <INPUT> d'un formulaire HTML correspond à une colonne de la table d'événements. Les données d'événements peuvent également être publiées dans l'url qui transmet les champs au système. Pour plus de détails, reportez-vous à la section «Envoi vers un événement HTTP Post», page 206. Pour créer un événement dans un HTTP Post, vous devez disposer d'une autorisation en création pour les tables (reportez-vous à la section «Autorisation de création», page 260). Le tableau ci-après répertorie les attributs d'une table d'événements HTTP Post. Attribut Nom Description Etat Envoi vers l'url Enregistrer les données d'événements en vue de la récupération Description Nom de la table d'événements. Ce nom doit être unique parmi les vues, les événements, le contexte et les événements consolidés. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Description facultative qui peut contenir tous les caractères de texte. Indique si la table est dans l'état activé (elle recherche les événements) ou désactivé (elle ne recherche pas les événements). URL dans laquelle les informations envoyées doivent être incorporées. Pour plus de détails, reportez-vous à la section «Envoi vers un événement HTTP Post», page 206. Si cet attribut est activé, le système enregistre les données d'événements reçues depuis le démarrage du dernier point de contrôle. Ce journal de récupération permet de restaurer le système dans un état opérationnel en cas d'arrêt anormal des serveurs. Pour plus de détails, reportez-vous à la section Utilisation du point de contrôle et de la récupération du guide Utilisation de Celequest Application Workbench. Utilisation de LiveCycle Workflow Workbench.

203 HTTP Post Guide de référence du serveur Business Activity Monitoring Création d'une table d'événements HTTP Post 203 Attribut Traiter les événements en suivant l'ordre d'arrivée Description Sélectionnez cette option si les événements doivent être traités en suivant l'ordre de leur réception. Dans le cas contraire, si les événements peuvent être traités dans n'importe quel ordre, désactivez cet attribut. Remarque :Pour lier les événements d'une vue, vous devez les traiter dans l'ordre. Activez cette option pour lier les événements. Désactiver l'événement lorsque le nombre d'erreurs consécutives est atteint Désactive l'événement lorsque le nombre d'erreurs consécutives défini est atteint. Par exemple, si cet attribut est configuré sur 5, l'événement est désactivé après 5 erreurs consécutives. En revanche, si 4 erreurs surviennent, puis aucune erreur, puis 2 nouvelles erreurs, l'événement reste activé. La valeur par défaut désactivé : Ne pas désactiver. Informations sur la colonne Intervalle de suppression de l'état Les champs Informations sur la colonne déterminent comment placer les champs du message JMS dans les colonnes de la table d'événements. Cette dernière contient une colonne pour chaque champ. Pour plus de détails, reportez-vous à la section «Informations sur les colonnes HTTP Post», page 205. Cet onglet contient plusieurs options permettant de supprimer les données d'événements sauvegardées qui sont propagées de l'événement dans les vues, les objets et les tableaux de bord qui en dépendent. Les trois options sont les suivantes : Ne pas supprimer l'état : Option par défaut. Les données sont sauvegardées. Suppression de l'état sur un calendrier : Sélectionnez cette option pour supprimer l'état dans un calendrier. La sélection de cette option active la fonction de planification située à droite. Toujours supprimer l'état (pour chaque événement) : l'état est actualisé à chaque mise à jour de l'événement. Création d'une table d'événements HTTP Post Utilisez la procédure ci-après pour créer une table d'événements HTTP Post. Pour créer une table d'événements HTTP Post : 1. Ouvrez le BAM Workbench. 2. Cliquez sur le bouton Nouvel événement. 3. Dans la boîte de dialogue Nouvel événement, sélectionnez Evénement simple. 4. Sélectionnez HTTP Post comme type de source d'événements. 5. Affectez un nom à la table d'événements et définissez les colonnes de cette dernière dans les champs Informations sur la colonne.

204 HTTP Post Guide de référence du serveur Business Activity Monitoring Création d'une table d'événements HTTP Post 204 Enregistrez la table HTTP Post avec l'état activé ; elle sera ainsi prête à recevoir des messages d'événements.

205 HTTP Post Guide de référence du serveur Business Activity Monitoring Informations sur les colonnes HTTP Post 205 Informations sur les colonnes HTTP Post Les champs Informations sur la colonne définissent comment faire correspondre les champs du message HTTP Post avec les colonnes de la table d'événements. Il existe un champ par colonne de la table d'événements, chacun d'eux comportant les attributs suivants : Attribut Nom du champ Nom du message Type de données Format Description Nom de la colonne dans la table d'événements. Nom du champ dans le message. Sur un formulaire HTML, il s'agit de l'attribut NAME affecté à chaque élément du formulaire. Pour plus de détails, reportez-vous à la section «Envoi vers un événement HTTP Post», page 206. Lors de la mise en correspondance d'un champ Fichier plat, le nom de chaque champ incorporé est S.O. et non modifiable. Type de données de la colonne dans la table d'événements. (Facultatif) Format de la colonne d'événements pour les valeurs VARCHAR (chaîne) et DECIMAL. Chaque champ du message peut être un champ simple qui s'insère directement dans une colonne d'événement ou un champ complexe (un champ Fichier plat) constitué de plusieurs champs dont chacun s'insère dans des colonnes de la table. Les champs complexes sont considérés comme des Fichiers plats aux formats délimité (CSV), largeur fixe ou XML. Reportez-vous à la section «Fichiers plats», page 95 pour obtenir la description détaillée de ces types de fichiers. Remarque :Les champs message peuvent contenir plusieurs lignes de données ; toutefois, chacune de ces lignes fait partie du même événement. Ceci diffère des importations de fichiers plats qui considèrent chaque ligne du fichier comme un événement unique. Un champ Fichier plat crée, dans le message, un champ contenant plusieurs champs qui s'insèrent chacun dans une colonne de la table d'événements. Pour modifier la définition d'un champ message, sélectionnez le format <Changer le format>. Pour ajouter un champ message : 1. Cliquez sur Ajouter un champ Fichier plat. 2. Choisissez le type Fichier plat du champ message. (Facultatif pour les fichiers délimités et à largeur fixe.) Identifiez un fichier exemple pour faciliter la mise en correspondance des colonnes. Ce fichier est un échantillon du fichier de données réel. Les données

206 HTTP Post Guide de référence du serveur Business Activity Monitoring Envoi vers un événement HTTP Post 206 de ce fichier s'affichent à l'étape suivante pour vous aider à faire correspondre les données d'événements à la table. 3. Pour les fichiers à largeur fixe, définissez l'emplacement des colonnes de données à l'aide de la boîte de dialogue Définir les largeurs de champs. 4. Spécifiez les attributs de fichier plat. Pour plus de détails, reportez-vous à la section «Tables d'événements de fichier plat», page Définissez les informations sur la colonne en fonction du format choisi. Pour plus de détails sur le type de source, reportez-vous aux sections suivantes : «Fichiers à largeur fixe», page 104. «Fichiers délimités», page 103 «Fichiers XML», page 105 Pour plus de détails sur l'envoi de données aux champs de fichier plat, reportez-vous à la section «Plusieurs lignes (événements) d'entrée», page Cliquez sur Enregistrer l'événement pour enregistrer la définition du champ message. Pour modifier la définition d'un champ message : Dans la colonne Format du champ, remplacez Fichier plat : type de fichier par <Modifier la mise en forme>. Remarque :lors de la modification d'un champ message, l'option de fichier exemple pour les types de fichiers délimités et à largeur fixe n'est pas disponible. Envoi vers un événement HTTP Post La plupart des événements HTTP Post sont générés à partir d'un formulaire HTML. Lorsque vous définissez l'événement, définissez une colonne pour chaque élément <INPUT> nommé. Examinez l'exemple de formulaire HTML ci-après : <FORM action=" method="post"> <P> <LABEL for="name">name: </LABEL> <INPUT type="text" name="name"><br> <LABEL for="name">date (yyyy-mm-dd): </LABEL> <INPUT type="text" name="date"><br> <LABEL for="amt">amount: </LABEL> <INPUT type="text" name="amt"><br> <LABEL for="switch">switch: </LABEL> <INPUT type="radio" name="switch" value="false" checked >Off <INPUT type="radio" name="switch" value="true">on<br> <INPUT type="submit" value="send"> <INPUT type="reset"> </P> </FORM>

207 HTTP Post Guide de référence du serveur Business Activity Monitoring Envoi vers des champs message 207 Les quatre champs de ce formulaire correspondent aux quatre colonnes ci-après de la table d'événements : Notez que le champ de date correspond au type de données VARCHAR, et non TIMESTAMP. Dans les vues dérivées de cet événement, convertissez ces valeurs en date et heure à l'aide de la commande cast, comme ci-après : CAST(httpEvent."Date" AS TIMESTAMP) Envoi vers des champs message Pour transmettre les données dans un champ message, vous pouvez incorporer les informations dans l'url (comme décrit à la section Envoi de valeurs dans l'url ci-après) ou utiliser un élément HTML <TEXTAREA> et entrer les données de fichier plat dans ce champ. Par exemple, votre formulaire HTML peut comporter la déclaration suivante : <LABEL for="flatfile">flat file text: </LABEL> <TEXTAREA name="messagefield" rows="20" cols="80"></textarea> Dans le navigateur, vous pouvez choisir d'entrer les données manuellement ou de copier les données d'un fichier plat et de les coller manuellement dans le champ. N'oubliez pas que les données doivent être exprimées dans le format du champ Fichier plat déclaré, tel que le format délimité. Notez les points ci-après : Lorsque la table d'événements contient d'autres colonnes que la colonne Champ Message, vous ne pouvez entrer qu'une seule ligne de données dans le champ <TEXTAREA>. Si la colonne Champ Message est la seule colonne, vous pouvez entrer plusieurs lignes de données d'événements. Plusieurs lignes transmises par l'intermédiaire d'un élément <TEXTAREA> sont considérées comme faisant partie du même événement, contrairement à un fichier texte dont chacune des lignes correspond à un événement unique.

208 HTTP Post Guide de référence du serveur Business Activity Monitoring Envoi de valeurs dans l'url 208 Envoi de valeurs dans l'url Lorsque vous transmettez les valeurs de champ directement dans l'url, affectez un nom et une valeur à chacun des champs en les séparant par une esperluette (&) ; par exemple :...?eventname=example&name="skyler"&date= &amt=9.21&switch=true En revanche, si vous transmettez les valeurs à un champ de fichier plat délimité, nommez le champ et séparez les valeurs à l'aide d'un caractère de séparation (une virgule généralement) ; par exemple :...?eventname=example&msgfile="skyler", ,9.21,true Plusieurs lignes (événements) d'entrée Pour envoyer plusieurs événements à un champ de fichier plat, séparez-les à l'aide de la chaîne %0D%0A (transmission MIME du caractère de fin de ligne : CR LF ) ; par exemple :...="Skyler", ,9.21,TRUE%0D%0A"Mike", ,9.01,FALSE Notez que si vous prévoyez d'envoyer plusieurs lignes, le champ Fichier plat doit être le seul champ de la liste de colonnes d'événements. Si la liste comporte d'autres colonnes, une seule «ligne» d'entrée est autorisée.

209 15 Java Messaging Service (JMS) Java Messaging Service (JMS) permet d'accéder aux messages générés par les applications Java. L'application de production publie des messages dans les rubriques ou les files d'attente auxquelles l'agent Business Activity Monitoring ES est abonné. Chaque message publié dans une rubrique ou une file d'attente est associé à un nouvel événement dans la table d'événements correspondante. Ce chapitre comprend les sections suivantes : «Fonctionnement», page 210 «Evénement JMS», page

210 Java Messaging Service (JMS) Guide de référence du serveur Business Activity Monitoring Fonctionnement 210 Fonctionnement Les agents JMS de Business Activity Monitoring ES communiquent avec les classes d'objets de rubrique ou de file d'attente JMS, gérées par les serveurs d'application Web. Lorsque vous définissez l'agent, vous spécifiez le mode qu'il doit utiliser pour se connecter à la classe d'objets. Lorsque vous définissez une table d'événements JMS, vous lui demandez de s'abonner à une rubrique ou une file d'attente JMS gérée par la classe d'objets avec laquelle l'agent est en communication. Ensuite, lorsque la rubrique publie un nouveau message ou lorsque la file d'attente reçoit un nouveau message, l'agent le réceptionne et le transmet à la table d'événements. Table d'événements Exemple : Les fournisseurs de messages JMS publient des rubriques ou envoient des messages aux files d'attente, qui sont des événements. Nouvel événement sur une rubrique/file d'attente. Agent JMS Nouveau message sur une rubrique/file d'attente. Producteur de messages JMS Remarque :Les agents JMS de Business Activity Monitoring ES prennent en charge les types de corps JMS MapMessage et TextMessage pour les messages de rubrique et de file d'attente. Le type JMS MapMessage est constitué de paires nom/valeur, dans lesquelles les noms sont des chaînes et les valeurs sont des enveloppes de type Java. Pour plus de détails, reportez-vous à la section «Correspondance des types de données JMS», page 214. Evénement JMS Limitations Prérequis Un événement Java Messaging Service (JMS) reçoit de nouvelles données d'événements d'une application Java qui publie des messages dans la rubrique ou envoie des messages à la file d'attente à laquelle la table est abonnée. Chaque nouveau message de rubrique ou de file d'attente figure comme un nouvel événement dans la table. L'agent JMS ne prend en charge que les types de corps JMS MapMessage et TextMessage. Le type MapMessage est constitué de paires nom/valeur, dans lesquelles les noms sont des chaînes et les valeurs sont des enveloppes de type Java. Le type TextMessage comprend une chaîne de caractères sans titre, qui peut être interprétée comme un fichier délimité ou à largeur fixe, ou encore comme un fichier XML. Pour plus de détails, reportez-vous à la section «Correspondance des types de données JMS», page 214. Avant de créer un événement dans un agent JMS, vous devez : avoir l'autorisation Création sur les contextes et les événements (reportez-vous à la section «Autorisation de création», page 260) et l'autorisation Lecture seule sur l'agent qui va alimenter la table ; avoir accès à une rubrique ou une file d'attente JMS identifiée par l'emplacement JNDI de la classe d'adresses ;

211 Java Messaging Service (JMS) Guide de référence du serveur Business Activity Monitoring Prérequis 211 disposer d'un fichier exemple (facultatif). Si le message contient une chaîne de caractères complexe au format CSV (délimité) ou à largeur fixe, il est recommandé d'avoir un fichier exemple qui contienne les données au format de la chaîne d'événement. Vous pouvez utiliser cet exemple lorsque vous créez l'événement pour vous assurer que les champs correspondent correctement à la table d'événements en visualisant l'ajout des lignes de données dans les colonnes. Le tableau ci-dessous décrit les attributs d'un événement JMS. Attribut Nom Description Etat Enregistrer les données d'événements en vue de la récupération Traiter les événements en suivant l'ordre d'arrivée Agent JMS Rubrique ou file d'attente Sélecteur de message Description Nom de la table d'événements. Ce nom doit être unique parmi les vues, les événements, le contexte et les événements consolidés. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Description facultative qui peut contenir tous les caractères de texte. Indique si la table est dans l'état activé (elle recherche les événements) ou désactivé (elle ne recherche pas les événements). Si cet attribut est activé, le système enregistre les données d'événements reçues depuis le démarrage du dernier point de contrôle. Ce journal de récupération permet de restaurer le système dans un état opérationnel en cas d'arrêt anormal des serveurs. Pour plus de détails, reportez-vous à la section Utilisation du point de contrôle et de la récupération. Sélectionnez cette option si les événements doivent être traités en suivant l'ordre de leur réception. Si les événements peuvent être traités dans un ordre aléatoire, désactivez-la. Remarque :Pour lier les événements d'une vue, vous devez les traiter dans l'ordre. Activez cette option pour lier les événements. Agent JMS qui se connecte au flux de messages JMS. Créez un agent de file d'attente JMS ou de rubrique JMS à l'aide de l'onglet Administration de BAM Workbench. Pour plus d'informations, reportez-vous à la section «Agents de file d'attente JMS», page 30 ou «Agents de rubrique JMS», page 34. Identifie la rubrique/file d'attente à laquelle le message est envoyé et défini par le module de publication de message. Il s'agit d'une adresse JNDI similaire à com.celequest.marubriquejms sur BEA WebLogic et à topic/com.celequest.marubriquejms sur JBoss. Expression booléenne qui applique une condition de filtre aux messages envoyés par le module de publication. La syntaxe de cette condition est identique à celle de la Clause WHERE de la commande SELECT. Par exemple, ce filtre n'accepte que les messages dans lesquels la propriété Supplier contient l'une des trois valeurs suivantes : Supplier IN ('Xyz, Corp', 'Ink, Inc', 'Gizmos')

212 Java Messaging Service (JMS) Guide de référence du serveur Business Activity Monitoring Création d'une table d'événements JMS 212 Attribut Informations sur la colonne Intervalle de suppression de l'état Description Les champs Informations sur la colonne déterminent comment placer les champs du message JMS dans les colonnes de la table d'événements. Cette dernière contient une colonne pour chaque champ. Pour plus de détails, reportez-vous à la section «Informations sur la colonne JMS», page 213. Cet onglet contient plusieurs options permettant de supprimer les données d'événements sauvegardées qui sont propagées de l'événement dans les vues, les objets et les tableaux de bord qui en dépendent. Les trois options sont les suivantes : Ne pas supprimer l'état : Option par défaut. Les données sont sauvegardées. Suppression de l'état sur un calendrier : Sélectionnez cette option pour supprimer l'état dans un calendrier. La sélection de cette option active la fonction de planification située à droite. Toujours supprimer l'état (pour chaque événement) : l'état est actualisé à chaque mise à jour de l'événement. Création d'une table d'événements JMS Pour créer une table d'événements JMS, suivez la procédure décrite ci-dessous. Pour créer une table d'événements JMS : 1. Ouvrez la BAM Workbench Console d administration. 2. Créez un nouvel événement. 3. Sélectionnez JMS dans Type de source. 4. Définissez les valeurs des attributs de la table d'événements. 5. Définissez les colonnes de la table d'événements dans les champs Informations sur la colonne. Enregistrez la table JMS avec l'état activé pour qu'elle soit immédiatement prête à recevoir des messages d'événements.

213 Java Messaging Service (JMS) Guide de référence du serveur Business Activity Monitoring Informations sur la colonne JMS 213 Informations sur la colonne JMS Les champs Informations sur la colonne déterminent comment placer les champs du message JMS dans les colonnes de la table d'événements. Cette dernière contient un champ pour chaque colonne. Chaque champ du message peut être un champ simple qui s'insère directement dans une colonne d'événement ou un champ complexe (un champ Fichier plat) constitué de plusieurs champs dont chacun s'insère dans des colonnes de la table. Les champs complexes sont considérés comme des Fichiers plats aux formats délimité (CSV), largeur fixe ou XML. Reportez-vous à la section «Fichiers plats», page 95 pour obtenir la description détaillée de ces types de fichiers. Chaque colonne de la table d'événements a les attributs suivants : Attribut Nom du champ Nom du message Type de données Format Description Nom de la colonne dans la table d'événements. Nom du champ dans le message. Lorsque vous associez un champ message, le nom de chaque champ incorporé est S.O. et il n'est pas modifiable. Type de données de la colonne d'événement. Pour plus de détails, reportez-vous à la section «Correspondance des types de données JMS», page 214. (facultatif ) Format de la colonne d'événement des valeurs VACHAR (chaîne) et DECIMAL. Pour ajouter des colonnes, cliquez sur Ajouter un champ ou Ajouter un champ Fichier plat. Un champ Fichier plat crée, dans le message, un champ contenant plusieurs champs qui s'insèrent chacun dans une colonne de la table d'événements. Pour modifier la définition d'un champ message, sélectionnez le format <Changer le format>.

214 Java Messaging Service (JMS) Guide de référence du serveur Business Activity Monitoring Correspondance des types de données JMS 214 Pour ajouter un champ message : 1. Cliquez sur Ajouter un champ Fichier plat. 2. Choisissez le type Fichier plat du champ message. (Facultatif pour les fichiers délimités et à largeur fixe.) Identifiez un fichier exemple pour faciliter la mise en correspondance des colonnes. Ce fichier est un échantillon du fichier de données réel. Les données de ce fichier s'affichent à l'étape suivante pour vous aider à faire correspondre les données d'événements à la table. 3. Pour les fichiers à largeur fixe, définissez l'emplacement des colonnes de données à l'aide de la boîte de dialogue Définir les largeurs de champs. 4. Spécifiez les attributs de fichier plat. Pour plus de détails, reportez-vous à la section «Tables d'événements de fichier plat», page Définissez les informations sur la colonne en fonction du format choisi. Pour plus de détails sur le type de source, reportez-vous aux sections suivantes : «Fichiers à largeur fixe», page 104. «Fichiers délimités», page 103 «Fichiers XML», page Cliquez sur Enregistrer l'événement pour enregistrer la définition du champ message. Pour modifier la définition d'un champ message : Dans la colonne Format du champ, remplacez Fichier plat : type de fichier par <Modifier la mise en forme>. Remarque :lors de la modification d'un champ message, l'option de fichier exemple pour les types de fichiers délimités et à largeur fixe n'est pas disponible. Correspondance des types de données JMS Les types de données des messages JMS associés correspondent aux Types de données Business Activity Monitoring ES comme suit. Type de données Java Type de données Business Activity Monitoring ES Type de données Java Type de données Business Activity Monitoring ES boolean Booléen long Décimal byte Nombre entier float Double short Nombre entier double Double char Varchar Chaîne Varchar Entier Nombre entier byte[] Non pris en charge

215 16 JDBC JDBC (Java Database Connectivity) est une interface de programmation d'application Java, qui permer d'accéder à des bases de données SQL à partir de programmes Java. Business Activity Monitoring ES (une application Java) utilise JDBC pour effectuer les opérations suivantes : extraire des données contextuelles d'un SGBDR (Système de Gestion de Base de Données Relationnelle), selon la procédure décrite dans les sections «Tables JDBC», page 216 et «Agents JDBC», page 224 ; accéder à la base de métadonnées dans laquelle Business Activity Monitoring ES stocke les définitions d'objet et d'état ; autoriser d'autres applications Java à accéder aux données de vue commerce stockées en mémoire. Pour plus de détails, reportez-vous à la section «Accès JDBC aux données des vues», page 228. Environnement de serveur d'application Contexte Tables Métadonnées du système Vues Vues Agent JDBC Interfaces JDBC SGBD SGBD de métadonnées Application externe Ce chapitre comprend les sections suivantes : «Tables JDBC», page 216 «Agents JDBC», page

216 JDBC Guide de référence du serveur Business Activity Monitoring Tables JDBC 216 Tables JDBC Les tables d'événements et contextuelles JDBC (Java Database Connectivity, connectivité de base de données) reçoivent leurs données des systèmes SGBDR. Ces données sont extraites par l'intermédiaire d'une requête exécutée sur la base de données ou d'une procédure enregistrée dans le SGBD. Tables contextuelles Pour les tables Contexteuelles, les nouvelles données ne sont extraites que lorsqu'un nouvel événement le requiert. Ensuite, l'agent transmet les données de la requête au SGBD qui renvoie le résultat. Table contextuelle Vue commerce Lorsque la vue requiert un contexte, elle identifie les données demandées dans les colonnes Entrée de la table contextuelle. Colonnes d'entrée Colonnes de sortie Agent JDBC Données de la requête Données demandées SGBD Entrées transmises au SGBD sous la forme d'une requête dont les résultats sont réintégrés dans les colonnes Sortie de la table contextuelle, utilisées par la vue. Tables d'événements Pour les tables d'événements, l'agent interroge régulièrement le SGBD puis extrait les nouveaux événements détectés afin de les inclure dans la table d'événements. Chaque événement renvoyé est traité de manière individuelle, quel que soit le nombre d'événements retourné par la requête d'interrogation. Pour identifier les nouveaux événements, le SGBD recherche les nouvelles données. Vue commerce Table d'événements Agent JDBC Recherche de nouveaux événements Nouveaux événements trouvés SGBD Pour créer un événement dans une table source JDBC, vous avez besoin des éléments suivants : Un agent : Un agent JDBC possédant des droits d'accès suffisants pour interroger la base de données ou appeler la procédure enregistrée. Créez un agent dans l'onglet Administration de BAM Workbench. Pour plus de détails, reportez-vous à la section «Agents JDBC», page 224. Pour les requêtes : les schémas des tables à interroger. Pour les événements de requête : Une colonne de la table source doit contenir une valeur incrémentée qui identifie les nouveaux événements lorsqu'ils sont disponibles. Reportez-vous à la section «Interrogation de la source JDBC», page 221. Pour les procédures enregistrées : Pour définir la procédure dans le SGBDR et dresser la liste des champs d'entrée et de sortie (jeu de résultats), ainsi que leurs types de données. Pour plus d'informations, reportez-vous à la section «Source Procédure enregistrée», page 222.

217 JDBC Guide de référence du serveur Business Activity Monitoring Tables d'événements 217 Autorisations : autorisation Création sur les tables (reportez-vous à la section «Autorisation de création», page 260) et autorisation Lecture seule sur l'agent qui va alimenter la table. Une table JDBC a les attributs suivants : Attributs Nom Description Etat Enregistrer les données d'événements en vue de la récupération Traiter les événements en suivant l'ordre d'arrivée Agent JDBC Requête JDBC Désactiver le contexte lorsque le nombre d'erreurs consécutives est atteint Description Identifie la table. Ce nom doit être unique parmi les vues, les événements, le contexte et les événements consolidés. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Description facultative qui peut contenir tous les caractères de texte. Indique si l'objet d'événement est activé (il recherche les événements) ou désactivé (il ne recherche pas les événements). Si cet attribut est activé, le système enregistre les données d'événements reçues depuis le démarrage du dernier point de contrôle. Ce journal de récupération permet de restaurer le système dans un état opérationnel en cas d'arrêt anormal du ou des serveur BAM. Pour plus de détails, reportez-vous à la section Utilisation du point de contrôle et de la récupération du guide Utilisation de Celequest Application Workbench. Utilisation de LiveCycle Workflow Workbench. Sélectionnez cette option si les événements doivent être traités en suivant l'ordre de leur réception. Si les événements peuvent être traités dans un ordre aléatoire, désactivez-la. Remarque :Pour lier les événements d'une vue, vous devez les traiter dans l'ordre. Activez cette option pour lier les événements. Agent source JDBC ayant accès à un SGBDR. Créez un agent dans l'onglet Administration de BAM Workbench. Pour plus de détails, reportez-vous à la section «Agents JDBC», page 224. Instruction SELECT exécutée sur la base de données dans le langage natif de la base de données. Pour plus d'informations sur la commande SELECT, consultez la documentation de référence du SGBD. Si vous modifiez la requête, cliquez sur Soumettre à nouveau la requête pour la valider. Vous ne pourrez pas enregistrer ce formulaire avec une requête incorrecte. Nombre d'erreurs consécutives pouvant se produire avant que le système ne désactive ce contexte. Une fois désactivé, un contexte doit être réactivé manuellement.

218 JDBC Guide de référence du serveur Business Activity Monitoring Création d'une table contextuelle ou d'événements d'une source JDBC 218 Attributs Informations sur le champ Clé d'événement (événement uniquement) Index (contexte uniquement) Mise en cache (contexte uniquement) Interrogation (événement uniquement) Intervalle de suppression de l'état (événement uniquement) Description Colonnes à remplir dans la table d'événements ou la table contextuelle. Les noms de champs sont déterminés en fonction du résultat de la requête JDBC. Lorsque le système valide la requête, il remplit cette liste de champs et identifie le type de données JDBC de chaque valeur renvoyée. Vous devez spécifier le type de données de la colonne dans la table. Les noms de champs sont identiques à ceux définis dans le schéma du SGBD, sauf si vous leur créez des alias avec l'opérateur AS dans la liste de sélection de l'instruction SELECT. Dans les fichiers délimités et à largeur fixe, identifie les colonnes de champs clés des événements multilignes. Pour plus de détails, reportez-vous à la section «Evénements sur plusieurs lignes», page 99. Crée un index de la colonne, lorsque cette case est cochée. Lorsque la prélecture est activée pour la mise en cache des données, il est crucial que vous sélectionniez l'index approprié pour obtenir de bonnes performances. Sélectionnez un index pour les colonnes que vous prévoyez d'utiliser dans les conditions de jointure. Remarque :si vous n'utilisez pas la mise en cache de la prélecture, la sélection de l'index est sans effet. Stocke les résultats dans la mémoire ; les futures requêtes extraient des données de la mémoire, ce qui réduit le nombre de requêtes et donc l'impact sur le SGBD. Pour plus de détails sur cette fonction, reportez-vous à la section «Mise en cache des requêtes de contexte», page 62. Fréquence d'appel de la procédure enregistrée ou de recherche de nouveaux événements dans le SGBD. Pour plus de détails, reportez-vous à la section «Interrogation de la source JDBC», page 221. Cet onglet contient plusieurs options permettant de supprimer les données d'événements sauvegardées qui sont propagées de l'événement dans les vues, les objets et les tableaux de bord qui en dépendent. Les trois options sont les suivantes : Ne pas supprimer l'état : Option par défaut. Les données sont sauvegardées. Suppression de l'état sur un calendrier : Sélectionnez cette option pour supprimer l'état dans un calendrier. La sélection de cette option active la fonction de planification située à droite. Toujours supprimer l'état (pour chaque événement) : l'état est actualisé à chaque mise à jour de l'événement. Création d'une table contextuelle ou d'événements d'une source JDBC Pour créer une table contextuelle ou d'événements d'une source JDBC, procédez comme indiqué ci-après :

219 JDBC Guide de référence du serveur Business Activity Monitoring Source Requête 219 Pour créer une table d'événements d'une source JDBC : 1. Ouvrez l'onglet BAM Workbench. 2. Dans Tables et vues, sélectionnez Evénements puis cliquez sur Nouvel événement. (Reportez-vous à la section «Tables JDBC», page 216.) 3. Sélectionnez soit Evénement simple ou Evénement consolidé. 4. Choisissez JDBC comme type de source. 5. Choisissez la source Requête ou Procédure enregistrée. La source Procédure enregistrée appelle une procédure enregistrée dans le SGBD pour localiser les données. Pour plus d'informations sur cette source, reportez-vous à la section «Source Procédure enregistrée», page 222. La source Requête crée une requête SQL SELECT sur la base de données dans le langage natif de la base de données. Saisissez l'instruction SELECT dans le champ de requête. Pour plus d'informations sur cette source, reportez-vous à la section Source Requête. Lorsque vous cliquez sur Continuer, BAM Workbench valide la requête et détermine les colonnes renvoyées. 6. Enregistrez la source JDBC avec l'état activé. La source est immédiatement prête à recevoir les événements ou le contexte. Pour créer une table contextuelle d'une source JDBC : 1. Ouvrez l'onglet BAM Workbench. 2. Dans Tables et vues, sélectionnez Contextes puis cliquez sur Nouveau contexte. 3. Choisissez JDBC comme type de source contextuelle. (Reportez-vous à la section «Tables contextuelles», page 216.) 4. Sélectionnez la connexion JDBC. 5. Choisissez la source Requête ou Procédure enregistrée. La source Procédure enregistrée appelle une procédure enregistrée dans le SGBD pour localiser les données. Pour plus d'informations sur cette source, reportez-vous à la section «Source Procédure enregistrée», page 222. La source Requête crée une requête SQL SELECT sur la base de données dans le langage natif de la base de données. Saisissez l'instruction SELECT dans le champ de requête. Pour plus d'informations sur cette source, reportez-vous à la section Source Requête. Lorsque vous cliquez sur Continuer, BAM Workbench valide la requête et détermine les colonnes renvoyées. 6. Enregistrez la source JDBC avec l'état activé. La source est immédiatement prête à recevoir les événements ou le contexte. Source Requête Une source Requête crée une requête SELECT sur la base de données dans le SGBD source. Les requêtes sont utilisées dans le contexte et les événements, et elles respectent la syntaxe native utilisée par le SGBD. Pour plus d'informations sur la syntaxe, consultez la documentation sur le SGBD.

220 JDBC Guide de référence du serveur Business Activity Monitoring Exemple de contexte 220 Limitations avec Sybase Lorsque vous envoyez une requête à une base de données Sybase, tenez compte des limitations suivantes : Tous les noms, tables et colonnes incluses, sont sensibles à la casse. Toutes les requêtes doivent impérativement se présenter sous la forme SELECT * FROM table ; n'incluez aucune clause SELECT. Pour filtrer les résultats, chargez-les dans une vue commerce, puis filtrez cette vue. Exemple de contexte Prenons l'exemple d'une vue qui lie une table d'événements à une table contextuelle, comme celle ci-dessous : SELECT Event.ID, Context.Name, Context.BDate AS Birth_Date FROM Event, Context WHERE Event.ID = Context.ID La sortie contextuelle de cette vue pourrait être similaire à celle ci-après : Field Name JDBC Data Type Data Type Name STRING Varchar Birth_Date DATE Timestamp Exemple d'événement utilisant une requête d'interrogation Prenons l'exemple de la requête lancée sur la table Events : SELECT * FROM Events Les informations sur les champs renvoyées pourraient être celles-ci : Field Name JDBC Data Type Data Type Event_ID TINYINT Integer Product_ID TINYINT Integer Product_Name STRING Varchar Notez que le champ d'incrémentation est très probablement Event_ID. Pour plus d'informations, reportez-vous à la section Interrogation de la source JDBC.

221 JDBC Guide de référence du serveur Business Activity Monitoring Interrogation de la source JDBC 221 Interrogation de la source JDBC L'interrogation indique à l'objet la fréquence avec laquelle il doit appeler la procédure enregistrée ou rechercher de nouveaux événements dans le SGBD. L'interrogation a les paramètres suivants : Paramètre Intervalle d'interrogation Conserver l'état entre chaque redémarrage Désactiver après ce nombre d'erreurs consécutives Champ d'incrémentation (requête d'événement uniquement) Valeur initiale (requête d'événement uniquement) Description Fréquence d'appel de la procédure ou d'émission de la requête. Après un redémarrage, poursuivez l'interrogation en utilisant l'état de l'interrogation préalable à l'arrêt du système. Lors de l'exécution, l'objet conserve la trace des valeurs renvoyées par le dernier appel ou la dernière requête, et les utilise pour déterminer le point de départ de l'appel suivant ou de la requête suivante. Lorsque cette option est activée, ces informations sont enregistrées à chaque point de contrôle et lorsque le système est arrêté. Pour plus d'informations, reportez-vous à la section Utilisation du point de contrôle et de la récupération. Lorsque cette option n'est pas cochée, l'interrogation est relancée avec les valeurs initialement définies pour cet objet. Désactive l'objet (interrompt l'interrogation) lorsque le nombre d'erreurs consécutives atteint le seuil spécifié. Par défaut, l'interrogation s'arrête après cinq erreurs consécutives. Pour réactiver l'objet, modifiez son Etat d'un objet en activé. Si vous spécifiez la valeur zéro (0), l'interrogation n'est jamais désactivée. Identifie la colonne de la table source, qui contient une valeur incrémentée automatiquement pour chaque événement. Par exemple, si la table interrogée contient des ID uniques croissants, ce champ est celui qui est utilisé par la requête appliquant la logique où l'id est supérieur à l'id maximum de la dernière requête. Valeur à utiliser lorsque l'objet recherche des événements dans le SGBD pour la première fois. Par exemple, vous pouvez spécifier des ID commençant à 500. Pour les requêtes suivantes, cette valeur doit être supérieure à celle du champ d'incrémentation renvoyée par la dernière requête. Remarque :si vous utilisez une base de données contextuelle SQLServer 2005 et un pilote Microsoft 2005, les dates initiales doivent se présenter au format aaaa-mm-jj ; sinon, une erreur apparaît.

222 JDBC Guide de référence du serveur Business Activity Monitoring Source Procédure enregistrée 222 Source Procédure enregistrée La source de procédure enregistrée JDBC requiert les attributs suivants : Attribut Nom de la procédure Résultats Entrées Interrogation Description Nom de la procédure enregistrée dans le SGBD. Les événements JDBC ne prennent pas en charge un jeu de résultats multiples ou des paramètres de sortie de procédure enregistrée. Pour Oracle, cela signifie que seules les fonctions Oracle sont prises en charge car elles ne renvoient qu'un seul résultat. Colonnes de la table contextuelle ou d'événements, avec leurs types de données et, éventuellement, la mise en forme. La procédure renvoie un résultat dont les valeurs correspondent aux colonnes, dans l'ordre où elles s'affichent dans la liste. Le type de données identifie le type de colonne dans la table et est automatiquement converti à partir du type JDBC défini dans la section «Correspondance des types de données JDBC», page 224. (facultatif pour les événements) Paramètres transmis à la procédure enregistrée, avec leurs types de données. Ces paramètres contiennent les valeurs à rechercher dans la table du SGBD. Les entrées sont transmises à la procédure en tant qu'arguments, dans l'ordre où elles s'affichent dans la liste. Le type de données identifie le type de données Business Activity Monitoring ES de la valeur transmise à la procédure. Pour plus d'informations, reportez-vous à la section Correspondance des types de données JDBC. De plus, Pour les événements, la procédure recherche généralement dans le SGBD les événements insérés depuis le dernier appel de la procédure. En fait, elle identifie dans la table les champs qui contiennent des valeurs d'incrémentation. Par exemple, si la table interrogée contient des ID uniques croissants, ce champ est celui qui est utilisé par la procédure appliquant la logique où l'id est supérieur à l'id maximum de la dernière requête. Pour les événements, la valeur d'interrogation initiale spécifie la valeur à utiliser lorsque la procédure recherche pour la première fois des événements dans le SGBD. Par exemple, vous pouvez spécifier des ID commençant à 500. Pour les requêtes suivantes, la valeur d'interrogation suivante identifie un champ contenant la valeur maximum de la dernière requête. Cette valeur est un champ Sortie du précédent résultat. Fréquence d'appel de la procédure enregistrée. Pour plus de détails, reportez-vous à la section «Interrogation de la source JDBC», page 221. Remarque :lorsque vous lancez une requête sur une base de données Sybase, gardez à l'esprit que les noms, y compris ceux des tables et des colonnes, sont sensibles à la casse.

223 JDBC Guide de référence du serveur Business Activity Monitoring Exemple de réception d'un contexte à l'aide d'une procédure enregistrée 223 Exemple de réception d'un contexte à l'aide d'une procédure enregistrée Prenons une vue qui lie une table d'événements à une table contextuelle, comme celle ci-dessous : SELECT Event.ID, Context.Name FROM Event, Context WHERE Event.ID = Context.ID Le contexte de sortie de cette vue est la colonne Name et l'entrée de la procédure est la colonne ID. Output Field Name Data Type Name Varchar Input Field Name Data Type ID Integer Exemple de réception d'événements à l'aide d'une procédure enregistrée Prenons l'exemple d'un événement avec les champs suivants. Notez qu'event_timestamp est un champ contenant une valeur unique et incrémentée : chaque enregistrement d'événement reçoit une information d'horodatage du SGBD. Output Field Name Data Type Ticket_ID Varchar Cust_ID Varchar Status Varchar Topic Integer When_Opened Timestamp Assigned_To Varchar Event_Timestamp Timestamp L'entrée de l'événement identifie un paramètre qui transmet la valeur à la requête. Le nom de l'entrée doit être unique dans la liste, mais il ne joue aucun autre rôle. Dans l'exemple ci-dessous, le nom de ce champ est IN1. Input Field Name Initial Polling Value Subsequent Polling Value IN :45:00 Event_Timestamp Lorsqu'elle interroge le SGBD pour la première fois, la procédure enregistrée émet une requête similaire à celle ci-après : SELECT * FROM Events WHERE event_time >= " :45:00" Les requêtes suivantes utilisent les résultats de cette requête comme point de départ pour la recherche de nouveaux événements.

224 JDBC Guide de référence du serveur Business Activity Monitoring Correspondance des types de données JDBC 224 Correspondance des types de données JDBC Les types de données des colonnes du SGBD sont affichés en tant que types de données JDBC et correspondent aux Types de données de Business Activity Monitoring ES, comme suit : Type de données JDBC Caractère Nombre entier Double Décimal Horodatage Booléen CHAR oui littéral VARCHAR oui littéral LONGVARCHAR oui littéral NUMERIC oui oui oui oui DECIMAL oui oui oui oui BIT oui oui oui oui TINYINT oui oui oui oui SMALLINT oui oui oui oui INTEGER oui oui oui oui BIGINT oui oui oui oui REAL oui oui oui oui FLOAT oui oui oui oui DOUBLE oui oui oui oui BINARY VARBINARY DATE oui TIME oui TIMESTAMP oui Remarque :N'utilisez pas le type de données booléen de Business Activity Monitoring ES dans un prédicat WHERE transmis à la source JDBC. Les valeurs booléennes peuvent être incluses dans la liste Select. Agents JDBC Un agent JDBC (Java Database Connectivity) communique avec un SGBDR (Système de Gestion de Base de Données Relationnelle) par l'intermédiaire d'une requête exécutée sur la base de données ou d'une

225 JDBC Guide de référence du serveur Business Activity Monitoring Attributs 225 procédure enregistrée dans le SGBD. Ce dernier renvoit une ou plusieurs lignes de données, que l'agent transmet aux Tables JDBC du contexte ou de l'événement demandeur. Remarque :Les agents JDBC sont synchrones. Ils extraient des messages d'événement et des données contextuelles suite à l'émission d'une requête. Ces messages et données sont récapitulés dans le tableau ci-après. Pour le contexte, les agents accèdent au SGBD lorsqu'un nouvel événement requiert des données contextuelles. Pour les événements, l'agent interroge régulièrement le SGBD, extrait les nouveaux événements détectés et les inclut dans la table des événements. Chaque événement renvoyé est traité de manière individuelle, quel que soit le nombre d'événements retourné par la requête d'interrogation. Envoi d'événements Extraction d'événements Non Oui Oui Extraction de contexte Avant de créer un agent JDBC, vous devez : Attributs disposer de l'autorisation Création sur les agents (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260) ; Définir une source de données JDBC gérée par le serveur d'application, idéalement un serveur qui dispose d'une réserve de connexions. Remarque : Configurez la réserve de connexions comme spécifié dans la documentation de votre serveur d'application. De plus, dans la définition de la réserve : Définissez un nombre maximum de connexions simultanées à la base de données, supérieur à 200. Configurez un taux de rafraîchissement supérieur à 0, idéalement égal à 1 ou 2 minutes. Ceci permet d'arrêter et de redémarrer la base de données sans perdre la connexion à la réserve. De plus, il est recommandé de configurer la réserve pour qu'elle s'assure de l'existence d'une table physique dans la base de données. Un agent JDBC a les attributs suivants : Attribut Nom Description Etat Type de base de données Nom d'utilisateur Description Identifie l'agent. Ce nom doit être unique parmi les agents. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Description facultative qui peut contenir tous les caractères de texte. Indique si l'agent est activé (contrôle des événements) ou désactivé (pas de contrôle des événements). Identifie le fournisseur du SGBD comme Oracle, Sybase, SQL Server ou DB2. Nom d'utilisateur à saisir pour se connecter au SGBD. Les droits d'accès en requête sont requis.

226 JDBC Guide de référence du serveur Business Activity Monitoring Attributs 226 Attribut Mot de passe Nb maximum de lignes par requête Type de connexion JDBC Nom JNDI de la source JDBC (source de données uniquement) Propriétés JNDI (source de données uniquement) URL JDBC (URL uniquement) Classe du pilote JDBC (URL uniquement) Description Mot de passe pour le nom d'utilisateur. Si vous oubliez cette option, l'agent utilise le mot de passe spécifié dans la définition de la configuration de la source JDBC du serveur d'application. Le nombre maximum de lignes pour retourner le résultat de la requête. Cette option permet d'empêcher les utilisateurs de retourner des résultats trop longs qui peuvent affecter le SGBD. Comment se connecter au JDBC dans le serveur d'application. Basé(e) sur la source de données : se connecte à une réserve de bases de données JDBC par l'intermédiaire d'une connexion JNDI. Ne l'utilisez par pour IBM Websphere. Basé(e) sur une URL : se connecte à une source JDBC via une URL. Nom de la source de données à utiliser en tant que connexion à la base de données. Ce nom est au format JNDI, comme «com.celequest.products.productsource». Une source obtient sa connexion à partir d'une réserve de connexions gérées par le serveur d'application. Ce serveur laisse les connexions ouvertes afin de réduire les délais lors de l'établissement d'une connexion. Remarque :La réserve de connexion doit être configurée en tant que réserve non transactionnelle (non TxT dans WebLogic). Propriétés JNDI (Java naming and directory interface) facultatives et supplémentaires requises pour créer ou garder l'agent dans la source JDBC. Ces paires nom/valeur vous permettent de spécifier les propriétés JDBC. Les noms correspondent à l'un des raccourcis ci-dessous ou à une propriété JNDI reconnue. L'agent reconnaît les noms suivants en tant que raccourcis vers les propriétés JNDI : factory correspond à INITIAL_CONTEXT_FACTORY. provider correspond à PROVIDER_URL. security_credentials correspond à SECURITY_CREDENTIALS. security_principal correspond à SECURITY_PRINCIPAL. URL qui renvoie à la connexion JDBC configurée dans le serveur d'application qui exécute Business Activity Monitoring ES. Par exemple, ce type d'url peut se présenter comme suit : jdbc:oracle:thin:some_context/context@v480:1521:symbols Pilote JDBC à utiliser. Ce pilote doit résider dans le chemin d'accès aux classes du serveur d'application qui exécute Business Activity Monitoring ES. Indiquez le nom complet de la classe, comme oracle.jdbc.driver.oracledriver

227 JDBC Guide de référence du serveur Business Activity Monitoring Création d'un agent JDBC 227 Création d'un agent JDBC Pour créer un agent JDBC, suivez la procédure décrite ci-dessous. Pour créer un agent JDBC : 1. Ouvrez la BAM Workbench Console d administration. 2. Cliquez sur Nouvel agent. 3. Choisissez JDBC comme type de source. 4. Renseignez les champs qui définissent les attributs de l'agent. Enregistrez l'agent comme activé. Il est ainsi prêt à extraire des données.

228 17 Accès JDBC aux données des vues Business Activity Monitoring ES fournit une interface de programmation d'applications (API) qui permet aux applications JDBC 2.0 de récupérer les données d'une vue, et de récupérer les métadonnées qui décrivent les vues de l'installation. Vous pouvez récupérer les données ci-dessous. Données de la vue récente. Si la vue contient une fenêtre (moving set), les données de la fenêtre sont renvoyées. Identifiant d'événement (VC_EVENT_ID toujours inclus) qui identifie l'événement ayant produit la toute dernière ligne insérée dans la vue. Identifiant du dernier événement (VC_LATEST_EVENT_ID toujours inclus) qui identifie le dernier événement ayant provoqué la mise à jour de la vue, même si les données de cet événement ne sont peut-être pas incluses dans la vue. Horodatage de l'événement (VC_TIMESTAMP toujours inclus) qui identifie le moment auquel le dernier événement a été inclus dans la vue. Remarque :Ces mêmes informations sont écrites dans une base de données lors de la sauvegarde des vues. Pour plus d'informations, reportez-vous à la section «Sauvegarde des vues dans une base de données», page 364. Ce chapitre comprend les sections suivantes : «Chemin d'accès aux classes», page 229 «Interfaces des vues JDBC», page 229 «Exemples d'accesseur JDBC», page

229 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Chemin d'accès aux classes 229 Chemin d'accès aux classes Le chemin d'accès aux classes pour le pilote JDBC de Business Activity Monitoring ES (cqjdbcclient.jar) doit être ajouté dans l'application JDBC client. Cette application client doit également être liée au serveur d'application (par exemple weblogic.jar) afin d'accéder au service de dénomination JNDI. Par exemple, lors de l'exécution d'un programme (Test, par exemple) à partir d'une ligne de commande, l'appel java peut ressembler à la syntaxe suivante sur un serveur BEA WebLogic : java -classpath.;c:\bea\weblogic700\server\lib\weblogic.jar; c:\cq\cqjdbcclient\cqjdbcclient.jar JDBCAccessor La suite de ce chapitre décrit les Interfaces des vues JDBC et fournit des «Exemples d'accesseur JDBC», page 236. Interfaces des vues JDBC JDBC 2.0 définit les interfaces permettant d'accéder aux données. Business Activity Monitoring ES implémente les interfaces pour accéder aux données répertoriées dans le tableau ci-dessous. Pour plus de détails sur les interfaces, consultez la documentation JDBC à l'adresse Remarque :toutes les méthodes renvoient des données qui remplissent le standard JDBC 1.0. Par ailleurs, les méthodes définies dans la classe JDBC, mais non prises en charge dans l'api de Business Activity Monitoring ES, émettent une exception SQLException. Les éléments suivants sont les interfaces prises en charge par Business Activity Monitoring ES : Classe Membre Description Driver Pilote de la base de données SQL JDBC. Reportez-vous à la section «Exemple : Etablissement d'une connexion avec serveur BAM», page 237 pour visualiser un exemple. La classe est nommée : com.celequest.jdbc.driver.driver connect acceptsurl getmajorversion getminorversion jdbccompliant Tente d'établir une connexion de la base de données à l'url. Renvoie la valeur true si ce pilote comprend le sous-protocole spécifié. Renvoie le numéro de révision majeure du pilote. Renvoie le numéro de révision mineure du pilote. Renvoie la valeur false. Connection Connexion à une base de données particulière. Reportez-vous à la section «Exemple : Etablissement d'une connexion avec serveur BAM», page 237 pour visualiser un exemple de l'utilisation de cette interface.

230 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Interfaces des vues JDBC 230 Classe Membre Description createstatement close getmetadata isclosed Renvoie un nouvel objet Statement créé. Libère immédiatement les ressources JDBC d'un objet Connection. Renvoie un nouvel objet DatabaseMetaData créé. Renvoie la valeur true si l'appel de l'objet Connection est terminé, et la valeur false s'il est toujours ouvert. Statement Instruction SQL à transmettre à la base de données. Reportez-vous à la section «Exemple : Interrogation du contenu d'une vue», page 239 pour visualiser un exemple de l'utilisation de cette interface. executequery close DatabaseMetaData gettables getcolumns Exécute une requête Business Activity Monitoring ES C-SQL SELECT, renvoie un seul objet ResultSet, puis ferme l'appel de l'objet ResultSet actuel de l'objet Statement, le cas échéant. L'instruction de la requête n'implique qu'un seul tableau et peut contenir les clauses WHERE, GROUP BY et ORDER. Les références aux noms des vues dans la requête ne sont pas sensibles à la casse et peuvent être placées entre guillemets. Libère les ressources JDBC d'un objet Statement. Fournit des informations sur les définitions des vues lors de l'installation de Business Activity Monitoring ES. Renvoie les définitions des vues. Reportez-vous à la section «Exemple : Interrogation des métadonnées des vues», page 242 pour visualiser un exemple de l'utilisation de cette méthode. Renvoie des informations sur les colonnes d'une vue donnée. Reportez-vous à la section «Exemple : Interrogation des métadonnées des colonnes», page 241 pour visualiser un exemple de l'utilisation de cette méthode. Reportez-vous à la section «Récapitulatif des colonnes de la fonction getcolumns()», page 233 pour obtenir la liste récapitulative des colonnes.

231 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Interfaces des vues JDBC 231 Classe Membre Description ResultSet Table de données représentant un résultat de la base de données qui est généralement généré lors de l'exécution d'une instruction interrogeant la base de données. next close wasnull getstring getboolean getint getdouble getobject getbigdecimal gettimestamp getmetadata ResultSetMetaData Déplace le curseur sur la ligne suivante de l'ensemble et corrige la ligne actuelle. Libère immédiatement les ressources JDBC d'un objet ResultSet. Renvoie la valeur true si la dernière valeur lue est SQL NULL. Renvoie la valeur d'une colonne en tant que chaîne Java. Renvoie la valeur d'une colonne en tant que booléen Java. Renvoie la valeur d'une colonne en tant que nombre entier Java. Renvoie la valeur d'une colonne en tant que double Java. Renvoie la valeur d'une colonne en tant qu'objet Java (tel que défini dans la mise en correspondance type par défaut). Renvoie la valeur d'une colonne en tant qu'objet java.math.bigdecimal. Renvoie la valeur d'une colonne en tant qu'horodatage Java. Renvoie le nombre, les types et les propriétés des colonnes d'un objet ResultSet en tant qu'objet ResultSetMetaData. Fournit des informations sur les types et les propriétés des colonnes d'un objet ResultSet.

232 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Mises en correspondance des types de données 232 Classe Membre Description getcolumncount getprecision getscale gettablename getcolumnname getcolumntype getcolumntypename Renvoie le nombre de colonnes de l'objet ResultSet. Renvoie le nombre de décimales de la colonne désignée. Renvoie le nombre de chiffres situés à droite du séparateur décimal. Renvoie le nom de la table dont le ResultSet est dérivé. Renvoie le nom d'une colonne. Renvoie le type JDBC pour la valeur stockée dans une colonne. Reportez-vous à la section «Mises en correspondance des types de données», page 232 pour obtenir un récapitulatif des mises en correspondance. Renvoie le nom type de Business Activity Monitoring ES pour une colonne. Mises en correspondance des types de données Les fonctions «get» de cette classe renvoient les valeurs des colonnes Business Activity Monitoring ES. Ce tableau indique les fonctions à utiliser pour les différents types de données Business Activity Monitoring ES. getboolean getint getdouble getbigdecimal getstring gettimestamp Booléen X o o o o Nombre entier o X o o o Double o o X o o Décimal o o o X o Varchar o o o o X X Horodatage X X X indique que la fonction renvoie une valeur compatible avec le type de données Business Activity Monitoring ES. o indique des types de données qui peuvent être compatibles, mais dont la conversion n'est pas recommandée.

233 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Récapitulatif des colonnes de la fonction getcolumns() 233 Récapitulatif des colonnes de la fonction getcolumns() Ce tableau constitue un récapitulatif de la documentation Java pour la fonction DatabaseMetaData.getColumns(). Consultez la liste complète des colonnes dans la documentation Java. Colonne Type Description TABLE_CAT Chaîne Catalogue de la table (peut avoir la valeur Null). TABLE_SCHEM Chaîne Schéma de la table (peut avoir la valeur Null). TABLE_NAME Chaîne Nom de la table. COLUMN_NAME Chaîne Nom de la colonne. DATA_TYPE Entier Type de données SQL du fichier java.sql.types. Pour consulter un récapitulatif, reportez-vous à la section Valeurs renvoyées par la colonne DATA_TYPE suivante. TYPE_NAME Chaîne Nom du type dépendant de la source de données. Pour une fonction UDF, le nom du type est complet. COLUMN_SIZE Entier Taille de la colonne. Pour des données de type caractère ou date, correspond au nombre maximal de caractères ; pour des données de type numérique ou décimal, il s'agit de la précision d'arrondi. BUFFER_LENGTH Chaîne Non utilisée. DECIMAL_DIGITS Entier Nombre de fractions. NUM_PREC_RADIX Entier Base (en général 10 ou 2). NULLABLE Entier La valeur NULL est-elle autorisée? columnnonulls : peut ne pas autoriser les valeurs NULL. columnnullable : permet définitivement les valeurs NULL. columnnullableunknown : la possibilité d'attribution des valeurs NULL est inconnue. REMARKS Chaîne Commentaire qui décrit la colonne (peut avoir la valeur Null). COLUMN_DEF Chaîne Valeur par défaut (peut avoir la valeur Null). SQL_DATA_TYPE Entier Non utilisée. SQL_DATETIME_SUB Entier Non utilisée. CHAR_OCTET_LENGTH Entier Pour les types de caractères, correspond au nombre maximal d'octets dans la colonne.

234 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Valeurs renvoyées par la colonne DATA_TYPE 234 Colonne Type Description ORDINAL_POSITION Entier Index de la colonne dans la table (commence à 1). IS_NULLABLE Chaîne «NO» signifie que la colonne n'autorise pas les valeurs NULL ; «YES» indique que la colonne peut les autoriser. Une chaîne vide indique que la possibilité d'attribution des valeurs NULL est inconnue. Valeurs renvoyées par la colonne DATA_TYPE La colonne DATA_TYPE renvoie une valeur de type nombre entier qui identifie le type de données Java. Pour plus de détails, reportez-vous au fichier java.sql.types. Le tableau ci-dessous récapitule ces valeurs. Type Valeur BIT -7 TINYINT -6 BIGINT -5 LONGVARBINARY -4 VARBINARY -3 BINARY -2 LONGVARCHAR -1 NULL 0 CHAR 1 NUMERIC 2 DECIMAL 3 INTEGER 4 SMALLINT 5 FLOAT 6 REAL 7 DOUBLE 8 VARCHAR 12 DATE 91 TIME 92 TIMESTAMP 93

235 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Valeurs renvoyées par la colonne DATA_TYPE 235 Type Valeur OTHER 1111 JAVA_OBJECT 2000 DISTINCT 2001 STRUCT 2002 ARRAY 2003 BLOB 2004 CLOB 2005 REF 2006

236 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Exemples d'accesseur JDBC 236 Exemples d'accesseur JDBC Java Les exemples de cette section montrent comment se connecter à serveur BAM et interroger les données et métadonnées des vues, ainsi que les métadonnées sur les vues et les colonnes définies dans l'installation. Ces exemples sont les suivants : «Exemple : Etablissement d'une connexion avec serveur BAM», page 237 «Exemple : Interrogation du contenu d'une vue», page 239 «Exemple : Interrogation des spécifications des colonnes d'une vue», page 239 «Exemple : Interrogation des métadonnées des colonnes», page 241 «Exemple : Interrogation des métadonnées des vues», page 242 L'accès au pilote JDBC dépend des classes java.sql.*. Ainsi, veillez à inclure l'importation suivante dans vos applications : Exemple complet import java.sql.*; Un exemple d'application contenant le code complet des extraits indiqués dans ces exemples est inséré sur le CD-ROM du produit. Consultez les fichiers dans le répertoire \samples\jdbc\. Ce répertoire contient deux fichiers : Le fichier Lisez-Moi.txt décrit la compilation et l'exécution de l'application. L'application est nommée JDBCAccessor.java. Pour compiler l'application, utilisez la commande suivante : javac -classpath. JDBCAccessor.java Pour exécuter le programme, chargez-le sur le serveur d'application, par exemple : BEA WebLogic: java -classpath.;c:\bea\weblogic700\server\lib\weblogic.jar; c:\cq\cqjdbcclient\cqjdbcclient.jar JDBCAccessor JBoss : java -classpath.;c:\jboss\3.2.3\client\jnet.jar; C:\jboss\3.2.3\client\jboss-net-client.jar; C:\jboss\3.2.3\client\jnp-client.jar; C:\jboss\3.2.3\client\jboss-common-client.jar; c:\cq\cqjdbcclient\cqjdbcclient.jar JDBCAccessor Les résultats des exemples sont imprimés en sortie standard, et les erreurs sont standard.

237 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Exemple : Etablissement d'une connexion avec serveur BAM 237 Exemple : Etablissement d'une connexion avec serveur BAM Cet exemple montre comment établir une connexion avec le pilote JDBC de serveur BAM. Etablissez la connexion en créant un objet Connection à l'aide de la syntaxe suivante : Connection connection = null; connection = DriverManager.getConnection(url, username, password); Les paramètres username (nom d'utilisateur) et password (mot de passe) identifient un compte Business Activity Monitoring ES. Lors de l'interrogation d'un objet particulier (par exemple une vue), le compte utilisateur doit disposer au moins d'une autorisation Lecture seule. S'il possède une autorisation Aucun accès sur la vue, la requête échoue comme si la vue n'existait pas. Le paramètre URL identifie la fabrique sur le serveur d'application qui établit la connexion avec le pilote JDBC de Business Activity Monitoring ES. Cette URL spécifie le type de connexion, d'hôte et de port auquel se connecter ainsi que la fabrique sur le serveur d'application. Les autres propriétés varient suivant les serveurs d'applications. L'exemple d'application nomme les propriétés courantes dans des variables que vous pouvez personnaliser en fonction de votre installation : String username String password = "system"; = "manager"; L'exemple d'application conçoit le paramètre URL à partir des propriétés propres au serveur d'application, comme suit : Propriétés des connexions à BEA WebLogic String hostandport = "localhost:80"; String factory = "weblogic.jndi.wlinitialcontextfactory"; String url = "jdbc:celequest:factory="+factory+ ";provider=t3://"+hostandport+";"; Propriétés des connexions à JBoss String hostandport = "localhost:1099"; String factory = "org.jnp.interfaces.namingcontextfactory"; String url = "jdbc:celequest:java.naming.factory.url.pkgs="+ "org.jboss.naming:org.jnp.interfaces;"+ "factory="+factory+";provider=jnp://"+hostandport+";";

238 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Exemple : Etablissement d'une connexion avec serveur BAM 238 Ci-après figure un exemple plus détaillé. Néanmoins, pour en afficher la liste complète, examinez le membre JDBCAccessor.main(). // Common connection properties String username = "system"; String password = "manager"; // JBoss connection properties String hostandport = "localhost:1099"; String factory = "org.jnp.interfaces.namingcontextfactory"; String url = "jdbc:celequest:java.naming.factory.url.pkgs="+ "org.jboss.naming:org.jnp.interfaces;"+ "factory="+factory+";provider=jnp://"+hostandport+";"; // Verify the JDBC driver in the application o try { Class.forName("com.celequest.jdbc.driver.Driver"); } catch (ClassNotFoundException e) { handleerror("could not find the JDBC driver class.", e); return; } // Establish the connection to the JDBC driver Connection connection = null; try { connection = DriverManager.getConnection(url, username, password); } catch (SQLException e) { handleerror("could not connect to the JDBC driver.", e); return; }

239 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Exemple : Interrogation du contenu d'une vue 239 Exemple : Interrogation du contenu d'une vue Cet extrait montre comment interroger l'intégralité du contenu d'une vue. L'appel executequery() transmet la requête au pilote, qui renvoie le contenu de la vue dans un objet ResultSet. Toutes les colonnes, notamment les colonnes système internes comme VC_TIMESTAMP sont incluses dans cette liste. Par ailleurs, les métadonnées sur la vue sont récupérées dans un objet ResultSetMetaData pour déterminer le nombre de colonnes de la vue. Remarque :consultez la liste complète des codes dans l'exemple JDBCAccessor.PrintViewContents(). /* Query all contents of a view. * Connection has already been established, and view name defined. */ String querystring = "SELECT * FROM " + VIEW_NAME ; ResultSet rs; // Table to hold the query results. ResultSetMetaData rmd; // Metadata about the result set. // Query the view, and get its data and metadata. Statement stmt = connection.createstatement(); rs = stmt.executequery( querystring ); rmd = rs.getmetadata(); // Print the contents of the entire view, row by row. int columncount = rmd.getcolumncount(); boolean isempty = true; while (rs.next()) { isempty = false; System.out.print(" Row: "); for (int i=0;i<columncount;i++) { // Show the column value, or "NULL" String ts = rs.getstring(i+1); System.out.print( (rs.wasnull()? "NULL " : ts + " ")); } System.out.println(); // Line break } if (isempty) { System.out.println("\n *** The view is empty ***"); } Le résultat peut ressembler à l'exemple suivant : Contents of view [OrderProductTotals]: Row: Hinges :22: Row: Lag bolts :22: Row: Nails :22: Row: Nuts :22: Row: Screws :22: Row: Washers :22: Row: Chip board :22: Row: Plywood :22: Exemple : Interrogation des spécifications des colonnes d'une vue Cet extrait montre comment interroger les spécifications définies par l'utilisateur sur les colonnes d'une vue. Il affiche d'abord toutes les métadonnées disponibles correspondant aux spécifications des colonnes,

240 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Exemple : Interrogation des spécifications des colonnes d'une vue 240 puis les spécifications intéressantes sur chaque colonne de la vue, notamment les colonnes système internes. Les résultats apparaissent suivant l'ordre d'affichage des colonnes dans la vue, suivis des colonnes internes. Remarque :consultez la liste complète des codes dans l'exemple JDBCAccessor.PrintColumns(). /* Query a view's column specifications. * Connection has already been established, and view name defined. */ // Query the table to identify the columns to report on. Because the // view contents are irrelevant here, omit them by declaring // 'WHERE false' as the query condition. String querystring = "SELECT * FROM " + VIEW_NAME +" WHERE false"; ResultSet rs; ResultSetMetaData rmd; // Table to hold the query results. // Metadata about the result set. // Query the view, and then get its metadata. Statement stmt = connection.createstatement(); rs = stmt.executequery( querystring ); rmd = rs.getmetadata(); // Print the metadata about the columns in the view. System.out.println("Column details for view [" + rmd.gettablename(1) +"]:"); // Walk through and show the interesting metadata available for // each column in the view. Include labels to identify what we see // in the result. for (int i=0;i<rmd.getcolumncount();i++) { System.out.println( " " + Integer.toString(i+1) + ". Name [" + rmd.getcolumnname(i+1) + "] Type [" + Integer.toString(rmd.getColumnType(i+1)) + "] Precision [" + Integer.toString(rmd.getPrecision(i+1)) + "] Scale [" + Integer.toString(rmd.getScale(i+1))+"]"); } Le résultat peut ressembler à l'exemple suivant : View: [ORDERPRODUCTTOTALS] Column details for view [ORDERPRODUCTTOTALS]: 1. Name [FAMILY] Type [12] Precision [20] Scale [0] 2. Name [PRODUCT] Type [12] Precision [50] Scale [0] 3. Name [SALES] Type [3] Precision [25] Scale [2] 4. Name [QTY] Type [4] Precision [10] Scale [0] 5. Name [TARGET] Type [3] Precision [15] Scale [2] 6. Name [TARGET MIN] Type [3] Precision [15] Scale [2] 7. Name [TARGET MAX] Type [3] Precision [15] Scale [2] 8. Name [VC_EVENT_ID] Type [4] Precision [10] Scale [0] 9. Name [VC_TIMESTAMP] Type [93] Precision [0] Scale [9] 10. Name [VC_LATEST_EVENT_ID] Type [4] Precision [10] Scale [0]

241 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Exemple : Interrogation des métadonnées des colonnes 241 Exemple : Interrogation des métadonnées des colonnes Ces extraits montrent comment récupérer des métadonnées sur les colonnes d'une vue. (Pour récupérer les spécifications des colonnes, reportez-vous à la section «Exemple : Interrogation des spécifications des colonnes d'une vue», page 239.) Remarque :consultez la liste complète des codes dans l'exemple JDBCAccessor.PrintColumnMeta(). /* Retrieve the metadata about the columns of a defined view. */ // NOTE: Specify 'null' instead of 'VIEW_NAME' to get the metadata // for ALL columns in the installation. rs = meta.getcolumns(null,null,view_name,null); rmd = rs.getmetadata(); // Show the metadata available for view columns. int columncount = rmd.getcolumncount(); for (int i=0;i<columncount;i++) { System.out.print(rmd.getColumnName(i+1) + ((i+1)==columncount? "" : ",")); } Les résultats répertorient d'abord les noms des colonnes des métadonnées (pour obtenir la description des colonnes, reportez-vous à la section «Récapitulatif des colonnes de la fonction getcolumns()», page 233): Getting column metadata for [OrderProductTotals] TABLE_CAT,TABLE_SCHEM,TABLE_NAME,COLUMN_NAME,DATA_TYPE,TYPE_NAME, COLUMN_SIZE,BUFFER_LENGTH,DECIMAL_DIGITS,NUM_PREC_RADIX,NULLABLE, REMARKS,COLUMN_DEF,SQL_DATA_TYPE,SQL_DATETIME_SUB,CHAR_OCTET_LENGTH, ORDINAL_POSITION,IS_NULLABLE Affichez ensuite l'ensemble des métadonnées sur les colonnes d'une vue particulière. Notez que les colonnes ne s'affichent pas suivant leur ordre d'apparition dans la vue. // Show the metadata values for the columns in the view. boolean isempty = true; while (rs.next()) { isempty = false; for (int i=0;i<columncount;i++) { String ts = rs.getstring(i+1); if (rs.wasnull()) System.out.print(","); else System.out.print(ts + ((i+1)==columncount? "" : ",")); // Metadata value } System.out.println(); } if (isempty) { System.out.println("\n *** Either there are no columns defined "+ "for this view (unlikely), or the view is not "+ "defined (probably)."); } Ci-après figure un exemple de liste des métadonnées de la vue OrderProductTotals. (Reportez-vous à la section «Mises en correspondance des types de données», page 232 pour obtenir une mise en

242 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Exemple : Interrogation des métadonnées des vues 242 correspondance des types de données Java.) De nouveau, les colonnes ne s'affichent pas dans un ordre particulier.,,orderproducttotals,vc_event_id,4,vcinteger,10,,0,10,1,,,,,,1,yes,,orderproducttotals,vc_timestamp,93,vctimestamp,9,,0,10,1,,,,,,3,yes,,orderproducttotals,target max,3,vcdecimal,15,,2,10,1,,,,,,4,yes,,orderproducttotals,vc_latest_event_id,4,vcinteger,10,,0,10,1,,,,,,5,yes,,orderproducttotals,family,12,vcvarchar,20,,0,10,1,,,,,,6,yes,,orderproducttotals,target min,3,vcdecimal,15,,2,10,1,,,,,,7,yes,,orderproducttotals,qty,4,vcinteger,10,,0,10,1,,,,,,9,yes,,orderproducttotals,product,12,vcvarchar,50,,0,10,1,,,,,,10,yes,,orderproducttotals,target,3,vcdecimal,15,,2,10,1,,,,,,11,yes,,orderproducttotals,sales,3,vcdecimal,25,,2,10,1,,,,,,12,yes Exemple : Interrogation des métadonnées des vues Ces extraits montrent comment interroger les métadonnées des vues. Ils affichent d'abord les métadonnées disponibles pour les vues, puis indiquent comment rechercher toutes les vues définies dans le système. Remarque :consultez la liste complète des codes dans l'exemple JDBCAccessor.PrintAllViewsMeta(). /* Retrieve metadata about views. */ ResultSet rs; ResultSetMetaData rmd; DatabaseMetaData meta = connection.getmetadata(); // Use 'null' for the 3rd parameter to retrieve information about all // of the views in the system, instead of just one. rs = meta.gettables(null,null,null,null); rmd = rs.getmetadata(); for (int i=0;i<rmd.getcolumncount();i++) { System.out.println( " ["+ rmd.getcolumnname(i+1) + "] Type [" + Integer.toString(rmd.getColumnType(i+1)) + "] Precision [" + Integer.toString(rmd.getPrecision(i+1)) + "] Scale [" + Integer.toString(rmd.getScale(i+1))+"]"); } Les résultats décrivent d'abord les métadonnées disponibles : This metadata is available for views. [TABLE_CAT] Type [12] Precision [255] Scale [0] [TABLE_SCHEM] Type [12] Precision [255] Scale [0] [TABLE_NAME] Type [12] Precision [255] Scale [0] [TABLE_TYPE] Type [12] Precision [255] Scale [0] [REMARKS] Type [12] Precision [255] Scale [0]

243 Accès JDBC aux données des vues Guide de référence du serveur Business Activity Monitoring Exemple : Interrogation des métadonnées des vues 243 Les résultats affichent ensuite les vues (noms des tables) définies dans le système : // Use the metadata to list all of the views in the system. final int GT_TABLE_NAME = 3; // View name boolean isempty = true; while (rs.next()) { isempty = false; System.out.println(" " + rs.getstring(gt_table_name) ); } if (isempty) { System.out.println(" *** There are no views defined. ***"); } Les résultats sont semblables à ceux-ci : OrderChangeDetails OrderTotals 8WeekOrders 8WeekOrdersAvg OrderProductTotals OrderSalesGrandTotal 30DayOrders InventoryChangeDetails SupplierAlternates

244 18 Objets Dans Business Activity Monitoring ES, les objets gèrent des données. Chaque objet a un nom, une description facultative et un état qui détermine s'il peut manipuler les données pour lesquelles il a été créé. Par ailleurs, pour chaque objet, vous pouvez spécifier des informations supplémentaires qui indiquent à cet objet les données à gérer et comment les gérer. Ce chapitre comprend les sections suivantes : «Etat d'un objet», page 245 «Noms d'objet», page 246 «Espace de nommage d'objets», page

245 Objets Guide de référence du serveur Business Activity Monitoring Etat d'un objet 245 Etat d'un objet Chaque objet a l'un des trois états qui déterminent son fonctionnement : Icône Description Activé : L'objet accepte de nouvelles données et les traite. Vous ne pouvez activer que des objets valides qui ne dépendent pas d'objets désactivés. Lorsque vous activez un objet désactivé, vous avez le choix entre activer cet objet et activer cet objet et tous ceux qui en dépendent (activation en cascade). De plus, tous les objets dépendants doivent être activables aucun ne peut être invalide sinon l'opération échoue et aucun objet n'est activé. Désactivé : L'objet n'accepte pas de nouvelles données. La désactivation d'un objet n'affecte pas sa définition ni son existence, mais empêche les nouvelles données d'accéder à cet objet et à ceux qui en dépendent. Par exemple, la désactivation d'une vue entraîne la désactivation de toutes les règles qui la contrôlent, et ainsi de toutes les alertes et tableaux récapitulatifs associés. Désactivé dépendant : L'objet n'accepte pas de nouvelles données car un objet dont il dépend est désactivé. L'activation de l'objet référencé active également cet objet. Non valide : L'objet fait référence à un autre objet dont la condition n'est pas remplie. Il peut s'agir d'une vue qui fait référence à une colonne d'une autre vue, alors que cette colonne n'existe plus dans la vue référencée. Un objet est non valide lorsqu'un objet référencé n'existe pas ou lorsqu'un de ses attributs ne correspond pas aux critères de l'élément dépendant (comme un type de données discordant ou un nom de colonne manquant). L'invalidation d'un objet entraîne l'invalidation de tous les objets qui en dépendent. Ceci survient généralement lorsque vous supprimez un objet qui contient des dépendances ou lorsque vous modifiez la définition d'un objet. Lorsque vous affichez une liste d'objets, vous pouvez visualiser l'état valide/non valide et activé/désactivé de chaque objet. Vous pouvez cliquer sur un indicateur Activé dans la colonne Etat pour le désactiver ou cliquer sur un indicateur Désactivé pour l'activer. Cliquez pour activer. Cliquez pour désactiver.

246 Objets Guide de référence du serveur Business Activity Monitoring Noms d'objet 246 Noms d'objet Un nom d'objet doit être un identifiant normal ou un identifiant délimité. Identifiant normal : le nom d'un identifiant normal doit commencer par une lettre comprise entre «a» et «z» ou entre «A» et «Z», et tous les caractères suivants peuvent être compris entre «a» et «z», «A» et «Z», «0» et «9» ou «_». Identifiant délimité : Un identifiant délimité doit commencer et se terminer par un guillemet ("). Le corps d'un identifiant délimité ne doit pas être vide et peut contenir n'importe quel caractères du langage SQL, notamment : les caractères des identifiants normaux, le trait de soulignement (_), l'espace ( ), le pourcentage (%), la perluète (&), l'apostrophe, la parenthèse ouvrante, la parenthèse fermante, l'astérisque (*), le signe plus (+), la virgule (,), le signe moins (-), la barre oblique (/), les deux points (:), le point-virgule (;), le signe égal (=), le point d'interrogation (?), la barre verticale ( ) ou le guillemet ("") (accolé à un second guillemet). Remarque :les noms ne doivent pas contenir de points (.), de signes Inférieur à (<) ou de signes Supérieur à (>). Tous les noms doivent être uniques au sein de leur classe (comme une vue ou des agents ; pour plus d'informations, reportez-vous à la section «Espace de nommage d'objets», page 249) et ne peuvent pas être identiques à des mots réservés. Par exemple, vous ne pouvez pas attribuer à une vue le nom de l'identifiant normal select, mais vous pouvez utiliser l'identifiant délimité «select». Mots réservés Tous les identifiants commençant par VC_ sont des noms système réservés et ne doivent pas être utilisés. De plus, tous les mots réservés dans le standard SQL-99 sont également réservés dans C-SQL. Les mots ci-dessous sont réservés dans Business Activity Monitoring ES : Mots réservés abs delete local rollback absolute desc log round acked describe lower rows action descriptor lowered rpad add diagnostics lpad rtrim all disconnect ltrim schema allocate distinct match scroll alter domain max second and double min section any drop minute select are else mod session as end module session_user

247 Objets Guide de référence du serveur Business Activity Monitoring Mots réservés 247 Mots réservés asc end-exec month set assertion escape mov_avg sign at événement mov_count size authorization except mov_max smallint avg exception mov_min some begin exec mov_ntile space between execute mov_rank sql bit exists mov_ratio_to_report sqlcode bit_length exp mov_std_deviation sqlerror boolean external mov_sum sqlstate both extract mov_variance sqrt by false names std_deviation cascade fetch national substr cascaded first natural substring case float nchar sum cast floor next system_user catalog for no table ceil foreign not temporary char found ntile then char_length from null time character full nullif timestamp character_length get numériques timestamp_diff check global octet_length timezone_hour close go of timezone_minute coalesce goto on to collate autorisation seule to_char collation greatest open to_date column group option trailing

248 Objets Guide de référence du serveur Business Activity Monitoring Mots réservés 248 Mots réservés valider having or transaction concat hour order translate connect identity externes translation connection immediate output trim constraint in overlaps true contraintes indicator pad trunc continue initially partial union convert internes position unique corresponding input power unknown count insensitive precision update create insert prepare upper cross Entier preserve usage current integer prev utilisateur current_date intersect primary using current_time interval prior value current_timestamp into prior_value values current_user is privileges varchar cursor is_raised procedure variance date isolation public varying date_add join raised view date_diff key rank when day language ratio_to_report whenever deallocate last read where dec last_day real with decimal leading références work declare least relative write default left restrict année

249 Objets Guide de référence du serveur Business Activity Monitoring Espace de nommage d'objets 249 Mots réservés deferrable level revoke zone deferred like right Espace de nommage d'objets L'espace de nommage contrôle les noms attribués aux objets dans Business Activity Monitoring ES. En général, les noms d'objet doivent être uniques parmi les objets du même type, dans le même conteneur. Il existe toutefois quelques exceptions à cette règle : Des alertes, des règles et des tableaux récapitulatifs peuvent partager le même nom dans le scénario qui les contient. Vous pouvez donc utiliser le même nom pour une alerte, une règle et un tableau récapitulatif au sein d'un scénario. De plus, chaque objet dans un scénario peut avoir le même nom qu'un objet du même type dans un autre scénario. Les profils doivent être uniques pour chaque utilisateur, mais plusieurs utilisateurs peuvent partager des noms de profil. Les vues, événements, contextes, etc. ne peuvent pas partager le même nom. Ils doivent être uniques dans la classe des tables. Pour plus d'informations, reportez-vous au récapitulatif ci-dessous. Les agents doivent être uniques dans la classe des agents. Les utilisateurs et activités commerciales ne peuvent pas partager le même nom. Ils doivent être uniques dans la classe des conteneurs. Le schéma ci-dessous résume les contraintes portant sur le nommage des objets : /containers /Business activities /Scenarios /Alerts /Rules /Reportlets /Users and Roles / profiles /RTD (Excel) profiles /tables /Events /Context /Consolidated events /Cube /Dimensions /Views /agents /Flat (text) files /SOAP (Web services) /JMS /JDBC /Rendezvous (TIBCO) /External actions (processes) /Join relationships Unique among /containers Unique among /containers Unique within a user Unique within a user Unique among /tables Unique among /tables Unique among /tables Unique among /tables Unique among /tables Unique among /tables Unique among /agents Unique among /agents Unique among /agents Unique among /agents Unique among /agents

250 19 Opérateurs et constantes Ce chapitre décrit les opérateurs et les constantes autorisés par Business Activity Monitoring ES et C-SQL dans les expressions et les arguments. Ce chapitre comprend les sections suivantes : «Opérateurs numériques», page 251 «Opérateurs de chaîne», page 251 «Opérateurs de comparaison», page 252 «Opérateurs logiques», page 253 «Constantes», page

251 Opérateurs et constantes Guide de référence du serveur Business Activity Monitoring Opérateurs numériques 251 Opérateurs numériques Il existe deux types d'opérateurs numériques : préfixe et infixe. Opérateurs préfixe Les opérateurs préfixe contrôlent le signe arithmétique des valeurs numériques. Opérateur préfixe Description + Unaire positif - Unaire négatif Opérateurs infixe Les opérateurs numériques effectuent des opérations arithmétiques sur les valeurs numériques : Opérateur numérique Description Exemple + Addition renvoie 14 - Soustraction 11-3 renvoie 8 * Multiplication 11 * 3 renvoie 33 / Division 11 / 3 renvoie 3 Pour effectuer des opérations arithmétiques sur des valeurs date/heure, utilisez DATE_ADD() et DATE_DIFF(). Opérateurs de chaîne L'opérateur de concaténation ( ) est le seul opérateur de chaîne. Il ajoute la chaîne située à droite de l'opérateur à la fin de celle située à gauche. Par exemple, a' 'b renvoie ab. Ce comportement est identique à celui de la fonction CONCAT().

252 Opérateurs et constantes Guide de référence du serveur Business Activity Monitoring Opérateurs de comparaison 252 Opérateurs de comparaison Les opérateurs de comparaison comparent plusieurs valeurs du même type de données et renvoient une valeur Booléenne : Opérateur Description Exemple = Egal à 1=1 renvoie TRUE <> Différent de 'A'<>'a' renvoie TRUE > Supérieur à CURRENT_DATE()>TO_DATE('28/02/1963') renvoie TRUE < Inférieur à Age<21 renvoie UNKNOWN lorsque Age a pour valeur NULL >= Supérieur ou égal à TRUE>=FALSE renvoie TRUE <= Inférieur ou égal à NULL<=NULL renvoie NULL IN Est membre d'une liste Symbol IN ('IBM', 'MSFT', 'VCLR') ou Count NOT IN (5, 10, 15, 20) BETWEEN/AND LIKE Est compris dans une plage Correspondance de modèle. Pour plus de détails, voir ci-après. SalePrice BETWEEN 50.0 AND (90.0) ou NOT BETWEEN 'M' AND 'O' Title LIKE 'MR_' Opérateur LIKE L'opérateur LIKE recherche une suite de caractères correspondants. Dans la chaîne, un signe de pourcentage (%) est une valeur générique correspondant à zéro ou à plusieurs caractères, et un trait de soulignement (_) est une valeur générique correspondant à un seul caractère. WHERE Title LIKE 'MR_' WHERE E_Mail NOT LIKE '%.edu' Pour inclure les signes % ou _ dans la chaîne recherchée, utilisez le mot-clé ESCAPE pour désigner un caractère d'échappement. Le signe % ou _ situé après un caractère d'échappement est considéré comme une lettre. Notez qu'il est alors impossible d'utiliser le caractère d'échappement à un autre endroit dans la chaîne recherchée. L'exemple ci-dessous recherche 10% n'importe où dans la chaîne Discount : WHERE Discount LIKE '%10$%' ESCAPE '$' Remarque :un caractère d'échappement placé avant un caractère autre qu'un caractère d'échappement ou un caractère spécial est ignoré. Soyez prudent si vous utilisez l'opérateur LIKE pour comparer aux types numériques. LIKE étant un opérateur de chaîne, toute recherche d'une valeur numérique est précédée d'une Conversion implicite de la valeur numérique en une chaîne. Lors de la conversion de valeurs numériques en chaînes, tenez compte des points suivants :

253 Opérateurs et constantes Guide de référence du serveur Business Activity Monitoring Opérateurs logiques 253 La conversion d'un nombre DECIMAL en une chaîne ajoute des zéros à cette valeur décimale en fonction de la précision et de l'échelle définies pour la colonne. Par exemple, si une colonne a une précision de 5 et une échelle de 4, la valeur 1.1 dans la colonne devient Ainsi, pour rechercher des nombres à une décimale, vous devez formuler l'équation LIKE '_._000'. Pour les nombres à DOUBLE PRECISION, le «e» est converti en majuscule. Par exemple, +1e11 est converti en 1.0E11. Opérateurs logiques Les opérateurs logiques comparent des valeurs booléennes, comme le résultat d'une opération de comparaison. Opérateur logique Description Exemple AND OR Les deux conditions sont remplies Une des deux conditions doit être remplie (SalesPrice>500) AND (OnSale) (ZipCode = '90210') OR (City = 'Lodi') NOT Inverse NOT OnSale IS Test de valeur booléenne IS OnSale ou IS NOT OnSale La table de vérité de l'opérateur d'égalité (=) est équivalente à IS. Pour plus de détails, reportez-vous à la section «Table de vérité pour IS», page 82. Constantes Les constantes booléennes C-SQL sont TRUE, FALSE et UNKNOWN. Pour plus d'informations sur ces constantes, reportez-vous à la section «Booléen», page 82. Constantes TRUE FALSE NULL UNKNOWN Description Condition vérifiée. Condition non vérifiée. Aucune donnée. Test d'une valeur booléenne de type NULL ou impossible à comparer, comme dans le cas d'une comparaison de deux valeurs NULL. Remarque :NULL est ignoré lors du calcul de valeurs à l'aide de la fonction set, de la fonction moving set et de la fonction rank. Par exemple, la moyenne de (3, NULL, 3) est 3, pas NULL ni 2.

254 Opérateurs et constantes Guide de référence du serveur Business Activity Monitoring Constantes 254 NULL est une valeur de type null. Toute colonne de type non-booléen qui ne contient aucune entrée est considérée comme de type NULL. WHERE SalesPrice = NULL renvoie TRUE WHERE SalesPrice = UNKNOWN Erreur, impossible de convertir la valeur numérique en valeur booléenne Toutefois, le test d'une colonne de type Booléen renvoie UNKNOWN lorsqu'elle est vide. WHERE OnSale = NULL WHERE OnSale = UNKNOWN WHERE OnSale IS NULL WHERE OnSale IS UNKNOWN renvoie UNKNOWN (null = null) renvoie UNKNOWN (null = unknown) renvoie TRUE renvoie TRUE

255 20 Autorisations Les autorisations identifient les utilisateurs qui sont habilités à voir, créer et modifier des objets et des comptes utilisateur Business Activity Monitoring ES. Ce chapitre comprend les sections suivantes : «Droits d'accès», page 257 «Droits d'autorisation», page 260 «Autorisation de création», page

256 Autorisations Guide de référence du serveur Business Activity Monitoring Application des autorisations 256 Application des autorisations Les autorisations sont appliquées à deux niveaux : A un objet donné, en cliquant sur le bouton Autorisations après avoir sélectionné l'objet dans une liste. L'autorisation accordée sur un objet particulier correspond à l'autorisation maximum de l'utilisateur sur cet objet. Vous ne pouvez pas octroyer à un utilisateur une autorisation qui soit inférieure à celle qu'il possède sur la classe à laquelle appartient l'objet concerné. Au niveau de la classe, en sélectionnant Console d administration>boîte de dialogue Modifier l'utilisateur>onglet Droits d'accès. L'autorisation de niveau classe que vous attribuez correspond à l'autorisation minimum de l'utilisateur sur tous les objets de ce type. Vous pouvez également attribuer des autorisations de niveau classe à partir de l'onglet Droits d'accès de la boîte de dialogue Modifier le rôle. Les Rôles définissent les autorisations accordées à un groupe d'utilisateurs sur des groupes d'objets. Lorsqu'un utilisateur possède un ou plusieurs rôles, c'est le niveau d'accès le plus élevé entre les rôles et les autorisations attribuées qui s'applique. Pour plus d'informations sur les rôles, reportez-vous à la section «Rôles», page 300. Par défaut, chaque nouvel utilisateur possède l'autorisation Aucun accès sur tous les objets (à l'exception des comptes utilisateur sur lesquels il possède l'autorisation Lecture seule). Toutefois, même avec ces autorisations, un utilisateur peut recevoir et afficher des notifications d'alerte et les tableaux récapitulatifs générés dans le cadre d'abonnements obligatoires. Remarque :Un Utilisateur système possède toutes les autorisations sur l'ensemble des objets dans l'installation. Pour plus d'informations sur l'utilisateur système, reportez-vous à la section «Utilisateurs», page 336. Le reste de ce chapitre est consacré à la description des autorisations : La section «Restrictions d'autorisation», page 261 détaille les règles à respecter en cas de modification des autorisations. La section «Héritage et dépendances des autorisations», page 261 décrit les autorisations requises pour créer et modifier des classes, ainsi que l'impact de certains objets sur les accès à d'autres objets.

257 Autorisations Guide de référence du serveur Business Activity Monitoring Droits d'accès 257 Droits d'accès Les droits d'accès déterminent le niveau d'accès d'un utilisateur sur un objet. Ils peuvent être attribués à une classe d'objets ou à un objet spécifique. Les droits d'accès sont les suivants : Autorisation Sur la classe Sur un objet Aucun accès L'utilisateur ne peut pas voir les objets de cette classe, sauf s'il a reçu l'autorisation Lecture pour certains objets. Filtré / Lecture seule Limite, dans une vue, les lignes que l'utilisateur peut consulter, en fonction d'un filtre d'accès. Pour plus de détails, reportez-vous à la section «Filtres d'accès», page 15. Lecture seule Lecture - Ecriture L'utilisateur peut afficher tous les objets de la classe. L'utilisateur peut afficher et modifier tous les objets de la classe. L'utilisateur peut voir l'objet. L'utilisateur peut afficher et modifier l'objet. Remarque :Vous ne pouvez pas attribuer pour un objet donné une autorisation qui soit plus restrictive que celle dont dispose l'utilisateur sur la classe. Par exemple, vous ne pouvez pas attribuer l'autorisation Lecture seule à un utilisateur qui possède l'autorisation Lecture - Ecriture sur la classe de cet objet. Par ailleurs, vous ne pouvez pas attribuer une autorisation supérieure à la vôtre sur un même objet. Droits d'accès au niveau de la classe Toutes les autorisations de niveau classe sont attribuées à un utilisateur ou un rôle. Pour afficher ou modifier une autorisation de niveau classe, vous devez tout d'abord modifier le compte de l'utilisateur ou la définition du rôle. Remarque :Lorsque vous consultez la liste des utilisateurs ou des rôles, ne cliquez pas sur le bouton Autorisations. Ce bouton identifie les utilisateurs et les rôles ayant accès à certains comptes utilisateur ou à des définitions de rôle dans la liste. Pour plus d'informations sur ce bouton, reportez-vous à la section «Droits d'accès à certains objets», page 258. Pour modifier les autorisations d'un utilisateur sur une classe d'objets : 1. Dans Console d administration, sélectionnez le dossier Utilisateurs et double-cliquez sur le compte de l'utilisateur dans la liste. Ainsi vous modifiez le compte de cet utilisateur. 2. Dans la boîte de dialogue Modifier l'utilisateur, cliquez sur l'onglet Droits d'accès. 3. Cliquez sur Modifier en regard de l'autorisation à modifier. La boîte de dialogue qui s'affiche comporte trois champs : Le champ Autorisations inhérentes au rôle affiche l'autorisation attribuée par les rôles dont l'utilisateur est détenteur. Lorsqu'un utilisateur possède plusieurs rôles, c'est le niveau d'accès le plus élevé qui est appliqué.

258 Autorisations Guide de référence du serveur Business Activity Monitoring Droits d'accès au niveau de la classe 258 Le champ Droits spécifiques à l'utilisateur supplémentaires affiche l'autorisation que vous attribuez à l'utilisateur sur la classe. Lorsque vous attribuez une autorisation inférieure à celles du rôle, vous ne restreignez pas les droits d'accès de l'utilisateur. Le champ Autorisations effectives indique le plus haut niveau d'autorisation attribué par les deux autres champs et correspond à l'autorisation attribuée à l'utilisateur sur cette classe d'objets. Pour plus d'informations sur cette boîte de dialogue, reportez-vous à la section «Onglet Autorisations de l'utilisateur», page Enregistrez les modifications pour les appliquer immédiatement à l'utilisateur. Pour modifier les autorisations d'un rôle sur une classe d'objets : 1. Dans la Console d administration, sélectionnez le dossier Rôles et double-cliquez sur le rôle dans la liste. Vous pouvez alors modifier la définition du rôle. 2. Cliquez sur l'onglet Droits d'accès. 3. Cliquez sur Modifier en regard de l'autorisation à modifier. Définissez l'autorisation de ce rôle sur la classe. 4. Enregistrez les modifications pour les appliquer immédiatement au rôle. Droits d'accès à certains objets Pour accéder aux autorisations définies sur certains objets, sélectionnez un objet dans la liste et cliquez sur le bouton Autorisations situé au-dessus. Notez que cette instruction s'applique à la fois aux listes Utilisateurs et Rôles. La procédure d'attribution de droits d'accès à certains comptes utilisateur et rôles est identique à celle qui permet de définir les droits d'accès à des vues ou des agents. Pour afficher les autorisations d'un utilisateur sur un ou plusieurs objets spécifiques : Sélectionnez les objets concernés dans la liste (comme une vue dans la liste Vues) et cliquez sur Autorisations. Vos droits d'accès sur cet objet s'affichent en haut de la boîte de dialogue, et les autorisations de chaque utilisateur sur cet objet sont indiquées sous vos droits d'accès. Pour modifier les autorisations d'un utilisateur sur un ou plusieurs objets spécifiques : 1. Sélectionnez un ou plusieurs objets et cliquez sur Autorisations. (Notez que l'autorisation Filtré / Lecture seule ne peut être attribuée qu'à une vue à la fois.) 2. Sélectionnez les utilisateurs dont vous souhaitez modifier les droits d'accès et cliquez sur Modifier les autorisations. Vous n'êtes pas autorisé à modifier les autorisations des utilisateurs qui ne répondent pas aux critères spécifiés dans la section «Restrictions d'autorisation», page 261. Par exemple, l'illustration ci-dessous montre une liste des droits d'accès de chaque utilisateur à l'objet concerné. De plus, elle indique que

259 Autorisations Guide de référence du serveur Business Activity Monitoring Droits d'accès au niveau de la classe 259 trois utilisateurs ont une autorisation supérieure à celle de l'utilisateur courant (car leurs autorisations ne peuvent pas être modifiées) et que deux utilisateurs vont bientôt voir leurs autorisations modifiées. Vous ne pouvez pas modifier les autorisations de ces utilisateurs. Les autorisations de ces deux utilisateurs sélectionnés vont être modifiées. 3. Définissez les autorisations dans l'onglet Simple. Notez que lorsque vous attribuez des autorisations sur une vue, vous avez la possibilité de choisir l'autorisation Filtré / Lecture seule, comme indiqué dans l'illustration ci-dessous. Pour plus d'informations sur cette autorisation, reportez-vous à la section «Filtres d'accès», page 15. L'autorisation Filtré / Lecture seule n'est disponible que pour les vues. Enregistrez les autorisations pour les appliquer immédiatement aux objets.

260 Autorisations Guide de référence du serveur Business Activity Monitoring Autorisation de création 260 Autorisation de création Les autorisations Création déterminent les classes d'objets qu'un utilisateur est autorisé à créer. Lorsque vous créez un objet, vous possédez les autorisations Lecture - Ecriture et Autorisation sur cet objet. Ceci vous permet d'accorder les autorisations Accès et Autorisation à tous les autres utilisateurs de cet objet. Remarque :lorsque vous avez créé un objet, tout autre utilisateur possédant les droits Autorisation sur l'objet peut réattribuer des autorisations et modifier celles que vous avez définies. Lorsque vous créez un utilisateur, celui-ci possède l'autorisation Aucun accès sur tous les objets. Vous pouvez attribuer à cet utilisateur des autorisations à une classe complète d'objets, grâce à l'onglet Autorisations de l'utilisateur de cet utilisateur. Pour afficher les types d'objets que vous êtes autorisé à créer : Cliquez sur Paramètres de compte et affichez l'onglet Autorisations de l'utilisateur de votre compte. Droits d'autorisation Les droits Autorisation vous permettent d'attribuer des autorisations à d'autres utilisateurs. Ces droits sont les suivants : Autorisation Autorisation de lecture seule Autorisation de lecture et écriture Autorisation de création Autorisation d'attribution de lecture seule Autorisation d'attribution de lecture et écriture Autorisation d'attribution de création Description Permet d'attribuer l'autorisation Lecture seule. Permet d'attribuer l'autorisation Lecture et écriture. Permet d'attribuer l'autorisation Création. Permet d'autoriser l'attribution Lecture seule. Permet d'autoriser l'attribution Lecture et écriture. Permet d'autoriser l'attribution Création. Remarque :l'utilisateur système est le seul utilisateur qui possède toutes les autorisations sur tous les objets.

261 Autorisations Guide de référence du serveur Business Activity Monitoring Restrictions d'autorisation 261 Pour octroyer le droit d'accorder des autorisations à d'autres utilisateurs : 1. Sélectionnez les objets et cliquez sur Autorisations. 2. Sélectionnez les utilisateurs à modifier, cliquez sur Modifier les autorisations et choisissez les droits d'autorisation dans l'onglet Avancé. Restrictions d'autorisation Lorsque vous octroyez des droits d'autorisation, gardez à l'esprit les restrictions suivantes : Vous ne pouvez pas réduire l'autorisation d'un autre utilisateur sur un objet pour lequel il possède des droits d'accès supérieurs aux vôtres. Vous ne pouvez pas attribuer à un autre utilisateur des droits d'accès supérieurs aux vôtres sur un objet donné. Cette restriction s'applique lorsque vous tentez d'attribuer des droits d'accès à plusieurs objets à la fois, alors que vos droits d'accès à l'un de ces objets sont inférieurs aux vôtres pour les autres objets. Héritage et dépendances des autorisations Les objets qui gèrent les autorisations contrôlent l'accès à l'objet, ainsi qu'aux objets qu'il contient. D'autres objets héritent leurs autorisations de l'objet qui les contient. Les objets qui contrôlent les autorisations sont les suivants : Agents Activités commerciales (contrôle l'accès aux scénarios, règles, alertes et tableaux récapitulatifs contenus) Rôles Tables, (Evénements, Contextes et événements consolidés compris) Utilisateurs (contrôlent l'accès aux comptes utilisateur) Vues Dépendances Remarque :quelles que soient ses autorisations sur une alerte ou un tableau récapitulatif, un utilisateur peut toujours consulter les informations fournies dans les notifications d'alerte et les tableaux récapitulatifs qui lui sont envoyés. Lorsque vous créez ou modifiez des objets, vous êtes limité par les autorisations des objets dépendants et celles de l'objet contenant. Les objets dont les autorisations de création ou de modification présentent des dépendances sont les suivants :

262 Autorisations Guide de référence du serveur Business Activity Monitoring Dépendances 262 Table : vous devez posséder l'autorisation Lecture sur l'agent qui alimente la table. Vue : vous devez posséder l'autorisation Lecture sur la table d'événements ou la vue de base et sur les tables contextuelles qui alimentent la vue. Activité commerciale : Pour afficher les définitions des objets contenus dans une activité commerciale, vous devez posséder l'autorisation Lecture sur cette activité commerciale. De plus, pour les scénarios, règles, alertes et tableaux récapitulatifs contenus, vous devez posséder les autorisations suivantes : Pour afficher la définition de l'objet, vous devez posséder l'autorisation Lecture sur la vue sous-jacente. Pour créer un objet contenu, vous devez posséder l'autorisation Lecture et écriture sur l'activité commerciale, ainsi que l'autorisation Lecture sur la vue sous-jacente. Remarque :Les autorisations sur un objet peuvent modifier l'accès d'un utilisateur à un autre objet, notamment pour les restrictions concernant les vues. Par exemple, vous pouvez être autorisé à modifier une alerte mais pas son tableau récapitulatif, lorsque l'autorisation définie pour la vue de ce dernier est Aucun accès, mais que l'autorisation définie pour la vue de l'alerte est Lecture seule.

263 21 Intégration du serveur de portail Ce chapitre décrit la configuration requise et les procédures pour intégrer serveur BAM dans l'un des serveurs de portail pris en charge, conformément à la spécification JSR-168. Ce chapitre comprend les sections suivantes : «Avant de commencer», page 264 «Intégration dans BEA WebLogic Portal Server», page 266 «Intégration dans IBM WebSphere Portal Server», page 267 «Intégration dans JBoss Portal Server», page 268 «Création de plusieurs instances de portlet sur un serveur de portail JBoss Portal Server», page

264 Intégration du serveur de portail Guide de référence du serveur Business Activity Monitoring Avant de commencer 264 Avant de commencer Cette section s'organise comme suit : Conditions préalables A propos du portlet BAM Dashboard Conditions préalables Cette procédure requiert que les conditions préalables suivantes soient remplies : serveur BAM doit être démarré et en cours d'exécution sur l'une des implémentations de serveur d'application prises en charge. L'un des serveurs de portail pris en charge ci-dessous doit être installé et en cours d'exécution : Serveur de portail BEA WebLogic Portal Server Description Version fournie avec WebLogic Application Server v 8.1 SP5. Remarque :veillez à installer également WebLogic Workshop, car ce module intervient à plusieurs étapes de l'implémentation. IBM WebSphere Portal Server Version Ce produit est livré avec WebSphere Application Server version Remarque :(DB2 uniquement) si vous utilisez WebSphere Application Server avec une base de données DB2, vous avez également besoin du pack de correctifs 10 de DB2 Universal V 8.1 ou 8.2. JBoss Portal Server Version SP3 Ce produit est livré avec le serveur d'application JBoss SP1.

265 Intégration du serveur de portail Guide de référence du serveur Business Activity Monitoring A propos du portlet BAM Dashboard 265 A propos du portlet BAM Dashboard Le portlet BAM Dashboard est fourni sous la forme d'un fichier WAR qui contient les fichiers suivants : Fichier Celequest.celequestPortletEditPage.jsp Celequest.celequestPortletEditPage.jsp Celequest.celequestPortletViewPage.jsp Celequest.META-INF.MANIFEST.MF WEB-INF.lib.celequestPortlet.jar WEB-INF.lib.xerces_2_3_0.jar Description Page JSP disponible pour le mode de modification. Page JSP disponible pour afficher les messages d'erreur. Page JSP disponible pour le mode d'affichage. Archive Manifest. Contient l'implémentation du portlet. Requis pour l'implémentation du portlet. WEB-INF.lib.xml-apis.jar WEB-INF.portlet.xml WEB-INF.web.xml WEB-INF.jboss-app.xml WEB-INF.jboss-web.xml WEB-INF.celequest-object.xml Définit le portlet et spécifie la classe implémentant ce dernier. Contient également les préférences et les paramètres de configuration. Point d'entrée du portlet en tant qu'application Web. Propre aux implémentations JBoss. Propre aux implémentations JBoss. Propre aux implémentations JBoss. Contient des paramètres propres au portail et des mappages au portlet de tableaux de bord.

266 Intégration du serveur de portail Guide de référence du serveur Business Activity Monitoring Intégration dans BEA WebLogic Portal Server 266 Intégration dans BEA WebLogic Portal Server Cette section s'organise comme suit : Conversion du fichier bamjsr168.war Déploiement du fichier bamjsr168.war dans WebLogic Portal Server Conversion du fichier bamjsr168.war Pour procéder à l'intégration dans WebLogic Portal Server, vous devez tout d'abord convertir le fichier bamjsr168.war dans la spécification WebLogic Portal à l'aide de l'utilitaire Portlet Preparer Tool disponible auprès de BEA à l'adresse Pour convertir le fichier bamjsr168.war : 1. A l'aide de l'utilitaire Portlet Preparer Tool, extrayez le fichier portletconverter.jar dans le répertoire temporaire $CONVERTER_ROOT$. 2. Copiez le fichier bamjsr168.war dans ce même répertoire. 3. Dans l'utilitaire Portlet Preparer Tool, faites pointer WEBLOGIC_HOME dans env.sh ou env.bat (selon la plate-forme) vers ce même répertoire temporaire. 4. Exécutez la commande suivante : run ant -Dwar.file=bamJSR168.war Elle crée un sous-répertoire appelé tempdir. 5. A l'aide de WebLogic Workshop, importez tempdir en tant que projet Web de portail. Déploiement du fichier bamjsr168.war dans WebLogic Portal Server Une fois le fichier bamjsr168.war converti, vous pouvez le déployer. Pour déployer le fichier bamjsr168.war : 1. Installez WebLogic Portal Server, si ce n'est déjà fait. 2. Créez une nouvelle instance de domaine de portail et démarrez le nouveau serveur de domaine du portail. 3. A l'aide de WebLogic Workshop, créez une nouvelle application de portail. 4. Dans la nouvelle application de portail, importez le projet Web de portail tempdir que vous avez créé dans la section précédente. Remarque :avant de continuer, vérifiez que le fichier bamjsr168.war se trouve dans le répertoire WEB-INF/lib du projet Web et que le fichier celequestportlet.jar figure bien dans la section portlet. 5. Lancez la Console d'administration de portail et connectez-vous. Remarque :Avant de continuer, vérifiez que l'application Web sélectionnée dans la console est la bonne. Vérifiez également que le tableau de bord s'affiche sous les portlets dans le nœud des modules.

267 Intégration du serveur de portail Guide de référence du serveur Business Activity Monitoring Intégration dans IBM WebSphere Portal Server Créez une nouvelle page et ajoutez le tableau de bord. 7. Créez un nouveau portail. 8. Sous le nouveau portail, créez un nouveau bureau. 9. Sous le nouveau bureau, créez un livre vide et ajoutez-y la page que vous avez créée à l'étape précédente. 10. Affichez le bureau pour lancer l'application de portail. 11. Dans le portlet de tableaux de bord, passez en mode de modification et connectez-vous au serveur BAM en cours d'exécution. Cette action affiche les mesures disponibles. 12. Sélectionnez les mesures que vous souhaitez afficher dans la page de portail. 13. Cliquez sur OK. Cette action affiche les objets de tableau de bord qui sont disponibles pour le portlet. Intégration dans IBM WebSphere Portal Server Pour effectuer la procédure suivante, téléchargez et lisez la documentation de WebSphere Portal, disponible en ligne à l'adresse Pour procéder à l'intégration dans WebSphere Portal Server : 1. Installez WebSphere Portal Server, si ce n'est déjà fait. 2. Connectez-vous à la console d'administration de portail. 3. Dans Gestion de portail>modules Web, déployez le fichier bamjsr168.war. 4. Créez un nouveau serveur de portail virtuel et donnez-lui un nom approprié. 5. Dans le serveur de portail virtuel, créez une page. 6. Pour configurer la mise en page : Sélectionnez une mise en page en deux colonnes. Ajoutez le portlet de tableaux de bord. 7. Lorsque vous avez terminé, le portail affiche le nom de la page sous la forme d'un lien dans la colonne de gauche. Lorsque vous cliquez sur le lien Page, la colonne de droite affiche le portlet de tableaux de bord. 8. Cliquez sur le lien Page et passez en mode de modification du portlet de tableaux de bord. 9. Accédez à serveur BAM en saisissant le nom de l'utilisateur, le mot de passe et l'url de l'instance en cours d'exécution. Cette action affiche les mesures disponibles. 10. Sélectionnez les mesures que vous souhaitez afficher dans la page de portail.

268 Intégration du serveur de portail Guide de référence du serveur Business Activity Monitoring Intégration dans JBoss Portal Server Cliquez sur OK. Cette action affiche les objets de tableau de bord qui sont disponibles pour le portlet. Intégration dans JBoss Portal Server Pour procéder à l'intégration dans JBoss Portal Server : 1. Installez JBoss Portal Server, si ce n'est déjà fait. 2. Arrêtez le serveur d'application JBoss, s'il est en cours d'exécution. 3. Copiez le fichier bamjsr168.war dans le répertoire de déploiement de l'arborescence d'installation du serveur d'application JBoss. 4. Redémarrez le serveur d'application JBoss : \$JBOSS_HOME$\bin\run.bat (Windows) /$JBOSS_HOME$/bin/run.sh (UNIX) 5. Affichez la page Vue dans un navigateur. Par exemple, l'url de cette page pourrait être de page]. Remarque :vous pouvez personnaliser le nom de la page en modifiant l'élément <page-name> dans le fichier celequest-objects.xml du package WAR. Le nom par défaut est celequestpage. 6. Passez en mode de modification du portail de tableau de bord. 7. Accédez à serveur BAM en saisissant le nom de l'utilisateur, le mot de passe et l'url de l'instance en cours d'exécution. Cette action affiche les mesures disponibles. 8. Sélectionnez les mesures que vous souhaitez afficher dans la page de portail. 9. Cliquez sur OK. Cette action affiche les objets de tableau de bord qui sont disponibles pour le portlet.

269 Intégration du serveur de portail Guide de référence du serveur Business Activity Monitoring Création de plusieurs instances de portlet sur un serveur de portail JBoss Portal Création de plusieurs instances de portlet sur un serveur de portail JBoss Portal Server Vous pouvez créer plusieurs instances de portlet de tableaux de bord sur le serveur de portail JBoss Portal Server. Pour créer plusieurs pages de portail et afficher différents groupes de tableaux de bord sur celles-ci, exécutez les procédures ci-dessous. Pour créer plusieurs instances de CelequestDashboardPortletInstance : 1. Connectez-vous à JBoss Portal avec le nom d'utilisateur et le mot de passe de l'administrateur. 2. Choisissez la page Portail d'administration sur l'onglet. 3. Cliquez sur le lien Gérer les instances. 4. Sélectionnez CelequestDashboardPortletInstance. 5. Donnez un autre nom à l'instance et cliquez sur Créer une nouvelle instance. 6. Répétez les étapes 4 et 5 pour créer d'autres instances de CelequestDashboardPortletInstances. Pour créer plusieurs pages : 1. Cliquez sur le lien Gérer le portail. 2. Cliquez sur le dossier racine de l'arborescence. 3. Cliquez sur la page par défaut dans l'arborescence racine. 4. Créez une nouvelle page (par exemple, celpage1) dans le volet gauche, puis cliquez sur cette page. 5. Maintenant, associez la nouvelle page à l'instance CelequestDashboardPortletInstance située au centre de la page. 6. Cliquez sur le lien Aperçu de la page créée à l'étape 5 et modifiez le portlet de tableaux de bord. Par exemple, ajoutez les objets de tableau de bord dans la page. 7. Répétez les étapes 4, 5 et 6 pour créer des portlets de tableaux de bord pour chaque instance de CelequestDashboardPortletInstance.

270 22 Processus Un processus est une suite d'étapes (d'actions) qui accomplissent une tâche, comme dans l'exemple ci-dessous qui décrit un processus de quatre étapes qui crée une requête d'approbation. De plus, une transaction réelle effectuée via un processus est une instance de processus. Il peut s'agir d'une requête d'approbation spécifique. Créer la requête Vérifier la requête Approuver la requête Rejeter la requête Les systèmes BPM (Business Process Management, gestion de processus métier) créent et gèrent les processus commerciaux et les instances. Lorsqu'un système BPM gère une instance de processus, il envoie des détails sur chaque étape de la transaction à Business Activity Monitoring ES, qui génère ensuite des statistiques sur le processus global. Par exemple, le système peut déterminer la durée moyenne requise pour mener le processus à terme, le gain de temps réalisé par le processus avec le temps, le pourcentage de requêtes rejetées et la durée de l'étape de vérification. Ce chapitre comprend les sections suivantes : «Fonctionnement», page 271 «Création et utilisation des processus», page

271 Processus Guide de référence du serveur Business Activity Monitoring Fonctionnement 271 Fonctionnement Les détails de l'instance de processus sont transmis à Business Activity Monitoring ES sous la forme d'événements. serveur BAM compile ces détails dans des vues ou des cubes pour générer des statistiques. Ensuite, BAM Dashboard présente le processus dans un diagramme et inclut les statistiques dans un tableau. D'autres objets peuvent afficher d'autres mesures, comme les graphiques qui présentent des statistiques sur la durée. Système de gestion de système (processus) Détails de l'instance (événements) serveur BAM (vues et cubes) Statistiques BAM Dashboard (graphiques et tableaux) BAM Dashboard envoie également une requête ad hoc facultative au système BPM pour obtenir des détails sur une instance de processus donnée, comme son emplacement au sein du processus. Lorsqu'un utilisateur émet une telle requête, BAM Dashboard interroge une table contextuelle dans serveur BAM. Cette table interroge le système BPM pour obtenir des détails sur l'instance concernée. Les résultats sont ensuite renvoyés à BAM Dashboard où ils sont affichés. Système de gestion de système Requête Business Activity Monitoring ES Table contextuelle de recherche détaillée Détails BAM Dashboard Requête de l'instance et résultats Le système de gestion de processus génère un fichier de définition de processus qui décrit le processus au format XML. Dans BAM Workbench, une définition du processus associe ce fichier de définition à une vue ou un cube agrégé(e) et, éventuellement, à une table contextuelle de recherche. BAM Dashboard utilise cet objet comme source pour créer un diagramme de processus et pour identifier la vue ou le cube agrégé(e) correspondant(e) ainsi que la table contextuelle de recherche. Système de gestion de système Fichier de définition de processus Business Activity Monitoring ES Définition de processus Vue ou cube agrégé(e) BAM Dashboard Diagrammes de processus Table contextuelle de recherche détaillée

272 Processus Guide de référence du serveur Business Activity Monitoring Création et utilisation des processus 272 Création et utilisation des processus Pour créer et utiliser des processus dans Business Activity Monitoring ES, le système de processus commerciaux externe doit : générer un fichier de définition de processus dans un format XML reconnu par Business Activity Monitoring ES ; publier des statistiques sur les étapes du processus, sous la forme de données d'événements dans serveur BAM ; éventuellement fournir une interface pour les requêtes d'instance de processus émises par les tables contextuelles de Business Activity Monitoring ES. Les étapes générales permettant de créer des diagrammes de processus sont les suivantes : 1. Créez un agent (le cas échéant) et une table destinée à recevoir les événements de processus envoyés par le système BPM. 2. Créez une vue ou un cube par processus. 3. (Facultatif) Créez une table contextuelle pour interroger le système BPM. 4. Créez un objet de définition de processus. 5. Créez un diagramme de processus. Flux d'événements Les flux d'événements reçoivent et agrègent les statistiques de l'instance de processus. Les données d'événements reçues sont transmises via un agent à une table d'événement, à partir de laquelle les vues agrégées sont générées. Pour plus d'informations sur ces composants, reportez-vous aux sections suivantes : «Agents», page 23 «Evénements», page 90 «Vues», page 355 «Cubes», page 64 Les critères suivants s'appliquent également : Un système BPM ne peut contenir qu'un agent et une table d'événement. Il doit exister une vue ou un cube par processus. Utilisez une Clause Where pour distinguer les événements de processus des autres processus dans la table d'événements, comme Nom Processus=Approbation Requête. Pour plus d'informations, reportez-vous à la section Business Activity Monitoring ES du guide Utilisation de Celequest Application Workbench. Utilisation de LiveCycle Workflow Workbench. Table de recherche contextuelle La table contextuelle génère une requête dans le BPM lorsqu'un utilisateur de BAM Dashboard crée une requête ad hoc sur une instance de processus. Pour plus d'informations sur les tables contextuelles, reportez-vous à la section «Contexte», page 57.

273 Processus Guide de référence du serveur Business Activity Monitoring Définitions de processus 273 Lorsque le contexte reçoit une requête envoyée par BAM Dashboard, il commence par rechercher les détails dans le cache du contexte. Si l'instance ne figure pas dans le cache, la table interroge le BPM. N'oubliez pas de définir un calendrier d'invalidation raisonnable pour votre entreprise ou désactivez le cache si les requêtes doivent renvoyer les informations les plus à jour sur l'instance de processus. Définitions de processus Pour plus d'informations sur cette tâche, reportez-vous à la section Utilisation de définitions du processus du guide Utilisation de Celequest Application Workbench. Utilisation de LiveCycle Workflow Workbench. Pour créer une définition de processus, vous devez : Disposer d'un accès en lecture seule de la vue ou du cube qui rassemble les événements de processus. (Facultatif) Disposer d'un accès en lecture seule de la table de recherche contextuelle. Pour créer une définition de processus dans BAM Workbench : 1. Ouvrez le dossier Définitions du processus dans BAM Workbench et sélectionnez Nouvelle définition de processus. 2. Nommez l'objet et chargez le fichier de définition du processus généré par la gestion de processus métier. 3. Sélectionnez la vue ou le cube agrégé(e), puis la colonne qui identifie les étapes du processus. 4. (Facultatif) Sélectionnez la table contextuelle de recherche détaillée, puis la colonne dans laquelle effectuer la recherche, et indiquez éventuellement une description à afficher dans BAM Dashboard. 5. Enregistrez la définition du processus. Vous pouvez désormais utiliser cette définition pour créer des diagrammes de processus.

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Documentation de produit SAP Cloud for Customer (novembre 2013) Nouveautés de SAP Cloud for Customer pour les administrateurs

Documentation de produit SAP Cloud for Customer (novembre 2013) Nouveautés de SAP Cloud for Customer pour les administrateurs Documentation de produit PUBLIC de SAP Cloud for Customer pour les administrateurs Table des matières 1 de SAP Cloud for Customer pour les administrateurs.... 4 Table des matières P U B L I C 2011, 2012,

Plus en détail

Dell Server PRO Management Pack 4.0 pour Microsoft System Center Virtual Machine Manager Guide d'installation

Dell Server PRO Management Pack 4.0 pour Microsoft System Center Virtual Machine Manager Guide d'installation Dell Server PRO Management Pack 4.0 pour Microsoft System Center Virtual Machine Manager Guide d'installation Remarques, précautions et avertissements REMARQUE : Une REMARQUE indique des informations importantes

Plus en détail

Guide de prise en main Symantec Protection Center 2.1

Guide de prise en main Symantec Protection Center 2.1 Guide de prise en main Symantec Protection Center 2.1 Guide de prise en main Symantec Protection Center 2.1 Le logiciel décrit dans cet ouvrage est fourni dans le cadre d'un contrat de licence et seule

Plus en détail

Extension WebEx pour la téléphonie IP Cisco Unified

Extension WebEx pour la téléphonie IP Cisco Unified Extension WebEx pour la téléphonie IP Cisco Unified Guide d utilisation Version 2.7 Copyright 1997 2010 Cisco et/ou ses affiliés. Tous droits réservés. Cisco, WebEx et Cisco WebEx sont des marques déposées

Plus en détail

CA Desktop Migration Manager

CA Desktop Migration Manager CA Desktop Migration Manager Manuel de configuration du déploiement DMM Service Pack 12.8.01 La présente Documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après

Plus en détail

Manuel de l'application SMS

Manuel de l'application SMS Manuel de l'application SMS Copyright 1998-2002 Palm, Inc. Tous droits réservés. Graffiti, HotSync, le logo Palm et Palm OS sont des marques déposées de Palm, Inc.. Le logo HotSync et Palm sont des marques

Plus en détail

CA ARCserve Backup Patch Manager pour Windows

CA ARCserve Backup Patch Manager pour Windows CA ARCserve Backup Patch Manager pour Windows Manuel de l'utilisateur r16 La présente documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après nommés "Documentation"),

Plus en détail

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide Acronis Backup & Recovery 10 Advanced Server Virtual Edition Guide de démarrage rapide Ce document explique comment installer et utiliser Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Copyright

Plus en détail

SAP BusinessObjects Web Intelligence (WebI) BI 4

SAP BusinessObjects Web Intelligence (WebI) BI 4 Présentation de la Business Intelligence 1. Outils de Business Intelligence 15 2. Historique des logiciels décisionnels 16 3. La suite de logiciels SAP BusinessObjects Business Intelligence Platform 18

Plus en détail

Guide de démarrage de Business Objects Crystal Decisions

Guide de démarrage de Business Objects Crystal Decisions Guide de démarrage de Business Objects Crystal Decisions Business Objects Crystal Decisions Brevets Marques Copyright Tiers contributeurs Business Objects est propriétaire des brevets américains suivants,

Plus en détail

FileMaker 13. Guide ODBC et JDBC

FileMaker 13. Guide ODBC et JDBC FileMaker 13 Guide ODBC et JDBC 2004-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

STATISTICA Version 12 : Instructions d'installation

STATISTICA Version 12 : Instructions d'installation STATISTICA Version 12 : Instructions d'installation STATISTICA Entreprise Server Remarques : 1. L'installation de STATISTICA Entreprise Server s'effectue en deux temps : a) l'installation du serveur et

Plus en détail

Guide de déploiement

Guide de déploiement Guide de déploiement Installation du logiciel - Table des matières Présentation du déploiement du logiciel CommNet Server Windows Cluster Windows - Serveur virtuel CommNet Agent Windows Cluster Windows

Plus en détail

FileMaker Server 14. Aide FileMaker Server

FileMaker Server 14. Aide FileMaker Server FileMaker Server 14 Aide FileMaker Server 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

Symantec Backup Exec Remote Media Agent for Linux Servers

Symantec Backup Exec Remote Media Agent for Linux Servers Annexe I Symantec Backup Exec Remote Media Agent for Linux Servers Cette annexe traite des sujets suivants : A propos de Remote Media Agent Comment fonctionne Remote Media Agent Conditions requises pour

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

StreamServe Persuasion SP4

StreamServe Persuasion SP4 StreamServe Persuasion SP4 Manuel d installation Rév. A StreamServe Persuasion SP4 - Manuel d installation Rév. A 2001-2009 STREAMSERVE, INC. TOUS DROITS RESERVES Brevet américain n 7,127,520 Aucune partie

Plus en détail

Guide de l'utilisateur Sybase Mobile Sales for SAP CRM 1.0

Guide de l'utilisateur Sybase Mobile Sales for SAP CRM 1.0 Guide de l'utilisateur Sybase Mobile Sales for SAP CRM 1.0 Windows Mobile ID DU DOCUMENT : DC01246-01-0100-01 DERNIERE REVISION : Mars 2010 Copyright 2010 Sybase, Inc. Tous droits réservés. Cette publication

Plus en détail

Extension des outils de productivité pour les logiciels de messagerie instantanée

Extension des outils de productivité pour les logiciels de messagerie instantanée Extension des outils de productivité pour les logiciels de messagerie instantanée Manuel de l'utilisateur Version : 2.20 Copyright 1997 2010 Cisco et/ou ses affiliés. Tous droits réservés. WEBEX, CISCO,

Plus en détail

Guide de l'administrateur Citrix EdgeSight. Citrix EdgeSight pour points de terminaison 5.2 Citrix EdgeSight pour XenApp 5.2

Guide de l'administrateur Citrix EdgeSight. Citrix EdgeSight pour points de terminaison 5.2 Citrix EdgeSight pour XenApp 5.2 Guide de l'administrateur Citrix EdgeSight Citrix EdgeSight pour points de terminaison 5.2 Citrix EdgeSight pour enapp 5.2 Avis de copyright et de marques L'utilisation du produit documenté dans ce guide

Plus en détail

Task Server 6.0 Aide

Task Server 6.0 Aide Task Server 6.0 Aide Notice légale Task Server 6.0 Aide 2000-2006 Altiris, Inc. Tous droits réservés. Date du document : 16 octobre 2006 Les informations contenues dans ce document : (i) sont fournies

Plus en détail

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR HISTORIQUE DES VERSIONS Vers. Date Rédacteur Objet de la modification 1.00 Juillet 2007 GTBO_AGRI Création du document 1.01 Février 2009 SAMOA

Plus en détail

Netissime. [Sous-titre du document] Charles

Netissime. [Sous-titre du document] Charles [Sous-titre du document] Charles Sommaire I. Commandez votre sauvegarde en ligne 2 II. Installation 3-7 III. Utilisation du logiciel de sauvegarde en ligne 8-19 A. Fonctionnement de l application de protection

Plus en détail

Arcserve Replication and High Availability

Arcserve Replication and High Availability Arcserve Replication and High Availability Manuel des opérations pour Microsoft Dynamics CRM sous Windows r16.5 La présente documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement

Plus en détail

Dell SupportAssist pour PC et tablettes Guide de déploiement

Dell SupportAssist pour PC et tablettes Guide de déploiement Dell SupportAssist pour PC et tablettes Guide de déploiement Remarques, précautions et avertissements REMARQUE : Une REMARQUE indique des informations importantes qui peuvent vous aider à mieux utiliser

Plus en détail

Guide de l'utilisateur de l'application mobile

Guide de l'utilisateur de l'application mobile Guide de l'utilisateur de l'application mobile Avis de droit d'auteur Copyright Acronis International GmbH, 2002-2012. Tous droits réservés. «Acronis», «Acronis Compute with Confidence», «Acronis Recovery

Plus en détail

Guide d administration de Microsoft Exchange ActiveSync

Guide d administration de Microsoft Exchange ActiveSync Guide d administration de Microsoft Exchange ActiveSync Copyright 2005 palmone, Inc. Tous droits réservés. palmone, HotSync, Treo, VersaMail et Palm OS sont des marques commerciales ou déposées dont palmone,

Plus en détail

Préparer la synchronisation d'annuaires

Préparer la synchronisation d'annuaires 1 sur 6 16/02/2015 14:24 En utilisant ce site, vous autorisez les cookies à des fins d'analyse, de pertinence et de publicité En savoir plus France (Français) Se connecter Rechercher sur TechNet avec Bing

Plus en détail

FileMaker Server 14. Guide de démarrage

FileMaker Server 14. Guide de démarrage FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

Sophos Enterprise Console Aide. Version du produit : 5.1

Sophos Enterprise Console Aide. Version du produit : 5.1 Sophos Enterprise Console Aide Version du produit : 5.1 Date du document : juin 2012 Table des matières 1 À propos de Enterprise Console...3 2 Guide de l'interface de l'enterprise Console...4 3 Démarrage

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

Introduction : présentation de la Business Intelligence

Introduction : présentation de la Business Intelligence Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RI3WXIBUSO dans la zone de recherche et validez.

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Table des matières Atelier pratique 8 : Implémentation de la réplication 1 Exercice 1 : Création d'une publication 1 Exercice

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

SafeGuard Enterprise Aide administrateur. Version du produit : 5.60

SafeGuard Enterprise Aide administrateur. Version du produit : 5.60 SafeGuard Enterprise Aide administrateur Version du produit : 5.60 Date du document : avril 2011 Table des matières 1 Le SafeGuard Management Center...4 2 Connexion au SafeGuard Management Center...4 3

Plus en détail

CA ARCserve Central Host-Based VM Backup

CA ARCserve Central Host-Based VM Backup CA ARCserve Central Host-Based VM Backup Manuel de l'utilisateur r16 La présente documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après nommés "Documentation"),

Plus en détail

McAfee Security-as-a-Service

McAfee Security-as-a-Service Guide Solutions de dépannage McAfee Security-as-a-Service Pour epolicy Orchestrator 4.6.0 Ce guide fournit des informations supplémentaires concernant l'installation et l'utilisation de l'extension McAfee

Plus en détail

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT Table des matières Présentation du Centre de gestion des licences en volume (VLSC)... 3 Inscription auprès

Plus en détail

Sophos Mobile Control Guide d'administration. Version du produit : 4

Sophos Mobile Control Guide d'administration. Version du produit : 4 Sophos Mobile Control Guide d'administration Version du produit : 4 Date du document : mai 2014 Table des matières 1 À propos de Sophos Mobile Control...4 2 À propos de la console Web de Sophos Mobile

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

Windows Server 2008. Chapitre 4 : Active Directory Gestion des utilisateurs, des ordinateurs et des groupes

Windows Server 2008. Chapitre 4 : Active Directory Gestion des utilisateurs, des ordinateurs et des groupes Windows Server 2008 Chapitre 4 : Active Directory Gestion des utilisateurs, des ordinateurs et des groupes omar.cheikhrouhou@isetsf.rnu.tn omar.cheikhrouhou@ceslab.org 1 Vue d'ensemble du module Gestion

Plus en détail

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik Sense Desktop Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik, QlikTech, Qlik Sense,

Plus en détail

Acronis Backup & Recovery for Mac. Acronis Backup & Recovery et Acronis ExtremeZ-IP ARCHITECTURE DE RÉFÉRENCE

Acronis Backup & Recovery for Mac. Acronis Backup & Recovery et Acronis ExtremeZ-IP ARCHITECTURE DE RÉFÉRENCE Acronis Backup & Recovery for Mac Acronis Backup & Recovery et Acronis ExtremeZ-IP Ce document décrit les spécifications techniques et les meilleures pratiques relatives à la mise en œuvre d'une solution

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

7.0 Guide de la solution Portable sans fil

7.0 Guide de la solution Portable sans fil 7.0 Guide de la solution Portable sans fil Copyright 2010 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur

Plus en détail

Sophos Mobile Control as a Service Guide de démarrage. Version du produit : 2.5

Sophos Mobile Control as a Service Guide de démarrage. Version du produit : 2.5 Sophos Mobile Control as a Service Guide de démarrage Version du produit : 2.5 Date du document : août 2012 Table des matières 1 À propos de ce guide...3 2 Quelles sont les étapes essentielles?...4 3 Première

Plus en détail

Didacticiel de mise à jour Web

Didacticiel de mise à jour Web Didacticiel de mise à jour Web Copyright 1995-2012 Esri All rights reserved. Table of Contents Didacticiel : Création d'une application de mise à jour Web.................. 0 Copyright 1995-2012 Esri.

Plus en détail

CA ARCserve Replication and High Availability

CA ARCserve Replication and High Availability CA ARCserve Replication and High Availability Manuel des opérations pour Microsoft Dynamics CRM sous Windows r16 La présente documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement

Plus en détail

Guide de l utilisateur de Cisco Unified Communications Manager Assistant pour Cisco Unified Communications Manager 6.0

Guide de l utilisateur de Cisco Unified Communications Manager Assistant pour Cisco Unified Communications Manager 6.0 Guide de l utilisateur de Cisco Unified Communications Manager Assistant pour Cisco Unified Communications Manager 6.0 Siège social aux États-Unis Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA

Plus en détail

CA ARCserve D2D pour Linux

CA ARCserve D2D pour Linux CA ARCserve D2D pour Linux Manuel de l'utilisateur r16.5 SP1 La présente documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après nommés "Documentation"), vous

Plus en détail

Guide de configuration de SQL Server pour BusinessObjects Planning

Guide de configuration de SQL Server pour BusinessObjects Planning Guide de configuration de SQL Server pour BusinessObjects Planning BusinessObjects Planning XI Release 2 Copyright 2007 Business Objects. Tous droits réservés. Business Objects est propriétaire des brevets

Plus en détail

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 15 2.2 Mode de fonctionnement client/serveur 16 2.3 Les plates-formes possibles 18 2.4 Les composants de SQL

Plus en détail

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

SQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos) Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 14 2.2 Mode de fonctionnement Client/Serveur 16 2.3 Les plates-formes possibles 17 2.4 Les composants de SQL

Plus en détail

Symantec Enterprise Vault

Symantec Enterprise Vault Symantec Enterprise Vault Manuel pour les utilisateurs de Microsoft Outlook 2010 9.0 Symantec Enterprise Vault: Manuel pour les utilisateurs de Microsoft Outlook 2010 Le logiciel décrit dans cette publication

Plus en détail

Boîte à outils OfficeScan

Boîte à outils OfficeScan Boîte à outils OfficeScan Manuel de l'administrateur Sécurité des points finaux Protection ti en ligne Sécurité Web Trend Micro Incorporated se réserve le droit de modifier sans préavis ce document et

Plus en détail

TeamViewer 7 Manuel Manager

TeamViewer 7 Manuel Manager TeamViewer 7 Manuel Manager TeamViewer GmbH Kuhnbergstraße 16 D-73037 Göppingen teamviewer.com Présentation Sommaire Sommaire... 2 1 Présentation... 4 1.1 À propos de TeamViewer Manager... 4 1.2 À propos

Plus en détail

FileMaker Server 13. Guide de configuration de l'installation réseau

FileMaker Server 13. Guide de configuration de l'installation réseau FileMaker Server 13 Guide de configuration de l'installation réseau 2007-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento

Plus en détail

Extension McAfee Security-as-a-Service

Extension McAfee Security-as-a-Service Guide de l'utilisateur Extension McAfee Security-as-a-Service A utiliser avec le logiciel epolicy Orchestrator 4.6.0 COPYRIGHT Copyright 2011 McAfee, Inc. Tous droits réservés. Aucune partie de cette publication

Plus en détail

TeamViewer 9 Manuel Management Console

TeamViewer 9 Manuel Management Console TeamViewer 9 Manuel Management Console Rév 9.2-07/2014 TeamViewer GmbH Jahnstraße 30 D-73037 Göppingen www.teamviewer.com Sommaire 1 A propos de la TeamViewer Management Console... 4 1.1 A propos de la

Plus en détail

Guide d'utilisation du Serveur USB

Guide d'utilisation du Serveur USB Guide d'utilisation du Serveur USB Copyright 20-1 - Informations de copyright Copyright 2010. Tous droits réservés. Avis de non responsabilité Incorporated ne peut être tenu responsable des erreurs techniques

Plus en détail

Ce logiciel est une mise à jour de l'application FileMaker Pro 9 ou FileMaker Pro 9 Advanced vers la version 9.0v3.

Ce logiciel est une mise à jour de l'application FileMaker Pro 9 ou FileMaker Pro 9 Advanced vers la version 9.0v3. Programme de mise à jour de FileMaker 9.0v3 Description du logiciel Ce logiciel est une mise à jour de l'application ou Advanced vers la version 9.0v3. Une fois la mise à jour effectuée, vous trouverez

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Aide d'active System Console

Aide d'active System Console Aide d'active System Console Présentation... 1 Installation... 2 Affichage des informations système... 4 Seuils de surveillance système... 5 Paramètres de notification par courrier électronique... 5 Paramètres

Plus en détail

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla Table des matières Table des matières Généralités Présentation Interface Utiliser FileZilla Connexion FTP Connexion SFTP Erreurs de connexion Transfert des fichiers Vue sur la file d'attente Menu contextuel

Plus en détail

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque HP Data Protector Express Software - Tutoriel 3 Réalisation de votre première sauvegarde et restauration de disque Que contient ce tutoriel? Après avoir lu ce tutoriel, vous pourrez : utiliser les fonctions

Plus en détail

Guide d'installation. Release Management pour Visual Studio 2013

Guide d'installation. Release Management pour Visual Studio 2013 1 Guide d'installation Release Management pour Visual Studio 2013 Le contenu de ce document est fourni «en l'état». Les informations et les points de vue contenus dans ce document, y compris les URL et

Plus en détail

DirXML License Auditing Tool version 1.1 - Guide de l'utilisateur

DirXML License Auditing Tool version 1.1 - Guide de l'utilisateur DirXML License Auditing Tool version 1.1 - Guide de l'utilisateur Présentation Installation DirXML License Auditing Tool (DLAT) vous permet de déterminer le nombre de licences DirXML utilisées dans une

Plus en détail

À propos du Guide de l'utilisateur final de VMware Workspace Portal

À propos du Guide de l'utilisateur final de VMware Workspace Portal À propos du Guide de l'utilisateur final de VMware Workspace Portal Workspace Portal 2.1 Ce document prend en charge la version de chacun des produits répertoriés, ainsi que toutes les versions publiées

Plus en détail

Printer Administration Utility 4.2

Printer Administration Utility 4.2 Printer Administration Utility 4.2 PRINTER ADMINISTRATION UTILITY (PAU) MANUEL D'INSTALLATION Version 2.2 Garantie Bien que l'entreprise se soit efforcée au maximum de rendre ce document aussi précis et

Plus en détail

CA ARCserve Backup pour Windows

CA ARCserve Backup pour Windows CA ARCserve Backup pour Windows Manuel de l'agent pour Microsoft SQL Server r16 La présente documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après nommés "Documentation"),

Plus en détail

NetSupport Notify (v2.01) Guide de démarrage. Tous droits réservés. 2009 NetSupport Ltd

NetSupport Notify (v2.01) Guide de démarrage. Tous droits réservés. 2009 NetSupport Ltd NetSupport Notify (v2.01) Guide de démarrage Tous droits réservés 2009 NetSupport Ltd NETSUPPORT NOTIFY : PRÉSENTATION GÉNÉRALE NetSupport Notify est une solution mise au point spécifiquement pour permettre

Plus en détail

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante : Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante : http://www.hegerys.com/documentation/magicsafe-windows-doc.pdf

Plus en détail

v7.1 SP2 Guide des Nouveautés

v7.1 SP2 Guide des Nouveautés v7.1 SP2 Guide des Nouveautés Copyright 2012 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Notes de version pour Symantec Endpoint Protection Small Business Edition, version 12, mise à jour de version 1

Notes de version pour Symantec Endpoint Protection Small Business Edition, version 12, mise à jour de version 1 Notes de version pour Symantec Endpoint Protection Small Business Edition, version 12, mise à jour de version 1 Notes de version pour Symantec Endpoint Protection Small Business Edition, version 12, mise

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Guide de l'utilisateur pour l'assistant d importation de SAP BusinessObjects Enterprise

Guide de l'utilisateur pour l'assistant d importation de SAP BusinessObjects Enterprise Guide de l'utilisateur pour l'assistant d importation de SAP BusinessObjects Enterprise SAP BusinessObjects Enterprise XI 3.1 Service Pack 3 Copyright 2010 SAP AG. Tous droits réservés.sap, R/3, SAP NetWeaver,

Plus en détail

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide Symantec Backup Exec 12.5 for Windows Servers Guide d'installation rapide 13897290 Installation de Backup Exec Ce document traite des sujets suivants: Configuration requise Conditions préalables à l'installation

Plus en détail

Guide d'installation du token

Guide d'installation du token Connectivity 3SKey Guide d'installation du token Ce document explique comment installer et désinstaller le logiciel du token 3SKey. 06 mars 2015 3SKey Table des matières.préambule...3 1 Conditions préalables

Plus en détail

Service On Line : Gestion des Incidents

Service On Line : Gestion des Incidents Service On Line : Gestion des Incidents Guide de l utilisateur VCSTIMELESS Support Client Octobre 07 Préface Le document SoL Guide de l utilisateur explique comment utiliser l application SoL implémentée

Plus en détail

Utiliser un tableau de données

Utiliser un tableau de données Utiliser un tableau de données OBJECTIFS : - Définir une Base de Données. - Présentation : tableau de données. - Création d un tableau de données - Gestion d un tableau de données. - Trier et Filtrer des

Plus en détail

Novell. NetWare 6. www.novell.com GUIDE D'ADMINISTRATION DE NETDRIVE

Novell. NetWare 6. www.novell.com GUIDE D'ADMINISTRATION DE NETDRIVE Novell NetWare 6 www.novell.com GUIDE D'ADMINISTRATION DE NETDRIVE Notices légales Novell exclut toute garantie relative au contenu ou à l'utilisation de cette documentation. En particulier, Novell ne

Plus en détail

Exemples et tutoriels Version 7.5. Tutoriel de l'exemple Recrutement de personnel pour IBM Process Designer

Exemples et tutoriels Version 7.5. Tutoriel de l'exemple Recrutement de personnel pour IBM Process Designer Exemples et tutoriels Version 7.5 Tutoriel de l'exemple Recrutement de personnel pour IBM Process Designer ii Exemple Recrutement de personnel Les manuels PDF et le centre de documentation Les manuels

Plus en détail

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement) HP Data Protector Express Software - Tutoriel 4 Utilisation de Quick Access Control (Windows uniquement) Que contient ce tutoriel? Quick Access Control est une application qui s'exécute indépendamment

Plus en détail

Sage CRM. Sage CRM 7.3 Guide du portable

Sage CRM. Sage CRM 7.3 Guide du portable Sage CRM Sage CRM 7.3 Guide du portable Copyright 2014 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur

Plus en détail

Manuel d utilisation email NETexcom

Manuel d utilisation email NETexcom Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La

Plus en détail

Arcserve Replication and High Availability

Arcserve Replication and High Availability Arcserve Replication and High Availability Manuel des opérations pour Microsoft SQL Server r16.5 La présente documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après

Plus en détail

UserLock Guide de Démarrage rapide. Version 8.5

UserLock Guide de Démarrage rapide. Version 8.5 UserLock Guide de Démarrage rapide Version 8.5 Introduction UserLock est une solution logicielle d'entreprise unique sécurisant les accès utilisateur sur le réseau afin de réduire le risque d'une brèche

Plus en détail

SAP Lumira Version du document : 1.23 2015-03-06. Guide de l'utilisateur de SAP Lumira

SAP Lumira Version du document : 1.23 2015-03-06. Guide de l'utilisateur de SAP Lumira SAP Lumira Version du document : 1.23 2015-03-06 Contenu 1 A propos de SAP Lumira....6 2 Guide de démarrage de SAP Lumira.... 7 2.1 Menus sur la page d'accueil.... 7 2.2 Étapes générales pour la visualisation

Plus en détail

Documentation EdgeSight. Citrix XenApp 5.0

Documentation EdgeSight. Citrix XenApp 5.0 Documentation EdgeSight Citrix XenApp 5.0 Avis de copyright et de marque déposée L'utilisation du produit documenté dans ce guide est sujette à votre acceptation préalable du Contrat de licence de l'utilisateur

Plus en détail

Guide de mise à jour de Suite SAP Business Intelligence Patch 10.x

Guide de mise à jour de Suite SAP Business Intelligence Patch 10.x Suite SAP BusinessObjects Business Intelligence Version du document : 4.0 Support Package 10-2014-07-25 Guide de mise à jour de Suite SAP Business Intelligence Patch 10.x Table des matières 1 Introduction....

Plus en détail

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base Windows Server 2008 Chapitre 3 : Le service d annuaire Active Directory: Concepts de base omar.cheikhrouhou@isetsf.rnu.tn omar.cheikhrouhou@ceslab.org Objectives Comprendre les concepts de base d Active

Plus en détail

IBM Unica emessage Version 8.5.0 Date de publication : 7 juin 2011. Guide utilisateur

IBM Unica emessage Version 8.5.0 Date de publication : 7 juin 2011. Guide utilisateur IBM Unica emessage Version 8.5.0 Date de publication : 7 juin 2011 Guide utilisateur Copyright Copyright IBM 2011 IBM Corporation Reservoir Place North 170 Tracer Lane Waltham, MA 02451-1379 Le progiciel

Plus en détail

Sophos Mobile Control as a Service Guide de démarrage. Version du produit : 3.6

Sophos Mobile Control as a Service Guide de démarrage. Version du produit : 3.6 Sophos Mobile Control as a Service Guide de démarrage Version du produit : 3.6 Date du document : novembre 2013 Table des matières 1 À propos de ce guide...3 2 Quelles sont les étapes essentielles?...4

Plus en détail

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack A propos de ce guide A propos de ce guide Ce guide contient des informations de prise en main du BusinessObjects XI R2 Service Pack

Plus en détail

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

Attribution de licence pour vcloud Suite

Attribution de licence pour vcloud Suite Attribution de licence pour vcloud Suite vcloud Suite 5.5 Ce document prend en charge la version de chacun des produits répertoriés, ainsi que toutes les versions publiées par la suite jusqu'au remplacement

Plus en détail

Edutab. gestion centralisée de tablettes Android

Edutab. gestion centralisée de tablettes Android Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,

Plus en détail