mardi 30 mars 2010 Technologies employées par le portail des opérations Cyril L’Orphelin, Olivier Lequeux, Pierre Veyre IN2P3/CNRS Computing Centre, Lyon, France
Séminaire IN2P avril Plan Contexte EGEE Architecture de l'application Lavoisier Symfony Un exemple concret avec le Dashboard des Opérations Plans futurs
Séminaire IN2P avril Le contexte EGEE Le portail est né au sein de l'activité Opération du projet EGEE pour proposer une application web comprenant : Des outils pour les opérations Des outils de communication Des outils de management d'information Portail historique: Nouveau Portail : Operations Portal Communication tools REGIONAL CENTER SITE USER OPERATOR Monitoring tools VO info User Support Site info
Séminaire IN2P avril /03/104 Contexte EGEE / LCG : les sources d'informations Contexte EGEE / LCG : les sources d'informations CIC-DB - VO Information - VO Contacts - User Contacts SQL VO repository (static) GGUS - Create ticket - Update ticket - View ticket SOAP Ticketing System SAM - Test results - Status per nodes X-SQL Job Submission Framework BDII LDAP Dynamic information per nodes, per sites... LDAP Database for sites VOMS HTTP +Script - VOMS certificates. - VOMS users VO User repository (dynamic) - GIIS status per site - Storage Information - Jobs Information GSTAT HTTP GIIS browser GOC-DB - Site Information - Site Contacts - Downtimes SQL Site repository (static) HTTP Monitoring Framework Nagios Notifications about problem on services AMQ
Séminaire IN2P avril En résumé, on fait face à de multiples technologies: Sans language commun Sans possibilité de faire des requêtes croisées directes. En plus, les sources d'informations peuvent être : Indisponibles momentanément Trop longues à interroger Inexploitables Pour une application web cela signifie beaucoup de traitements spécifiques, une efficacité réduite et une maintenance cauchemardesque. Contexte - Résumé
Séminaire IN2P avril Le portail est composée de 3 parties distinctes Un service d'accès uniforme à des sources de données hétérogènes : Lavoisier Le module Web ( fichiers css, php, html ) basé sur Symfony La base de données Architecture de l'application
Séminaire IN2P avril /03/107 Lavoisier La solution développée par Sylvain Reynaud : Lavoisier Un mécanisme pour construire des vues unifiées et homogènes. "Nothing is lost, nothing is created, all is transformed" Antoine Laurent Lavoisier ( )
Séminaire IN2P avril L'accès aux données
Séminaire IN2P avril La séparation des rôles
Séminaire IN2P avril Les fonctionnalités de Lavoisier
Séminaire IN2P avril Console Web
Séminaire IN2P avril
Séminaire IN2P avril
Séminaire IN2P avril
Séminaire IN2P avril
Séminaire IN2P avril <?php Obj = new lavoisierViewHandler(‘alarms’); $assigned = Obj->getAlarms->getAssigned(); $status= $assigned ->find(‘1’)->getStatus(); ?> magicArray class Implémente des accesseurs par le biais de fonctions magiques PHP lavoisierViewHandler class Se connecte au web service Lavoisier et récupère la vue XML demandée. Du Xml à l'objet [..] </Alarms/ [Alarms] [Assigned] [1] [CreationTime] = [Status] = 2 [Id] = 1 [2] [...] XML - LavoisierPHP – Application Web XMLHandler class Transforme une chaine XML en tableau multidimensionnel.
Séminaire IN2P avril Le dashboard pour les Opérations Le dashboard des Opérations est un tableau de bord utilisé pour la détection et le suivi de problèmes sur les sites de la grille.
Séminaire IN2P avril La vue synoptique – 1er niveau
Séminaire IN2P avril Les vues détaillées – 2ème niveau
Séminaire IN2P avril Futur développement : package régional
Séminaire IN2P avril Futurs développements : migration sous symfony Le reste des fonctionnalités du portail historique est en cours de migration : Vo ID Card, consultation, gestion et update des informations statiques des Vo Broadcast tool : outil d'envoi de mails aux différents acteurs de la communauté Interfaces de visualisation des ressources
Séminaire IN2P avril Futurs développements : Lavoisier 1.* RDBMS plug-in (développement en cours) L'utilisateur voit la DB comme un document XML unique sans que ce document ne soit physiquement construit Avec une structure décrite par les fichiers de mapping Hibernate ou Doctrine Avec des Requêtes SQL traduites en Xpath XQuery et XPath en plus de XSLT À travers des opérations SOAP et REST A travers l'usage de plug-ins
Séminaire IN2P avril Refactoring du coeur de Lavoisier : Se baser sur JMS pour augmenter la flexibilité Communication inter et intra Lavoisier Améliorer l'extensibilité avec 4 types de plug-in au lieu d'un à l'heure actuelle Protocole (JMS, http, https...) Format ( xml, yml, txt,...) Type de cache ( nouvelles implémentations possibles ) Règles de refresh ( nouvelles implémentations possibles ) Ajout d'un scheduler pour ordonner les refresh de cache Futurs développements : Lavoisier 2.0
Séminaire IN2P avril Liens Lavoisier : Homepage : Symfony Homepage : Documentation: Tutorial en 24 h : Dashboard : Homepage : (enregistrement préalable dans la GOC DB nécessaire) Proceedings of EELA-2 Conference, A standalone regional dashboard implementation :