Business Activity Monitoring Guide de référence du serveur
|
|
|
- Flavien Lavallée
- il y a 10 ans
- Total affichages :
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 [email protected] et "Moi" <[email protected]> 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.
274 Processus Guide de référence du serveur Business Activity Monitoring Diagrammes de processus 274 Diagrammes de processus Pour plus d'informations sur cette tâche, reportez-vous à la section Diagrammes de processus du guide Utilisation de Celequest Operational Dashboard. Utilisation de Business Activity Monitor Dashboard. Pour créer un diagramme de processus, vous devez disposer de l'autorisation Lecture seule sur la vue ou le cube agrégé(e) qui fournit les statistiques. Pour créer un diagramme de processus dans BAM Workbench : 1. Ouvrez le gestionnaire Diagrammes de processus et cliquez sur Créer un diagramme. 2. Sélectionnez la définition du processus (telle que définie dans BAM Workbench). 3. Sélectionnez les colonnes sources à afficher sous la forme de statistiques. 4. Attribuez un nom au diagramme de processus et enregistrez-le. BAM Dashboard affiche instantanément le diagramme de processus. Les statistiques sont mises à jour à mesure que les événements concernant le processus sont enregistrés.
275 23 Fenêtres de requêtes Une fenêtre de requêtes spécifie un ensemble de lignes utilisées dans des calculs par rapport à la ligne actuelle (événement) examinée, dans une vue créée avec une instruction C-SQL SELECT. (Les vues commerce créées dans BAM Workbench créent des vues via une instruction SELECT transmise aux serveurs.) Ce chapitre comprend les sections suivantes : Les autres sections associées expliquent comment définir et utiliser les fenêtres. «Présentation», page 276 «Déclarations et références des fenêtres», page 277 «Fenêtres de série d'événements», page 278 «Fenêtres chronologiques», page 280 «Partitions des fenêtres», page 286 «Avancement des fenêtres», page 289 «Référence de mise à jour de fenêtre», page 293 «Initialisation de fenêtre», page
276 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Présentation 276 Présentation Dans une fenêtre, vous pouvez calculer une fonction moving set, une jointure ou bien supprimer des lignes dans une vue. De tels calculs utilisent une fenêtre, mais dans les cas d'opérations par défaut, vous n'avez pas besoin de définir la sémantique de la fenêtre. Par exemple, en C-SQL, les fonctions set effectuent des calculs sur les ensembles de lignes d'une vue. L'ensemble de lignes par défaut de chaque fonction correspond à tous les événements depuis l'initiation de la vue (ensemble illimité). Etudiez la vue suivante qui calcule la valeur totale d'une colonne nommée Qty correspondant à tous les événements insérés dans la vue : SELECT SUM(Qty) AS Total_Qty FROM Orders Pour exprimer la fonction SUM() afin d'obtenir les mêmes résultats, vous pouvez également utiliser la syntaxe ci-dessous qui indique d'additionner l'ensemble de tous les événements précédents : SELECT SUM(Qty) OVER (EVENTS UNBOUNDED PRECEDING) AS Total_Qty FROM Orders La clause OVER définit une fenêtre qui détermine l'ensemble des lignes à inclure. Une fenêtre permet de limiter cet ensemble à un nombre spécifique de lignes d'événements ou aux événements survenus dans un laps de temps particulier. Par exemple, pour totaliser uniquement les événements actuels et les cinq derniers événements, définissez une fenêtre comme suit : SUM(Qty) OVER (EVENTS 5 PRECEDING) AS Total_Qty Et pour totaliser uniquement les événements du mois en cours, utilisez une fenêtre chronologique, comme suit : SUM(Qty) (RANGE INTERVAL '1' MONTH PRECEDING) AS Total_Qty OVER Types de fenêtres Toutes les fenêtres sont identifiées par la clause EVENTS ou RANGE et incluent une définition d'étendue qui définit leur taille. { RANGE EVENTS } <window frame extent> La syntaxe d'étendue est propre au type de fenêtre et décrite en détail dans les sections «Fenêtres de série d'événements», page 278 et «Fenêtres chronologiques», page 280. Les autres clauses (non affichées) contrôlent le comportement de la fenêtre lorsque de nouveaux événements y sont entrés, les éléments à insérer ainsi que la méthode et le moment des mises à jour de la fenêtre pour inclure les nouveaux événements et supprimer les anciens.
277 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Déclarations et références des fenêtres 277 Déclarations et références des fenêtres En ligne Deux méthodes permettent de définir des fenêtres et de les associer à des fonctions : La déclaration en ligne définit les paramètres de la fenêtre qui suivent immédiatement la référence à la fonction. Elle est semblable à ce qui suit : SELECT PartName, SUM(Qty) OVER (EVENTS 4 PRECEDING) AS Total_Qty, FROM Orders GROUP BY PartName Ce format est utile si vous ne disposez que d'une fenêtre par requête même si vous pouvez également l'utiliser avec plusieurs fenêtres. Vous ne pouvez pas partager ces définitions de fenêtre entre les fonctions d'une même requête. Référence par nom Pour utiliser une fenêtre définie avec la clause WINDOW. Sa syntaxe est semblable à ce qui suit : SELECT PartName, SUM(Qty) OVER Previous4 AS Total_Qty, AVG(Qty) OVER Previous4 AS Average_Qty FROM Orders GROUP BY PartName WINDOW Previous4 AS (EVENTS 4 PRECEDING) Ce format est utile si vous disposez de plusieurs définitions de fenêtre simples, car vous pouvez les définir dans un seul emplacement : Dans une même définition de clause WINDOW. Ce format vous permet également de partager la définition sur plusieurs fonctions d'une même requête (comme indiqué ci-dessus) et d'utiliser des fenêtres qui étendent la définition d'une autre fenêtre (reportez-vous à la section «Extension d'une définition de fenêtre avec une autre», page 278). Remarque :les fonctions de la liste Select associée à une fenêtre doivent posséder des noms d'alias définis avec l'opérateur AS, comme AS Total_Qty dans les exemples ci-dessus. Plusieurs fenêtres par requête La clause WINDOW définit les fenêtres qui peuvent être partagées dans la requête et qui peuvent être étendues par d'autres fenêtres. L'exemple suivant définit deux fenêtres, chacune étant utilisée par une fonction différente de la requête : SELECT PartName, SUM(Qty) OVER Previous4 AS Total_Qty_4, AVG(Qty) OVER Previous10 AS Average_Qty_10 FROM Orders GROUP BY PartName WINDOW Previous4 AS (EVENTS 4 PRECEDING), Previous10 AS (EVENTS 10 PRECEDING)
278 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Extension d'une définition de fenêtre avec une autre 278 Extension d'une définition de fenêtre avec une autre Restrictions Lorsque des fenêtres partagent des traits communs, vous pouvez définir ces traits dans une définition de fenêtre, puis étendre (hériter) cette définition avec d'autres aspects uniques dans différentes fenêtres. Par exemple, la définition suivante définit la fenêtre Common avec la clause PARTITION BY, puis d'autres fenêtres qui étendent les traits communs avec la portée requise pour les fenêtres uniques : SELECT PartName, SUM(Qty) OVER Events4 AS Total_Of_Qty_4, AVG(Qty) OVER Events10 AS Average_Of_Qty_10 FROM Orders WINDOW Common AS (PARTITION BY PartName), Events4 AS (Common EVENTS 4 PRECEDING), Events10 AS (Common EVENTS 10 PRECEDING) La définition de fenêtre ci-dessus est identique à ce qui suit : Events4 AS (PARTITION BY PartName EVENTS 4 PRECEDING), Events10 AS (PARTITION BY PartName EVENTS 10 PRECEDING) Les définitions d'extension de fenêtre ne peuvent pas inclure les propriétés définies dans la fenêtre de base. Par exemple, vous ne pouvez pas définir de clause ORDER BY dans les fenêtres de base et d'extension. De plus : Une clause PARTITION BY peut s'afficher uniquement dans la définition de la fenêtre de base ; elle ne peut pas apparaître dans les extensions. Ces clauses peuvent s'afficher uniquement dans les définitions d'extension ; elles ne peuvent pas apparaître dans la fenêtre de base : BETWEEN/AND CURRENT EVENT EVENTS INITIALIZE RANGE REFERENCE SLIDE UNBOUNDED <window start integer> without an EVENTS or RANGE clause Une fenêtre ne peut étendre qu'une autre fenêtre définie dans la même requête ; une fenêtre d'une vue dérivée ne peut pas étendre une fenêtre d'une vue de base. Fenêtres de série d'événements Les fenêtres de série d'événements contiennent un ensemble défini d'événements maximal. Initialement, la fenêtre est vide, mais elle est renseignée avec de nouveaux événements jusqu'à ce qu'elle atteigne sa
279 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Clause EVENTS 279 capacité définie. Après quoi, les anciens événements sont supprimés un par un à mesure de l'insertion des nouveaux événements. Cette fenêtre contient trois événements. Evénements à venir Evénements supprimés Les événements anciens sont supprimés lorsque la fenêtre est pleine et que de nouveaux événements sont ajoutés. Clause EVENTS Les fenêtres de série d'événements sont identifiées par la clause EVENTS. Les plages d'événements sont exprimées à l'aide des clauses BETWEEN et AND. Omettez les arguments de plage pour inclure uniquement les tout derniers événements en commençant par l'événement actuel. La clause PRECEDING est facultative et fournie pour la compatibilité ANSI ; elle précise que les lignes d'événements précèdent l'événement actuel. ([PARTITION BY <column>] EVENTS [BETWEEN] {<oldestevent> UNBOUNDED} PRECEDING [AND { <newestevent> [PRECEDING] CURRENT EVENT } ] [SLIDE <distance>] [REFERENCE {FRAME OPERATOR} ] La clause PARTITION BY crée un cadre de fenêtre pour chaque <colonne> d'événements, à l'instar d'une fenêtre GROUP BY. Pour plus de détails, reportez-vous à la section «Partitions des fenêtres», page 286. La clause SLIDE détermine comment avancer la fenêtre lorsque de nouveaux événements sont insérés dans la vue. Pour plus de détails sur cette option, reportez-vous à la section «Avancement des fenêtres», page 289. La clause REFERENCE indique à la fenêtre à quel moment déterminer que des lignes ont expiré. La valeur par défaut est FRAME : les lignes expirent uniquement lorsque de nouvelles lignes sont insérées dans la fenêtre. L'option OPERATOR est utile uniquement si la vue comporte plusieurs fenêtres PARTITION BY ou GROUP BY. Pour plus de détails sur cette option, reportez-vous à la section «Référence de mise à jour de fenêtre», page 293. Exemples Cette fenêtre contient des lignes limitées à un nombre d'événements consécutifs dans la vue, par exemple les 5 derniers événements, SUM(Qty) OVER (EVENTS 4 PRECEDING) AS Total_Qty ou bien les 10 événements commençant il y a 12 événements. SUM(Qty) OVER (EVENTS BETWEEN 11 PRECEDING AND 2 PRECEDING) AS Total_Qty Remarquez que la taille du cadre de la fenêtre correspond à (<oldestevent> <newestevent>+1). Par exemple, le cadre ci-dessus contient 10 événements (11 2+1).
280 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Evénement actuel 280 Pour inclure l'ensemble des événements précédents, y compris l'événement actuel, à l'aide de l'option UNBOUNDED, procédez comme suit : SUM(Qty) OVER (EVENTS UNBOUNDED PRECEDING) AS Total_Qty Cette syntaxe se comporte comme si aucune fenêtre n'était définie : SUM(Qty) AS Total_Qty Evénement actuel Dans les exemples de la section précédente, notez que le numéro de l'événement de démarrage est inférieur de 1 à celui de l'événement de démarrage souhaité. Cela est dû au fait que le comptage commence à zéro : l'événement zéro (0) est l'événement actuel. Fenêtre constituée de 5 événements, y compris l'événement actuel Il y a sept événements Evénement actuel Autre méthode permettant d'exprimer les 5 derniers événements : OVER (EVENTS BETWEEN 4 PRECEDING AND 0 PRECEDING) Une autre méthode permettant d'exprimer la plage d'événements consiste à utiliser le littéral CURRENT EVENT comme suit : OVER (EVENTS BETWEEN 4 PRECEDING AND CURRENT EVENT ) Fenêtres chronologiques Les fenêtres chronologiques s'agrandissent pour inclure tous les événements qui surviennent au cours d'une période. Par exemple, la fenêtre 1-jour affichée dans l'illustration ci-dessous s'agrandit à l'arrivée de nouveaux événements au cours de la journée. Dernier événement Dernier événement 1jour 1jour 1jour 1jour Ainsi, une fenêtre 3-jours inclut tous les événements de la fenêtre 3-jours actuelle. Au cours du jour 3. Au cours du jour 4. Au cours du jour 5.
281 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Clause RANGE 281 Clause RANGE Les fenêtres chronologiques sont identifiées par la clause RANGE. Ces fenêtres contiennent des lignes limitées à une plage de dates et d'heures en combinant des années, des mois, des jours, des heures, des minutes ou des secondes. Une période est exprimée à l'aide des clauses BETWEEN et AND. Omettez les clauses de période pour inclure le dernier événement (l'événement actuel). PRECEDING précise que les lignes d'événements précèdent l'événement actuel. ([PARTITION BY <column>] [ORDER BY {<date-time column> <integer column>} [ ASC DESC ] ] RANGE [BETWEEN] {INTERVAL <oldesttime> <oldestint> UNBOUNDED} [PRECEDING] [AND {INTERVAL <newesttime> <oldestint>} [PRECEDING] ] [SLIDE INTERVAL <distance>] [REFERENCE {FRAME OPERATOR} ] [INITIALIZE <inittimestamp>] ) De plus, Les colonnes «order-by», «oldest» et «newest» sont généralement des données de type date et heure. Cependant, vous pouvez également utiliser un nombre entier représentant une série chronologique. Pour plus de détails, reportez-vous à la section «Séries chronologiques de nombres entiers», page 285. Exemples La clause PARTITION crée une fenêtre pour chaque <colonne> d'événements, à l'instar d'une fenêtre GROUP BY. Pour plus de détails, reportez-vous à la section «Partitions des fenêtres», page 286. La clause ORDER BY identifie la colonne utilisée pour calculer l'heure de l'événement. Pour plus de détails, reportez-vous à la section «Clause ORDER BY», page 282. La clause SLIDE détermine comment avancer la fenêtre lorsque de nouveaux événements sont insérés dans la vue. Pour plus de détails sur cette option, reportez-vous à la section «Avancement des fenêtres», page 289. INITIALIZE indique une date/heure commune à laquelle initialiser toutes les fenêtres associées d'une vue. Si vous utilisez une fenêtre chronologique, il est conseillé d'initialiser l'heure de démarrage à minuit pour les fenêtres de type jour, mois et année, au premier jour du mois pour les fenêtres de type mois et année et au premier jour de la période souhaitée pour les fenêtres de type année. Reportez-vous à la section «Initialisation de fenêtre», page 294. La clause REFERENCE indique à la fenêtre à quel moment déterminer que des lignes ont expiré. La valeur par défaut est FRAME : les lignes expirent uniquement lorsque de nouvelles lignes sont insérées dans la fenêtre. L'option OPERATOR est utile uniquement si la vue comporte plusieurs fenêtres PARTITION ou GROUP BY. Pour plus de détails sur cette option, reportez-vous à la section «Référence de mise à jour de fenêtre», page 293. Cette fenêtre totalise les événements du mois en cours de la colonne Qty : SUM(Qty) OVER (RANGE INTERVAL '1' MONTH PRECEDING) AS Total_Qty
282 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Quels sont les événements inclus? 282 Vous pouvez également identifier des périodes très spécifiques, par exemple celle qui commence il y a 18 heures et 15 minutes et se termine il y a 45 secondes : Pour plus de détails sur les spécifications de date et d'heure, reportez-vous à la section «Date-heure», page 75. OVER (RANGE BETWEEN INTERVAL '18:15' HOUR TO MINUTE PRECEDING AND INTERVAL '45' SECOND PRECEDING ) Quels sont les événements inclus? Les événements à inclure dans une fenêtre chronologique sont déterminés lorsqu'un nouvel événement est entré dans la fenêtre ou la vue (pour plus de détails, reportez-vous à la section «Référence de mise à jour de fenêtre», page 293). Cependant, il importe de noter que cet intervalle inclut les événements qui correspondent exactement à la taille de la période de l'événement actuel. Par exemple, consultez la fenêtre ci-dessous dont l'intervalle est de 1 jour : SUM(order_qty) OVER ( RANGE INTERVAL '1' DAY PRECEDING ) AS TotalQty Si deux événements sont séparés exactement d'un jour, ils sont tous les deux inclus dans la fenêtre. Notez la valeur de la colonne TotalQty après les deux événements : order_qty TotalQty EventTime :00: :00:00.0 Lors de l'utilisation de la clause BETWEEN, la valeur <oldesttime> est incluse tandis que la valeur <newesttime> est exclue. Par exemple, pour disposer de deux fenêtres, l'une de la semaine en cours et l'autre de la semaine précédente, utilisez ces définitions : ThisWeek: LastWeek: RANGE INTERVAL '7' DAY PRECEDING RANGE BETWEEN INTERVAL '14' DAY PRECEDING AND INTERVAL '7' DAY PRECEDING Notez que ces deux plages utilisent 7 comme valeur associée. La semaine en cours inclut tous les événements qui se sont produits entre le jour en cours et il y a sept jours alors que la semaine précédente inclut les sept jours avant la semaine en cours. Une autre façon de définir les fenêtres ci-dessus consiste à utiliser 0 comme heure actuelle, par exemple : ThisWeek: LastWeek: Clause ORDER BY RANGE INTERVAL '7' DAY PRECEDING AND INTERVAL '0' DAY PRECEDING RANGE BETWEEN INTERVAL '14' DAY PRECEDING AND INTERVAL '7' DAY PRECEDING Sauf définition contraire, toutes les heures sont calculées en fonction de l'horodatage d'arrivée interne de chaque événement. Par exemple, cette fenêtre contient les événements de la dernière heure dans l'ordre de leur arrivée sur le système. OVER (RANGE INTERVAL '1' HOUR PRECEDING) Vous pouvez désigner une colonne de type date/heure comme étant la colonne principale de l'événement. Par exemple, vous pouvez utiliser l'heure à laquelle une commande a été passée : OVER (ORDER BY order.order_timestamp RANGE '4' DAY PRECEDING)
283 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Clause ORDER BY 283 L'argument ORDER BY est une référence de nom de colonne unique ; vous ne pouvez pas utiliser de nombres entiers pour représenter la position ordinale de la colonne dans la liste Select. Par ailleurs, l'ordre de tri par défaut est croissant (ASC), même si l'ordre décroissant (DESC) est également disponible. Pour plus de détails, reportez-vous à la section «Ordre décroissant», page 284. La clause ORDER BY respecte la syntaxe suivante : ORDER BY <columnnamereference> { ASC DESC }
284 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Arrivée dans n'importe quel ordre 284 Arrivée dans n'importe quel ordre Lorsque le flux d'événements ne respecte pas l'ordre attendu, le moteur d'interrogation tente d'insérer l'événement désordonné à son emplacement correct dans le cadre de la fenêtre et met à jour en conséquence toutes les agrégations. Le moteur d'interrogation utilise toujours la dernière heure de réception de tous les événements avant l'événement désordonné pour déterminer s'il doit être inclus. Si l'événement ne figure pas dans le dernier cadre de la fenêtre, il est omis. Prenez l'exemple d'une fenêtre 1 heure qui reçoit les événements suivants dans l'ordre indiqué. Dans cet exemple, le deuxième événement est le dernier, et ainsi, seuls les événements reçus après 08:10 (09:10 moins 1 heure) sont inclus dans la fenêtre. Le quatrième événement est donc rejeté puisque son horodatage indique 08:04. OVER (ORDER BY Time RANGE INTERVAL '1' HOUR PRECEDING) Arrival Sequence Time Amount : : << Latest timestamp sets the window 3 08: << Out-of-order, accepted 4 08: << Out-of-order, rejected Une fois que les quatre événements ci-dessus ont été traités, la vue qui les contient apparaît ainsi : Arrival Sequence Time Amount : : << Reordered 2 09: Ordre décroissant Par défaut, l'ordre est supposé croissant : les anciens événements sont traités d'abord. Cependant, vous pouvez spécifier DESC pour indiquer l'ordre de tri décroissant. Lorsque des événements arrivent et qu'ils ne sont pas déjà dans l'ordre décroissant, ils sont traités de la même façon que dans la section précédente Arrivée dans n'importe quel ordre. OVER (ORDER BY Time DESC RANGE INTERVAL '1' HOUR PRECEDING) Arrival Sequence Time Amount : : << Out-of-order, expires after fourth event 3 08: << Out-of-order, accepted 4 08:
285 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Horodatages de valeur NULL 285 Une fois que les quatre événements ci-dessus ont été traités, la vue qui les contient apparaît ainsi : Arrival Sequence Time Amount : : : Horodatages de valeur NULL Lorsque la colonne référencée contient une valeur NULL correspondant à l'horodatage, l'événement est rejeté à moins que la plage ne soit ILLIMITEE. Lorsque le cadre de la fenêtre est illimité, tous les événements sont inclus, y compris les horodatages NULL, bien que les valeurs NULL soient placées en dernier dans l'ensemble, suivant leur ordre d'arrivée. Par exemple : Arrival Sequence Time Amount : : << First NULL time 4 08: << Second NULL time Lorsque les événements ci-dessus sont traités dans l'ordre croissant en fonction de la colonne Time, la vue finale ressemble à celle-ci : Arrival Sequence Time Amount : : : << Second NULL time << First NULL time Séries chronologiques de nombres entiers Une plage chronologique est généralement exprimée sous la forme de valeurs de type date/heure ou de valeurs d'intervalle de dates. Cependant, vous pouvez également utiliser un nombre entier représentant une série chronologique. Par exemple, examinez cette série de valeurs de type date/heure et leurs correspondances en nombres entiers : Date_time_value Date_time_int :00: :00: :00: :01: :00: L'heure représentée par les nombres entiers est tout à fait arbitraire et n'est pas un facteur du mode de traitement des valeurs par Business Activity Monitoring ES. Il vous incombe de comprendre la signification
286 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Partitions des fenêtres 286 de ces valeurs. Dans l'exemple de série ci-dessus, correspond à un jour. Une fenêtre des deux jours précédents correspondant à ces données est définie ainsi : ORDER BY Date_time_int RANGE PRECEDING Ou celle permettant de voir uniquement le jour précédent est définie ainsi : ORDER BY Date_time_int RANGE BETWEEN PRECEDING AND PRECEDING Lors de l'utilisation d'une série chronologique de nombres entiers, utilisez toujours la clause ORDER BY et identifiez la colonne de nombres entiers lors du classement de la série. Partitions des fenêtres Tous les événements d'une vue sont insérés dans un même ensemble (fenêtre) sauf définition contraire par la clause GROUP BY ou PARTITION BY. Ces clauses trient les événements et les répartissent dans des fenêtres en fonction d'une valeur clé, par exemple un nom ou un ID commun. Les fenêtres partitionnées permettent d'agréger les événements propres à la fenêtre. Par exemple, pour collecter le volume total de l'ensemble des transactions en fonction de la sécurité, la définition de la vue pourrait être ainsi : SELECT Trades.symbol, SUM(Trades.volume) OVER Symbols AS Total_volume FROM Trades WINDOW Symbols AS ( PARTITION BY Trades.symbol ) Cette vue est semblable à celle définie avec la clause GROUP BY de la manière suivante : SELECT Trades.symbol, SUM(Trades.volume) AS Total_volume FROM Trades GROUP BY Trades.symbol Remarque :L'interrogation des deux vues ci-dessus produit des résultats très différents. La vue groupée renvoie une ligne par groupe alors que la vue partitionnée, par défaut, renvoie uniquement une ligne contenant les résultats du dernier événement entré dans la vue (même si les informations de chaque partition sont conservées en interne). Pour afficher plus de lignes dans une vue partitionnée, définissez le paramètre Garder dans la vue de cette vue sur une taille supérieure à 1. Pour plus de détails, reportez-vous à la section «Résultats historiques des vues partitionnées», page 288. Clause PARTITION BY La clause PARTITION BY définit une ou plusieurs colonnes qui contiennent les valeurs identifiant une fenêtre de partition. PARTITION BY <column> [, <column> ] Où <column> correspond au nom d'une colonne dans la liste Select ou bien à un nombre entier ordinal qui représente la position d'une colonne répertoriée dans la liste Select des colonnes (la première référence est 1). Lorsque vous déclarez une liste de colonnes, une partition est créée pour chaque valeur unique de l'ensemble. Par exemple, cette déclaration crée des partitions pour des particuliers en fonction des combinaisons nom+prénom : PARTITION BY last_name,first_name
287 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Avantage des partitions sur les groupes 287 Avantage des partitions sur les groupes Le fait de pouvoir contrôler le moment auquel faire expirer (supprimer de la mémoire) les fenêtres chronologiques à l'aide de la clause REFERENCE OPERATOR constitue le principal avantage des partitions (pour plus de détails, reportez-vous à la section «Référence de mise à jour de fenêtre», page 293). Vous pouvez également disposer de plusieurs partitions basées sur les différentes colonnes d'une même vue alors que la clause GROUP BY s'applique exclusivement à toute la vue. Examinez les illustrations des sections suivantes qui montrent ce qui se produit à l'arrivée d'un nouvel événement beaucoup plus récent que l'événement le plus récent contenu dans la vue : Mise à jour des vues pour une clause GROUP BY simple Lorsqu'un événement arrive dans une vue avec une clause simple GROUP BY, il est appliqué au groupe associé. Le cas échéant, ce nouvel événement est appliqué à la moyenne de tous les événements AAA reçus : Nom AAA Valeur SELECT NAME, AVG(Value) AS AvVal GROUP BY Name Nom Valeur AAA SRK Nom AAA Valeur SRK AAA est mis à jour en fonction de tous les événements AAA reçus ; SRK reste tel quel et les groupes n'expirent jamais. Mise à jour des vues pour une partition avec référence de cadre Maintenant prenez l'exemple du même événement entrant dans une vue partitionnée par nom et où seul le cadre de la fenêtre de partition qui identifie l'événement est mis à jour. Dans cet exemple, l'événement AAA est postérieur de 2 heures au dernier événement AAA. Ainsi, toutes les valeurs précédentes de la partition expirent et sont supprimées, et seul le nouvel événement est utilisé. Notez que l'autre partition n'est pas affectée. SELECT Name, AVG(Value) OVER w AS AvVal WINDOW w AS (PARTITION BY Name RANGE INTERVAL '1' HOUR PRECEDING REFERENCE FRAME) Nom AAA Valeur Nom Valeur AAA SRK Un nouvel événement arrive, postérieur de 2 heures à l'événement le plus récent de la partition. Nom Valeur AAA SRK La moyenne AAA correspond au dernier événement uniquement (les anciens événements ont expiré) ; SRK reste tel quel et les groupes n'expirent jamais. Mise à jour des vues pour une partition avec référence d'opérateur Pour finir, prenez l'exemple de ce même événement arrivant dans une vue partitionnée qui est mise à jour en fonction de REFERENCE OPERATOR. Cette référence indique à toutes les partitions de se mettre à jour à l'arrivée d'un nouvel événement dans la fenêtre. Dans cette illustration, toutes les partitions existantes
288 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Utilisation de la clause GROUP BY dans les fenêtres sur le point d'expirer 288 expirent et une nouvelle partition est créée pour le nouvel événement, car aucun des événements suivis par les partitions existantes n'est compris dans la plage de la dernière heure. SELECT Name, AVG(Value) OVER w AS AvVal WINDOW w AS (PARTITION BY Name RANGE INTERVAL '1' HOUR PRECEDING REFERENCE OPERATOR) Nom AAA Valeur Nom Valeur AAA SRK Un nouvel événement arrive, postérieur de 2 heures à l'événement le plus récent de la partition. Nom Valeur Tous les événements précédents AAA expirent et la partition SRK se vide ; la moyenne des événements AAA correspond uniquement au dernier événement. * Cette requête est pratiquement identique à SELECT Name, MOV_AVG(Value,HOUR,1) GROUP BY Name Utilisation de la clause GROUP BY dans les fenêtres sur le point d'expirer Le fait de ne pas pouvoir consulter de vue pour y observer le contenu des partitions constitue l'un des inconvénients des fenêtres, contrairement à une vue pourvue d'une clause GROUP BY dans laquelle vous pouvez afficher les résultats de tous les groupes dans BAM Dashboard ou dans l'onglet Résultats de BAM Workbench. Une clause GROUP BY conserve les résultats de chaque groupe tant que le groupe contient des données. Dans l'illustration précédente, si vous utilisez la vue créée avec l'expression GROUP BY au lieu de PARTITION, vous pouvez afficher le contenu, et les groupes expirent s'ils ne contiennent plus d'événements de la dernière heure. Résultats historiques des vues partitionnées Lorsque vous interrogez une vue partitionnée, par défaut, le résultat correspond à une vue pourvue d'une ligne contenant le résultat du dernier événement entré dans la vue (même si les informations de chaque partition sont conservées en interne). Par exemple, si vous effectuez le suivi du prix moyen de titres de placement, partitionné par symbole, l'interrogation de SELECT * sur la vue renvoie un résultat semblable à ce qui suit : SELECT * FROM AveragePricesView Symbol AvgPrice Date JMH Dans les résultats ci-dessus, le dernier événement reçu par la vue AveragePricesView correspond au symbole JMH.
289 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Avancement des fenêtres 289 Pour afficher plus de lignes, définissez le paramètre Garder dans la vue de cette vue partitionnée sur une taille supérieure à 1. Si vous disposez de nombreux événements agrégés, attribuez-lui une valeur supérieure, par exemple 500. Ainsi, l'interrogation de la vue renvoie de nombreuses lignes. Par exemple : Symbol AvgPrice Date AAA SRKH JMH SRKH 106, AAA JMH 94, Les résultats apparaissent dans l'ordre dans lequel ils ont été générés par la vue : ordre des derniers événements entrés dans chaque partition. Pour obtenir des résultats à signification historique, triez la nouvelle vue en fonction des colonnes Symbol (Symbole) et Date. Par exemple : SELECT * FROM AveragePricesView ORDER BY Symbol,"Date" Symbol AvgPrice Date AAA AAA AAA AAA 24, Avancement des fenêtres Lorsqu'un nouvel événement entre dans une fenêtre, celle-ci détermine les événements à conserver et à supprimer lorsqu'elle est pleine. Un cadre de fenêtre est plein si la ligne suivante provoque l'expiration d'une ligne existante de la fenêtre. Lorsqu'elle est affichée dans le contexte des événements prochains et passés du flux d'événements, la fenêtre peut être vue en avancement ou en glissement le long du flux d'événements à mesure de l'ajout et de la suppression d'événements. Les fenêtres avancent le long du flux d'événements à mesure que des nouveaux événements arrivent. Evénements supprimés Evénements à venir Les événements anciens sont supprimés lorsque la fenêtre est pleine et que de nouveaux événements sont ajoutés. Clause SLIDE La clause d'avancement de fenêtre (SLIDE) spécifie la distance d'avancement lorsque la fenêtre est pleine. Par défaut, lorsque la clause SLIDE est omise, les fenêtres de série d'événements glissent d'un événement à la fois le long du flux à l'arrivée de chaque nouvel événement, alors que les fenêtres chronologiques
290 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Fenêtres culbute 290 s'avancent pour inclure le dernier événement, et tous les événements dans l'intervalle défini dans la clause RANGE sont conservés, les autres événements étant supprimés. L'insertion d'une clause SLIDE fait avancer la fenêtre de toute sa taille (si vous omettez l'argument) ou bien la fait avancer d'un événement ou de l'intervalle de temps spécifié par l'argument. SLIDE [ <interval> <distance> ] Prenez l'exemple d'une fenêtre de série d'événements dont la taille représente 3 événements. La déclaration d'une clause SLIDE sans arguments a le même effet qu'une déclaration SLIDE 3. Une fois cette fenêtre pleine, elle avance en glissant de 3 événements. EVENTS '2' PRECEDING SLIDE 3 Après l'avancement, la fenêtre ne contient que le nouvel événement. Les événements futurs sont ajoutés jusqu'à ce que la fenêtre soit à nouveau pleine. Lorsqu'une fenêtre avance de plusieurs événements, elle est dite culbute, comme décrit dans la section suivante Fenêtres culbute. Par ailleurs, les fonctions TUMBLE_ constituent un raccourci des expressions de fenêtre complètes utilisant ce comportement de glissement. Pour plus d'informations, reportez-vous à la section «Fonctions tumble», page 291. Fenêtres culbute Remarque :L'omission de la clause SLIDE fait toujours avancer la fenêtre de 1intervalle ou 1distance. Pour «culbuter» une fenêtre, insérez une valeur SLIDE supérieure à un (1). Une fenêtre culbute se vide de son contenu lorsqu'elle avance pour inclure le tout dernier événement. Par exemple, une fenêtre chronologique culbute continue de s'agrandir jusqu'à ce que l'arrivée d'un nouvel événement provoque la suppression des anciens événements. Si l'intervalle SLIDE est identique à la taille de la fenêtre, la fenêtre vide tous les événements existants à l'arrivée d'un nouvel événement et lorsqu'elle est pleine. Lorsqu'elle est pleine, cette fenêtre 2-jours glisse également de 2 jours. RANGE '2' DAY PRECEDING SLIDE 2 Le premier événement du troisième jour glisse dans la fenêtre. Le premier événement du troisième jour glisse dans la fenêtre. Cette fonctionnalité permet d'effectuer le suivi des événements de l'intervalle complet pendant cet intervalle. Par exemple, si vous commencez un intervalle un dimanche et déclarez un intervalle de glissement de 7 jours, la fenêtre se vide et s'avance tous les dimanches. Utilisez la clause INITIALIZE pour définir l'heure de début de façon appropriée. Pour plus de détails, reportez-vous à la section «Initialisation de fenêtre», page 294.
291 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Fenêtres culbute de fin 291 Fenêtres culbute de fin Une fenêtre culbute de fin se vide, puis commence à se remplir après son glissement. Cependant, il importe de comprendre que les éléments qui entrent dans la vue doivent être contenus dans la fenêtre identifiée par le dernier événement. Prenez l'exemple de cette fenêtre 7 jours qui contient des valeurs de la semaine précédente et se vide tous les 7 jours : RANGE BETWEEN INTERVAL '14' DAY PRECEDING AND INTERVAL '7' DAY PRECEDING SLIDE INTERVAL '7' DAY Cette fenêtre accepte uniquement les valeurs antérieures aux 7 jours précédant le dernier événement. Même s'il peut y avoir des événements d'une semaine complète, cette fenêtre ne contient que les événements antérieurs de 7 jours au dernier événement. Par exemple, si ces événements sont entrés dans la fenêtre, seul le premier y est inséré, car son antériorité au dernier événement est supérieure à 7 jours : Event_Time :00:00 << Only event included in the window :00: :45: :10:00 << Last event Les trois premiers événements seront inclus uniquement après la réception d'un événement le 09/12 après 08:45. Fonctions tumble La plupart des fonctions set disposent de fonctions tumble_ associées, qui constituent un raccourci des expressions complètes de glissement de fenêtre. Prenez par exemple cette expression SUM() culbute qui additionne tous les événements se produisant dans un intervalle de 1 heure : TUMBLE_SUM(price, HOUR, 1, trade_time) AS T_Sum La fonction ci-dessus est un raccourci de l'expression de la fenêtre en ligne suivante : SUM(price) OVER (ORDER BY trade_time RANGE INTERVAL '1' HOUR PRECEDING SLIDE) AS T_Sum Qui à son tour équivaut à l'expression suivante après avoir renseigné toutes les valeurs par défaut : SUM(price) OVER (ORDER BY trade_time RANGE INTERVAL '1' HOUR PRECEDING SLIDE INTERVAL '1' HOUR REFERENCE OPERATOR) AS T_Sum De même, la fonction TUMBLE_SUM(price, EVENT, 5) est un raccourci de cette fenêtre complète : SUM(price) OVER ( EVENTS BETWEEN 4 PRECEDING AND CURRENT EVENT SLIDE 5 REFERENCE FRAME) AS T_Sum Pour plus de détails sur le comportement des fonctions tumbling particulières, consultez leurs descriptions. Pour consulter les descriptions des fenêtres culbute et de l'héritage, reportez-vous à la section «Fenêtres culbute et mobiles à l'aide de l'héritage de fenêtre», page 292.
292 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Fenêtres culbute et mobiles à l'aide de l'héritage de fenêtre 292 Fenêtres culbute et mobiles à l'aide de l'héritage de fenêtre Cette fonction d'héritage de définition de fenêtre s'applique également aux fonctions tumble_ et mov_. Pour plus de détails, reportez-vous à la section «Fenêtres culbute», page 290. Par exemple, toutes les requêtes suivantes sont équivalentes. Somme culbute sur une fenêtre référencée : SELECT c1, TUMBLE_SUM(price,HOUR,1) OVER w AS sum_price FROM trades WINDOW w AS (PARTITION BY c1 INITIALIZE TIMESTAMP ' :0:0' REFERENCE FRAME) Somme tumbling sur une fenêtre en ligne : SELECT c1, TUMBLE_SUM(price,HOUR,1) OVER (PARTITION BY c1 INITIALIZE TIMESTAMP ' :0:0' REFERENCE FRAME) AS sum_price FROM trades Somme d'une fenêtre sur une fenêtre culbute : SELECT c1, SUM(price) OVER w2 AS sum_price FROM trades WINDOW w AS (PARTITION BY c1 INITIALIZE TIMESTAMP ' :0:0' REFERENCE FRAME), w2 AS (w RANGE INTERVAL '1' HOUR PRECEDING SLIDE) Somme d'une fenêtre culbute : SELECT c1, SUM(price) OVER (w RANGE INTERVAL '1' HOUR PRECEDING SLIDE INTERVAL '1' HOUR REFERENCE FRAME INITIALIZE TIMESTAMP ' :0:0') AS sum_price FROM trades WINDOW w AS (PARTITION BY c1 ORDER BY "Date")
293 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Référence de mise à jour de fenêtre 293 Référence de mise à jour de fenêtre Lorsqu'une vue reçoit un nouvel événement, une ou plusieurs fenêtres de la vue peuvent être mises à jour pour refléter les nouvelles informations. En fonction de la référence et de la définition de chaque fenêtre, il est possible que tous les événements d'une fenêtre expirent et soient supprimés de la fenêtre ou ne soient pas affectés par la mise à jour. Remarque :les événements filtrés avant d'entrer dans la vue, par exemple lorsqu'ils sont exclus par une Clause WHERE, n'affectent pas les fenêtres de la vue et ne provoquent pas leur mise à jour, quel que soit le point de référence. Clause REFERENCE Une référence détermine le moment auquel évaluer l'ensemble des événements inclus dans une fenêtre. Les références sont les suivantes : OPERATOR : La fenêtre est mise à jour à chaque entrée d'un nouvel événement dans la vue, que cet événement soit ou non inclus dans la fenêtre. Par exemple, si une vue effectue le suivi des titres de placement échangés au cours de la dernière heure et partitionne chaque titre dans sa propre fenêtre, chaque fenêtre évalue son ensemble à chaque entrée d'un nouvel échange dans la vue. Si un titre n'a pas été échangé au cours de la dernière heure, sa fenêtre se vide. Toutes les autres fenêtres incluent uniquement les titres échangés au cours de la dernière heure ; les anciens échanges sont supprimés de leurs fenêtres. SELECT Trades.symbol, AVG(Trades.price) OVER (RANGE INTERVAL '1' HOUR PRECEDING REFERENCE OPERATOR) AS av_price_last_hour GROUP BY symbol FROM Trades Ce mode est souhaitable (mode par défaut) si vous utilisez des agrégations chronologiques et souhaitez que toutes les fenêtres incluent des événements référencés à partir de la même heure : heure d'arrivée du dernier événement dans la vue. Ce mode est également utile aux vues dans lesquelles vous voulez que les fenêtres de séries d'événements expirent, et ce faisant, réduisent la consommation de la mémoire par la vue. FRAME : La fenêtre est mise à jour uniquement lorsqu'un nouvel événement y entre. Par exemple, si la vue effectue le suivi des 10 derniers échanges de chaque titre de placement, seule la fenêtre recevant le dernier échange est mise à jour. Toutes les autres fenêtres (titre) conservent leurs 10 événements. SELECT Trades.symbol, AVG(Trades.price) OVER (EVENTS 9 PRECEDING REFERENCE FRAME) AS av_price_last_10_trades GROUP BY symbol FROM Trades Ce mode est souhaitable si vous souhaitez que les fenêtres conservent un ensemble d'événements, quelle que soit leur heure/date d'arrivée, notamment pour les agrégats mobiles basés sur les événements. Remarque :la référence FRAME est également utile pour récupérer de la mémoire sur le serveur.
294 Fenêtres de requêtes Guide de référence du serveur Business Activity Monitoring Initialisation de fenêtre 294 Initialisation de fenêtre Lors de l'utilisation d'une fenêtre chronologique, l'heure de début du cadre de la fenêtre est définie par le premier événement arrivant dans la fenêtre. Lorsqu'une vue contient plusieurs cadres de groupe ou de partition, chacun peut avoir une heure de début différente. Prenez ces deux événements qui sont les premiers à arriver dans la vue : Symbol Time IBM 09:00: CQST 09:23: Si la vue qui reçoit ces événements les place dans différents cadres Group By, chacun démarre à l'heure de chaque événement et est toujours réinitialisé en fonction de cette heure d'initialisation. Par exemple : SELECT Trades.Symbol, Trades.Time, AVG(Trades.Price) OVER An_Hour AS Avg_Price_One_Hour_Tumble GROUP BY Trades.Symbol, Trades.Time FROM Trades WINDOW An_Hour AS (ORDER BY Trades.Time RANGE INTERVAL '1' HOUR PRECEDING SLIDE) Avec cette définition de vue, un événement arrivant à 09:10 provoque l'expiration de l'événement IBM initial, mais l'événement CQST est conservé dans sa fenêtre pendant au moins 13:02 minutes : il s'agit du temps restant depuis son entrée dans la vue. Clause INITIALIZE Pour que toutes les fenêtres commencent à la même heure, utilisez la clause INITIALIZE. Celle-ci définit le point d'initialisation pour tous les cadres basés sur la définition de fenêtre. Par exemple, pour que toutes les fenêtres commencent à la même heure, initialisez-les sur une date/heure antérieure au premier événement susceptible d'arriver dans la vue. WINDOW An_Hour AS (ORDER BY Trades.Time RANGE INTERVAL '1' HOUR PRECEDING SLIDE INITIALIZE TIMESTAMP ' :00:00.000') Avec cette définition, toutes les fenêtres sont initialisées à la même heure : minuit. Ainsi, chaque cadre expire au tout début de l'heure (lorsque les minutes correspondent à 00:00.000). Comme la fenêtre inclut la clause SLIDE, tous les échanges précédents sont supprimés à l'expiration du cadre, et seuls les nouveaux événements arrivant pendant l'heure en cours sont acceptés. Remarque :cette clause sert de filtre et exclut tous les événements avant l'heure d'initialisation. L'heure d'initialisation est une valeur de littéral de type date/heure : un Littéral TIMESTAMP. Par ailleurs, la valeur de l'initialisation est statique : elle ne peut pas être modifiée après la création de la vue. Autre exemple Cette définition d'initialisation définit l'année fiscale en cours qui commence le 1er juillet de l'année civile : (RANGE INTERVAL '1' YEAR PRECEDING SLIDE INITIALIZE TIMESTAMP ' :00:00')
295 24 Tableaux récapitulatifs Les tableaux récapitulatifs décrivent le contenu d'une vue et présentent ces informations dans un rapport joint à un message d'alerte ou envoyé par un système externe. Fréquemment, les tableaux récapitulatifs fournissent des informations qui replacent l'événement dans son contexte. Par exemple, lorsque le nombre d'unités disponibles pour un produit est bas et que le réapprovisionnement est en retard, une alerte peut avertir le responsable des achats et un tableau récapitulatif joint à l'alerte peut répertorier d'autres fournisseurs de ce produit. Les tableaux récapitulatifs sont joints pour tous les abonnés à l'alerte associée. Il existe deux types de tableaux récapitulatifs : Les tableaux récapitulatifs internes qui sont la représentation visuelle des informations de la vue lorsque l'alerte a généré le tableau récapitulatif. La présentation est une table en texte brut, au format HTML ou une feuille de calcul Microsoft Excel. Elle contient l'ensemble des informations incluses dans la vue. Les tableaux récapitulatifs externes (tiers) sont produits par des systèmes externes d'élaboration de rapports, tels que Business Objects ou Cognos. Ils affichent un rapport en fonction des données qui leur sont transmises lorsque l'utilisateur clique sur un lien pointant vers le système externe. Ce système a en charge la génération et la présentation du rapport. Ce chapitre comprend les sections suivantes : «Création de tableaux récapitulatifs», page 296 «Attributs des tableaux récapitulatifs», page 296 «Attributs des tableaux récapitulatifs externes», page 298 «Vues de tableau récapitulatif», page
296 Tableaux récapitulatifs Guide de référence du serveur Business Activity Monitoring Création de tableaux récapitulatifs 296 Création de tableaux récapitulatifs Pour créer un tableau récapitulatif, vous devez posséder : l'autorisation Création sur les activités commerciales (pour plus d'informations, reportez-vous à la section «Autorisation de création», page 260) ; l'autorisation Lecture et écriture sur l'activité commerciale qui contiendra le tableau récapitulatif ; l'autorisation Lecture seule sur la vue qui alimentera le tableau récapitulatif. Pour créer un tableau récapitulatif : 1. Ouvrez le Modeleur de scénario de BAM Workbench. 2. Ouvrez le scénario qui va contenir le tableau récapitulatif. 3. Cliquez sur l'onglet Tableaux récapitulatifs. 4. Choisissez Nouveau tableau récapitulatif. 5. Sélectionnez le type de tableau récapitulatif à créer. Les tableaux récapitulatifs se présentent sous la forme de tableaux HTML ou de feuilles de calcul Microsoft Excel. Les tableaux récapitulatifs externes (tiers) sont définis et produits par des systèmes externes d'élaboration de rapports, en fonction des données qui leur sont transmises. Remarque :L'option Tableaux récapitulatifs externes n'est disponible que lorsque des liens externes ont été définis. Pour plus d'informations, reportez-vous à la section Utilisation de liens externes du guide Utilisation de Celequest Application Workbench. Utilisation de LiveCycle Workflow Workbench. 6. Complétez les champs d'attributs dans la boîte de dialogue Créer un tableau récapitulatif. Remarque :pour plus d'informations, reportez-vous à la section «Attributs des tableaux récapitulatifs», page 296 ou «Attributs des tableaux récapitulatifs externes», page 298. Enregistrez le tableau récapitulatif comme activé pour qu'il soit prêt à l'emploi. Vous pouvez également créer un tableau récapitulatif lors de la création ou de la modification d'une alerte. Si tel est le cas, le tableau récapitulatif est lié à cette alerte. Attributs des tableaux récapitulatifs Les tableaux récapitulatifs se présentent sous la forme de tableaux HTML ou de feuilles de calcul Microsoft Excel. Ils possèdent les attributs suivants : Attribut Nom Description Description Identifie le tableau récapitulatif. Ce nom ne peut comporter que des lettres et des chiffres. Il doit être unique parmi les tableaux récapitulatifs d'un même scénario. 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.
297 Tableaux récapitulatifs Guide de référence du serveur Business Activity Monitoring Attributs des tableaux récapitulatifs 297 Attribut Etat Vue Options de mise en forme Excel Description Détermine si le tableau récapitulatif est activé ou désactivé. Remarque :Lorsque le scénario correspondant est désactivé, il est impossible d'activer le tableau récapitulatif. Le scénario doit impérativement être activé pour que le tableau récapitulatif le soit également. Vue commerce dont le rapport tire ses données. (facultatif ) Spécifie la mise en forme à appliquer aux tableaux récapitulatifs de type Excel. Laissez la mention <une feuille de calcul vide> pour créer un tableau récapitulatif au format HTML. Modèle Nom de la feuille Adresse de la feuille Spécifie le modèle de feuille de calcul à utiliser pour mettre en forme le tableau récapitulatif. Les options disponibles sont les suivantes : Sélectionner un modèle existant : un modèle déjà créé et téléchargé sur serveur BAM. Nouveau modèle : Ouvre la boîte de dialogue Ajouter un modèle, dans laquelle vous sélectionnez le modèle Microsoft Excel sur votre ordinateur. L'enregistrement et la fermeture de cette boîte de dialogue déclenchent le téléchargement du modèle sur le serveur. Une feuille de calcul vide : utilisez le format de feuille de calcul par défaut de Microsoft Excel. Nom de la feuille de calcul qui va contenir le tableau récapitulatif. Par défaut, Feuil1. Emplacement dans la feuille de calcul, où va être affiché le tableau récapitulatif. Par défaut, A1.
298 Tableaux récapitulatifs Guide de référence du serveur Business Activity Monitoring Attributs des tableaux récapitulatifs externes 298 Attributs des tableaux récapitulatifs externes Les tableaux récapitulatifs externes affichent les rapports en fonction des données qui leur sont transmises lorsque l'utilisateur clique sur un lien pointant vers le système externe (tiers). Ce système a en charge la génération et la présentation du rapport. La définition du tableau récapitulatif externe identifie le lien externe et les informations de vue à transmettre au système externe que ce dernier va ensuite utiliser pour identifier le rapport à présenter. Par exemple, un rapport externe peut présenter un fichier PDF contenant la description complète d'un produit identifié dans une alerte. Les tableaux récapitulatifs externes ont les attributs suivants : Attribut Nom du tableau récapitulatif Etat Description Données de la vue Nom du rapport Description Identifie le tableau récapitulatif. Ce nom ne peut comporter que des lettres et des chiffres. Il doit être unique parmi les tableaux récapitulatifs d'un même scénario. Pour plus de détails, reportez-vous à la section «Espace de nommage d'objets», page 249. Détermine si le tableau récapitulatif est activé ou désactivé. Remarque :Lorsque le scénario correspondant est désactivé, il est impossible d'activer le tableau récapitulatif. Le scénario doit impérativement être activé pour que le tableau récapitulatif le soit également. Description facultative qui peut contenir tous les caractères de texte. Vue commerce dont le rapport tire ses données. Contient les données de colonne à envoyer au rapport externe. Nom du rapport dans le système externe. Il s'agit de l'élément DocName mentionné dans l'url qui communique avec le système de rapport externe : du rapport> Paramètres du rapport Paramètres à transmettre au système externe. Chaque paramètre correspond à une colonne dans la vue. Le tableau récapitulatif remplace la valeur de chaque colonne nommée dans l'url. Par exemple, l'url se présente comme suit :...?DocName=<Nom du rapport>¶meter1=prod_id&... Elle est similaire à celle ci-dessous lorsqu'elle est envoyée au système externe :...?DocName=<Nom du rapport>&product="product_id"&... Afficher le lien Affiche l'url complète qui sera mentionnée dans le message d'alerte. Il s'agit du lien permettant d'accéder au système de rapport externe. Les URL utilisées pour communiquer avec le système de rapport externe commencent par la chaîne définie pour le rapport dans la liste Liens externes de l'onglet BAM Workbench dans BAM Workbench. Pour plus d'informations sur ces éléments de localisation, reportez-vous à la section Utilisation de liens externes du guide Utilisation de Celequest Application Workbench. Utilisation de LiveCycle Workflow Workbench.
299 Tableaux récapitulatifs Guide de référence du serveur Business Activity Monitoring Vues de tableau récapitulatif 299 Vues de tableau récapitulatif Les tableaux récapitulatifs extraient leurs informations de la vue commerce sur laquelle l'alerte est basée ou de toute vue provenant de la même source d'événements (dans le même flux d'événements). Prenons l'exemple d'une règle qui a généré l'alerte client basée sur la vue InventoryLow. Une autre vue, AvailableSuppliers, ajoute du contexte en indiquant d'autres fournisseurs. Le tableau récapitulatif joint à l'alerte peut tirer des informations de l'une ou l'autre de ces vues. De plus, comme la vue ShippingNotices est générée à partir de la même source d'événements, vous pouvez également en extraire des informations. Toutefois, vous ne pourrez pas extraire des informations de la vue OrderDetails car elle appartient à un autre flux d'événements. Fournisseurs disponibles ShippingNotices InventoryLow OrderDetails Customer WarehouseEvent Product Supplier OrderEvent Pour en savoir plus sur les informations fournies dans la vue du tableau récapitulatif, reportez-vous à la section «Filtrage des tableaux récapitulatifs», page 50. Notez que la vue du tableau récapitulatif ne peut pas être une jointure synchronisée. Pour plus de détails, reportez-vous à la section «Jointures synchronisées», page 358.
300 25 Rôles Les rôles définissent les autorisations dont dispose chaque utilisateur et permettent d'attribuer les mêmes autorisations à des objets et groupes de confiance, sans avoir à répéter l'opération pour chaque utilisateur du groupe. Ce chapitre comprend les sections suivantes : «Création de rôles», page 302 «Attributs de rôle», page
301 Rôles Guide de référence du serveur Business Activity Monitoring Présentation 301 Présentation Les rôles définissent le nombre minimum d'autorisations associées aux Utilisateurs. Ils permettent d'attribuer rapidement les mêmes autorisations à un objet ou une classe d'objets et à des groupes d'utilisateurs sans avoir à répéter l'opération pour chaque membre. Par exemple, un rôle d'opérateur peut attribuer toutes les autorisations à des agents mais pas à des événements ni à des objets d'activité commerciale, tandis qu'un rôle de développeur d'application peut posséder toutes les autorisations sur l'ensemble des objets, à l'exception des agents. Les utilisateurs peuvent avoir aucun, un ou plusieurs rôles. Pour connaître les rôles d'un utilisateur, modifiez le compte utilisateur et affichez l'onglet Détails de l'utilisateur. Pour voir les rôles qui sont les vôtres, cliquez sur Paramètres de compte et affichez l'onglet. L'autorisation accordée à un utilisateur d'effectuer une opération donnée correspond au niveau maximum de toutes les autorisations associées aux rôles de cet utilisateur et à chacune des autorisations attribuées à l'utilisateur sur l'objet. Prenons le cas d'un utilisateur avec deux rôles : le premier avec un accès en lecture seule à la classe de vues, le second avec un accès en lecture et en écriture. L'autorisation maximum sur les vues de cet utilisateur est Lecture et écriture. Par conséquent, il peut modifier des vues. Lorsqu'un utilisateur possède plusieurs rôles avec des autorisations contradictoires sur un objet, c'est l'autorisation la plus élevée qui a priorité. Cet utilisateur dispose donc d'un accès en Lecture et écriture. Lecture et écriture Rôle 1 Rôle 2 Lecture seule De même, si un utilisateur dispose du rôle Lecture seule sur l'ensemble des vues mais qu'il a personnellement reçu le rôle Lecture et écriture sur une vue particulière, il peut modifier cette vue. Lorsqu'une autorisation d'un utilisateur contredit un rôle, c'est l'autorisation la plus élevée qui est appliquée. Cet utilisateur dispose donc d'un accès en Lecture et écriture. Autorisation spécifique Lecture et écriture Rôle Lecture seule Remarque :Pour plus d'informations sur des niveaux d'accès spécifiques, reportez-vous à la section «Autorisations», page 255. Les interactions inhabituelles entre les autorisations et les rôles sont décrites dans les sections traitant de l'objet en question. Les rôles sont des objets qui gèrent des listes répertoriant les utilisateurs et leurs autorisations. Comme tous les autres objets Business Activity Monitoring ES, les rôles sont protégés par des autorisations. Seuls les utilisateurs qui possèdent certaines autorisations sur un rôle ou sur tous les rôles peuvent effectuer cette action sur le rôle. Par exemple, pour ajouter des utilisateurs à un rôle, vous devez disposer de l'autorisation Lecture et écriture sur ce rôle. Pour connaître les rôles définis dans l'installation, reportez-vous à la liste des rôles dans la section Console d administration du document BAM Workbench.
302 Rôles Guide de référence du serveur Business Activity Monitoring Création de rôles 302 Création de rôles Pour créer des rôles, vous devez posséder l'autorisation Création sur les rôles. Pour chaque classe d'objets, vous pouvez attribuer jusqu'à l'autorisation la plus élevée que vous possédez sur cette classe. Par exemple, si vous possédez l'autorisation Création sur une classe, vous pouvez lui attribuer les autorisations suivantes : Aucun accès, Lecture seule, Lecture et écriture Création Pour créer un rôle : 1. Ouvrez le Console d administration. 2. Cliquez sur Rôles pour afficher la liste des rôles actuellement définis. 3. Cliquez sur Nouveau rôle. 4. Précisez les attributs du rôle, attribuez les autorisations d'accès et désignez les membres du rôle. 5. Enregistrez le rôle pour pouvoir l'utiliser. Attributs de rôle Chaque rôle possède les attributs suivants : Attribut Nom Description Droits d'accès Membres Description Identifie l'objet du rôle. Ce nom ne peut comporter que des lettres et des chiffres. Il doit être unique parmi les rôles. 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. Autorisations pour chaque classe d'objets attribuée à ce rôle. Il s'agit des autorisations minimum. Un utilisateur peut posséder une autorisation supérieure attribuée individuellement à la classe (reportez-vous à la section «Onglet Autorisations de l'utilisateur», page 341) ou à un objet donné. Utilisateurs associés à ce rôle.
303 26 Règles Les règles recherchent dans les activités commerciales des valeurs qui répondent à certains critères. Les conditions de règle sont des formules du type de celles qu'on rencontre dans un tableur. Elles évaluent des mesures commerciales changeantes, qui recherchent des conditions exceptionnelles. Lorsqu'une condition est détectée, une alerte de cet incident est envoyée au personnel concerné. 1. Les règles contrôlent les expressions qui évaluent les vues. IS Status = 'Open'? 2. Lorsque l'expression est vérifiée, une action est exécutée. WHEN [ Status = 'Open' ] FIRE [ myalert ] Vous pouvez créer des règles qui envoient des alertes chaque fois que la condition existe (FIRE), qui envoient des alertes une seule fois et ignorent les événements suivants tant que la condition initiale n'est pas résolue (RAISE) ou qui réinitialisent (LOWER) les règles précédemment émises. Remarque :Avant la version 3.2, la règle ne pouvait contrôler que les vues obtenues à partir de la vue par défaut du scénario. Cette restriction n'existe plus. Ce chapitre comprend les sections suivantes : «Création de règles», page 304 «Attributs de règle», page 305 «Condition de règle», page 306 «Action de règle», page 306 «Contrôle des alertes», page 307 «Contrôle du journal système», page
304 Règles Guide de référence du serveur Business Activity Monitoring Création de règles 304 Création de règles Vous pouvez soit créer, soit cloner et modifier des règles. Les deux opérations requièrent que l'utilisateur possède l'autorisation Création sur les activités commerciales (pour plus d'informations, reportez-vous à la section «Autorisation de création», page 260), l'autorisation Lecture et écriture sur l'activité commerciale qui contiendra la règle, et l'autorisation Lecture seule sur la vue qui alimentera la règle. Pour créer une règle : 1. Ouvrez le modeleur de scénario. 2. Ouvrez une activité commerciale. 3. Ouvrez un scénario. 4. Cliquez sur le bouton Nouvelle règle. 5. Spécifiez les attributs de la règle (décrits ci-après) à l'étape 1 du formulaire Définition de règle. De plus : Choisissez la source de données que la règle doit contrôler. 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. Eventuellement, vous pouvez également appliquer un filtre qui restreint encore davantage les données que la règle va contrôler. Si la source contient des données, celles-ci s'affichent et vous fournissent un échantillon de ce à quoi vous pouvez vous attendre. Lorsque la source est vide, le formulaire affiche simplement les noms des colonnes et le message Aucune donnée disponible. Dans Action effectuée, identifiez l'alerte à activer lorsque la condition de règle est satisfaite. Effectuez l'une des opérations suivantes : Sélectionnez une alerte en cliquant dessus dans le champ Effet de la règle. Cliquez sur Suivant pour accéder au formulaire Définition de l'alerte et définissez ou modifiez l'alerte. Pour plus d'informations sur les champs de ce formulaire, reportez-vous à la section «Attributs des alertes», page Terminez de créer la règle. Si la règle a été enregistrée avec l'état activé, elle commence instantanément à rechercher les événements dans la vue. Pour cloner une règle : 1. Modifiez la règle que vous souhaitez cloner. 2. Modifiez le nom de la règle et les attributs qui doivent différer de ceux de la règle d'origine. 3. Sélectionnez Enregistrer sous Nouvelle règle.
305 Règles Guide de référence du serveur Business Activity Monitoring Attributs de règle 305 Attributs de règle Chaque règle possède les attributs suivants : Attribut Source de données Nom Etat Description Condition de règle Correspondant à Action effectuée Description Identifie la vue commerce ou le cube que la règle surveille. Identifie l'objet de la règle. Ce nom ne peut comporter que des lettres et des chiffres. Il doit être unique parmi les règles 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 :Lorsque le scénario correspondant est désactivé, il est impossible d'activer la règle. Le scénario doit impérativement être activé pour que la règle le soit également. Description facultative qui peut contenir tous les caractères de texte. Formule vraie ou fausse, du type de celle qu'on trouve dans un tableur, qui est exécutée sur la vue commerce associée. Lorsque la formule est vérifiée (True), la condition est remplie et le système envoie l'alerte correspondante. Pour plus de détails, reportez-vous à la section «Condition de règle», page 306. N'envoie l'alerte que lorsque la condition est vérifiée pendant la durée spécifiée. Aucune alerte n'est émise si la condition n'est plus vérifiée avant l'expiration du délai. Lorsque vous omettez la durée, le système envoie l'alerte dès que la condition est détectée. Pour spécifier une valeur, procédez au choix comme suit : Saisissez un nombre indiquant la longueur du délai. Indiquez le nom d'une colonne dans la vue qui contient le nombre. Lorsque vous utilisez cette option, la règle récupère la valeur à partir de l'événement dans la vue. Remarque :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. Action effectuée lorsque la condition est remplie. Les règles peuvent envoyer des alertes chaque fois que la condition est vérifiée (FIRE), envoyer des alertes une seule fois et ignorer les événements suivants tant que la condition initiale n'est pas rétablie (RAISE) ou réinitialiser (LOWER) les règles précédemment émises. Pour plus de détails, reportez-vous à la section «Action de règle», page 306.
306 Règles Guide de référence du serveur Business Activity Monitoring Condition de règle 306 Condition de règle Une condition de règle est une formule qui teste la ligne de la vue commerce associée et qui recherche une condition spécifique. Lorsque la condition est remplie, l'action de la règle active une alerte. Les formules peuvent rechercher tout simplement une valeur dans une colonne de la vue, comme Status='Resolved', ou être des expressions booléennes complexes qui comprennent des fonctions, des opérateurs et des parenthèses, comme (Status='Resolved' OR Status='Assigned') AND UPPER(cust_tier)='HIGH'. Une condition de règle peut contenir un nombre illimité de références de colonne, d'opérateurs et de fonctions. Toutefois, elle doit respecter les critères suivants : Le résultat de la formule doit être de type booléen et renvoyer une valeur vraie (True) ou fausse (False). Action de règle Toutes les références de colonne doivent figurer dans la vue commerce associée. Seules les fonction scalars (qui ne s'appliquent qu'à une seule ligne d'une vue) peuvent être utilisées. Pour afficher la liste des fonctions disponibles, cliquez sur Plus de fonctions lorsque vous saisissez la condition de règle. Pour une description détaillée de ces fonctions, reportez-vous à la section «Fonctions», page 115. Les règles peuvent avoir l'un des trois effets suivants : Envoyer des alertes à chaque fois que la condition est remplie (envoyer). Une action «envoyer» transmet l'alerte dès qu'une règle identifie une condition exceptionnelle. Par exemple, dans un centre de support client qui gère les problèmes des clients sous la forme de tickets d'événement, une alerte peut être émise chaque fois qu'un nouveau ticket est ouvert. Envoyer des alertes une seule fois et ignorer les événements suivants jusqu'à ce que la condition initiale soit rétablie (lancer). Une action RAISE envoie un message d'alerte lorsque la condition de la règle s'applique mais qu'elle ignore les événements suivants jusqu'au rétablissement de la condition initiale. Cette action est utile pour éviter les alertes multiples dans les situations où la condition de règle est vérifiée pour plusieurs événements liés. Par exemple, si un ticket de problème client ouvert est modifié, il est inutile d'émettre une autre alerte pour la modification, même si le second événement reste dans l'état «ouvert». L'option «pour une occurrence précise» vous permet d'envoyer une seule fois des alertes, à chaque occurrence spécifique de la colonne nommée. Par exemple, pour envoyer une alerte à chaque ouverture d'un ticket de problème, vous pouvez désigner Ticket comme colonne d'occurrences spécifiques. Ainsi, une alerte est émise à chaque ouverture d'un ticket, mais elle est ignorée pour tous les événements suivants de ce ticket tant qu'il conserve l'état «ouvert». Réinitialiser (LOWER) les règles précédemment activées pour leur permettre d'envoyer des alertes.
307 Règles Guide de référence du serveur Business Activity Monitoring Occurrences spécifiques 307 Occurrences spécifiques Lorsqu'une règle RAISE active une alerte, cette dernière n'est pas réactivée les règles RAISE suivantes de l'alerte sont ignorées jusqu'à ce que la règle LOWER la réinitialise. Par exemple, avec la condition de règle «Status=Open», le premier événement ci-dessous active l'alerte, mais les suivants sont ignorés tant que l'état de l'alerte n'est pas réinitialisé. Par exemple : Ticket Status Open << Raise 0706 Open << Ignore 0704 Open << Ignore 0705 Open << Ignore Dans cet exemple, vous souhaiteriez probablement émettre une alerte pour chaque événement d'ouverture. Pour ce faire, vous pouvez utiliser la condition «pour une occurrence spécifique» qui active une instance de l'alerte pour chaque occurrence des valeurs dans les colonnes spécifiées. Raise somealert when Status = 'Open' for unique occurrences of Ticket. En désignant la colonne Ticket comme colonne spécifique, une instance d'alerte est activée et un message est envoyé pour chaque événement d'ouverture qui n'a aucune instance pour le numéro de ticket spécifié. De même, vous pouvez réinitialiser chaque instance d'alerte individuellement avec des règles Lower spécifiques. Lower somealert when Status = 'Open' for unique occurrences of Ticket. Remarque :si vous ignorez les champs spécifiques dans la règle Lower, la règle va réinitialiser toutes les instances de l'alerte qui ont été émises. Contrôle des alertes En général, les règles analysent les vues commerce et recherchent des mesures qui correspondent à certains critères. Toutefois, les règles peuvent également contrôler les alertes générées qui recherchent des conditions requérant une attente particulière, à l'aide de la fonction IS_RAISED(). Contrôler une alerte et en envoyer une seconde lorsque la première reste émise. Première règle Seconde règle Première alerte Seconde alerte Par exemple, si une alerte envoyée 4 heures plus tôt est toujours active, une autre règle peut le remarquer et envoyer une autre alerte à un échelon supérieur. Dans ces descriptions de règle, l'alerte EscalateAlert est émise lorsque OpenAlert est active pendant au moins 4 heures : Raise OpenAlert when Status = 'Open' Reset OpenAlert when Status <> 'Open' Raise EscalateAlert when IS_RAISED('OpenAlert') holds for 4 HOUR. Reset EscalateAlert when NOT IS_RAISED('OpenAlert')
308 Règles Guide de référence du serveur Business Activity Monitoring Alertes spécifiques 308 Alertes spécifiques Lorsqu'une alerte est générée pour des occurrences uniques de champs, le système garde la trace de chaque alerte grâce à ces valeurs de champ. Par exemple, la règle suivante émet des alertes et contrôle celles qui sont ouvertes grâce aux valeurs uniques dans le champ Ticket : Raise OpenAlert when Status = 'Open' for unique occurrences of Ticket Pour gérer correctement cette alerte, la règle contenant IS_RAISED() requiert la même condition : Raise EscalateAlert when IS_RAISED('OpenAlert') holds for 4 HOUR for unique occurrences of Ticket Si vous omettez la condition de champ spécifique, l'alerte EscalateAlert n'est émise que pour la première alerte OpenAlert. De même, vous devez réinitialiser les alertes avec des conditions de règle propres aux mêmes champs, sinon, vous réinitialisez toutes les alertes émises. Reset OpenAlert when Status <> 'Open' for unique occurrences of Ticket Reset EscalateAlert when NOT IS_RAISED('OpenAlert') for unique occurrences of Ticket Contrôle du journal système Business Activity Monitoring ES génère des messages qui facilitent la maintenance du logiciel en produisant des rapports analysables par les utilisateurs finals, les administrateurs système, les ingénieurs d'exploitation et les équipes de développement de logiciels. Pour plus d'informations sur le système de journalisation, reportez-vous à la section Introduction à la journalisation du guide Utilisation de Business Activity Monitoring Workbench. Vous pouvez créer une règle contrôlant les messages qui recherchent des conditions d'erreur à priorité élevée et qui les signalent aux administrateurs clés. Pour ce faire, procédez comme indiqué dans la section Contrôle des journaux du guide Utilisation de Business Activity Monitoring Workbench.
309 27 Salesforce Vous pouvez consulter et importer des tables à partir d'un système Salesforce. La procédure se déroule en deux étapes. La première consiste à créer un agent Salesforce qui se connecte aux tables Salesforce. La seconde, à utiliser un assistant d'extraction distinct pour importer les événements et les contextes Salesforce. Les objets Salesforce importés peuvent ensuite être utilisés comme sources de données pour les objets de tableau de bord comme les vues commerce et les cubes. Ce chapitre comprend les sections suivantes : «Création d'un agent Salesforce», page 310 «Importation d'événements et de contextes Salesforce», page 311 «Fonction Flatten de Salesforce», page 313 «Fonction Picklist de Salesforce», page 314 «Console d'administration Salesforce», page
310 Salesforce Guide de référence du serveur Business Activity Monitoring Création d'un agent Salesforce 310 Création d'un agent Salesforce Un agent Salesforce importe les tables Salesforce à utiliser dans des événements et des contextes. Pour créer un agent Salesforce : 1. Ouvrez la BAM Workbench Console d administration. 2. Cliquez sur Nouvel agent. 3. Choisissez Salesforce comme type de source. Lorsque vous sélectionnez le type de source, les paramètres suivants réapparaissent pour montrer les paramètres appropriés au type concerné. 4. Entrez un nom dans le champ Nom et sélectionnez Activé dans Etat. 5. Entez un Nom d'utilisateur et un Mot de passe. Sélectionnez Salesforce dans Type d'agent. Entrez des détails sur l'agent Salesforce. 6. Cliquez sur OK. Vous pouvez maintenant utiliser un assistant pour importer des événements et des contextes Salesforce dans BAM Workbench en suivant la procédure décrite dans la section suivante.
311 Salesforce Guide de référence du serveur Business Activity Monitoring Importation d'événements et de contextes Salesforce 311 Importation d'événements et de contextes Salesforce Suivez la procédure ci-dessous pour utiliser l'assistant Importer un objet Salesforce. Pour importer des événements et des contextes Salesforce : 1. Ouvrez la BAM Workbench Console d administration. 2. Cliquez sur Assistants dans Navigation. Cette action affiche les assistants disponibles dans le panneau principal à droite. 3. Cliquez sur Assistant Importer un objet Salesforce. La boîte de dialogue Assistant Importer un objet Salesforce apparaît. Sélectionnez les utilisateurs de Salesforce à importer. Sélectionnez les tables Salesforce à importer dans l'événement. Sélectionnez les tables Salesforce à importer dans le contexte. 4. Dans Agent Salesforce, sélectionnez l'agent que vous avez créé dans la section «Création d'un agent Salesforce», page Sélectionnez les utilisateurs à importer dans Liste des utilisateurs. 6. Sélectionnez les tables à importer dans la zone Liste des tables de l'événement et cliquez sur Ajouter. Lorsque vous ajoutez une table, elle disparaît de la zone Liste des tables et apparaît dans la liste Tables sélectionnées. Pour la faire revenir dans la première liste, cliquez sur Supprimer.
312 Salesforce Guide de référence du serveur Business Activity Monitoring Importation d'événements et de contextes Salesforce Sélectionnez les tables à importer dans la zone Liste des tables du contexte et cliquez sur Ajouter. Lorsque vous ajoutez une table, elle disparaît de la zone Liste des tables et apparaît dans la liste Tables sélectionnées. Pour la faire revenir dans la première liste, cliquez sur Supprimer. 8. Cliquez sur OK. Les événements et les contextes sont créés à partir des tables sélectionnées dans Application Workbench, en ajoutant respectivement _events et _context aux noms de table indiqués dans les zones Evénements et Contextes. Par exemple, si vous avez importé la table Salesforce Account dans un événement, elle porte le nom d'événement Account_event. Remarque :Si une table de la liste Tables sélectionnées est utilisée pour un événement ou un contexte, vous ne pouvez pas la supprimer de cette liste. Vous devez tout d'abord supprimer l'événement ou le contexte.
313 Salesforce Guide de référence du serveur Business Activity Monitoring Fonction Flatten de Salesforce 313 Fonction Flatten de Salesforce Les agents Salesforce disposent d'une fonction Flatten qui aplatit une table Salesforce. Toutefois, la table ne peut être aplatie que si elle représente une structure arborescente, dans laquelle le premier niveau correspond à l'élément racine de l'arborescence. Une fois la table aplatie, chaque ligne de la nouvelle table représente un nœud feuille de l'arborescence d'origine. Prenons l'exemple de la table suivante : NodeName NodeID NodeParentId A 1 NULL B 2 1 C 3 1 D 4 2 E 5 2 F 6 5 G 7 5 Cette table peut être représentée par l'arborescence ci-dessous. Cette arborescence compte quatre niveaux, avec l'élément A situé au niveau 0. A Niveau 0 B C Niveau 1 D E Niveau 2 F G Niveau 3 Après aplatissement, les lignes de la nouvelle table représentent les nœuds feuilles C, D,F et G. Level0 Level1 Level2 Level3 A B D NULL A B E F A B E G A C NULL NULL Syntaxe Cette fonction respecte la syntaxe suivante : FLATTEN( tablename, idcolumnname, parentidcolumnname, namecolumn, prefixforlevelcolumns )
314 Salesforce Guide de référence du serveur Business Activity Monitoring Fonction Picklist de Salesforce 314 Paramètres Les paramètres de la fonction sont définis comme suit : tablename : nom de la table à aplatir. idcolumnname : Colonne d'id de la table (c'est-à-dire la colonne à laquelle parentidcolumnname sera liée). Par exemple, dans la description ci-dessus, la valeur de idcolumnname est NodeID. parentidcolumnname : Colonne contenant les ID des nœuds parents de chaque ligne. Par exemple, dans la description ci-dessus, le nœud A a l'id 1 et est parent du nœud B. Par conséquent, l'id parent du nœud B dans la colonne NodeParentID est 1. De même, le nœud parent du nœud D est le nœud B, et le NodeParentID du nœud D est 2 car l'id du nœud B est 2. namecolumn : colonne contenant les données à afficher dans la table aplatie. prefixforlevelcolumns : Préfixe qui sera ajouté à la colonne. Dans la description ci-dessus, le préfixe est Level. Remarques Pour que la fonction Flatten fonctionne correctement, la mise en cache de la prélecture doit être activée dans votre contexte. Pour plus d'informations sur l'activation de la mise en cache, reportez-vous à la section «Mise en cache des requêtes de contexte», page 62. Exemple Voici une table avant son aplatissement. Voici cette même table après son aplatissement avec la fonction : flatten(userrole, ID, ParentRoleID, Name, cq_) Fonction Picklist de Salesforce Outre la fonction Flatten, les agents Salesforce proposent également la fonction Picklist. Celle-ci renvoie une colonne contenant les valeurs possibles d'une colonne proposant plusieurs choix dans Salesforce.
315 Salesforce Guide de référence du serveur Business Activity Monitoring Fonction Picklist de Salesforce 315 Syntaxe Cette fonction respecte la syntaxe suivante : PICKLIST( tablename,picklistcolumn ) Paramètres Les paramètres de la fonction sont définis comme suit : tablename : nom de la table à partir de laquelle renvoyer la colonne de données. picklistcolumn : colonne de la table spécifiée par tablename, à renvoyer. Remarques Pour que la fonction Picklist fonctionne correctement, la mise en cache de la prélecture doit être activée dans votre contexte. Pour plus d'informations sur l'activation de la mise en cache, reportez-vous à la section «Mise en cache des requêtes de contexte», page 62. La colonne à renvoyer doit être une colonne proposant une liste de sélections. Exemple La fonction Picklist suivante renvoie les valeurs possibles dans la colonne LeadSource de la table Opportunity. picklist(opportunity,leadsource) La capture d'écran ci-dessous montre la table Opportunity. La fonction Picklist extrait la colonne LeadSource.
316 Salesforce Guide de référence du serveur Business Activity Monitoring Console d'administration Salesforce 316 Console d'administration Salesforce Pour obtenir un compte Salesforce.com, vous devez avoir accès à la console d'administration Celequest LAVA pour AppExchange. Pour accéder à cette console, entrez l'adresse suivante dans votre navigateur : Dans la page qui s'affiche, indiquez les éléments suivants : votre prénom et votre nom ; votre titre ; le nom de votre société ; votre numéro de téléphone ; votre adresse électronique ; le nom de l'administrateur ; le module couvert (sélectionnez 14 jours d'essai ou Abonnement au service standard). Indiquez les noms des autres utilisateurs de ce compte dans le champ Liste des utilisateurs. Cliquez sur Soumettre. Vous allez recevoir un courrier électronique confirmant l'envoi de votre requête et vous précisant qu'un représentant vous contactera pour confirmer l'envoi et vous informer des étapes suivantes permettant de finaliser la configuration.
317 28 SAP Connectivity Vous pouvez consulter et importer des tables de faits (sous la forme d'objets ODS) et des cubes (sous la forme de cubes OLAP) à partir d'un système SAP. Le processus se déroule en trois étapes. La première consiste à créer un agent JDBC standard qui se connecte à la base de données SAP. La deuxième, à créer un agent ERP qui utilise un agent JDBC de métadonnées SAP pour accéder au système SAP en tant que type source. Et la troisième, à utiliser un assistant d'extraction tiers pour importer les objets ODS ou les cubes OLAP. Les objets ODS et les cubes importés sont ensuite utilisés comme sources de données pour les objets de tableau de bord comme les vues commerce et les cubes. Ce chapitre comprend les sections suivantes : «Création d'un agent SAP», page 318 «Importation d'objets ODS», page 319 «Importation de cubes OLAP», page
318 SAP Connectivity Guide de référence du serveur Business Activity Monitoring Création d'un agent SAP 318 Création d'un agent SAP Un agent SAP est un agent ERP qui utilise un agent JDBC pour accéder à la base de données du système SAP. Pour créer un agent SAP : 1. Ouvrez la BAM Workbench Console d administration. 2. Créez un agent JDBC qui se connecte à la base de données SAP. Pour plus d'informations sur la création d'un agent JDBC, reportez-vous à la section «Agents JDBC», page Cliquez sur Nouvel agent. 4. Choisissez ERP comme type de source. Lorsque vous sélectionnez le type de source, les paramètres suivants réapparaissent pour montrer les paramètres appropriés au type concerné. 5. Entrez un nom dans le champ Nom et sélectionnez Activé dans Etat. 6. Dans Type de source ERP, sélectionnez SAP (ou une variante de SAP). Remarque :cette sélection peut entraîner le réaffichage des paramètres de connectivité en dessous. Sélectionnez ERP comme Type d'agent. Sélectionnez SAP dans Type de source ERP et l'agent JDBC créé comme agent SAP.
319 SAP Connectivity Guide de référence du serveur Business Activity Monitoring Importation d'objets ODS Dans Agent JDBC, sélectionnez l'agent JDBC que vous avez créé précédemment pour vous connecter à la base de données SAP. 8. Saisissez les paramètres appropriés dans la zone Paramètres de connectivité des métadonnées ERP. 9. Cliquez sur OK. Vous pouvez maintenant utiliser un assistant pour importer des objets ODS et des cubes OLAP dans BAM Workbench, comme décrit dans les sections suivantes. Importation d'objets ODS Suivez la procédure ci-dessous pour utiliser l'assistant Importer un objet ODS. Pour importer des objets ODS à partir d'un système SAP : 1. Ouvrez la BAM Workbench Console d administration. 2. Cliquez sur Assistants dans Navigation. Cette action affiche les assistants disponibles dans le panneau principal à droite. 3. Cliquez sur Assistant Importer un objet ODS. La boîte de dialogue Importer une table ODS apparaît. 4. Dans Agent ERP, sélectionnez l'agent que vous avez créé à l'étape «Création d'un agent SAP», page Sélectionnez le Groupe d'infos contenant l'objet ODS souhaité.
320 SAP Connectivity Guide de référence du serveur Business Activity Monitoring Importation d'objets ODS Cette sélection affiche des options dans la liste déroulante Table à importer. Sélectionnez l'agent ERP précédemment configuré. Sélectionnez la table de faits souhaitée dans la liste proposée. 7. Dans la liste déroulante Table à importer, sélectionnez la table de faits souhaitée. 8. Spécifiez les paramètres d'importation suivants : Dans Importer sous..., indiquez le nom qui va identifier l'événement ou le contexte dans BAM Workbench. Dans Description, saisissez éventuellement une description. Spécifiez le mode selon lequel l'objet ODS importé sera utilisé : Evénement (deux options) ou Contexte. Remarque :pour plus d'informations sur les événements et les contextes, reportez-vous aux sections «Evénements», page 90 et «Contexte», page Cliquez sur OK. L'objet ODS sélectionné est importé et accessible via les événements ou les contextes, selon les options d'importation sélectionnées.
321 SAP Connectivity Guide de référence du serveur Business Activity Monitoring Importation de cubes OLAP 321 Importation de cubes OLAP Suivez la procédure ci-dessous pour utiliser l'assistant Importer un cube ERP. Pour importer des cubes OLAP à partir d'un système SAP : 1. Ouvrez la BAM Workbench Console d administration. 2. Cliquez sur Assistants dans Navigation. Cette action affiche les assistants disponibles dans le panneau principal à droite. 3. Cliquez sur Assistant Importer un cube ERP. La boîte de dialogue Importer un cube ERP apparaît. 4. Dans Agent ERP, sélectionnez l'agent que vous avez créé à l'étape «Création d'un agent SAP», page Sélectionnez le cube à importer. 6. Dans le champ Importer sous, acceptez la valeur par défaut (les mêmes noms que dans SAP) ou saisissez un autre nom identifiant le cube importé dans BAM Workbench. Sélectionnez l'agent ERP précédemment configuré. Sélectionnez le cube souhaité dans la liste. 7. Cliquez sur OK. La table de faits sélectionnée est importée et accessible via le panneau Cubes.
322 29 Scénarios Un scénario est un ensemble de règles, d'alertes et de tableaux récapitulatifs qui identifient des conditions commerciales exceptionnelles. Les règles du scénario correspondent aux tests qui déterminent à quel moment une condition exceptionnelle existe ou n'existe plus. 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. Conseils : Supprimer un scénario supprime les règles, les alertes et les tableaux récapitulatifs qu'il contient. Désactiver un scénario désactive les règles, les alertes et les tableaux récapitulatifs qu'il contient. Ce chapitre comprend les sections suivantes : «Création de scénarios», page 323 «Attributs des scénarios», page 323 «Suppression de scénarios», page
323 Scénarios Guide de référence du serveur Business Activity Monitoring Création de scénarios 323 Création de scénarios Pour créer un scénario, vous devez disposer des autorisations suivantes : l'autorisation Création sur les activités commerciales (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260) ; l'autorisation Lecture et écriture sur l'activité commerciale qui contient le scénario ; (facultatif ) l'autorisation Lecture seule sur la vue par défaut du scénario. Pour créer un scénario : 1. Ouvrez le modeleur de scénario. 2. Sélectionnez l'activité commerciale qui contiendra le scénario. 3. Cliquez sur Nouveau scénario. 4. Renseignez les champs de la boîte de dialogue Nouveau scénario. Attributs des scénarios Chaque scénario possède les attributs suivants : Attribut Etat du dossier Nom du scénario Description Vue Description de la vue Description Indique si la règle est activé (réception d'informations sur les nouveaux événements) ou désactivé. Lorsqu'un scénario est désactivé, l'ensemble de ses règles, alertes et tableaux récapitulatifs l'est également. Remarque :Si l'activité commerciale qui contient le scénario est désactivée, vous ne pouvez pas activer ce scénario. L'activité commerciale doit être activée pour pouvoir en activer le scénario. Identifie l'objet du scénario. Ce nom ne peut comporter que des lettres et des chiffres. Il doit être unique parmi les scénarios. 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 type texte. Identifie la vue commerce par défaut que les règles de ce scénario contrôlent et qui est rapportée dans les tableaux récapitulatifs. Le message «Aucune vue par défaut» indique que vous devez sélectionner une vue pour les règles et les tableaux récapitulatifs au moment de leur création. Affiche la description de la vue sélectionnée.
324 Scénarios Guide de référence du serveur Business Activity Monitoring Suppression de scénarios 324 Suppression de scénarios Supprimer un scénario supprime les règles, les alertes et les tableaux récapitulatifs qu'il contient. Une fois supprimés, ils ne peuvent pas être restaurés. Pour supprimer un scénario : 1. Ouvrez le modeleur de scénario. 2. Sélectionnez l'activité commerciale qui contient le scénario. 3. Sélectionnez le scénario à supprimer. 4. Cliquez sur Supprimer le scénario.
325 30 SELECT Les instructions C-SQL SELECT définissent les vues qui gèrent les informations dans Business Activity Monitoring ES. BAM Workbench crée des instructions SELECT en fonction des vues que vous définissez dans son interface utilisateur graphique, puis les transmet au(x) serveur(s) serveur BAM en vue de leur instanciation. Pour visualiser l'instruction SELECT complète qui définit une vue dans BAM Workbench, cliquez sur l'option Affichage d expressions SQL lors de la création ou de la modification d'une vue. Certaines fonctions avancées de la commande SELECT ne peuvent pas être exprimées par les options de BAM Workbench. Par exemple, vous devez entrer manuellement des conditions de jointure complexes, des fenêtres de requêtes et des expressions de table dans les champs de l'interface utilisateur. Cette section décrit en détail la syntaxe et les fonctions de la commande C-SQL SELECT. Remarque :La commande C-SQL SELECT est un sous-ensemble et une extension d'ansi SQL-99, standard de langage de requête. L'implémentation de C-SQL prend en charge les jointures externes à l'aide de la syntaxe de jointure externe ANSI (jointure externe gauche et jointure externe droite) et les fonctions d'agrégation de la clause SELECT. Par ailleurs, chaque instruction individuelle est traitée comme une transaction et validée dès son exécution. Ce chapitre comprend les sections suivantes : «Syntaxe», page 326 «Liste Select», page 326 «Clause FROM», page 329 «Clause WHERE», page 332 «Clause GROUP BY», page 333 «Clause ORDER BY», page
326 SELECT Guide de référence du serveur Business Activity Monitoring Syntaxe 326 Syntaxe Les opérateurs qui définissent les spécifications SELECT sont les suivants : SELECT selectlist FROM joinclauses [ WHERE searchcondition ] [ GROUP BY groupclause ] [ WINDOW windowclause ] [ ORDER BY orderclause ] Les opérateurs sont appliqués dans l'ordre suivant : 1. Clause FROM : spécifie les tables ou les vues de base qui fournissent des données à cette vue. 2. Clause WHERE (facultative) : filtre l'entrée pour qu'elle corresponde aux critères spécifiés. 3. Clause GROUP BY (facultative) : regroupe la table finale sur une ou plusieurs colonnes. 4. Liste Select : définit les colonnes qui s'afficheront dans la table finale. 5. Clause WINDOW (facultative) : Définit les fenêtres utilisées par les fonctions agrégées de la liste Select. Cette clause est décrite dans la section «Fenêtres de requêtes», page ORDER BY (facultatif) : classe (trie) la table finale. Liste Select Définit les colonnes qui s'afficheront dans la table virtuelle finale. La liste Select suit immédiatement le mot-clé SELECT et existe sous les deux formes ci-dessous : Un astérisque uniquement (*) pour vous permettre de choisir toutes les colonnes qui font partie de la table source. SELECT * La vue finale contient les colonnes de chacune des tables ou des vues d'entrée en suivant leur ordre d'affichage dans la source, dans l'ordre indiqué dans la Clause FROM. Dans le cas de Jointures externes, les valeurs NULL sont attribuées aux colonnes finales qui n'existent pas dans les deux références. Une liste de noms de colonnes uniques ou de colonnes dérivées. SELECT columnnamelist Où chaque nom columnname est séparé d'un autre nom par une virgule (,) et défini comme columnname [[AS] aliasname [ OVER (windowclause) ] ] L'option AS attribue un nouveau nom à la colonne associée. Le littéral AS est facultatif. L'option OVER définit une fenêtre en ligne. Pour plus de détails, reportez-vous à la section «Fenêtres de requêtes», page 275. Où chaque nom columnname est l'un des éléments suivants : référence de colonne simple, c'est-à-dire le nom de la colonne. current_rental_price
327 SELECT Guide de référence du serveur Business Activity Monitoring ExpressionCASE 327 référence de colonne qualifiée, c'est-à-dire avec une préface correspondant au nom de la table. movie_titles.current_rental_price Pour sélectionner toutes les colonnes d'une table tout en sélectionnant certaines colonnes d'autres tables, utilisez une référence de colonne qualifiée et indiquez un astérisque (*) comme nom de colonne. Par exemple, la syntaxe suivante sélectionne toutes les colonnes movie_title et deux colonnes de la table media : movie_titles.*, media.media_type, media.name colonne dérivée, c'est-à-dire une expression (ce peut être une expression CASE ; pour plus de détails, reportez-vous à la section ExpressionCASE) : MAX((movie_titles.current_rental_price/2)) AS Half_Price Le nom aliasname est requis pour les colonnes dérivées. ExpressionCASE Une expression CASE renvoie le résultat d'une expression correspondant à une condition vraie. Chaque condition peut également renvoyer une valeur NULL. Si aucune condition vraie n'est trouvée, l'expression renvoie le résultat de la condition ELSE ou NULL si la condition ELSE est omise. Il existe deux formes d'expressions CASE : Condition simple : Evalue l'expression caseexpression et la compare au résultat de chaque expression equalsexpression jusqu'à ce qu'elle trouve une correspondance, puis renvoie le résultat resultexpression correspondant. Chaque equalsexpression doit être d'un type comparable à l'expression caseexpression. CASE caseexpression [ { WHEN equalsexpression THEN { resultexpression NULL }}...] [ ELSE { resultexpression NULL } ] END Condition de recherche : évalue chaque condition searchcondition jusqu'à ce qu'elle trouve une condition vraie, puis renvoie le résultat resultexpression correspondant. CASE WHEN searchexpression THEN { resultexpression NULL } [ { WHEN searchexpression THEN { resultexpression NULL }}...] [ ELSE { resultexpression NULL } ] END Ces expressions CASE ont le même résultat : SELECT Tier AS CASE WHEN Tier = 'Elevé' THEN 'Client prioritaire'... SELECT Tier AS CASE Tier WHEN 'Elevé' THEN 'Client prioritaire'...
328 SELECT Guide de référence du serveur Business Activity Monitoring ExpressionCASE 328 L'exemple suivant permet de générer des calculs en cours pour chaque état de ticket à chaque niveau : CREATE VIEW VTotal_Tickets AS SELECT Tier, SUM(CASE Status WHEN Open THEN 1 ELSE 0 END) AS Opens, SUM(CASE Status WHEN Reopen THEN 1 ELSE 0 END) AS Reopens, SUM(CASE Status WHEN Resolved THEN 1 ELSE 0 END) AS Closes, ( Opens+Reopens-Closes) AS Pending FROM VCustomerTickets GROUP BY Tier Niveau Ouvertures Réouvertures Fermetures Attente Elevé Moyen Faible
329 SELECT Guide de référence du serveur Business Activity Monitoring Clause FROM 329 Clause FROM Spécifie les tables et les vues à partir desquelles concevoir la nouvelle vue. FROM reference [[ AS ] aliasname ] [, reference [[ AS ] aliasname ] ] Où une référence est : une référence simple : tableorview une opération de jointure (pour plus de détails, reportez-vous à la section Opérations de jointure ci-dessous) : ( reference [ {LEFT RIGHT} [ OUTER ] INNER ] JOIN reference ON searchcondition ) une expression de table (pour plus de détails, reportez-vous à la section «Expressions de table», page 331): ( SELECT selectlist FROM joinclauses [ WHERE searchcondition ] [ GROUP BY groupclause ] [ WINDOW windowclause ] ) La spécification d'une référence unique, simple permet de créer une vue qui est une vue instantanée de la table ou de la vue source. L'insertion de plusieurs références indique une opération de jointure. Contraintes sur les vues Les vues possèdent ces contraintes des sources à la clause FROM : Une vue peut être dérivée d'une table d'événements ou d'une autre vue. Une vue peut joindre une table d'événements ou une vue et une ou plusieurs tables contextuelles. Une vue ne peut pas joindre deux ou plusieurs flux d'événements ou des vues basées sur différents flux d'événements. (Un événement consolidé est une jointure spéciale de flux d'événements.) Une vue ne peut pas être dérivée de tables contextuelles uniquement. Opérations de jointure La commande C-SQL SELECT prend en charge ces opérations de jointure : Jointures croisées Jointures internes Jointures externes Jointures imbriquées L'insertion de plusieurs références provoque une opération de jointure. La vue finale est une jointure croisée à moins que vous n'utilisiez l'opérateur JOIN pour spécifier un autre type de condition de jointure ou n'insériez une Clause WHERE qui spécifie une condition de jointure.
330 SELECT Guide de référence du serveur Business Activity Monitoring Jointures internes 330 Jointures croisées Si vous omettez l'opérateur JOIN, vous définissez une vue qui est une jointure croisée des vues d'entrée (également appelée produit cartésien), comme cette jointure des vues Product et Manufacturer : FROM Product AS P, Manufacturer AS M Remarque :NE créez PAS de jointure croisée sauf si vous êtes sûr de ce que vous voulez. Une jointure croisée crée une vue dont le nombre de lignes équivaut au nombre de lignes de la première vue multiplié par le nombre de lignes de la seconde vue (jointure des lignes = lignes vue1 * lignes vue2 ). Cette jointure affecte considérablement le système et ne produit en général pas la vue souhaitée. Au lieu de créer une jointure croisée, vous devez indiquer un autre type de jointure avec la clause JOIN : reference [ jointype ] JOIN reference ON searchcondition Jointures internes La clause JOIN exécute une jointure interne à moins que vous ne spécifiiez un attribut jointype. Une jointure interne est une jointure dont les lignes de la table de résultat sont en fait les lignes de la première table répondant aux critères spécifiés et associées aux lignes correspondantes de la deuxième table répondant aux critères spécifiés. FROM (Product AS P INNER JOIN Manufacturer AS M ON P.productName = M.ProductName) Remarque :les jointures internes sont parfois appelées des équi-jointures. Jointures externes Une jointure externe est une jointure dont les lignes de la table finale sont les lignes qui auraient été obtenues d'une jointure interne plus celles de la première table (LEFT OUTER JOIN) ou de la seconde table (RIGHT OUTER JOIN) qui n'auraient eu aucune correspondance dans l'autre table. Par exemple : FROM (Product AS P LEFT OUTER JOIN Manufacturer AS M ON P.productName = M.ProductName Remarque :La première table d'une LEFT OUTER JOIN (jointure externe gauche) et la seconde table d'une RIGHT OUTER JOIN (jointure externe droite) doivent être une table d'événements ou une vue. Il ne peut s'agir de tables contextuelles. Les valeurs NULL sont attribuées aux colonnes finales qui n'existent pas dans les deux références. Jointures imbriquées Les jointures peuvent être imbriquées et il n'existe pas de limite pratique au niveau maximal d'imbrication. Par exemple : FROM (Product AS P LEFT OUTER JOIN Manufacturer AS M ON P.productName = M.ProductName) AS Temp, inventorycontext AS INVvt
331 SELECT Guide de référence du serveur Business Activity Monitoring Expressions de table 331 Expressions de table Syntaxe Restrictions Une expression de table, également appelée vue en ligne, est une sous-requête qui crée une vue pouvant être référencée par la requête. Il s'agit essentiellement d'une instruction SELECT, insérée entre parenthèses, qui s'affiche dans la clause FROM. Par exemple, la syntaxe suivante est une expression de table contenue dans une requête : SELECT * FROM Warehouse AS wh, (SELECT * FROM WarehouseQtyChange AS wqc, Product AS pr WHERE wqc.wprod_id = pr.pprod_id) AS sv, WHERE sv.warehouse_id = wh.wh_region_id L'exemple ci-dessus a le même résultat que WHRegionView dans cet exemple : SummaryView : SELECT * FROM WarehouseQtyChange AS wqc, Product AS pr WHERE wqc.wprod_id = pr.pprod_id WHRegionView : SELECT * FROM Warehouse AS wh, SummaryView AS sv WHERE sv.warehouse_id = wh.wh_region_id Une expression de table est une instruction SELECT limitée, insérée entre parenthèses, à laquelle s'appliquent des restrictions. ( SELECT selectlist FROM joinclauses [ WHERE searchcondition ] [ GROUP BY groupclause ] [ WINDOW windowclause ] ) AS aliasname Les mêmes restrictions sémantiques s'appliquent aux vues en ligne et aux vues standard. Par exemple, une colonne dérivée d'une vue en ligne ne peut pas avoir le même nom ou le même alias qu'une colonne de la liste selectlist. En outre, ces restrictions et ces limitations leur sont appliquées : Elles doivent être insérées entre parenthèses. Elles doivent être dans le même flux d'événements (avoir la même table d'événements de base) que les autres vues et tables de la requête. Elles doivent êtres définies uniquement dans la clause FROM.
332 SELECT Guide de référence du serveur Business Activity Monitoring Exemple de clause HAVING 332 Exemple de clause HAVING Certaines implémentations SQL incluent une clause HAVING qui permet de filtrer les résultats agrégés d'une vue. C-SQL n'inclut pas la clause HAVING. Cependant, vous pouvez créer une clause HAVING à l'aide d'une Clause WHERE pour filtrer les résultats d'une vue en ligne. Essentiellement : SELECT * FROM (inlineview) WHERE filtercondition Par exemple, pour créer une vue qui filtre le résultat d'une agrégation, vous devez d'abord exécuter l'agrégation dans une vue en ligne, puis filtrer les résultats dans la vue finale. La vue en ligne suivante additionne les ventes totales pour chaque gamme de produits, puis la vue finale affiche, dans l'ordre décroissant, uniquement les résultats supérieurs à $. SELECT FamilyTotals.family AS "Product Line", FamilyTotals.sales_for_family AS "Total Sales" FROM (SELECT family, SUM(total_price) AS sales_for_family FROM OrdQtyDemand GROUP BY Family ) AS FamilyTotals WHERE "Total Sales" > ORDER BY "Total Sales" DESC; Dans l'exemple ci-dessus, lorsque de nouveaux événements sont entrés dans la vue OrdQtyDemand, les totaux sont mis à jour et l'ordre des gammes de produits peut changer. De fait, de nouvelles gammes peuvent être entrées dans la vue lorsque leurs ventes totales excèdent un million. Clause WHERE Prédicats Une clause WHERE examine chaque ligne entrée et accepte uniquement celles qui correspondent à la condition spécifiée. La syntaxe est la suivante : WHERE searchcondition Une condition searchcondition est une combinaison de prédicats booléens qui effectuent ensemble un test. Seules les lignes entrées qui passent le test avec succès sont insérées dans la nouvelle vue. Les lignes qui ne remplissent pas la condition sont supprimées, et ne sont ni suivies ni incluses dans les calculs d'une fonction set, d'une fonction moving set ou d'une fonction rank. Remarque :Toutes les vues dépendantes sont mises à jour et leurs fonctions recalculées que les lignes entrées remplissent ou non la condition. Pour plus d'informations, reportez-vous à la section «Mise à jour des vues par le biais de la propagation d'événements», page 361. Un prédicat est une expression booléenne qui déclare un fait sur des valeurs. Chaque expression peut être déclarée seule ou comparée à l'une des valeurs de test booléennes. Par exemple, ces expressions sont équivalentes : WHERE (Age >= 21) WHERE (Age >= 21) IS TRUE Les prédicats pris en charge par la clause WHERE sont répertoriés dans la section «Opérateurs et constantes», page 250.
333 SELECT Guide de référence du serveur Business Activity Monitoring Alias 333 Alias Les prédicats peuvent inclure des fonctions, mais les fonctions qui renvoient à des colonnes ne peuvent renvoyer qu'à des colonnes d'événements. C-SQL étend le standard ANSI pour autoriser les références aux alias dans la clause WHERE. Par exemple : Clause GROUP BY SELECT user_age AS Age FROM user_list WHERE (Age >= 21) La clause GROUP BY regroupe la table virtuelle finale sur une ou plusieurs colonnes. La syntaxe est la suivante : GROUP BY [tablename.]columnname [, [tablename.]columnname ] Où le nom tablename est une table ou une vue source. Tous les noms columnnames de la Liste Select qui ne sont pas désignés directement par une fonction rank ou une fonction scalar peuvent s'afficher dans la liste GROUP BY. Remarque :L'autre méthode plus performante permettant de regrouper des données consiste à utiliser la clause PARTITION des fenêtres. Pour plus de détails, reportez-vous à la section «Partitions des fenêtres», page 286. L'option Grouper fournit un récapitulatif d'informations des groupes de lignes dont les valeurs sont identiques à celles des champs sélectionnés. Regardez cet ensemble de données : Name Quantity Nano Webber 10 Fizzy Lifter 700 Nano Webber 50 Nano Webber 20 Nano Webber 15 Smoke Shifter 310 Si vous créez une vue qui regroupe des valeurs par nom (Name) et détermine la somme de la quantité de chaque groupe, cette vue ressemblera à ceci : SELECT product.name AS Name, SUM(product.quantity) AS Qsum FROM product GROUP BY product.name Name Qsum Nano Webber 95 Fizzy Lifter 700 Smoke Shifter 310
334 SELECT Guide de référence du serveur Business Activity Monitoring Alias 334 Alias Vous pouvez aussi procéder à des regroupements sur plusieurs champs. Par exemple : SELECT product.name AS Name, product.location AS Locale, SUM(product.quantity) AS Qsum FROM product GROUP BY product.name, product.location Name Location Qsum Nano Webber West 10 Fizzy Lifter East 700 Nano Webber East 85 Smoke Shifter West 310 Si la Liste Select inclut une fonction Moving Set, chaque groupe contient un résultat correspondant à cette fonction. C-SQL étend le standard ANSI pour autoriser les références aux alias dans la clause GROUP BY. Par exemple : Vues dérivées SELECT product.name AS Name, product.location AS Locale, SUM(product.quantity) AS Qsum FROM product GROUP BY Name, Locale Si une vue est définie avec une clause GROUP BY, toutes les vues dérivées de cette vue ont une clause GROUP BY implicite. On parle de fusion de vues ou dedéveloppement de vues. Ainsi, même si l'instruction SELECT de la vue View2 n'inclut pas de clause GROUP BY, ses résultats incluent les mêmes groupes que la vue View1. Evénement Nom Qty Item2 6 Contexte Nom Cost Item Item Item SELECT Name, Qty, Cost FROM Event, Prices GROUP BY Name WHERE Event.Name = Context.Name View1 Nom Qty Cost Item Item SELECT Name, (Qty*Cost) AS Total FROM View1 View2 Nom Total Item Item Sémantique des vues avec état Si une vue contient une clause GROUP BY, cette vue est une vue avec état ; elle conserve les informations des événements précédents et pas seulement celles du dernier événement. (Pour plus d'informations, consultez la section «Vues sans état et vues avec état», page 361). Ainsi, la vue View2 de l'exemple ci-dessus est une vue avec état même si sa définition SELECT ne comprend pas de fonction set ou de clause GROUP BY explicite, car elle est dérivée d'une vue avec état.
335 SELECT Guide de référence du serveur Business Activity Monitoring Clause ORDER BY 335 Clause ORDER BY La clause ORDER BY classe (trie) la vue finale en fonction des noms de colonne ou des résultats d'expression. La syntaxe est la suivante : ORDER BY columnname [{ASC DESC}] [, [columnname [{ASC DESC}] ] Sans cette clause, il n'existe aucune garantie que la même requête produira des lignes respectant le même ordre dans les requêtes suivantes. Remarque :toutes les clés de tri mentionnées dans la clause ORDER BY doivent désigner un nom de colonne de la Liste Select. Par défaut, la vue est classée par ordre croissant (ASC). Pour classer par ordre décroissant, spécifiez l'option DESC. L'exemple suivant trie la vue d'abord par nom de fournisseur dans l'ordre croissant, puis par prix, pour chaque fournisseur, dans l'ordre décroissant : SELECT Product.prod_id AS ProductID, orderstatusevent.os_price AS Price, Supplier.supp_name AS SupplierName FROM orderstatusevent, Product, Supplier WHERE orderstatusevent.os_prod_id = Product.prod_id AND Product.prod_supp_id = Supplier.supp_id ORDER BY Supplier.supp_name ASC, orderstatusevent.os_price DESC
336 31 Utilisateurs Chaque utilisateur qui interagit avec Business Activity Monitoring ES est connu du système grâce aux informations de son compte utilisateur. Lorsque des administrateurs créent ou modifient des comptes ou lorsque des utilisateurs affichent leurs Paramètres de compte, ils accèdent aux informations de compte spécifiques à partir de ces onglets : Onglet Détails de l'utilisateur qui détaille les attributs décrivant un utilisateur. Onglet Profils de livraison qui indique comment et où un utilisateur peut recevoir des alertes. Onglet Préférences utilisateur qui décrit les paramètres que l'utilisateur définit pour affecter BAM Workbench. Onglet Autorisations de l'utilisateur qui permet d'accéder aux autorisations attribuées à l'utilisateur. Ce chapitre comprend les sections suivantes : «Utilisateur système», page 337 «Onglet Détails de l'utilisateur», page 338 «Onglet Profils de livraison», page 339 «Onglet Préférences utilisateur», page 341 «Onglet Autorisations de l'utilisateur», page
337 Utilisateurs Guide de référence du serveur Business Activity Monitoring Utilisateur système 337 Utilisateur système Toutes les installations ont un utilisateur système par défaut qui est identifié lors de l'installation et qui dispose de toutes les autorisations. Cet utilisateur crée d'autres utilisateurs et leur attribue des autorisations. La possibilité de créer des utilisateurs figure au nombre des autorisations que l'utilisateur système peut accorder. Consultez les Notes de mise à jour ou contactez Adobe Systems Incorporated pour prendre connaissance du nom d'utilisateur et du mot de passe de l'utilisateur système par défaut de votre installation. Pour modifier vos propres informations de compte : Cliquez sur Paramètres de compte à tout moment. Pour créer, modifier ou supprimer un compte utilisateur : 1. Ouvrez le Console d administration. 2. Cliquez sur Utilisateurs pour accéder à la liste de tous les utilisateurs actuellement définis dans le système. Pour Créer un compte utilisateur, cliquez sur Nouvel utilisateur et spécifiez l'onglet Détails de l'utilisateur et l'onglet Profils de livraison de l'utilisateur. Vous pouvez également spécifier l'onglet Autorisations de l'utilisateur si vous le souhaitez. modifier les informations d'un compte utilisateur existant en double-cliquant sur le nom dans la liste. supprimer un utilisateur existant, sélectionnez un ou plusieurs utilisateurs dans la liste et cliquez sur Supprimer les utilisateurs. Vous ne pouvez pas supprimer l'utilisateur système ou vous supprimer.
338 Utilisateurs Guide de référence du serveur Business Activity Monitoring Onglet Détails de l'utilisateur 338 Onglet Détails de l'utilisateur Les détails de l'utilisateur identifient un utilisateur avec les attributs suivants : Attribut Nom d'utilisateur Mot de passe Rôles Description Nom de connexion de l'utilisateur. 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. Mot de passe utilisateur. Toutes les combinaisons de lettres, de chiffres ou de caractères. Rôles auxquels cet utilisateur peut appartenir et auxquels il appartient. Pour plus de détails, reportez-vous à la section «Rôles», page 300.
339 Utilisateurs Guide de référence du serveur Business Activity Monitoring Onglet Profils de livraison 339 Onglet Profils de livraison Les profils de livraison indiquent où et comment envoyer des alertes et des données à l'utilisateur. Les utilisateurs peuvent posséder plusieurs profils, et dans le Gestionnaire d'alertes de BAM Dashboard, ils peuvent identifier quels profils reçoivent quelles alertes. Par ailleurs, tous les utilisateurs disposent au moins d'un profil ; Profil tableau de bord envoie des notifications au Gestionnaire d'alertes de BAM Dashboard. L'un des profils au moins doit être désigné comme celui devant être utilisé lors de l'inscription à une alerte. Tous les profils marqués Auto sont automatiquement ajoutés aux nouvelles inscriptions aux alertes. Les types de profils correspondent aux mécanismes de livraison possibles disponibles dans l'installation. Ils incluent les profils suivants : Profil tableau de bord : gestionnaire d'alertes de BAM Dashboard. Vous ne pouvez pas supprimer ce profil. Messagerie électronique : compte de messagerie permettant de recevoir le message d'alerte généré. Service Web : méthode des Services Web qui reçoit la notification d'alerte et le tableau récapitulatif joint en tant que données XML. Messagerie électronique Il s'agit d'une adresse à laquelle l'utilisateur reçoit des messages électroniques. Elle est pourvue des attributs suivants : Attribut Nom du profil Adresse électronique Description Identifie ce profil. Ce nom ne peut comporter que des lettres et des chiffres. Adresse électronique à utiliser.
340 Utilisateurs Guide de référence du serveur Business Activity Monitoring Service Web 340 Service Web Le profil Service Web reçoit la notification d'alerte et tous les tableaux récapitulatifs joints en tant que données XML. Ce profil est pourvu des attributs suivants : Attribut URL du service Web Méthode Nom d'utilisateur Mot de passe Description Emplacement HTTP de l'application fournissant le service DOC (SOAP). Notez que les messages de style RPC ne sont pas pris en charge. Méthode du service Web à utiliser. (facultatif) Nom du compte à utiliser pour se connecter au service. (facultatif) Mot de passe du compte. Pour utiliser un service Web, votre administrateur doit désigner le fichier AlertMessage.xsd et le fichier AlertService.wsdl qui décrit le service d'inscription, les données qu'il fournit et le mode d'échange des données avec le service. Remarque :ce service publie un message SOAP de style doc et non un message de style RPC. Votre administrateur peut localiser ces fichiers sur le CD-ROM de Business Activity Monitoring ES dans ce répertoire : Business Activity Monitor/api/wsalert Pour plus de détails sur l'utilisation des services Web dans Business Activity Monitoring ES, reportez-vous à la section «Services Web», page 367.
341 Utilisateurs Guide de référence du serveur Business Activity Monitoring Onglet Préférences utilisateur 341 Onglet Préférences utilisateur Il s'agit des paramètres que l'utilisateur peut spécifier et qui affectent BAM Workbench. Interrogation du tableau de bord Le profil Interrogation du tableau de bord indique à BAM Dashboard la fréquence des mises à jour de la liste des alertes reçues. Attribut Déconnecté Intervalle d'interrogation Description N'interrogez pas les serveurs à la recherche de nouvelles alertes. Fréquence d'interrogation du serveur à la recherche de nouvelles alertes. Remarque :cliquer sur l'onglet BAM Dashboard ou l'onglet Alertes de BAM Dashboard permet d'interroger toujours le serveur avant d'afficher la liste des alertes actives. Onglet Autorisations de l'utilisateur Il s'agit des autorisations globales dont peut disposer un utilisateur. Dans cet onglet, l'utilisateur peut visualiser les autorisations en création dont il dispose, et les administrateurs peuvent lui attribuer des autorisations sur les classes d'objets. Pour plus de détails sur les autorisations, reportez-vous à la section «Autorisations», page 255. Remarque :Tous les nouveaux utilisateurs disposent des autorisations Aucun accès sur tout. Ces autorisations permettent aux utilisateurs de recevoir et d'afficher des alertes et des tableaux récapitulatifs comme résultat des inscriptions obligatoires, mais ils ne peuvent pas s'y inscrire. Lorsqu'un utilisateur affiche ses propres autorisations, il peut visualiser les classes d'objets qu'il peut créer.
342 Utilisateurs Guide de référence du serveur Business Activity Monitoring Onglet Autorisations de l'utilisateur 342 Lorsqu'un administrateur crée ou modifie des autorisations, il peut indiquer les objets qu'un utilisateur peut créer et attribuer des autorisations sur tous les objets existants. Pour plus de détails sur l'attribution des autorisations, reportez-vous à la section «Autorisations», page 255.
343 32 TIBCO Rendezvous TIBCO Rendezvous est un système de messagerie destiné aux applications commerciales. Ces applications publient des messages vers le flux géré par les serveurs de transport TIBCO Rendezvous. Chaque message porte un nom qui identifie son objet. Les autres applications contrôlent la recherche des messages dans le flux qui, lorsqu'ils sont trouvés, sont fournis aux autres applications, par exemple Business Activity Monitoring ES TIBCO Rendezvous Agents. Ce chapitre comprend les sections suivantes : «Fonctionnement», page 344 «TIBCO Rendezvous Tables», page 344 «Création d'une table d'événements TIBCO Rendezvous», page
344 TIBCO Rendezvous Guide de référence du serveur Business Activity Monitoring Fonctionnement 344 Fonctionnement Les tables d'événements Business Activity Monitoring ES reçoivent les messages TIBCO Rendezvous en tant qu'événements. Chaque table d'événements correspond à un seul objet de message. Les tables identifient les objets des messages auprès d'une application démon d'écoute par le biais de l'agent. Lorsque le démon localise un nouveau message avec l'objet demandé, il transmet le message à la table via l'agent. La définition de la table fait ensuite correspondre ce message à la table en tant que nouvel événement. Table d'événements Recherche de l'objetx Nouvel événement sur l'objetx Agent CAS BAM Les applications publient par objet des messages vers TIBCO Rendezvous, chacun d'eux correspondant à de nouveaux événements. Recherche de l'objetx Nouveau message sur l'objetx Producteur TIBCO Rendezvous TIBCO Rendezvous Tables Limitations Une table d'événements TIBCO Rendezvous reçoit les messages d'une application commerciale par le biais d'un flux de messages TIBCO Rendezvous. Chaque message est identifié par son objet, et chaque nouveau message correspondant à un objet est un nouvel événement. Lorsque la table reçoit un nouveau message, elle fait d'abord correspondre les données du message aux types de données qu'elle contient. Tous les messages correspondant à un objet d'événement doivent avoir la même forme : Ils doivent disposer des mêmes champs, même si un champ peut être vide. Par ailleurs, Prérequis Business Activity Monitoring ES ne prend pas en charge les messages emboîtés. Certains types de données TIBCO Rendezvous ne sont pas pris en charge et ne peuvent pas correspondre à un événement Business Activity Monitoring ES. Pour plus de détails, reportez-vous à la section «Mise en correspondance des types de données TIBCO Rendezvous», page 348. Avant de créer un événement TIBCO Rendezvous, vous devez disposer des éléments suivants : Autorisations : l'autorisation Création sur les tables (reportez-vous à la section «Autorisation de création», page 260) et l'autorisation Lecture seule sur l'agent qui va alimenter la table. Un agent : Un agent TIBCO Rendezvous existant qui se connecte au flux de messages TIBCO Rendezvous. Créez un agent dans l'onglet Administration de BAM Workbench. Pour plus de détails, reportez-vous à la section «TIBCO Rendezvous Agents», page 36. Le nom d'objet : Chaque message TIBCO Rendezvous a un nom d'objet qui identifie la source de l'événement. Vous identifiez le nom d'objet, et l'agent contrôle le flux de messages pour y rechercher les messages. Lorsqu'il en trouve un, il transmet les informations afférentes à la table d'événements. Les noms d'objet sont constitués d'un ou plusieurs éléments séparés par des points, par exemple : SUPPORT.TICKETS
345 TIBCO Rendezvous Guide de référence du serveur Business Activity Monitoring Prérequis 345 Le format du message : Chaque message TIBCO Rendezvous contient des champs d'informations. Vous indiquez à l'objet d'événement quels champs extraire du message, et comment ils correspondent aux types de données Business Activity Monitoring ES. Un fichier exemple : (facultatif) Si le message comprend une chaîne complexe, il est utile de disposer d'un exemple de fichier qui contient des données au format de la chaîne d'événement réelle. 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. Pour plus de détails sur le nom d'objet et le format des messages, consultez l'informaticien qui gère votre système TIBCO Rendezvous. Une table d'événements TIBCO Rendezvous possède les attributs suivants : 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 TIBCO Rendezvous Inscription 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 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 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 n'importe quel ordre, désactivez cet attribut. 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. Agent existant qui se connecte au flux de messages TIBCO Rendezvous. Créez un agent dans l'onglet Administration de BAM Workbench. Pour plus de détails, reportez-vous à la section «TIBCO Rendezvous Agents», page 36. Identifie l'objet sous lequel le message est envoyé et défini par son éditeur. En général, cette chaîne ressemble à celle-ci : com.celequest.mytibcotopic.
346 TIBCO Rendezvous Guide de référence du serveur Business Activity Monitoring Prérequis 346 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 TIBCO Rendezvous 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 TIBCO», page 347. 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.
347 TIBCO Rendezvous Guide de référence du serveur Business Activity Monitoring Création d'une table d'événements TIBCO Rendezvous 347 Création d'une table d'événements TIBCO Rendezvous Utilisez la procédure suivante pour créer une table d'événements TIBCO Rendezvous. Pour créer une table d'événements TIBCO Rendezvous : 1. Ouvrez la BAM Workbench Console d administration. 2. Créez un nouvel événement. 3. Sélectionnez le type d'agent TIBCO Rendezvous. 4. Identifiez l'objet des événements de message à collecter. Pour plus de détails, reportez-vous à la section précédente Prérequis. 5. Sélectionnez un agent TIBCO Rendezvous existant. 6. Identifiez les champs du message et déterminez comment ils correspondent aux types de données Business Activity Monitoring ES. Pour plus de détails, reportez-vous à la section Informations sur les colonnes TIBCO. Enregistrez la table TIBCO Rendezvous comme étant activé, elle sera ainsi prête à recevoir des messages d'événements. Informations sur les colonnes TIBCO Les champs Informations sur la colonne déterminent comment placer les champs du message TIBCO Rendezvous dans les colonnes de la table d'événements. Cette dernière contient une colonne pour chaque champ. 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 «Mise en correspondance des types de données TIBCO Rendezvous», page 348. (facultatif) Format de la colonne d'événement des valeurs VACHAR (chaîne) et DECIMAL.
348 TIBCO Rendezvous Guide de référence du serveur Business Activity Monitoring Mise en correspondance des types de données TIBCO Rendezvous 348 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>. 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. Mise en correspondance des types de données TIBCO Rendezvous Chaque message est un ensemble de champs qui contiennent chacun une donnée d'un type spécifique. Vous identifiez chaque champ à l'aide de son nom défini et spécifiez le type de données Business Activity Monitoring ES associé au champ.
349 TIBCO Rendezvous Guide de référence du serveur Business Activity Monitoring Mise en correspondance des types de données TIBCO Rendezvous 349 Les types de données TIBCO Rendezvous correspondent aux Types de données Business Activity Monitoring ES comme suit. TIBCO Rendezvous Type Types de données personnalisées BOOL DATETIME F32 F32ARRAY F64 F64ARRAY I16 I16ARRAY I32 I32ARRAY I64 I64ARRAY I8 I8ARRAY IPADDR32 IPPORT16 MSG OPAQUE STRING (voir remarque ci-après) U16 U16ARRAY U32 U32ARRAY U64 Type Business Activity Monitoring ES Pas de prise en charge Booléen Horodatage Double Pas de prise en charge Double Pas de prise en charge Nombre entier Pas de prise en charge Nombre entier Pas de prise en charge Décimal Pas de prise en charge Nombre entier Pas de prise en charge Pas de prise en charge Pas de prise en charge Pas de prise en charge Pas de prise en charge Varchar Nombre entier Pas de prise en charge Décimal Pas de prise en charge Décimal
350 TIBCO Rendezvous Guide de référence du serveur Business Activity Monitoring Mise en correspondance des types de données TIBCO Rendezvous 350 TIBCO Rendezvous Type U64ARRAY U8 U8ARRAY XML Type Business Activity Monitoring ES Pas de prise en charge Nombre entier Pas de prise en charge Varchar
351 33 Fonctions définies par l'utilisateur Les fonctions définies par l'utilisateur (UDF) vous permettent d'étendre C-SQL en définissant vos propres fonctions à utiliser dans les requêtes, les vues et les règles. Vous pouvez ainsi définir une fonction scalar ou une fonction set en implémentant les interfaces Java appropriées de Business Activity Monitoring ES. Les fonctions UDF sont des programmes Java qui utilisent des arguments et renvoient une valeur, exactement comme les fonctions internes de Business Activity Monitoring ES. Par exemple, vous pouvez disposer d'un UDF qui utilise un ensemble de valeurs et les concatène dans l'ordre alphabétique, tout en ignorant les valeurs NULL. Vous utiliserez cette fonction UDF dans une expression comme celle-ci : ConcatSet(Product.Name) Après avoir compilé le programme Java, vous le déployez (chargez) dans Business Activity Monitoring ES où il est ensuite à la disposition de tous les utilisateurs qui peuvent créer ou modifier des requêtes, des vues et des règles. Pour plus de détails sur la création des fonctions définies par l'utilisateur, reportez-vous à la section Création et utilisation d'une fonction UDF suivante. Par ailleurs, pour plus de détails sur les interfaces, reportez-vous à la rubrique «com.celequest.api.function» de la documentation javadoc. Vous pouvez y accéder directement à l'aide d'un navigateur Web à partir du CD-ROM de Business Activity Monitoring ES en pointant votre navigateur sur : <cd>/helpdocs/javadoc/index.htm. Ce chapitre comprend les sections suivantes : «Restrictions des fonctions UDF», page 352 «Création et utilisation d'une fonction UDF», page 352 «Fichiers manifestes», page
352 Fonctions définies par l'utilisateur Guide de référence du serveur Business Activity Monitoring Restrictions des fonctions UDF 352 Restrictions des fonctions UDF Les restrictions suivantes s'appliquent aux fonctions définies par l'utilisateur : Il s'agit uniquement des fonctions scalar et set et non des fonctions rank. Les fonctions UDF peuvent définir des fonctions Scalar en implémentant l'interface IUDScalarFunction ou des fonctions Set en implémentant les interfaces IUDAggregateFunction et IUDAggregateState. Pour plus de détails, reportez-vous à la rubrique «com.celequest.api.function» de la documentation javadoc. Les fonctions UDF ne sont pas exposées dans BAM Workbench. L'éditeur de formules ne reconnaît pas les fonctions UDF. Ainsi, vous êtes chargé d'effectuer le suivi des fonctions UDF enregistrées sur le système. Tous les utilisateurs ont accès à toutes les fonctions UDF. Vous ne pouvez pas appliquer d'autorisations d'accès sur une fonction UDF. De même, plusieurs utilisateurs peuvent définir différentes fonctions UDF portant un même nom. Le cas échéant, le système utilise la première qu'il trouve. Les fonctions set doivent implémenter la sérialisation d'objet et gérer la compatibilité ascendante. L'échec de l'implémentation des sous-programmes pertinents de sérialisation/désérialisation peut provoquer un comportement imprévisible dans de nombreuses zones, notamment l'exécution du point de contrôle et de la récupération et l'exécution parallèle. Les fonctions UDF ne sont jamais envoyées comme prédicats à une source distante. Les fonctions UDF ne sont jamais envoyées à un SGBD en vue d'être évaluées. Pour plus de détails, reportez-vous à la section «Limitations de la colonne contextuelle dans les requêtes», page 60. Création et utilisation d'une fonction UDF Ces instructions utilisent l'exemple de fonction UDF ConcatSet inclus sur le CD-ROM du produit dans le répertoire /samples/udf/. Pour suivre l'utilisation de l'exemple, copiez d'abord le contenu de ce répertoire sur votre ordinateur local. Pour plus de détails sur l'exemple, consultez le fichier LISEZ-MOI.txt dans ce répertoire. Pour créer et utiliser une fonction UDF : 1. Implémentez les interfaces. 2. Créez votre fonction UDF en implémentant les interfaces appropriées com.celequest.api.function. Remarque :pour plus de détails sur les interfaces, consultez la documentation javadoc. 3. Compilez votre implémentation. Lorsque vous compilez l'implémentation de la fonction UDF, incluez le fichier celequestapi.jar. (Ce fichier figure sur le CD-ROM du produit dans le répertoire /Business Activity Monitor/CelequestAPI/.) Par exemple : javac -classpath <CD-ROM>/Business Activity Monitor/CelequestAPI/celequestAPI.jar src/samples/udf/concatset/*.java src/samples/udf/concatlist/*.java src/samples/udf/util/*.java -d jar
353 Fonctions définies par l'utilisateur Guide de référence du serveur Business Activity Monitoring Fichiers manifestes Créez un fichier manifeste pour le fichier JAR UDF. Un fichier manifeste est un fichier XML qui décrit le fichier JAR UDF à Business Activity Monitoring ES. Pour obtenir la description du fichier et un exemple, reportez-vous à la section «Fichiers manifestes», page Créez le fichier JAR UDF : Créez un fichier JAR contenant vos classes, par exemple ConcatSet.class, et le fichier manifeste (manifest.xml). Le fichier manifeste doit s'afficher sous com/celequest/manifest dans le fichier JAR. Par exemple : jar -cvf udf.jar samples/* com/celequest/manifest/manifest.xml 6. Ajoutez la fonction UDF à la liste des fonctions UDF disponibles. Connectez-vous à BAM Workbench et cliquez sur l'onglet BAM Workbench. Sélectionnez le dossier Fonctions définies par l'utilisateur, puis Nouvelle fonction définie par l'utilisateur. Spécifiez ou chargez le fichier JAR qui contient la fonction, puis cliquez sur Continuer. Sélectionnez les fonctions à ajouter, puis attribuez-leur éventuellement de nouveaux noms. Sélectionnez Terminer pour ajouter les fonctions UDF à la liste. 7. Utilisez la fonction UDF dans des formules. Une fois la fonction UDF déployée, vous pouvez l'utiliser dans des formules semblables à celle-ci : ConcatSet(Product.Name) Cette étape clôt la procédure de création et d'utilisation d'une fonction UDF. Pour modifier une fonction UDF : 1. Modifiez l'implémentation et créez un fichier JAR mis à jour. 2. Téléchargez ce fichier JAR pour remplacer le fichier existant. 3. Ajoutez les fonctions UDF à la liste des fonctions définies par l'utilisateur. Fichiers manifestes Un fichier manifeste est un fichier XML qui décrit le contenu du fichier JAR UDF à Business Activity Monitoring ES. Pour toutes les fonctions du fichier JAR, définissez les éléments <UDF> et <name>. Par ailleurs, pour tous les types de données que la fonction peut renvoyer, définissez un élément <UDFDescriptor>. Pour finir, si des appels ultérieurs à une même fonction possédant les mêmes valeurs d'arguments peuvent renvoyer des valeurs différentes, définissez l'élément <isvariant> sur true. Par exemple, la fonction interne CURRENT_TIMESTAMP() n'utilise aucun argument, mais renvoie un résultat différent chaque fois qu'elle est appelée. Cette fonction est de type «Variant». Ci-après figure un exemple de fichier manifeste pour la fonction ConcatSet(). Cette liste est adaptée du fichier contenu dans le répertoire samples situé dans /samples/udf/jar/com/celequest/manifest.xml.
354 Fonctions définies par l'utilisateur Guide de référence du serveur Business Activity Monitoring Fichiers manifestes 354 Exemple de fichier manifest.xml <?xml version="1.0" encoding="utf-8" standalone="yes"?> <jarmanifest xsi:schemalocation=" jarmanifest.xsd" xmlns=" xmlns:xsi=" <jarmanifestxsdversion>1</jarmanifestxsdversion> <author>celequest Corporation</author> <UserDefinedFunctions> <UDF> <name>concatset</name> <description>concatène un ensemble de valeurs par ordre alphabétique en une longue chaîne. Ignore les valeurs NULL.</description> <implementor>com.udfcelequest.concatset.concatset</implementor > <UDFDescriptors> <UDFDescriptor> <result>varchar</result> <argument> <type>any</type> </argument> </UDFDescriptor> </UDFDescriptors> <isvariant>false</isvariant> </UDF> </UserDefinedFunctions> </jarmanifest>
355 34 Vues Les vues commerce sont des modèles de données qui offrent une image en temps réel d'une activité commerciale. Les enregistrements des modifications et des transactions de votre activité commerciale sont entrés dans Business Activity Monitoring ES en tant qu'événements. Chaque nouvel événement provoque une mise à jour immédiate des vues (les modèles commerciaux) dérivées de cet événement, offrant ce faisant une image en temps réel des mesures commerciales. En outre, dès qu'une vue a été mise à jour, le système évalue les règles qui lui sont associées recherchant des conditions commerciales exceptionnelles requérant de l'attention. Une vue commerce est une table virtuelle qui réside en mémoire et dont le contenu provient d'une ou plusieurs sources conformément à la définition d'une instruction de requête C-SQL SELECT. Vous définissez les vues dans l'interface utilisateur graphique de BAM Workbench. Ce système crée ensuite une instruction SELECT bien formée avant de la transmettre aux serveurs Business Activity Monitoring ES en vue de son exécution et de sa maintenance. Pour plus de détails sur l'instruction SELECT, sa syntaxe et son utilisation, reportez-vous à la section «SELECT», page 325. Vous pouvez limiter les lignes accessibles à un utilisateur en associant un filtre d'accès à la vue et en appliquant ce filtre aux utilisateurs ou aux rôles qui affichent cette vue. Pour plus de détails, reportez-vous à la section «Filtres d'accès», page 15. Remarque :Les données des vues contextuelles sont statiques ou bien changent lentement. Ainsi, le moteur d'interrogation ne met pas à jour la vue en fonction des modifications des tables contextuelles. Cependant, ces dernières sont reflétées dans la vue lorsque la table contextuelle est jointe à la ligne d'événements suivante. Ce chapitre comprend les sections suivantes : «Création de vues», page 356 «Attributs des vues», page 357 «Contraintes sur les vues», page 358 «Jointures synchronisées», page 358 «Evénements consolidés», page 360 «Vues agrégées», page 360 «Mise à jour des vues par le biais de la propagation d'événements», page 361 «Vues sans état et vues avec état», page 361 «Initialisation des vues», page 362 «Conservation des événements dans des vues sans état», page 363 «Sauvegarde des vues dans une base de données», page 364 «Activation du forage jusqu'aux détails», page
356 Vues Guide de référence du serveur Business Activity Monitoring Création de vues 356 Création de vues Vous devez disposer d'une autorisation Création sur les vues (reportez-vous à la section «Autorisation de création», page 260) et d'une autorisation Lecture seule sur la table (et les vues facultatives) qui alimente la nouvelle vue. Pour créer des vues avec BAM Workbench : 1. Cliquez sur le bouton Nouvelle vue. 2. Sélectionnez l'événement, la vue ou les vues existants sur lesquels concevoir votre vue. 3. Renseignez les champs du formulaire Créer une vue. Pour créer des vues correspondant à des événements spécifiques dans BAM Workbench : 1. Sélectionnez l'événement, la vue ou les vues existants sur lesquels concevoir votre vue. 2. Cliquez sur le bouton Nouvelle vue pour cet événement. 3. Renseignez les champs du formulaire Créer une vue. Copie d'une vue Vous pouvez également copier la définition d'une vue existante dans une nouvelle vue. Pour cloner une vue existante : 1. Modifiez la vue à copier. 2. Changez le nom de la vue ainsi que les autres attributs qui diffèrent de la vue d'origine. 3. Sélectionnez Enregistrer sous Nouvelle vue.
357 Vues Guide de référence du serveur Business Activity Monitoring Attributs des vues 357 Attributs des vues Chaque vue possède les attributs suivants : Attribut Nom Etat Description Plan de travail Liste des champs Garder dans la vue Clause From Clause Where Clause Window Clause Order by Sauvegarde de la vue Forage jusqu'aux détails Description Identifie l'objet Vue. Ce nom ne peut comporter que des lettres et des chiffres. 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. Indique si la vue est activé (réception d'informations sur les nouveaux événements) ou désactivé. Lorsqu'une vue est désactivée, tous les objets qui en dépendent sont également désactivés, notamment les règles, les alertes et les tableaux récapitulatifs. Description facultative qui peut contenir tous les caractères de texte. Table d'événements et/ou vues dont est dérivée la vue. Colonnes à inclure dans la vue, notamment celles dont les valeurs sont dérivées des formules. Il s'agit de la Liste Select dans l'instruction SELECT sous-jacente. L'option Grouper identifie les colonnes dans lesquelles regrouper les résultats. Il s'agit de la Clause GROUP BY dans l'instruction SELECT sous-jacente. Permet d'effectuer le suivi des informations sur les événements passés correspondant aux vues sans état. Pour plus de détails, reportez-vous à la section «Conservation des événements dans des vues sans état», page 363. Comment joindre les informations de plusieurs tables et vues du plan de travail. Il s'agit de la Clause FROM dans l'instruction SELECT sous-jacente. Identifie les informations sources à inclure dans la nouvelle vue. Les événements qui ne remplissent pas la spécification ne sont pas inclus dans la vue. Il s'agit de la Clause WHERE dans l'instruction SELECT sous-jacente. Même si les informations d'un événement peuvent être supprimées, les vues dérivées sont toujours mises à jour, même si elles ne contiennent pas ces informations. Pour plus de détails, reportez-vous à la section «Mise à jour des vues par le biais de la propagation d'événements», page 361. Définit les fenêtres pour l'agrégation des ensembles de lignes de la vue. Pour plus de détails, reportez-vous à la section «Fenêtres de requêtes», page 275. Trie les vues finales en fonction des noms de colonne ou des résultats d'expression. Il s'agit de la liste Select dans l'instruction SELECT sous-jacente. Enregistre les données des vues dans une base de données en vue d'analyses ultérieures. Pour plus de détails, reportez-vous à la section «Sauvegarde des vues dans une base de données», page 364. Permet aux utilisateurs de visualiser les détails des données présentées par un objet de tableau de bord. Pour plus de détails, reportez-vous à la section «Activation du forage jusqu'aux détails», page 366.
358 Vues Guide de référence du serveur Business Activity Monitoring Contraintes sur les vues 358 Contraintes sur les vues Ces contraintes s'appliquent aux vues de Business Activity Monitoring ES : Une vue peut être dérivée d'une table d'événements ou d'une autre vue. Une vue ne peut pas joindre différents flux d'événements. (Par le biais d'un événement consolidé, il s'agit d'une union de deux flux d'événements identiques ; pour plus de détails, reportez-vous à la section «Evénements consolidés», page 360.) Une vue peut joindre deux vues du même flux d'événements. (Une jointure synchronisée est une vue dérivée de plusieurs vues basées sur le même flux d'événements ; pour plus de détails, reportez-vous à la section «Jointures synchronisées», page 358.) Une vue peut joindre une table d'événements et une ou plusieurs tables contextuelles. Une vue peut joindre une vue et une ou plusieurs tables contextuelles. Une vue ne peut pas être dérivée de tables contextuelles uniquement. Jointures synchronisées Une jointure synchronisée est une vue dérivée de deux vues basées sur le même flux d'événements d'origine. Dans une jointure synchronisée, la vue finale contient des lignes qui sont la combinaison des mêmes événements des vues sources. Jointure synchronisée Vue Une vue est une jointure synchronisée qui combine des lignes d'un même événement source. Vue Vue Evénement Contexte Restriction Exemple Les jointures synchronisées sont toujours basées sur l'id interne des événements ; la colonne d'événements interne contient une condition de jointure implicite. Cependant, vous devez toujours définir une clause WHERE ou une condition de jointure dans la clause FROM pour éviter une éventuelle jointure croisée (pour plus de détails, reportez-vous à la section «Jointures croisées», page 330). Remarque :une jointure synchronisée transmet en continu les résultats dans une vue sans état. Une jointure synchronisée requiert le traitement des événements dans l'ordre de leur arrivée. Ainsi, l'option Traiter les événements en suivant l'ordre d'arrivée doit être activée pour l'objet d'événement source. L'illustration suivante présente un exemple de jointure synchronisée qui détermine le pourcentage des ventes totales par région. La vue (SalesTotal) détermine les ventes totales de tous les événements alors que l'autre vue (SalesByRegion) détermine les totaux pour chaque région. Pour finir, la jointure
359 Vues Guide de référence du serveur Business Activity Monitoring Exemple 359 synchronisée (SalesRatiosByRegion) détermine le pourcentage de chaque région en joignant les deux vues des ventes totales et en divisant le total global par les totaux des régions. SELECT SUM (SalesEvents.Amount) AS TotalSales FROM SalesEvents SalesTotal La vue SalesRatiosByRegion détermine le pourcentage des ventes pour chaque région. SalesEvents SalesByRegion SalesRatiosByRegion SELECT SalesByRegion.Region AS Region, (SalesByRegion.TotalForRegion/ SalesTotal.TotalSales) AS RatioOfTotal FROM SalesByRegion, SalesTotal SELECT SalesEvents.Region AS Region, SUM (SalesEvents.Amount) AS TotalForRegion FROM SalesEvents GROUP BY Region Notez que la jointure synchronisée ci-dessus est une jointure croisée, ce qui, dans cette situation, est acceptable. L'exemple suivant détermine le pourcentage des ventes de chaque commercial par rapport aux ventes totales : SELECT SalesEvents.Region AS Region, SalesEvents.Rep AS Rep, SUM (SalesEvents.Amount) AS Amount FROM SalesEvents GROUP BY Region, Rep SalesTotalsByRepRegion La vue SalesRatiosPerRepRegion détermine les ventes des commerciaux par rapport au total des ventes. SalesEvents SalesRatiosPerRepRegion SalesByRegion SELECT SalesTotalsByRepRegion.Rep AS Rep, SalesByRegion.Region AS Region, SalesTotalsByRepRegion.Amount / SalesByRegion.TotalForRegion AS RatioPerRep FROM SalesTotalsByRepRegion INNER JOIN SalesByRegion ON SalesByRegion.Region = SalesTotalsByRepRegion.Region SELECT SalesEvents.Region AS Region, SUM (SalesEvents.Amount) AS TotalForRegion FROM SalesEvents GROUP BY Region Dans l'illustration précédente, vous ne souhaitez pas de jointure croisée, car elle crée une ligne pour chaque commercial de chaque région, y compris les régions dans lesquelles les commerciaux ne
360 Vues Guide de référence du serveur Business Activity Monitoring Evénements consolidés 360 travaillent pas. La vue SalesRatiosPerRepRegion déclare, quant à elle, une jointure interne pour limiter les résultats par région. Evénements consolidés Les événements consolidés sont des vues spéciales qui acceptent les événements de deux flux d'événements différents. Pour plus de détails, reportez-vous à la section «Utilisation d événements consolidés» du guide Utilisation de LiveCycle Workflow Workbench. Vues agrégées L'un des avantages clé des vues commerce est la possibilité d'agréger des informations sur les événements et le contexte afin de les extraire, les analyser et les combiner en mesures commerciales pertinentes. Les vues agrégées contiennent au moins une définition de champ qui inclut une agrégation ou une Clause GROUP BY. Examinez, par exemple, cette vue simple qui effectue le suivi du nombre total des événements qui sont arrivés au cours de la dernière heure. A chaque arrivée d'un nouvel événement, la fonction MOV_COUNT() recalcule le nombre de tous les événements contenus dans la vue, fournissant ainsi une mesure en temps réel du flux d'événements : SELECT MOV_COUNT( *, HOUR, 1) AS "Events in the last hour" FROM Events Vous pouvez accentuer légèrement la complexité de l'exemple précédent en limitant les événements affichés dans la vue. Par exemple, vous pouvez dénombrer uniquement les événements dont la valeur Status est Open : SELECT MOV_COUNT( *, HOUR, 1) AS "Opens in the last hour" FROM Events WHERE Status='Open' En combinant les informations agrégées avec un autre contexte, vous pouvez générer davantage de mesures pertinentes. Par exemple, cette vue présente le nombre d'événements dont la valeur Status est Open, puis les regroupe par Feature (fonction) : SELECT Context.Topic AS Topic, MOV_COUNT( *, HOUR, 3) AS "Opens in 3 hours" FROM Events INNER JOIN Context ON Event.Feature = Context.Feature WHERE (Status='Open') GROUP BY Feature Feature Opens in 3 hours Configuration 12 Install 3 Servers 6 Pour plus de détails sur les fonctions agrégées et moving set, reportez-vous à la section «Types de fonctions», page 110.
361 Vues Guide de référence du serveur Business Activity Monitoring Mise à jour des vues par le biais de la propagation d'événements 361 Mise à jour des vues par le biais de la propagation d'événements Lorsqu'une vue reçoit un nouvel événement, elle tente de se mettre à jour avec les nouvelles informations, et si la mise à jour s'est produite, la vue avertit alors toutes les vues dépendantes de se mettre à jour également. Cependant ces exceptions peuvent empêcher la vue de se mettre à jour : Si une vue est vide lors de la réception d'un événement et si elle reste vide après le traitement de l'événement, elle n'avertit jamais les vues dépendantes. Si une vue avec état se vide à la suite d'une suppression, par exemple si un événement existant est supprimé d'un ensemble de fonction moving set, toutes les vues dépendantes sont averties qu'elles doivent également se mettre à jour. Une mise à jour peut provoquer le vidage d'une vue sans état, et celui de toutes les vues dépendantes. Si un événement ultérieur entraîne également le vidage d'une vue, celle-ci semblera ne pas avoir été mise à jour même si elle l'a été. Si un nouvel événement est supprimé, car il ne remplit pas certains critères, la vue avec état n'est pas mise à jour. Cependant, il publie encore une copie instantanée de lui-même pour toutes les vues dépendantes, ce qui peut pousser les fonction moving set dépendantes à mettre à jour leurs vues. Si une erreur se produit lors du traitement d'un événement pendant la mise à jour d'une vue, toutes les lignes associées à l'événement entier sont supprimées, et la vue reste valide et activé. Vues sans état et vues avec état Dans Business Activity Monitoring ES, toutes les vues sont sans état ou avec état : Les vues avec état contiennent les résultats des agrégations dérivées des événements passés d'une seule ligne. Une vue est avec état si elle : contient une fonction set ou une fonction moving set dans la clause SELECT, ou ; contient une Clause GROUP BY (le cas échéant, chaque groupe contient une seule ligne), ou ; est dérivée d'une vue avec état. Les vues sans état sont toutes les vues qui ne sont pas avec état. En général, une vue sans état affiche les informations sur un seul événement, par exemple un bon de commande alors qu'une vue avec état affiche les informations agrégées sur plusieurs événements, par exemple le prix moyen de plusieurs bons de commande.
362 Vues Guide de référence du serveur Business Activity Monitoring Initialisation des vues 362 Initialisation des vues Chaque vue conserve deux copies instantanées des données qu'elle contient : Vue actuelle : Données actuellement contenues dans la vue. S'il s'agit d'une vue avec état, la copie instantanée affiche toutes les lignes qu'elle comprend. S'il s'agit d'une vue sans état, elle affiche toutes les lignes correspondant au dernier événement, qui risque d'être un ensemble vide après l'agrégation. Vue récente : Copie instantanée de la dernière vue actuelle non vide. Si la vue possède une fenêtre moving set, la vue récente contient les dernières lignes non vides de la fenêtre. Par exemple, s'il s'agit d'une fenêtre de 2 jours, la vue récente contient les dernières lignes 2 jours non vides, même si la vue actuelle est vide. Une vue récente correspond à ce qui apparaît dans BAM Workbench lors de la modification d'un objet qui affiche les résultats de la vue et à ce qui est utilisé par les vues dérivées lors de leur initialisation. Lorsque vous créez ou activez une vue, elle est initialisée sur un état en fonction des données de la vue de base comme suit. Lorsqu'une vue est dérivée d'une : vue avec état, la nouvelle vue est initialisée avec les données de la copie instantanée de la vue actuelle de la vue de base. Ci-après figure l'exemple d'une vue de base avec état qui effectue le suivi des ventes par région : SELECT region, SUM(sales) AS region_sales GROUP BY region Si vous dérivez une nouvelle vue de la vue sales_by_region, cette nouvelle vue est immédiatement renseignée à l'aide des données de la vue actuelle de la vue sales_by_region. SELECT SUM(region_sales) AS total_sales FROM sales_by_region vue sans état, la nouvelle vue est initialisée avec les données de la copie instantanée de la vue récente de la vue de base. Ci-après figure l'exemple d'une vue sans état. La copie instantanée actuelle de cette vue est vide si aucune vente n'est supérieure à SELECT region, sales WHERE sales > Cependant, une vue dérivée de cette vue sera initialisée avec les données de la copie instantanée de la vue récente de cette vue. table d'événements, la nouvelle vue est vide ; les tables d'événements ne conservent pas les copies instantanées.
363 Vues Guide de référence du serveur Business Activity Monitoring Conservation des événements dans des vues sans état 363 Conservation des événements dans des vues sans état Par défaut, une vue sans état contient uniquement les lignes qui correspondent au dernier événement ayant rempli les conditions de la vue. Les lignes des événements précédents sont supprimées. Si l'événement ne remplit pas les conditions, cette vue est vide. L'option Conservation d événements dans une vue sans état vous permet de spécifier un ensemble d'informations sur des événements non vides récents à conserver dans la vue. Utilisez cette option pour insérer les événements récents dans : BAM Workbench à l'affichage du contenu d'une vue sur l'onglet Résultats. Cet onglet affiche les lignes actuelles de la vue. Des applications externes qui reçoivent la vue en tant que données en temps réel. Ceci permet aux applications externes d'effectuer des analyses de tendances ou historiques. Pour conserver des événements dans une vue sans état : 1. Ouvrez l'éditeur de vue dans une vue à sauvegarder. Dans une vue existante, sélectionnez Modifier cette vue, ou Lors de la création d'une vue 2. Activez la case à cocher Garder dans la vue. 3. Entrez le compte ou la plage de temps des événements à conserver. Un compte d'événements correspond au nombre maximal d'événements non vides à conserver. La vue supprime les lignes d'événements les moins récents qui ne correspondent pas à la taille indiquée. Un intervalle de temps définit un ensemble d'événements les plus récents. Le compte d'événements de la vue varie en fonction du nombre d'événements présents dans l'intervalle lors de la mise à jour de la vue. Par exemple, si un événement arrive, mais ne correspond pas aux critères de la vue, il en est exclu. Toutefois, la vue recalcule l'intervalle correspondant à cette heure. Remarque :L'ensemble d'événements a été déterminé lors de l'insertion du dernier événement et non pas à l'heure actuelle. Par exemple, un intervalle d'une heure indique tous les événements arrivés dans la vue durant l'heure précédant la dernière mise à jour. Si aucun événement n'a été inséré au cours du dernier jour, il se peut que la vue continue d'afficher les événements de la journée précédente survenus sur une période d'une heure. Cependant, dès qu'un nouvel événement arrive dans la vue, tous ces événements sont supprimés. Pour plus d'instructions sur l'exécution d'agrégations d'ensembles d'événements récents, reportez-vous également à la section «Fonctions moving set», page 151.
364 Vues Guide de référence du serveur Business Activity Monitoring Sauvegarde des vues dans une base de données 364 Sauvegarde des vues dans une base de données Business Activity Monitoring ES peut sauvegarder les données d'une vue commerce dans un SGBD externe, et ce en vue de l'élaboration d'un rapport ultérieur par des outils tiers. Les informations de la table permettent aux outils d'élaboration de rapport de recréer une copie instantanée complète de la vue. Au moment de la sauvegarde, les informations de la vue s'inscrivent dans une table du SGBD à un taux conforme à une politique définie. Remarque :Business Activity Monitoring ES peut créer la table automatiquement ou vous pouvez la prédéfinir dans le SGBD. Pour plus de détails, reportez-vous au tableau de la section suivante Attributs de sauvegarde des vues. Pour activer la sauvegarde de la vue : 1. Un spécialiste de l'application doit d'abord avoir défini un agent JDBC dans le SGBDR qui stockera les données de la vue. Pour plus de détails sur la création de cet agent, reportez-vous à la section «Agents JDBC», page Ouvrez l'éditeur de vue dans une vue à sauvegarder. Dans une vue existante, sélectionnez Modifier cette vue... Lors de la création d'une vue, sélectionnez Nouvelle vue Sélectionnez l'onglet Autre. 4. Sous Sauvegarde de la vue, cliquez sur Définir 5. Renseignez les champs de la boîte de dialogue Définir la connexion à la base de données. (Consultez le tableau de la section Attributs de sauvegarde des vues.) La vue commence à sauvegarder les données dès qu'elle est activé. Attributs de sauvegarde des vues Les attributs de connexion à la base de données sont les suivants : Attribut Agent JDBC Table Créer cette table, si elle n'est pas déjà présente Description Agent du SGBDR défini à l'étape 1 de la section précédente. Table cible du SGBDR destinée à recevoir les données sauvegardées. Si vous omettez ce nom, la table a le même nom que la vue commerce. Les colonnes de la table cible doivent avoir les mêmes noms que les colonnes de la vue, s'afficher dans le même ordre que dans la vue et être au moins de la même largeur que les colonnes de la vue. Si la largeur d'une colonne de la table cible est inférieure, le SGBDR tronque automatiquement les données pour s'ajuster ou génère une erreur. De même, la table cible doit prendre en charge des lignes au moins aussi longues que celles de la vue commerce. Indique que le spécialiste de l'application ou l'administrateur de base de données n'a pas encore créé la table nommée. Si cette option est sélectionnée, Business Activity Monitoring ES tente de créer la table cible à l'aide d'une commande CREATE TABLE de l'espace de la table par défaut de l'utilisateur JDBC.
365 Vues Guide de référence du serveur Business Activity Monitoring Colonnes des vues à sauvegarder 365 Attribut Police de sauvegarde Nombre d'événements Intervalle de temps Arrêter la journalisation après... Description La sauvegarde varie selon que la vue est sans état ou avec état. Les vues avec état sont écrites en tant que copies instantanées qui sont sauvegardées en fonction de l'intervalle spécifié, et seules les copies instantanées sont sauvegardées. Les vues sans état sont également écrites en tant que copies instantanées, mais elles sont aussi enregistrées pour que les conditions existant entre les copies soient également capturées. Spécifie le nombre d'événements à écrire dans la base de données. Par exemple, si le nombre d'événements est défini sur 10, alors 10 événements doivent se produire avant d'être écrits dans la base de données. Définir ce nombre sur 1 provoque une écriture pour chaque événement. Spécifie la fréquence des écritures dans la base de données. Indique le nombre d'erreurs consécutives à écrire dans le journal des erreurs avant la désactivation de la sauvegarde. Cette option empêche le serveur de répéter la même erreur. Colonnes des vues à sauvegarder La base de données reçoit toutes les colonnes et les lignes actuellement contenues dans la vue. En outre, chaque ligne contient ces colonnes internes supplémentaires : Colonne VC_EVENT_ID VC_LATEST_EVENT_ID VC_TIMESTAMP Description L'identifiant d'événement identifie l'événement ayant produit la toute dernière ligne insérée dans la vue. L'identifiant du dernier événement 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. L'horodatage d'événement identifie le moment auquel le dernier événement a été inséré dans la vue.
366 Vues Guide de référence du serveur Business Activity Monitoring Activation du forage jusqu'aux détails 366 Activation du forage jusqu'aux détails Vous pouvez créer des vues offrant la possibilité d'accéder aux détails d'un graphique. Ceci permet aux utilisateurs de visualiser les détails des données présentées par un objet de tableau de bord. L'utilisation de la fonction Forage jusqu'aux détails est soumise aux conditions préalables suivantes : La source de données de l'objet de tableau de bord doit être un cube. La vue sur laquelle le cube est conçu doit être sans état (reportez-vous à la section «Conservation des événements dans des vues sans état», page 363). Les dimensions du cube doivent provenir d'une seule base de données externe et cette base de données doit être identique aux mesures du cube. Si une vue comporte plusieurs tables, vous pouvez utiliser une table sauvegardée comme table de forage jusqu'aux détails (reportez-vous à la section «Sauvegarde des vues dans une base de données», page 364). Pour activer le forage jusqu'aux détails : 1. Un spécialiste de l'application doit d'abord avoir défini un agent JDBC dans le SGBDR qui stockera les données de la vue. Pour plus de détails sur la création de cet agent, reportez-vous à la section «Agents JDBC», page Ouvrez l'éditeur de vue dans une vue pour laquelle vous souhaitez activer l'option Forage jusqu'aux détails. Dans une vue existante, sélectionnez Modifier cette vue... Lors de la création d'une vue, sélectionnez Nouvelle vue Cliquez sur l'onglet Avancé, puis sous la zone Forage jusqu'aux détails, cliquez sur Définir 4. Renseignez les champs de la boîte de dialogue Définir le Forage jusqu'aux détails. Agent du SGBDR défini à l'étape 1 de la section précédente. Table du SGBDR à utiliser pour obtenir des informations sur le forage jusqu'aux détails. 5. Cliquez sur OK. 6. Enregistrez la vue.
367 35 Services Web Un service Web sert d'interface à une application s'exécutant sur un serveur d'application Web. Ce service peut être un simple script de recherche de base de données ou bien un produit complexe d'intégration des applications de l'entreprise (EAI), comme ceux fournis par Siebel ou SAP. Business Activity Monitoring ES se connecte aux services Web pour effectuer les tâches suivantes : recevoir des événements (comme décrit dans la section «Evénements de service Web», page 368) ; récupérer un contexte (comme décrit dans la section «Contexte de service Web», page 371) ; publier des messages d'alerte : vers le profil de livraison d'un abonné (pour plus de détails, reportez-vous à la section «Onglet Profils de livraison», page 339) ; un à un comme initié par un utilisateur affichant le message dans BAM Dashboard (pour plus de détails, reportez-vous à la section «Processus externes des services Web», page 376). Ce chapitre comprend les sections suivantes : «Evénements de service Web», page 368 «Contexte de service Web», page 371 «Processus externes des services Web», page
368 Services Web Guide de référence du serveur Business Activity Monitoring Evénements de service Web 368 Evénements de service Web Les services Web publient des données d'événements au format XML par le biais du protocole HTTP directement vers les serveurs Business Activity Monitoring ES. Tous les éditeurs de services Web utilisent la même URL. Ainsi, le nom de l'événement qui reçoit les données ainsi que le compte Business Activity Monitoring ES qui a accès à la table d'événements sont encodés en XML avec les données d'événements. Lorsque les serveurs reçoivent les données d'événements, ils analysent le code XML, décodent les données, puis les insèrent dans le flux d'événements identifié. Application des services Web Données d'événements au format XML Business Activity Monitoring ES Les services Web publient les données d'événements au format XML via le protocole HTTP vers Business Activity Monitoring ES. Table d'événements La table d'événements des services Web fait correspondre les données XML au flux d'événements. Attributs des événements des services Web Chaque table d'événements des services Web possède les attributs suivants : Attribut Nom Description Etat 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). Enregistrer les données d'événements en vue de la récupération 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. Traiter les événements en suivant l'ordre d'arrivée Désactiver l'événement lorsque le nombre d'erreurs consécutives est atteint 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 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ésactive l'événement lorsque le nombre d'erreurs consécutives défini est atteint. Par exemple, si vous avez défini cet attribut sur 5, l'événement est désactivé après 5 erreurs consécutives. Cependant, si 4 erreurs, zéro erreur, puis 2 erreurs se succèdent, l'événement reste activé. La valeur par défaut désactivé : Ne pas désactiver.
369 Services Web Guide de référence du serveur Business Activity Monitoring Création d'un événement de service Web 369 Attribut Informations sur la colonne Intervalle de suppression de l'état Description Les champs Informations sur la colonne définissent les colonnes de la table d'événements et sont du même nom que les champs du message XML, comme décrit dans le fichier WSDL de l'événement. 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 de service Web Avant de créer une table d'événements de service Web, vous devez créer une autorisation sur les tables (reportez-vous à la section «Autorisation de création», page 260). Pour publier un événement à partir d'un service Web : 1. Créez un événement de service Web dans BAM Workbench. 2. (Facultatif) Créez un compte utilisateur Business Activity Monitoring ES pour le service Web à utiliser lors de la publication de l'événement. Ce compte doit disposer au moins d'une autorisation Lecture et écriture sur la table d'événements pour publier le flux d'événements. 3. Récupérez la définition WSDL de l'événement à l'aide du protocole HTTP. Le fichier eventstream.wsdl décrit tous les flux d'événements de service Web Business Activity Monitoring ES définis. Consultez la documentation de WSDL pour obtenir la description des éléments et des attributs XML. 4. Créez l'éditeur de services Web et définissez les données d'événements XML de telle sorte qu'elles respectent la définition WSDL. Cet exemple de syntaxe XML transfère des données vers le flux d'événements OrderWSEvent : compte utilisé pour accéder au flux d'événements (WSInputAccount) ;
370 Services Web Guide de référence du serveur Business Activity Monitoring Création d'un événement de service Web 370 quatre colonnes de données définies dans l'élément <OrderWSEventData>. <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv=" xmlns:xsd=" xmlns:xsi=" <soapenv:body> <OrderWSEvent_input xmlns=" <cqesi> <eventname>orderwsevent</eventname> <username>wsinputaccount</username> <password>wspwd</password> </cqesi> <OrderWSEventData> <ProdName>Plywood</ProdName> <OrderQuantity>150</OrderQuantity> <OrderTotal>987.34</OrderTotal> <IsBackordered>true</IsBackordered> </OrderWSEventData> </OrderWSEvent_input> </soapenv:body> </soapenv:envelope> 5. Publiez les événements vers l'url identifiée dans le fichier eventstream.wsdl, semblable à la suivante : Si plus tard, vous changez l'ordinateur qui héberge les serveurs Business Activity Monitoring ES, veillez à interroger de nouveau le fichier WSDL afin d'identifier l'url correcte. Cette étape clôt la procédure de création et d'utilisation d'un événement de service Web.
371 Services Web Guide de référence du serveur Business Activity Monitoring Contexte de service Web 371 Contexte de service Web Une vue commerce demande les lignes d'une table contextuelle qui correspondent à une ou plusieurs valeurs d'entrée, par exemple la liste des fournisseurs d'un article où l'id d'article correspond à l'entrée. Cette entrée est ensuite transmise à l'application de service Web au format XML par le biais de l'agent. L'application renvoie à son tour une ou plusieurs lignes de données au format XML, qui sont associées à la table contextuelle. Pour finir, la table transmet les données demandées à la vue commerce qui en a fait la demande. Vue commerce Les services Web fournissent des données contextuelles en réponse à la requête d'une vue commerce. Table contex tuelle Colonnes d'entrée Colonnes de sortie Agent de service Web Données de la requête Données demandées Application des services Web Les agents de services Web Business Activity Monitoring ES sont synchrones : Ils récupèrent des données contextuelles, résultat d'une requête particulière. Lors de la demande de données, l'agent utilise le protocole SOAP (Simple Object Access Protocol) (liaison SOAP) pour communiquer avec l'application via une connexion HTTP. L'application renvoie ensuite une ou plusieurs lignes de données en XML en suivant le format WSDL (Web Service Definition Language), format de style doc. (Notez que le style RPC WSDL n'est pas pris en charge.) Remarque :pour plus de détails sur les agents contextuels, reportez-vous à la section «Agents de services Web», page 38. Avant de créer une table contextuelle de services Web, vous devez disposer des éléments suivants : une autorisation Création sur les tables (reportez-vous à la section «Autorisation de création», page 260); un agent de service Web alimentant la table (pour plus de détails, reportez-vous à la section «Agents de services Web», page 38) ; une autorisation Lecture seule sur l'agent. Une table de services Web possède les attributs suivants : Attribut Nom Description Etat Description Nom de la table contextuelle. 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 activé (contrôle des événements) ou désactivé (pas de contrôle des événements).
372 Services Web Guide de référence du serveur Business Activity Monitoring Création d'une table contextuelle de services Web 372 Attribut Agent de service Web Méthode Racine XPath Description Agent de service Web existant qui se connecte à une application de service Web. Créez un agent dans l'onglet Administration de BAM Workbench. Pour plus de détails, reportez-vous à la section «Agents de services Web», page 38. Vous ne pouvez pas modifier cette valeur. Méthode du service Web à utiliser. Lorsque le service propose plusieurs méthodes, vous devez sélectionner celle que vous utiliserez. Dans cette version, vous ne pouvez pas modifier cette valeur. Identifie la racine XPath des éléments répétitifs dans la sortie, en général /Envelope/Body. Ce chemin est ajouté devant tous les chemins de la liste Nom du champ Sortie. 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. Résultats Entrées Mise en cache Colonnes recevant les informations du service Web. Pour plus de détails, reportez-vous à la section «Colonnes Sortie», page 373. Colonnes contenant les données qui identifient les éléments à rechercher dans la requête. Pour plus de détails, reportez-vous à la section «Colonnes Entrée», page 374. Pour plus de détails sur cette fonction, reportez-vous à la section «Mise en cache des requêtes de contexte», page 62. Création d'une table contextuelle de services Web Utilisez la procédure suivante pour créer une table contextuelle de services Web. Pour créer une table contextuelle de services Web : 1. Dans l'onglet Workbench de BAM Workbench, créez un contexte, puis sélectionnez le service Web comme type de table. 2. Sélectionnez un agent de service Web existant. 3. Sélectionnez la méthode du service à utiliser. Chaque service Web propose une ou plusieurs méthodes permettant d'accéder aux données fournies conformément à sa définition de fichier WSDL (emplacement de l'url que vous avez spécifiée lors de la création de l'agent de service Web). Choisissez la méthode qui exécutera la requête dont a besoin votre contexte. 4. Définissez les colonnes qui recevront les informations du service Web : colonnes Sortie. Par défaut, l'éditeur définit une colonne pour chaque élément renvoyé par la méthode. Pour plus de détails sur la définition de ces colonnes, reportez-vous à la section «Colonnes Sortie», page 373.
373 Services Web Guide de référence du serveur Business Activity Monitoring Colonnes Sortie Définissez les colonnes qui contiennent les données identifiant les éléments à rechercher dans la requête : colonnes Entrée. Par défaut, l'éditeur définit une colonne pour chaque élément renvoyé par la méthode. Pour plus de détails, reportez-vous à la section «Colonnes Entrée», page Indiquez le nombre de résultats à mettre en cache éventuellement. Pour plus de détails sur cette fonction, reportez-vous à la section «Mise en cache des requêtes de contexte», page 62. Enregistrez la table de services Web comme étant activé, elle sera ainsi prête immédiatement à recevoir un contexte. Colonnes Sortie Les colonnes Sortie reçoivent les informations du service Web et définissent la table qui recevra les données. L'éditeur définit automatiquement une colonne pour chaque élément renvoyé par la méthode. Par ailleurs, chaque colonne possède les attributs suivants : Attribut Colonne Nom du champ Sortie Type de données XSD Type de données Business Activity Monitoring ES Mise en forme Description Nom de la colonne de la table qui contient les résultats renvoyés par le service Web. Par défaut, ce nom est identique à l'élément du nom du champ Sortie. Vous pouvez attribuer tous les noms valides. (Ne peut pas être modifié.) Identifie l'élément XML renvoyé par le service. Notez que vous pouvez afficher tout le chemin d'accès à cet élément dans la boîte de dialogue Masquer/Afficher. (Ne peut pas être modifié.) Identifie le type de données de l'élément XML. Seuls les types de données de base sont pris en charge : nombres, chaînes, dates et booléens. Les types complexes comme ANY, ARRAY et les types MIME ne sont pas pris en charge. Type de données de la colonne de la table. Sélectionnez un type de données approprié aux données renvoyées. Met en forme la valeur Chaîne, Date-heure ou DECIMAL renvoyée. Cette option n'est pas disponible pour les autres types de données. Pour plus de détails, reportez-vous à la section «Types de données», page 69. Pour exclure des colonnes du résultat, ouvrez la boîte de dialogue Masquer/Afficher, puis désélectionnez les champs correspondants.
374 Services Web Guide de référence du serveur Business Activity Monitoring Colonnes Entrée 374 Colonnes Entrée Les colonnes Entrée transmettent des informations au service Web pour qu'il identifie les données à renvoyer (les sorties). L'éditeur définit automatiquement une colonne pour chaque élément identifié par la méthode. Chaque colonne possède les attributs suivants : Attribut Colonne Nom du champ Entrée Texte de substitution de la chaîne Type de données XSD Type de données Business Activity Monitoring ES Mise en forme Description Nom de la colonne qui contient les informations transmises à la requête du service Web. Par exemple, il peut contenir un ID identifiant le produit à rechercher. Cette colonne est renseignée par la vue commerce qui requiert les informations contextuelles. Par défaut, ce nom est identique à l'élément du nom du champ Entrée. Vous pouvez attribuer tous les noms valides. (Ne peut pas être modifié.) Identifie l'élément XML transmis au service. Notez que vous pouvez afficher tout le chemin d'accès à cet élément dans la boîte de dialogue Masquer/Afficher. Chaîne à transmettre au service qui contient les valeurs insérées par la vue commerce demandant les informations. Pour plus de détails, reportez-vous à la section «Modèles de substitution de la chaîne», page 374. (Ne peut pas être modifié.) Identifie le type de données de l'élément XML. Seuls les types de données de base sont pris en charge : nombres, chaînes, dates et booléens. Les types complexes comme ANY, ARRAY et les types MIME ne sont pas pris en charge. Type de données de l'attribut Colonne. Sélectionnez un type de données approprié aux données à transmettre. Met en forme la valeur Chaîne, Date-heure ou DECIMAL renvoyée. Cette option n'est pas disponible pour les autres types de données. Pour plus de détails, reportez-vous à la section «Types de données», page 69. Pour exclure les colonnes superflues de la requête, ouvrez la boîte de dialogue Masquer/Afficher, puis désélectionnez les champs correspondants. Modèles de substitution de la chaîne Utilisez un modèle de substitution de la chaîne lorsque le service Web nécessite une chaîne avec les données de recherche incorporées. Par exemple, certains services requièrent une expression correspondant à la requête à émettre vers la source de données. L'illustration ci-dessous renvoie un contexte, où les valeurs Part_ID et Qty_On_Hand sont fournies par la vue commerce demandant les informations. Dans cette illustration, chaque attribut Colonne (Alias) correspond à une colonne de la table
375 Services Web Guide de référence du serveur Business Activity Monitoring Modèles de substitution de la chaîne 375 contextuelle. Lorsque le service Web est interrogé, les valeurs de ces colonnes sont insérées dans la chaîne transmise au service.
376 Services Web Guide de référence du serveur Business Activity Monitoring Processus externes des services Web 376 Pour utiliser des modèles de substitution de la chaîne : 1. Cliquez sur ( ) pour ouvrir l'éditeur de modèle. 2. Saisissez l'expression du modèle et un point d'interrogation (?) pour chaque information à récupérer d'une colonne. Chaque point d'interrogation correspond à un champ de substitution. Les champs correspondent aux noms de colonne de la table contextuelle et s'affichent dans l'ordre d'apparition des points d'interrogation dans l'expression. Enregistrez le modèle pour mettre à jour l'affichage de la colonne Entrée. Processus externes des services Web Les processus externes des services Web sont des méthodes qui reçoivent les documents XML qui décrivent le message d'alerte ou l'objet de tableau de bord qu'un utilisateur BAM Dashboard affiche et qu'il a envoyé au service. Le document XML décrit toutes les données de l'élément affiché par l'utilisateur. Pour publier un élément vers un service Web externe : 1. Définissez le processus externe pour recevoir le message dans BAM Workbench. Reportez-vous à la section Création d'un processus externe. 2. Envoyez l'élément à partir de BAM Dashboard. Lors de l'affichage d'un message d'alerte ou d'un objet de tableau de bord, sélectionnez Agir > Initier le processus, puis le processus. 3. Le service externe reçoit l'élément sous la forme d'un document XML et le traite. Pour plus de détails sur le document, reportez-vous à la section «Implémentation du service externe», page 377. Attributs de processus externe Chaque processus externe possède les attributs suivants : Attribut Nom Description Etat URL du service Web Méthode Description Nom du processus externe qui s'affiche dans la boîte de dialogue Initier le processus de BAM Dashboard. Ce nom doit être unique parmi les processus externes. 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. Cette description s'affiche dans la boîte de dialogue Initier le processus de BAM Dashboard. Indique si le processus est activé (envoi de documents XML) ou désactivé (pas d'envoi de documents). Emplacement HTTP de l'application fournissant le service RPC (liaison SOAP). Notez que les messages de style DOC ne sont pas pris en charge. Méthode du service Web à utiliser.
377 Services Web Guide de référence du serveur Business Activity Monitoring Création d'un processus externe 377 Attribut Nom d'utilisateur Mot de passe Description (Facultatif) Compte à utiliser pour se connecter au service. (Facultatif) Mot de passe du compte. Création d'un processus externe Définissez un processus externe dans Console d administration de BAM Workbench. Avant de créer un processus externe des services Web, vous devez disposer des éléments ci-dessous. Une méthode de service Web externe, déjà définie pour recevoir la méthode publiée. Vous devez connaître l'url pour vous connecter au service, le nom de la méthode qui recevra le message, et tous les noms d'utilisateur ou de compte ainsi que les mots de passe requis par le service. Pour plus de détails, reportez-vous à la section Implémentation du service externe. Une autorisation Création sur les processus externes (pour plus de détails, reportez-vous à la section «Autorisation de création», page 260). Pour créer un processus externe : 1. Dans BAM Workbench, ouvrez Console d administration > Liste des processus externes, puis cliquez sur Nouveau processus. 2. Définissez les attributs du processus. 3. Enregistrez le processus qui est alors mis immédiatement à la disposition de tous les utilisateurs qui peuvent y accéder. Pour utiliser le processus, dans BAM Dashboard, sélectionnez Agir > Initier le processus, puis le processus. Remarque :Pour afficher et utiliser un processus dans BAM Dashboard, les utilisateurs doivent disposer d'une autorisation Lecture sur ce processus. Vous pouvez attribuer des autorisations sur le nouvel objet en cliquant sur Autorisations dans la liste des processus externes ou bien un administrateur peut accorder aux utilisateurs un accès en lecture sur la classe des processus externes. Pour plus de détails, reportez-vous à la section «Droits d'accès», page 257. Implémentation du service externe Pour implémenter le service Web externe : Définissez-le pour recevoir un message de liaison SOAP avec les champs de l'action externe XSD. Créez un fichier WSDL (fichier de définition) en suivant les conditions requises cibles et d'importation de Business Activity Monitoring ES. Champs message Les champs message XML sont définis dans le fichier de définition invokeexternalaction.xsd. Ce fichier ainsi que tous les fichiers XSD se trouvent dans le répertoire /api/metadata sur le CD-ROM du produit. Pour
378 Services Web Guide de référence du serveur Business Activity Monitoring Fichier WSDL de service Web 378 plus de détails sur les fichiers XML et XSD de Business Activity Monitoring ES, reportez-vous à la section «XML/XSD», page 380. Remarque :le fichier common.xsd situé dans le même répertoire vous est également nécessaire. Chaque message contient au moins ces champs : Description : description du processus externe défini dans BAM Workbench. actionname : nom du processus externe défini dans BAM Workbench. Gravité : gravité du message d'alerte d'origine ou sélectionnée par l'utilisateur qui a initié le message. Au besoin, d'autres champs sont insérés en fonction de l'objet affiché par l'utilisateur dans BAM Dashboard lors de l'initiation de l'action, par exemple l'objet d'un message d'alerte ou l'ensemble des lignes des données de la vue présentant un graphique. Pour plus de détails, reportez-vous au fichier XSD. Fichier WSDL de service Web Lors de l'implémentation du service Web, définissez-le pour recevoir un message SOAP à l'aide des attributs suivants : Attribut Valeur Commentaires Style RPC Ne pas utiliser de «document». Espace de noms cible (tns) Encodage (soap:body) Encodé Ne pas utiliser de «littéral». Espace de noms d'importation Emplacement d'importation Propre à l'installation Définit les types de données Business Activity Monitoring ES. Vous pouvez également les définir dans le fichier WSDL, mais cette définition n'est pas traitée dans ce document. Emplacement du fichier invokeexternalaction.xsd dans votre installation.
379 Services Web Guide de référence du serveur Business Activity Monitoring Fichier WSDL de service Web 379 Ci-après figure un exemple de fichier WSDL qui traite le message invokeexternalaction sur un ordinateur et le port host:80. Notez qu'il importe le fichier de définition invokeexternalaction.xsd. <?xml version="1.0" encoding="utf-8"?> <definitions xmlns:http=" xmlns:soap=" xmlns:xsd=" xmlns:soapenc=" xmlns:tm=" xmlns:mime=" xmlns:impl=" xmlns:tns=" targetnamespace=" xmlns=" <import namespace=" location="/celequest/api/metadata/invokeexternalaction.xsd"/> <message name="invokeexternalactionrequest"> <part name="request" element="impl:invokeexternalaction" /> </message> <porttype name="invokeexternalactionporttype"> <operation name="invokeexternalactionoperation"> <documentation>receives a Celequest external action. </documentation> <input message="tns:invokeexternalactionrequest"/> </operation> </porttype> <binding name="invokeexternalactionbinding" type="tns:invokeexternalactionporttype"> <soap:binding transport=" style="rpc" /> <operation name="invokeexternalactionoperation"> <soap:operation soapaction=""/> <input> <soap:body encodingstyle=" namespace=" use="encoded"/> </input> </operation> </binding> <service name="invokeexternalactionservice"> <port name="invokeexternalactionservice" binding="tns:invokeexternalactionbinding"> <soap:address location=" </port> </service> </definitions>
380 36 XML/XSD Tous les Objets Business Activity Monitoring ES et de nombreuses opérations système peuvent être exprimés au format XML et téléchargés sur le système. La syntaxe XML doit être correctement mise en forme conformément à la définition des fichiers de schéma XML (XSD). Pour obtenir la liste complète des objets définis et des opérations que vous pouvez exécuter, reportez-vous à la section «Business Activity Monitoring ES XSD, fichiers», page 388. Remarque :Les détails sur le format XML et les fichiers XSD ne sont pas traités dans cette documentation. Pour plus de détails, consultez le site Ce chapitre comprend les sections suivantes : «A propos des fichiers XML et XSD de Business Activity Monitoring ES», page 381 «Téléchargement de fichiers XML», page 382 «Définition d'un objet avec le langage XML», page 384 «Définition de plusieurs objets avec le langage XML», page 385 «Modification d'un objet existant avec le langage XML», page 387 «Emission de commandes XML», page 388 «Business Activity Monitoring ES XSD, fichiers», page
381 XML/XSD Guide de référence du serveur Business Activity Monitoring A propos des fichiers XML et XSD de Business Activity Monitoring ES 381 A propos des fichiers XML et XSD de Business Activity Monitoring ES Tous les fichiers XML de Business Activity Monitoring ES possèdent des fichiers de schéma qui définissent la structure du langage XML. Les fichiers XSD et les exemples de fichier XML sont fournis sur le CD-ROM du produit. /api/metadata Fichiers XSD /samples/metadata Exemples de fichier XML Outre les exemples, une autre façon de visualiser correctement les fichiers XML définis consiste à créer d'abord des objets dans BAM Workbench ou BAM Dashboard, puis à utiliser Console d administration pour exporter tout l'ensemble. Tous les objets exportés sont écrits sous forme de fichiers XML dans le répertoire d'exportation du serveur. Pour plus de détails sur cette procédure, reportez-vous à la section Importation/exportation de métadonnées du guide Utilisation de Celequest Operational Dashboard. Utilisation de LiveCycle Workflow Workbench. Dépendances Espace La plupart des objets du système dépendent d'autres objets. Lorsque vous définissez un nouvel objet, toutes ses dépendances doivent d'abord être définies. Pour ce faire, définissez et téléchargez les objets de base dans leur ordre de dépendance ou définissez-les en lot conformément à la description de la section «Définition de plusieurs objets avec le langage XML», page 385. Lorsqu'une valeur d'élément XML contient plusieurs caractères d'espace contigus qui doivent être conservés, indiquez au système de les conserver avec la syntaxe suivante : xml:space="preserve". Dans le cas contraire, la spécification XML indique de supprimer les espaces supplémentaires. Par exemple, sans la directive de conservation, la description suivante serait tronquée des espaces de fin et ne présenterait qu'un espace entre les mots : <description xml:space="preserve">a note </description> Caractères d'échappement Les caractères «<» et «&» sont incorrects au format XML. D'autres caractères sont autorisés, mais peuvent provoquer une confusion lors de leur lecture. Pour ces derniers, utilisez plutôt ces entités d'échappement XML. Séquence Résultat < < Inférieur à > > Supérieur à & & Perluète ' ' Apostrophe " " Guillemet double
382 XML/XSD Guide de référence du serveur Business Activity Monitoring Données caractères 382 Par exemple, pour exprimer une requête contenant un symbole Inférieur à (<), utilisez plutôt < : <query>select c1, c2 FROM event1 WHERE c3<=100 AND c2='cqst'</query> Données caractères Au lieu d'utiliser des caractères d'échappement, vous pouvez utiliser une balise CDATA pour exprimer des caractères spéciaux. Cette balise indique à l'analyseur d'ignorer tous les caractères spéciaux et de les traiter comme des littéraux. Par exemple : <query><![cdata[select c1, c2 FROM event1 WHERE c3<=100 AND c2='cqst']]></query> Téléchargement de fichiers XML Deux méthodes permettent de télécharger des fichiers XML dans Business Activity Monitoring ES : A partir d'une ligne de commande avec l'utilitaire cqupload.jar. A partir d'un navigateur Web avec le script fileupload.jsp. Ces deux méthodes nécessitent que le serveur Business Activity Monitoring ES soit en cours d'exécution. Chaque méthode utilise également un compte utilisateur Business Activity Monitoring ES pour se connecter au serveur et exécuter l'action. Dans chaque cas, le compte doit disposer de droits en création sur la classe d'objets à créer ou de droits administratifs sur les opérations à exécuter. Pour plus de détails sur les comptes utilisateur, reportez-vous à la section «Utilisateurs», page 336. A partir d'une ligne de commande A partir d'une ligne de commande, exécutez l'utilitaire cqupload.jar pour télécharger des fichiers. Il figure sur le CD-ROM du produit dans le répertoire /Business Activity Monitor/CQUpload/. Cet utilitaire dispose de trois options : Option Description -s (URL de l'application) URL qui localise Business Activity Monitoring ES. -u (nom d'utilisateur) (Facultative) Compte utilisateur à utiliser. Omettez cette option pour utiliser le compte d'administrateur système par défaut. -p (mot de passe) Mot de passe du compte utilisateur. Il est requis si vous insérez -u. Par exemple, pour télécharger un fichier XML à l'aide du compte d'administrateur système par défaut : java -jar <CD-ROM>/Business Activity Monitor/CQUpload/cqupload.jar -s createuserskyler.xml Pour inclure un nom d'utilisateur ou un mot de passe : java -jar cqupload.jar -u skyler -p roo -s...
383 XML/XSD Guide de référence du serveur Business Activity Monitoring A partir d'un navigateur Web 383 Une opération réussie se produit automatiquement. Si elle échoue, l'utilitaire renvoie un message d'erreur à la fenêtre de commandes. Passez en revue ce message afin d'identifier le problème. Par exemple, ce message indique une erreur dans la syntaxe XML : Error uploading file: createuserskyler.xml java.io.ioexception: Error parsing an XML document. Ensure that the XML conforms exactly to the XML schema definition. The XML that cannot be parsed is: Vous trouvez la cause effective de l'échec plus bas dans le message : un élément incorrect. Caused by: javax.xml.bind.unmarshalexception: Unexpected element { A partir d'un navigateur Web Le script fileupload.jsp présente un formulaire dans lequel vous identifiez le fichier XML à télécharger. Il inclut un dispositif de sélection de fichier dans lequel vous identifiez le fichier XML à charger et affiche un message avec les résultats du téléchargement. Pour effectuer le téléchargement à partir d'un navigateur Web : 1. Exécutez le script fileupload.jsp. Utilisez une adresse semblable à l'url ci-dessous. Utilisez l'hôte local uniquement si vous exécutez le navigateur sur le même hôte que les serveurs Business Activity Monitoring ES ; dans le cas contraire, utilisez le même emplacement que celui que vous utilisez pour exécuter BAM Workbench Identifiez le nom d'utilisateur et le mot de passe du compte Business Activity Monitoring ES à utiliser. 3. Identifiez le fichier XML à télécharger. 4. Sélectionnez Télécharger pour exécuter l'action. La page de résultats affiche le nom du fichier XML téléchargé ainsi que ses résultats. Si l'état est Echec, passez en revue l'exception pour connaître l'origine du problème, puis corrigez le problème. Par exemple, ce message indique que l'opération a échoué, car l'objet utilisateur Rolf n'existe pas. Exception Encountered com.celequest.exception.vcexception: Cannot alter the [User] named [Rolf] because that object does not exist.
384 XML/XSD Guide de référence du serveur Business Activity Monitoring Définition d'un objet avec le langage XML 384 Définition d'un objet avec le langage XML Cette section explique comment définir et télécharger une définition XML. Pour télécharger plusieurs fichiers XML, notamment des objets pourvus de dépendances, suivez les instructions de la section suivante «Définition de plusieurs objets avec le langage XML», page 385. Pour définir un objet avec le langage XML : 1. Créez une définition XML. Utilisez le fichier XSD associé pour déterminer les éléments valides du fichier XML. Reportez-vous à la section «Exemple : Création d'un utilisateur», page 384 pour consulter un exemple de fichier XML complet. 2. Assurez-vous de l'exécution de Business Activity Monitoring ES. 3. Téléchargez le fichier XML. Utilisez l'une des méthodes décrites dans la section «Téléchargement de fichiers XML», page 382. Pour télécharger le fichier à partir de la ligne de commande avec l'utilitaire cqupload.jar : java -jar <CD-ROM>/Business Activity Monitor/CQUpload/cqupload.jar -s createuserskyler.xml Cette étape clôt la création d'un objet. Exemple : Création d'un utilisateur <?xml version="1.0" encoding="utf-8"?> <createuser xsi:schemalocation=" xmlns=" xmlns:xsi=" > <name>skyler</name> <description xml:space="preserve">a power user</description> <Password>roo</Password> </createuser>
385 XML/XSD Guide de référence du serveur Business Activity Monitoring Définition de plusieurs objets avec le langage XML 385 Définition de plusieurs objets avec le langage XML Lors de la définition de plusieurs objets, notamment ceux pourvus de dépendances, utilisez commandbatch.xsd : L'objet de définition XML en mode lot. Si vous utilisez le mode lot, insérez tout le langage XML dans un seul fichier, puis téléchargez ce fichier. Toutes les opérations doivent être valides, faute de quoi aucune d'elles ne sera acceptée. Pour définir et télécharger un seul fichier XML, suivez les instructions de la section «Définition d'un objet avec le langage XML», page 384. Pour définir plusieurs objets avec le langage XML : 1. Créez un fichier de commandes XML. Utilisez la définition commandbatch.xsd. Dans le fichier, emboîtez chaque définition dans un élément <commande>, puis placez-les toutes dans un seul élément <commandes> pour que les objets soient définis. Remarque :reportez-vous à la section «Exemple : Commande batch», page 386 pour consulter la liste qui définit plusieurs objets dépendants. 2. Assurez-vous de l'exécution de Business Activity Monitoring ES. 3. Téléchargez le fichier de commandes XML. A l'aide de l'utilitaire cqupload.jar, téléchargez le fichier XML sur le serveur d'application exécutant Business Activity Monitoring ES. Par exemple, pour télécharger l'exemple de fichier de commandes : java -jar <CD-ROM>/Business Activity Monitor/CQUpload/cqupload.jar -s commandbatchskyler.xml Cette étape clôt la définition de plusieurs objets.
386 XML/XSD Guide de référence du serveur Business Activity Monitoring Exemple : Commande batch 386 Exemple : Commande batch Cette commande batch définit un compte utilisateur, deux profils de livraison pour l'utilisateur ainsi qu'une préférence utilisateur, puis attribue une autorisation à l'utilisateur. <?xml version="1.0" encoding="utf-8"?> <commandbatch xsi:schemalocation=" xmlns=" xmlns:xsi=" > <commands> <command> <createuser> <name>skyler</name> <description xml:space="preserve">a power user</description> <Password>roo</Password> </createuser> </command> <command> <createuserprofile> <name xml:space="preserve">work </name> <UserName>Skyler</UserName> <isdefault>true</isdefault> < Profile><typeName/> < address>[email protected]</ address> </ Profile> </createuserprofile> </command> <command> <createuserprofile> <name xml:space="preserve">second profile</name> <UserName>Skyler</UserName> <isdefault>false</isdefault> < Profile><typeName/> < address>[email protected]</ address> </ Profile> </createuserprofile> </command> <command> <setuserpreferences> <username>skyler</username> <userpreference> <operation>set</operation> <name>polling_interval</name> <value>5</value> </userpreference> </setuserpreferences> </command> <command> <setprivilege> <operation>grant</operation> <privilegetuple> <objecttype>view</objecttype>
387 XML/XSD Guide de référence du serveur Business Activity Monitoring Modification d'un objet existant avec le langage XML 387 <privilege>update</privilege> <accessortype>user</accessortype> <accessorname>skyler</accessorname> </privilegetuple> <withgrant>false</withgrant> </setprivilege> </command> </commands> </commandbatch> Modification d'un objet existant avec le langage XML Pour modifier la définition d'un objet existant, utilisez le même XML et le même schéma que ceux utilisés lors de sa création, mais insérez un élément <alterinformation> afin d'identifier la modification. (L'élément <alterinformation> est défini dans common.xsd.) Par exemple, cette définition attribue à la vue OldName le nouveau nom NewName ; notez qu'elle utilise le schéma createview.xsd : <?xml version="1.0" encoding="utf-8" standalone="yes"?> <createview xsi:schemalocation=" /api/metadata/createview.xsd" xmlns=" xmlns:xsi=" > <alterinformation> <previousname>oldname</previousname> </alterinformation> <name>newname</name> <description>my test view</description> <query>select c1, c2 FROM event1 WHERE c3<=100</query> </createview> Quelle que soit la modification que vous implémentez, vous devez utiliser <previousname>. Si vous ne changez pas le nom de l'objet, utilisez un même nom pour les deux éléments <previousname> et <name>, comme ceci :... <alterinformation> <previousname>oldname</previousname> </alterinformation> <name>oldname</name> <description>new description</description> <query>select c1, c2 FROM event1 WHERE c3<555</query>... Par défaut, une modification échoue si l'objet existant n'existe pas. Cependant, vous pouvez forcer la création de l'objet, quelle que soit son existence, en insérant un élément <createifnotfound>, comme ceci :... <alterinformation> <previousname>oldname</previousname> <createifnotfound>true</createifnotfound> </alterinformation>...
388 XML/XSD Guide de référence du serveur Business Activity Monitoring Dépendances 388 Dépendances Si vous modifiez un objet existant, tous les autres objets qui en dépendent sont évalués et rendus incorrects si leur définition est interrompue, conséquence de la modification. Vous devez modifier les objets incorrects et corriger leur définition pour pouvoir les réactiver. Emission de commandes XML De nombreuses opérations système peuvent être exécutées à l'aide de commandes XML. Voici certaines des opérations courantes : Opération Activation d'un objet Désactivation d'un objet Suppression d'un objet Définition d'une propriété système Importation ou exportation des métadonnées système Exécution d'un point de contrôle Schéma enableobject.xsd disableobject.xsd dropobject.xsd setproperty.xsd performimportexport.xsd systemcommand.xsd La section suivante est un exemple d'opération. Exemple : Activation d'un objet et de ses dépendances Pour activer un objet et toutes ses dépendances, utilisez le schéma enableobject.xsd. Vous devez identifier le nom de l'objet ainsi que son type. (Les valeurs <type> correctes sont définies dans common.xsd par l'élément <VCEnableObjectType>.) <?xml version="1.0" encoding="utf-8" standalone="yes"?> <enableobject xsi:schemalocation=" /api/metadata/enableobject.xsd" xmlns=" xmlns:xsi=" > <name>myview</name> <type>view</type> <cascade>true</cascade> </enableobject> Cet exemple active tous les objets dépendants, car l'attribut <cascade> est défini sur true. Omettez cet élément ou définissez-le sur false pour activer uniquement l'objet nommé. Business Activity Monitoring ES XSD, fichiers Voici les fichiers de schéma XML Business Activity Monitoring ES classés par catégorie : «Utilisateurs, profils et rôles», page 390 (ci-dessous)
389 XML/XSD Guide de référence du serveur Business Activity Monitoring Business Activity Monitoring ES XSD, fichiers 389 «Tableau de bord», page 390 «Règles, alertes et tableaux récapitulatifs», page 390 «Evénements, contexte, cubes et vues», page 392 «Scénarios et activités commerciales», page 393 «Agents», page 393 «Administration du système», page 393 «Gestion des objets», page 393 «Fichiers divers», page 394
390 XML/XSD Guide de référence du serveur Business Activity Monitoring Business Activity Monitoring ES XSD, fichiers 390 Ces fichiers sont situés sur le CD-ROM du produit, dans le répertoire /api/metadata. Utilisateurs, profils et rôles Schéma addmemberstorole.xsd addmembertorole.xsd createrole.xsd createsecurityfilter.xsd createuser.xsd createuserprofile.xsd setprivilege.xsd setuserpreferences.xsd Description Ajoute un ou plusieurs utilisateurs existants à un rôle existant. Ajoute un utilisateur existant à un rôle existant. Crée un objet de rôle d'utilisateur. Crée un filtre d'accès. Crée un objet utilisateur. Crée un objet de profil de livraison utilisateur. Définit une autorisation d'utilisateur ou de rôle sur un objet ou une classe d'objets. Définit les préférences d'un utilisateur. Tableau de bord Schéma createbookmarks.xsd createdashboard.xsd createplan.xsd createportlet.xsd createtask.xsd createtaskmessage.xsd Description Crée un signet pour un tableau de bord. Crée un tableau de bord. Crée des références et des plans de tableau de bord. Crée un objet de tableau de bord. Crée une tâche de tableau de bord Crée un message de tâche de tableau de bord Règles, alertes et tableaux récapitulatifs Schéma alertcommon.xsd alertmessage.xsd alteralertstate.xsd alterrule.xsd createalert.xsd Description Définitions XSD d'alertes courantes. Message d'alerte à envoyer à un service Web. Modifie l'état d'une alerte existante. Modifie un objet de règle existant. Crée un objet d'alerte.
391 XML/XSD Guide de référence du serveur Business Activity Monitoring Business Activity Monitoring ES XSD, fichiers 391 Règles, alertes et tableaux récapitulatifs Schéma createexceltemplate.xsd createreportlet.xsd createrule.xsd createrulebundle.xsd createruletemplate.xsd rulecommon.xsd Description Crée un objet de modèle Excel décrivant le modèle qu'un tableau récapitulatif peut utiliser. Crée un objet de tableau récapitulatif. Crée un objet de règle. Spécifie les valeurs associées aux paramètres d'un modèle de règle et génère les règles, les alertes et les tableaux récapitulatifs en fonction de la définition du modèle. Crée un modèle de définitions paramétrées d'un ensemble de règles, l'alerte utilisée par les règles ainsi que les tableaux récapitulatifs associés à l'alerte. Contient les définitions XSD de règles courantes.
392 XML/XSD Guide de référence du serveur Business Activity Monitoring Business Activity Monitoring ES XSD, fichiers 392 Evénements, contexte, cubes et vues Schéma createconsolidatedeventview.xsd createcontext.xsd createcube.xsd createdimension.xsd createeventstream.xsd createview.xsd createviewpersistence.xsd ffsourcetype.xsd jdbcsource.xsd messagesource.xsd querycube.xsd queryinformation.xsd sourcedefinition.xsd sourcedefinition.xsd tabledefinition.xsd webservicesource.xsd Description Crée une vue d'événements consolidés basée sur un flux d'événements existant et un ou plusieurs autres flux d'événements ou vues. Crée un objet de contexte basé sur une source existante. Crée un objet Cube. Crée une dimension de cube. Crée un objet d'événement (flux) basé sur une source existante. Crée un objet Vue basé sur une table source (flux d'événements) existante et d'autres tables facultatives (jointes) (d'événements ou contextuelles). Crée une définition de sauvegarde de vue. Objet d'événement de fichier plat. Objet de contexte JDBC. Objet de message transmis d'un agent à un événement ou à un contexte, utilisé par JMS, TIBCO RV, log4j et HTTP. Emet une requête sur un cube par rapport aux mesures des dimensions. Contient les éléments d'une requête (instruction SELECT). Types de sources (types d'agents) pris en charge par le système. Contient des définitions de source courantes pour les définitions XSD d'objet d'événement et de contexte. Prend en charge la définition de source d'événement. Objet d'événement de service Web.
393 XML/XSD Guide de référence du serveur Business Activity Monitoring Business Activity Monitoring ES XSD, fichiers 393 Scénarios et activités commerciales Schéma createbusinessactivity.xsd createscenario.xsd Description Crée un objet d'activité commerciale. Crée un objet de scénario dans une vue commerce existante et liée à une vue existante. Agents Schéma FFConnection.xsd jdbcconnection.xsd JMSTopicConnection.xsd log4jconnection.xsd procsource.xsd RVConnection.xsd SOAPConnection.xsd xmlbuffer.xsd Description Agent de fichier plat. Agent JDBC. Agent JMS. Agent de messagerie LOG4J (utilisé en interne pour la journalisation). Définitions des procédures stockées. Agent TIBCO RV. Connexion à un service Web. Une mémoire tampon XML contient une partie d'un message. Administration du système Schéma propertytypedefinition.xsd setloglevel.xsd setproperty.xsd systemcommand.xsd Description Décrit une propriété système. Définit le niveau de journalisation d'un enregistreur système (module de journalisation). Définit une propriété système. Exécute un point de contrôle. Gestion des objets Schéma createkeyrelationship.xsd disableobject.xsd dropobject.xsd Description Crée une relation entre deux objets. Désactive un objet. Supprime un objet.
394 XML/XSD Guide de référence du serveur Business Activity Monitoring Business Activity Monitoring ES XSD, fichiers 394 Gestion des objets Schéma enableobject.xsd setobjectrelation.xsd Description Active un objet. Relie deux objets. Fichiers divers Schéma commandbatch.xsd common.xsd createjar.xsd createudf.xsd invokeexternalaction.xsd jarmanifest.xsd performimportexport.xsd schedule.xsd Description Définit plusieurs objets à charger (définir) dans un lot. Toutes les définitions doivent être valides, faute de quoi aucun objet ne sera défini. Contient les définitions XSD courantes utilisées par la plupart des schémas XSD. Crée un objet JAR. Crée un objet UDF. Décrit un message d'action externe envoyé à un service Web. Pour plus de détails sur ce fichier, reportez-vous à la section «Processus externes des services Web», page 376. Définit le fichier manifeste dans un fichier JAR. Indique au système d'exécuter une importation ou une exportation. Contient les définitions des calendriers courantes et les définitions d'intervalle de programmation utilisées par les définitions XSD.
395 Glossaire modelage des données commerciales Technique de description des événements, du contexte, des vues et des règles qui synthétisent le fonctionnement de votre activité. cascade Processus propageant la même opération à tous les objets dépendants. événement consolidé Table d'événements capturant des événements de sources distinctes mais similaires pour les combiner en un seul flux d'événements. Pour plus de détails, reportez-vous à la section Utilisation d événements consolidés. vue actuelle Copie instantanée des données figurant dans une vue. S'il s'agit d'une vue avec état, la copie instantanée affiche toutes les lignes qu'elle comprend. Dans le cas d'une vue sans état, la copie instantanée présente toutes les lignes correspondant au dernier événement et peut être un ensemble vide. Pour plus de détails, reportez-vous à la section «Initialisation des vues», page 362. profil de livraison Indique où et comment envoyer des alertes et des données à l'utilisateur. Pour plus de détails, reportez-vous à la section «Onglet Profils de livraison», page 339. activé Objet acceptant et traitant de nouvelles données. Tous les objets sont créés avec l'état activé. Pour plus de détails, reportez-vous à la section «Etat d'un objet», page 245. désactivé Objet n'acceptant pas de nouvelles données. La désactivation d'un objet n'affecte pas sa définition ou son existence, mais empêche les nouvelles données de circuler vers cet objet et tous ceux qui dépendent de l'objet cible. Pour plus de détails, reportez-vous à la section «Etat d'un objet», page 245. jointure interne Jointure selon laquelle les lignes de la vue résultante correspondent aux lignes de la première table ou vue répondant aux critères spécifiés, associées aux lignes correspondantes de la seconde vue répondant aux critères spécifiés. les jointures internes sont parfois appelées des équi-jointures. non valide Objet comportant une référence à un autre objet qui ne peut être satisfaite. Une référence peut être non valide lorsqu'un objet n'existe pas ou si certains attributs d'un objet ne correspondent pas aux exigences du dépendant (tel qu'un type de données ne correspondant pas), mais pas lorsque le dépendant est désactivé. Notez que tous les objets qui dépendent d'un objet non valide sont également non valides. Pour plus de détails, reportez-vous à la section «Etat d'un objet», page
396 Glossaire Guide de référence du serveur Business Activity Monitoring 396 non valide et désactivé Objet à la fois désactivé et non valide ; ce type d'objet ne peut pas recevoir de données et n'a pas d'état. Pour plus de détails, reportez-vous à la section «Etat d'un objet», page 245. mesures Mesures effectuées sur une période donnée et contrôlant, évaluant et communiquant des informations cruciales sur les résultats d'un programme ou d'une activité. fonction moving set Fonction 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. Pour plus d'informations, consultez la section «Moving Set», page 111. jointure externe Jointure selon laquelle les lignes de la table résultante correspondent aux lignes qui auraient été obtenues à partir d'une jointure interne ainsi qu'à celles de la première table (LEFT OUTER JOIN) ou de la seconde table (RIGHT OUTER JOIN) qui n'ont eu aucune correspondance dans l'autre table. fenêtre de requête Indique un ensemble de lignes utilisées dans les calculs par rapport à la ligne (événement) examinée. Le calcul peut porter sur une fonction moving set, sur une jointure ou sur les lignes arrivant à expiration d'une vue. Pour plus de détails, reportez-vous à la section «Fenêtres de requêtes», page 275. fonction rank Fonction calculant le résultat scalaire de chaque valeur d'un ensemble par rapport à la totalité de l'ensemble. Une fonction rank est uniquement utilisable dans la liste de sélection d'une instruction SELECT. Pour plus d'informations, consultez la section «Rank», page 111. vue récente Copie instantanée de la dernière vue actuelle non vide. Une vue récente correspond à ce qui apparaît dans BAM Workbench lors de la modification d'un objet qui affiche les résultats de la vue. Pour plus de détails, reportez-vous à la section «Initialisation des vues», page 362. scénarios Permettent de rechercher les résultats attendus ou potentiels de modèles de données commerciales et d'identifier des conditions commerciales exceptionnelles. Pour plus de détails, reportez-vous à la section «Scénarios», page 322. expression scalaire Expression dépourvue d'une fonction set. fonction scalar Fonction opérant dans les limites d'un événement unique et produisant un résultat unique par ligne, tel que la valeur absolue d'un nombre ou la concaténation de deux chaînes. Ces fonctions peuvent apparaître dans n'importe quelle expression C-SQL. Pour plus d'informations, consultez la section «Scalar», page 110. fonction set
397 Glossaire Guide de référence du serveur Business Activity Monitoring 397 Fonction effectuant des calculs sur une colonne dans un ensemble de lignes d'une vue, tels que le coût moyen de plusieurs commandes de produits similaires. Une fonction set est uniquement utilisable dans la liste de sélection d'une instruction SELECT. Pour plus d'informations, consultez la section «Set», page 110. vue instantanée Réplique d'une vue au moment de l'exécution de la requête, construite avec SELECT *. Notez que cette vue peut ne pas refléter les événements arrivés dans le système mais non encore traités au moment de la requête. vue avec état Vue contenant les résultats des agrégations dérivées des événements passés d'une seule ligne. Une vue est dite avec état si elle contient une fonction set ou fonction moving set dans la clause SELECT, si elle contient une Clause GROUP BY (auquel cas il existe une ligne par groupe) ou si elle est dérivée d'une vue avec état. Pour plus de détails, reportez-vous à la section «Vues sans état et vues avec état», page 361. vue sans état Vue ne constituant pas une vue avec état. Pour plus de détails, reportez-vous à la section «Vues sans état et vues avec état», page 361. fonction set terminale fonction set ne comportant que des arguments scalaires. fonction rank terminale fonction rank ne comportant que des arguments scalaires. fonction tumbling set Fonction 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. Pour plus d'informations, consultez la section «Fenêtres culbute», page 290. fonctions définies par l'utilisateur (UDF) Fonctions vous permettant d'étendre C-SQL en définissant vos propres fonctions à utiliser dans les formules, y compris dans les requêtes, les expressions de champ et les règles. Pour plus de détails, reportez-vous à la section «Fonctions définies par l'utilisateur», page 351. table virtuelle Table ou vue dont les lignes sont dérivées à mesure qu'elles sont requises en mémoire. fenêtre Reportez-vous à la section fenêtre de requête.
398 Index! «Aucune donnée disponible» dans la définition de la règle 41, 304 A à un ensemble 125 abonnés 44 ABS() 119 accusé de réception d'alertes 46 activé, état 245 activités commerciales 55 attributs 56 création 56 suppression 56 XSD, fichier 393 addition, résultats décimaux 74 addmemberstorole.xsd, fichier 390 addmembertorole.xsd, fichier 390 administrateur, voir utilisateur système 337 agents 23 changement 26 création 25 fichier plat 26 JDBC 224 JMS 30, 34 modification 26 Rendezvous 36 service Web 38 TIBCO Rendezvous 36 XSD, fichier 393 ajout de chaînes 123, 125 ajout de listes de chaînes 124 alertcommon.xsd, fichier 390 alertes 40 abonnés 44 autorisations pour 261 avec état 46 confirmées à la réception 46 contrôle avec des règles 307 envoyées 46 escalade 46 graphiques incorporés 43 HTML incorporé 43 importance 42 inscriptions facultatives 44 inscriptions obligatoires 44 messages consolidés 47 mise à jour de la liste de réception 341 raised 46 sans état 46 tableaux récapitulatifs 50 texte du message 43 XSD, fichier 390 alertmessage.xsd, fichier 390 alias dans les dimensions 85 alteralert.xsd, fichier 390 <alterinformation> element 387 alterrule.xsd, fichier 390 AND, opérateur 253 année bissextile 130 année-mois, intervalles 78 ANSI SQL archivage des données d'une vue 364 arithmétique (moyenne) 115, 119 culbute 185 mobile 155 arrondissement de nombres au chiffre inférieur 134 au chiffre supérieur 171 plafond 122 AS, option 326 Aucun accès, autorisation 257 autorisations 255 accès 257 Aucun accès, autorisation 257 autorisation 260 Création 260 dépendances 261 Filtré/Lecture seule 22 héritage 261 Lecture - Ecriture, autorisation 257 Lecture seule, autorisation 257 paramètre 341 restrictions 261 Autoriser les lignes courtes, option des fichiers délimités 103 avec état alertes 46 vues 361 vues et GROUP BY 334 AVG() 119 B BEA WebLogic Portal Server 266 BETWEEN, opérateur 252 Booléen fonctions 112 tables de vérité 82 types de données 82 C calendriers XSD, fichier 394 caractère d'échappement (fichiers délimités) 103 caractère de séparation 103 caractères conversion en majuscules 198 conversion en minuscules
399 LiveCycle Business Activity Monitoring ES Index Business Activity Monitoring Server Reference 399 longueur d'une chaîne 123 caractères d'échappement au format XML 381 caractères d'espace dans les fichiers XML 381 cascade, opération 395 CASE, expression 327 CAST() 121 CDATA 382 CEIL() 122 celequestapi.jar, fichier 352 chaînes ajout 123 ajout à un ensemble 125 ajout de caractères 172 ajout de listes 124 caractères de remplissage, à gauche 143 concaténation 123 concaténation d'un ensemble 125 concaténation d'une liste 124 conversion dans d'autres types de données 75 conversion en dates 183 conversion en majuscules 198 conversion en minuscules 142 déclaration de largeur 74 fonctions 113 insertion de caractères 143 longueur, détermination 123 opérateurs 251 recherche d'un caractère 164 substring 177 suppression de caractères 144 suppression de caractères à droite 173 types de données 74 champ clé d'événement 99 champs de substitution 374 champs, substitution dans la requête de contexte 374 CHAR_LENGTH() 123 CHARACTER_LENGTH() 123 clause ORDER BY (fenêtre de requêtes) 282 codes de langue 131 codes de pays 132 colonne DATA_TYPE, valeurs 234 colonne dérivée 327 colonnes clés dimensions 87 colonnes, valeur de la ligne précédente 167 combinaison de types numériques 72 commandbatch.xsd, fichier 385, 394 commerce, vues 355 common.xsd, fichier 394 CONCAT() 123 concaténation de chaînes 123 ensembles 125 listes 124 concatlist() 124 concatset() 125 connexion, réserve 226 conservation des événements dans des vues sans état 363 constantes 253 contexte 57 création 59 fonctionnement 58 limitations dans les requêtes 60 mise en cache des requêtes 62 modification 60 requêtes, limitations 60 services Web 371 tables, nom 59 XSD, fichier 392 contraintes sur les vues 329, 358 conversion de types de données 70 type numérique converti en chaîne 72 types numériques 72 conversion en majuscules 198 conversion en minuscules 142 conversion explicite de types de données 70 conversion implicite de types de données 70 copie instantanée d'une vue actuelle 362 copie instantanée d'une vue récente 362 Correspondant à, attribut de règle 305 count étoile, fonction 126 ensemble d'une fenêtre culbute 186 count étoile, fonction moving set 156 COUNT() 126 cqjdbcclient.jar, pilote 229 cqupload.jar, utilitaire 382, 384 createalert.xsd, fichier 390 createbookmarks.xsd, fichier 390 createbusinessactivity.xsd, fichier 393 createconsolidatedeventview.xsd, fichier 392 createcontext.xsd, fichier 392 createcube.xsd, fichier 392 createdashboard.xsd, fichier 390 createdimension.xsd, fichier 392 createeventstream.xsd, fichier 392 createexceltemplate.xsd, fichier 391 <createifnotfound> element 387 createjar.xsd, fichier 394 createkeyrelationship.xsd, fichier 393 createplan.xsd, fichier 390 createportlet.xsd, fichier 390 createreportlet.xsd, fichier 391 createrole.xsd, fichier 390 createrule.xsd, fichier 391 createrulebundle.xsd, fichier 391 createruletemplate.xsd, fichier 391 createscenario.xsd, fichier 393 createsecurityfilter.xsd, fichier 390 createtask.xsd, fichier 390 createtaskmessage.xsd, fichier 390 createudf, fichier 394 createuser.xsd, fichier 390 createuserprofile.xsd, fichier 390 createview.xsd, fichier 392 createviewpersistence.xsd, fichier 392 Création, autorisation 260 CSV 103 cubes 64 création 67 XSD, fichier 392 culbute
400 LiveCycle Business Activity Monitoring ES Index Business Activity Monitoring Server Reference 400 fenêtres 290 set, fonctions 111 CURRENT() 126 CURRENT_TIMESTAMP() 127 CURRENT_USER() 128 C-SQL fonctions 115 types de données 69 D date et heure actuelles 127 DATE_ADD() 128 DATE_DIFF() 129 date-heure, intervalles 77 date-heure, types de données 75 ajout d'une durée 128 comparaisons 76 conversion avec les chaînes 76 conversion en chaînes 182 current 127 dernier jour d'un mois 138 fuseau horaire 76 intervalle entre deux valeurs 181 mise en forme 80 paramètres régionaux 76 retranchement d'une durée 129 DB2 agent JDBC 225 DECIMAL, type de données 71 conversion en chaîne 72 délimités format de fichier 103 identifiants (noms d'objet) 246 déplacement des fenêtres d'une vue sans état 363 désactivation d'objets 245 désactivé, état 245 développement de vues 334 devise, affichage d'une valeur monétaire 130 dimensions 83 colonnes clés 87 création 88 exemples 84 hiérarchie de niveaux 84 noms d'alias 85 XSD, fichier 392 disableobject.xsd, fichier 393 DISPLAY_MONEY() 130 distribution cumulée, fonction 135 distribution d'erlang 135 distribution exponentielle 135 distribution gamma 135 distribution log-normale 141 division reste 149 résultats décimaux 73 Données du tableau récapitulatif basées sur, option 52 données provenant de sources externes 91 DOUBLE, type de données 71 conversion en chaîne 72 droits d'accès 257 droits d'autorisation 260 dropobject.xsd, fichier 393 E e, constante 133 écart-type 180 ensemble d'une fenêtre culbute 194 ensemble d'une fenêtre mobile 160 en ligne fenêtres de requêtes 277 vues 331 enableobject.xsd, fichier 394 Enregistrer sous Nouvelle alerte, option 41 Enregistrer sous Nouvelle règle, option 304 Enregistrer sous Nouvelle vue, option 356 ensembles Voir aussi ensembles mobiles 151 ligne actuelle 126 ligne la plus récente 126 ligne précédente 166 ensembles mobiles 151 Voir aussi ensembles fonctions 111 interactions avec GROUP BY 154 envoi d'alertes 46 équi-jointures 330 espace dans les fichiers XML 381 espace de nommage 249 état 245 état valide 245 états d'alerte, recherche d'alertes lancées 137 événements 90 création 93 données incorporées dans une URL 206 événements consolidés 360 fonctionnement 91 HTTP Post 201 modification 93 nom de table 92, 368 ordre de traitement 91 propagation dans les vues 361 propriétés 92 service Web 368 sur plusieurs lignes 99 TIBCO Rendezvous source 344 XSD, fichier 392 événements consolidés 360 XSD, fichier 392 événements sur plusieurs lignes 99 EVENTS, clause 279 eventstream.wsdl, fichier 369 exemple de fonction UDF ConcatSet() 352 exemples fonction UDF ConcatSet() 352 JDBC 236 objets XML 381 EXP() 133 exportation
401 LiveCycle Business Activity Monitoring ES Index Business Activity Monitoring Server Reference 401 XSD, fichier 394 exposants 133 expression scalaire 396 F FALSE, constante 82 fenêtre dynamique Voir ensembles mobiles fenêtres vue sans état, de 363 Voir aussi ensembles mobiles Voir fenêtres de requêtes fenêtres de requêtes 275 avancement 289 cadres 276 culbute 290 déclarations 277 déclarations en ligne 277 fenêtres chronologiques 280 fenêtres de série d'événements 278 glissement 289 initialisation 294 partitions 286 référence, mise à jour 293 références 277 références de mise à jour 293 séries chronologiques de nombres entiers 285 fenêtres de requêtes chronologiques de nombres entiers 285 fenêtres de série d'événements 278 FFConnection.xsd, fichier 393 ffsourcetype.xsd, fichier 392 fichier de récupération des données d'événements 92, 368 fichier plat 95 agents 26 événements 96 événements sur plusieurs lignes 99 fuseau horaire personnalisé 102 fuseaux horaires 100 programme d'agent 27 tables d'événements 98 fichiers agents 26 exemples XML 381 fichiers de schéma XML (XSD) 388 fichiers texte plats 95 format à largeur fixe 104 format délimité 103 programme d'agent 27 tables d'événements 96 tables d'événements, création 98 fichiers manifestes, fonctions définies par l'utilisateur 353 FileAgent.xml, fichier 29 fileupload.jsp, script 383 Filtré/Lecture seule, autorisation 22 filtres filtres d'accès 15 filtres d'accès 15 affectation 21 condition 16 contexte d'utilisateurs 16 création pour un cube 20 création pour une vue 19 fonctionnement 18 restrictions 18 FLOOR() 134 flux de données contexte entrant dans le système 58 événements entrant dans le système 91 fonction scalar 396 fonctions ABS() 119 AVG() 119 CAST() 121 catégories 112 CEIL() 122 CHAR_LENGTH() 123 CHARACTER_LENGTH() 123 CONCAT() 123 concatlist() 124 concatset() 125 count étoile 126 count étoile, ensemble d'une fenêtre culbute 186 count étoile, moving set 156 COUNT() 126 CURRENT() 126 CURRENT_TIMESTAMP() 127 DATE_ADD() 128 DATE_DIFF() 129 descriptions 115 DISPLAY_MONEY() 130 EXP() 133 FLOOR() 134 gammadist() 135 GREATEST() 136 IS_RAISED() 137 LAST_DAY() 138 LEAST() 139 liste complète 115 LOG() 140 lognormdist() 141 LOWER() 142 LPAD() 143 LTRIM() 144 MAX() 145 median() 146 MIN() 148 MOD() 149 mode() 150 MOV_AVG() 155 MOV_COUNT() 156 MOV_MAX() 157 MOV_MIN() 158 MOV_STD_DEVIATION() 160 MOV_SUM() 159 MOV_VARIANCE() 161 moving set 111 NTILE() 162 POSITION() 164
402 LiveCycle Business Activity Monitoring ES Index Business Activity Monitoring Server Reference 402 POWER() 165 PREV() 166 PRIOR_VALUE 167 rank 111 RANK() 168 RATIO_TO_REPORT() 170 référence 115 ROUND() 171 RPAD() 172 RTRIM() 173 set 110 SIGN() 175 SQRT() 176 STD_DEVIATION() 180 SUBSTR() 177 SUBSTRING() 177 SUM() 178 TIMESTAMP_DIFF() 181 TO_CHAR() 182 TO_DATE() 183 TRUNC() 184 tumble 291 TUMBLE_AVG() 185 TUMBLE_COUNT() 186 TUMBLE_MAX() 188 TUMBLE_MIN() 190 TUMBLE_STD_DEVIATION() 194 TUMBLE_SUM() 192 TUMBLE_VARIANCE() 196 tumbling set 111 types 110 UPPER() 198 utilisation dans les formules 110 VARIANCE() 199 fonctions d'agrégation 114 fonctions d'alerte 112 fonctions de classement 113 fonctions de date 112 fonctions définies par l'utilisateur 351 changement 353 création 352 fichier manifeste 353 restrictions 352 XSD, fichier 394 fonctions logiques 112 fonctions mathématiques 112 format doc (WSDL) 371 format XML processus externe des services Web 377 formules 109 FROM, clause 329 fuseau horaire 76 fusion de vues 334 G gammadist() 135 graphiques dans les alertes 43 graphiques géographiques 86 catégories 86 GREATEST() 136 GROUP BY, clause implicite 334 interactions avec les ensembles mobiles 154 vues avec état 334 H HAVING, clause 332 heure Voir date-heure, types de données hiérarchie de niveaux de dimension 84 horodatage d'événement 365 HTML code dans les alertes 43 formulaires (envoi d'événements) 206 HTTP Post, événement 201 envoi de données 206 tables d'événements 202 tables, création 203 URL 206 I IBM WebSphere Portal Server 267 identifiant d'événement 365 identifiants 246 identifiants normaux 246 importance 42 importation XSD, fichier 394 IN, opérateur 252 INITIALIZE, clause 294 Inscription guidée par les données, onglet 44 Inscription individuelle, onglet 44 inscriptions facultatives 44 obligatoires 44 inscriptions facultatives 44 inscriptions obligatoires 44 INT(), fonction MS Excel 134 INTEGER, type de données 71 intégration du portail JSR intégration du serveur de portail Web 263 interface d'applications, API JDBC 228 interface de connexion 229 interface JDBC DatabaseMetaData 230 interface JDBC du pilote 229 interface JDBC ResultSet 231 interface JDBC ResultSetMetaData 231 interface JDBC Statement 230 interfaces (API) 229 INTERVAL, type de données littéral 77 intervalles année-mois 78 date-heure 77 jour-heure 79 invokeexternalaction.xsd 377 IS, opérateur 253 IS_RAISED() 137
403 LiveCycle Business Activity Monitoring ES Index Business Activity Monitoring Server Reference 403 J JAR fichier manifeste, fichier XSD 394 XSD, fichier 394 jarmanifest.xsd, fichier 394 Java classe SimpleDateFormat 80 date-heure, type de données 77 type de données de chaîne 75 type de données numérique 71 valeurs des types de données 234 Java Database Connectivity Voir JDBC Java Messaging Service JBoss Portal Server 268 JDBC 215 agents 224 API 228 date-heure 77 exemples d'interface 236 interfaces 229 interrogation 221 tables contextuelles 216 tables d'événements 216 types de données 224 JDBC, types de données date-heure 77 numériques 71 jdbcconnection.xsd, fichier 393 jdbcsource.xsd, fichier 392 JMS agents file d'attente JMS 30 rubrique JMS 34 événements 210 MapMessage, type de corps 210 tables d'événements, création 212 types de données 214 JMSTopicConnection.xsd, fichier 393 jointures croisées, déclaration 330 externes 330 imbriquées 330 internes 330 synchronisées 358 jointures croisées 330 jointures externes 330 jointures imbriquées 330 jointures internes 330 jointures synchronisées 358 jour-heure, intervalles 79 journalisation XSD, fichier 393 L lancement d'alertes 46 largeur fixe, format de fichier 104 LAST_DAY() 138 LEAST() 139 Lecture - Ecriture, autorisation 257 Lecture seule, autorisation 257 ligne la plus récente d'un ensemble 126 ligne précédente d'un ensemble 166 LIKE, opérateur 252 limitations des vues 329, 358 liste Select 326 littéraux INTERVAL 77 TIMESTAMP 77 LOG() 140 log4jconnection.xsd, fichier 393 logarithme 140 lognormdist() 141 LOWER() 142 LPAD() 143 LTRIM() 144 M MACD 119 MapMessage, type de corps JMS 210 masse de probabilité, fonction 135 MAX() 145 median() 146 mélange de types numériques 72 messagerie électronique importance des messages d'alerte 42 profil de livraison 339 messages d'alerte consolidés 47 Messages de style RPC 38 messagesource.xsd, fichier 392 mesures 64 mesures en temps réel 360 mesures, en temps réel 360 MIN() 148 mise en cache des résultats des requêtes de contexte 62 MOD() 149 mode() 150 modèles de substitution de la chaîne (service Web) 374 module, fonction 149 mois, dernier jour 138 mots réservés 246 MOV_AVG() 155 MOV_COUNT() 156 MOV_MAX() 157 MOV_MIN() 158 MOV_STD_DEVIATION() 160 MOV_SUM() 159 MOV_VARIANCE() 161 moyenne 115, 119 culbute 185 exemple de moyenne mobile MACD 119 mobile 155 moyennes mobiles, exemple MACD 119 multiplication, résultats décimaux 73 MySQL date-heure, type de données 77 type de données de chaîne 75 type de données numérique 72
404 LiveCycle Business Activity Monitoring ES Index Business Activity Monitoring Server Reference 404 N nom événement 92, 368 nom d'utilisateur, renvoi 128 nom de connexion renvoi 128 nombre, signe 175 nombres arrondissement 122 arrondissement au chiffre inférieur 134 arrondissement au chiffre supérieur 171 troncature 184 noms de table événements 92, 368 noms, restrictions sur 246 non valides état 245 objets 245 NOT, opérateur 253 NTILE() 162 NULL constante, test de 254 sémantique des valeurs 82 numériques combinaison 72 conversion 72 opérateurs 251 précision décimale des résultats 73 types de données 71 O objets 244 activation 245 changement 245 contraintes d'unicité de noms 249 définition avec le langage XML 384 désactivation 245 état 245 fichiers XSD de gestion 393 invalidation 245 modification avec XML 387 relation, fichier XSD 393 restrictions sur les noms 246 objets activés 245 objets de tableau de bord XSD, fichier 390 opérateurs 250 opérateurs de comparaison 252 OR, opérateur 253 Oracle agent JDBC 225 date-heure, type de données 77 dstring, type de données 75 type de données numérique 71 ORDER BY (SELECT), clause 335 ordre de traitement des événements 91 P paramètres régionaux 76 PARTITION BY, clause 286 partitions 286 performimportexport.xsd, fichier 394 plan de travail 357 plans XSD, fichier 390 point de contrôle XSD, fichier 393 POSITION() 164 pour une clause spécifique 307 POWER() 165 précision et échelle, déclaration 73 présentation des données d'une vue 364 PREV() 166 PRIOR_VALUE, fonctions 167 processus 270 processus externe 376 format XML 377 procsource.xsd, fichier 393 produit cartésien 330 Profil tableau de bord profil de livraison 339 profils 339 profils de livraison 339 messagerie électronique 339 Profil tableau de bord 339 service Web 340 propertytypedefinition.xsd, fichier 393 propriétés XSD, fichier 393 protocole SOAP (Simple Object Access Protocol) 371 Q qualificatif de texte 103 querycube.xsd, fichier 392 queryinformation.xsd, fichier 392 R racine carrée 176 RANGE, clause 281 RANK() 168 rank, fonctions 111 RATIO_TO_REPORT() 170 référence de colonne qualifiée 327 référence de colonne simple 326 REFERENCE, clause 293 références XSD, fichier 390 références de colonne 326 dénomination dans sélection 326 règles 303 action 306 alertes, contrôle 307 autorisations pour 261 Correspondant à, attribut 305 fonctions 113 interactions avec les filtres d'accès 18 pour une clause spécifique 307 XSD, fichier 390
405 LiveCycle Business Activity Monitoring ES Index Business Activity Monitoring Server Reference 405 Rendezvous, voir TIBCO Rendezvous réserve de connexion 226 reste d'une division 149 rôles 300 attributs 302 avec filtres d'accès 21 création 302 ROUND() 171 rows current 126 les plus récentes 126 précédentes 166 RPAD() 172 RPC, WSDL 371 RTRIM() 173 rulecommon.xsd, fichier 391 RV, voir TIBCO Rendezvous RVConnection.xsd, fichier 393 S sans état alertes 46 conservation de plusieurs événements 363 vues 361 SAP 367 sauvegarde des données d'une vue 364 scénarios 322 attributs 323 autorisations pour 261 création 323 suppression 324 XSD, fichier 393 schedule.xsd, fichier 394 schéma (Xpath) 105 seconde intercalaire 130 SELECT, commande 325 FROM, clause 329 liste Select 326 ORDER BY, clause 335 WHERE, clause 332 séries chronologiques agrégations, fonctions 114 agrégations, plages 153 fenêtres 280 fenêtres, basées sur des nombres entiers 285 Voir moving set, fonctions serveur-sql agent JDBC 225 date-heure, type de données 77 type de données de chaîne 75 type de données numérique 72 services Web 367 agents 38 contexte 371 contexte, création 372 événements 368 processus externe 376 processus externe, format XML 377 profil de livraison 340 set, fonctions 110 setloglevel.xsd, fichier 393 setobjectrelation.xsd, fichier 394 setprivilege.xsd, fichier 390 setproperty.xsd, fichier 393 setuserpreferences.xsd, fichier 390 Siebel 367 SIGN() 175 signe d'un nombre 175 signets XSD, fichier 390 SimpleDateFormat, classe Java 80 SLIDE, clause 289 SOAP 371 SOAPConnection.xsd, fichier 393 sourcedefinition.xsd, fichier 392 sources de données externes 91 sources externes 91 soustraction, résultats décimaux 74 SQL SQLException 229 SQRT() 176 statistiques, fonctions 113 AVG() 119 median() 146 mode() 150 STD_DEVIATION() 180 SUBSTR() 177 SUBSTRING() 177 SUM() 178 super utilisateur 337 Sybase agent JDBC 225 limitations 61 type de données de chaîne 75 type de données numérique 72 systemcommand.xsd, fichier 393 système administration, fichiers XSD 393 propriété, fichier XSD 393 utilisateur 337 T tableau de bord d'activité interrogation des alertes 341 tableaux de bord XSD, fichiers 390 tableaux récapitulatifs 295 alertes associées 50 attributs de Celequest Activity Suite 296 attributs externes 298 autorisations pour 261 création 296 filtrage 50 interactions avec les filtres d'accès 18 XSD, fichier 390 tabledefinition.xsd, fichier 392 tables expressions 331
406 LiveCycle Business Activity Monitoring ES Index Business Activity Monitoring Server Reference 406 noms, contexte 59 virtuelles 397 virtuelles, déclaration 325 tables de vérité 82 tables de vérité logiques 82 tables virtuelles 397 déclaration 325 tâches fichier XSD de messages 390 XSD, fichier 390 télécharger l'utilitaire 382, 384 TestAgent.xml, fichier 28 texte fichiers 95 fonctions 113 texte du message, alertes 43 TIBCO Rendezvous 343 agents 36 limitations 344 table d'événements, prérequis 344 tables d'événements 344 tables d'événements, création 347 types de données 214, 348 time date-heure actuelle 127 fonctions 112 TIMESTAMP, type de données intervalle entre deux valeurs 181 littéral 77 mise en forme 80 TIMESTAMP_DIFF() 181 TO_CHAR() 182 TO_DATE() 183 total culbute 192 ensemble 178 mobile 159 transaction 325 TRUE, constante 82 TRUNC() 184 tumble, fonctions 291 TUMBLE_AVG() 185 TUMBLE_COUNT() 186 TUMBLE_MAX() 188 TUMBLE_MIN() 190 TUMBLE_STD_DEVIATION() 194 TUMBLE_SUM() 192 TUMBLE_VARIANCE() 196 types de données 69 Booléen 82 conversion 70 conversion dans d'autres types 70 conversion, ordre de priorité 70 date-heure 75, 77 DECIMAL 71 DECIMAL, conversion en chaîne 72 DOUBLE 71 DOUBLE, conversion en chaîne 72 INTEGER 71 JDBC 224 numériques 71 JMS 214 numériques 71, 72 Rendezvous 348 string 74, 75 TIBCO Rendezvous 348 valeurs des données de type nombre entier Java 234 VARCHAR 74 U UDF, voir fonctions définies par l'utilisateur Unicode, longueur de caractère 123 UNKNOWN, constante 82 UPPER() 198 utilisateurs 336 attributs 338 avec filtres d'accès 21 création 337 définis en tant que contexte 16 détails 338 profils 339 profils de livraison 339 utilisateur du système 337 V valeur absolue 119 valeur maximale d'un ensemble 136 valeur monétaire, affichage de la devise 130 valeurs de rang dans l'intégralité de l'ensemble 168 dans les niveaux 162 par pourcentage d'un ensemble 170 sous forme d'un rapport à l'ensemble 170 valeurs décimales 73 précision et échelle des résultats 73 suppression d'un nombre 184 troncature 122 valeurs séparées par une virgule 103 valider 325 VARCHAR, type de données 74 déclaration de largeur 74 VARIANCE() 199 VC_<chaîne>, noms réservés 246 VC_EVENT_ID, colonne 365 VC_LATEST_EVENT_ID, colonne 365 VC_TIMESTAMP, colonne 365 Voir JMS vue instantanée 397 vues 355 accès filtrés 15 accès restreint 15 accès, limitation 15 agrégation 360 API 228 archivage, voir sauvegarde des vues attributs 357 avec état 361 avec état lors de l'utilisation de la clause GROUP BY 334 conservation des événements dans des vues sans état 363
407 LiveCycle Business Activity Monitoring ES Index Business Activity Monitoring Server Reference 407 contraintes 329, 358 copie instantanée actuelle 362 copie instantanée récente 362 création 356 dérivées d'un accès filtré 18 dérivées des vues GROUP BY 334 événements consolidés 360 fonctions spécifiques 114 initialisation 362 limitations 329, 358 mise à jour pour de nouveaux événements 361 nom de table, contexte 59 plan de travail 357 sans état 361 sauvegarde dans une base de données 364 tables 92, 368 vues en ligne 331 XSD, fichier 392 vues agrégées 360 W webservicesource.xsd, fichier 392 WHERE, clause 332 WINDOW, clause 277 WSDL format doc 371 format RPC 371 X XML 380 caractères d'échappement 381 CDATA 382 définition d'un objet avec 384 erreurs de téléchargement 383 espace dans les fichiers 381 exemples de fichier 381 fichiers de schéma 388 fichiers exemple 381 fichiers sources (agent de fichier plat) 105 littéraux caractères 382 modification d'un objet avec 387 téléchargement de fichiers 382 XSD, fichiers 388 xmlbuffer.xsd, fichier 393 XPath relatif 105 XPaths 105 relative 105 schema 105 XSD fichiers 388 types de données (agent de fichier plat) 106 Voir aussi XML
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.
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,
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
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
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
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
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
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"),
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
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
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,
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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,
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
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
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
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...
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.
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,
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
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
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
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"),
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
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
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
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
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 [email protected] [email protected] 1 Vue d'ensemble du module Gestion
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,
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
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 [email protected]
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
À 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
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
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"),
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
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
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,
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
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,
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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....
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 [email protected] [email protected] Objectives Comprendre les concepts de base d Active
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
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
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
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
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
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,
