ATLAS Metadata Interface Une Histoire

Slides:



Advertisements
Présentations similaires
JI Les systèmes d’autorisation et d’authentification dans AMI Fabian Lambert.
Advertisements

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,
Service Informatique Bernard Boutherin Tourniquet Section novembre 2014 Bilan Informatique Tourniquet Section 01 du LPSC, Nov 2014,
Parcours de Professionnalisation Epreuve E6 BTS SIO OPTION SISR Ngouma Lorris.
INFSO-RI Enabling Grids for E-sciencE Statistiques d'usage d'un site de la grille LCG/EGEE Emmanuel Medernach, IN2P3 LPC.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Les ORMs ● Faire coexister le monde relationnel et objet.
Le 22 novembre 2010, Mélanie GRAND est venue présenter aux élèves de 3° ODP (Option de Découverte Professionnelle), son métier d'ingénieur généraliste.
Reformulation  L’AFPA promoteur du projet souhaite mettre en place une application WEB afin de remplacer une solution en Java. Pour ce projet 4 mandataires.
Présentation du projet JAVA Système de messagerie instantanée cryptée.
CRM et e-marketing ● La gestion de la relation client est devenue un enjeu commercial majeur ● Il faut conquérir, transformer et fidéliser une clientèle.
Présentation LabPlus v3. Solution novatrice en Technologies de l’information Solution novatrice en Technologies de l’information Application pour la Gestion.
Présentation Projet JEE Présentation des Frameworks Java Server Faces & Eclipse Link.
Le référencement par les moteurs Favoriser la bonne indexation de nos sites.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
MDA ( Model Driven Architecture ). Introduction Model Driven Architecture ● Framework ● Développement de logiciels ● Object Management Group (OMG) ●
Développement d'applications Web avec le framework PHP Symfony 2 Mathieu Peltier (Mercator Océan - CNRS) (UMS 831, Observatoire Midi-Pyrénées)
Logiciel Assistant Gestion d’Événement Rémi Papillie (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Epreuve e6 Bts sio OPTION: SLAMSESSION: OUDJHANI Jihad.
1 Créer un extension OpenOffice.org avec Eclipse Créer une extension OpenOffice.org avec Eclipse.
JRES SITools2 24/11/2011 Jean-Christophe MALAPERT SITools2 un système d'accès aux données scientifiques web 2.0.
Créer un site web avec WordPress
Cross-Plateform Cours JavaScript
JAVA.
Usine de Développement.
Davide Canali Sr. Threat Analyst – Proofpoint Inc.
RAI? InterRAI ? Initié début années 80 pour évaluer la qualité des soins et prise en charge dans les maisons de retraite aux USA InterRAI= internationalisation.
Comment accroître le nombre de contributions externes ?
Plateforme CountrySTAT Aperçu global de la préparation des tableaux dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME.
Séminaire EOLE Dijon octobre 2010
Les Bases de données Définition Architecture d’un SGBD
AugerDb / SimDb Gestion des simulations Auger Java
Intégration Continue et SQL
Généralité sur les bases de données
Javadoc et débogueur Semaine 03 Version A16.
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
GENIUS – GANGA Alternative à la CLI
Virtualisation d’applications mobiles dans un réseau de Cloudlets
Développeur : Jonas Pauthier
Projet eXtreme DataCloud XDC
Fonctionnement de la grille
Activités présentes et à venir
Offres Viveris Systèmes
David Bouvet LCG France T2 T3 – LPNHE
Jobs ATLAS sur la grille
Documentation technique (Linux)
Présentation des EJB Enterprise Java Beans.
Notion De Gestion De Bases De Données
Résumé de la réunion PAF-CAF 12/04/2010
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Chapter 12: Structures de données
Développement d’applications interactives
AMI (ATLAS METADATA INTERFACES)
Le logiciel de calcul de Reynaers
Introduction à la Grille
Modélisation objet avec UML
AMI (ATLAS METADATA INTERFACES)
Communication Assistant V2.0
Architectures Logicielles Java GLG203 GLG204
Serveurs d’applications
20 Données semi-structurées et XML
Introduction à GENIUS et GILDA
1-1 Introduction to ArcGIS Introductions Who are you? Any GIS background? What do you want to get out of the class?
DC04 CMS Objectif Status Planning
Design, innovation et créativité
Chapter 11: Récursivité Java Software Solutions Second Edition
Test de performances. Test de performances:  Un test de performance est un test dont l'objectif est de déterminer la performance d'un système informatique.
Design Patterns en programmation par objets
+ Siham Boutayeb BMC Sr Software Consultant.
INS Tunisia, Towards a fully SDMX compliant Information system
Transcription de la présentation:

ATLAS Metadata Interface Une Histoire Solveig ALBRAND Avec l’aide de J.Fulachier, F.Lambert 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface AMI – C’est quoi? Un FRAMEWORK pour des applications base de données avec interface WEB + CLI. Développé au LPSC dans le cadre de l’expérience ATLAS, mais (bien sur) applicable à d’autre projets. S.A. + Jerome Fulachier, Fabian Lambert Collaborations ponctuelles – Univ. de Glasgow, Simon Fraser Univ. , Univ. de Göttingen. (Haykuhi Musheghyan ) Plusieurs étudiants; au moins 2 ont fait du travail dont on s’en sert toujours. 2 applications “essentielles pour ATLAS ” utilisent le Framework. AMI Physics Metadata et Tag Collector. (en fait au début 2 apps. independent que nous avons rapidement « unifiées » par le framework.) 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Framework Le structure de l’application est déterminé par le framework. Extensible – mais le framework a un comportement utile par défaut, c’est a dire sans extension. L’utilisateur du framework ne peut pas modifier le codes générique de base. 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface AMI Framework Application TagCollector AMI Physics metadata Framework Databases TagCollector Physics metadata 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface AMI et Tag Collector Le code de base est partagé. Les applications tournent sur les mêmes instances d’AMI Framework, avec la même base de utilisateurs. Les interfaces WEB sont assez différents. L’interface python (pyAMI) est partagé. Tag Collector  Software Infrastructure d’ATLAS (Gestion de releases). Peu d’utilisateurs, mais utilisation intensive AMI  Data Preparation/Data Bases. Beaucoup d’utilisateurs, mais utilisation ponctuelle. 23/02/2019 ATLAS Metadata Interface

Histoire (et pré-histoire) 2000 LAr Test Beam Bookkeeping (voir diapo. suivant) 2001 Tag Collector I (première mention 09/01 par J. Collot) 2001, 2002 DC0 , DC1 “AMB”  “AMI” S.A. des le début (+ Fairouz Malek et Johann Collot), rapidement rejoint par J.F. 23/02/2019 ATLAS Metadata Interface

“Lots of access, but little feedback !” May 2001 Threads – InfoCollector, HPSS search – option, DB upload, local backup.

ATLAS Metadata Interface 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface 23/02/2019 ATLAS Metadata Interface

Les Années RAT 2003 Acquisition par scripts sur sites de production. 2004 DC2 – Introduction de Request A Dataset(“RAT”) 2005 Année très riche pour AMI dev., mais le “RAT” devient méchant. F.L. nous rejoint (TCII redesign) Collabn. Ponctuelle Univ. Glasgow & Olivier Pernet 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface 06/03/2003 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface 26/05/2005 23/02/2019 ATLAS Metadata Interface

BRIDGE design pattern Interface BkkJDBCLoaderInterface <<extend>> <<implement>> Interface BkkJDBCBuilderLoaderInterface The plugins implement the real database operations <<has a>> plugin BkkJDBCLoader <<extend>> BkkJDBCBuilderLoader JDBCMySQLLoader <<instantiate>> <<Use>> These classes are to be extended by classes using the package BkkPluginMgr <<instantiate>> JDBCOracleLoader 23/02/2019 ATLAS Metadata Interface

2007 Definition & Implementation Nomenclature ( “AMI tags”) 2006 AMI Review 2007 Definition & Implementation Nomenclature ( “AMI tags”) 2013 and beyond AMI devient officiellement “essentiel” 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface AMI Review 2006 “……we recommend that AMI is deployed as the primary physicist interface to the metadata and Dataset Selection Catalog.” April 2006.  Metadata task force. (L’équipe AMI n’en fait pas partie! Toutefois, j’ai obtenu d’être un observateur ) 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Onward and Upward Depuis 2006 : La place d’AMI dans la collaboration se renforce. (TC n’a jamais été mis en cause) Infrastructure de métadonnées ATLAS se renforce. External databases  Relations avec d’autres bases de données. Fonctions pour Data Preparation et MC production. Sync. avec DDM (Distributed Data Management) Nov 2011 – ATLAS Information Protection  Nous savons combien d’utilisateurs “lecture”. Depuis Novembre 2012 Monitoring des requêtes. ~400 11/11 (lecture seul) ~1960 05/13 ~1600 03/12 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Dataset selection 2007 - > 2013 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Refonte des pages WEB 2013. AJAX/ Java Script 2,7 million datasets 273 million files 23/02/2019 ATLAS Metadata Interface

Acquisition des Métadonnées Seulement les datasets officiels. Principes : Cohérentes, Précises Et … La douleur d’acquisition < La joie de trouver (Roger Jones) 23/02/2019 ATLAS Metadata Interface

AMI is a "mediator interface" ≝ “a software module that exploits encoded knowledge about some sets or subsets of data to create information for a higher layer of applications” ‎[Gio Wiederhold, Mediators in the architecture of future information systems, IEEE Computer Magazine, Vol 25, No3, p38-49 March 1993]. Exemple : Calcul du nombre d’événements dans un dataset par agrégation d’information du système de production et le DDM (Distributed Data Management)

Nos sources AMI Databases Nous obtenons nos informations d’au moins 4 sources, par 4 méthodes. Système Tier 0 DAQ et first reconstruction Lecture contrôlé par semaphore. ProdSys (PANDA) ATLAS MC et reprocessing sur la grille Lecture libre, sync. par timestamp DDM Distributed Data Management Active MQ (messages – produced/consumer) COOL Conditions Database. Relation de symbiose via COMA. 23/02/2019 S.A.

Comment remplir les bases de données? AMI Task Server (un “crontab” distribué) Tâches qui remplissent les bases de données. Tâches de synchronisation (ex. avec VOMS) Tâches pour calculer paramètres … 2 instances d’AMI consacrés Fréquence d’exécution Priorités Exclusions 23/02/2019 ATLAS Metadata Interface

Une exception française (ou presque) AMI et Tag Collector sont au CCIN2P3. Cluster ORACLE Cluster mySQL Serveurs Support (surtout pour ORACLE) Parfois on nous a critiqué pour cela. 23/02/2019 ATLAS Metadata Interface

APACHE@CCIN2P3 Load balancing mod_proxy Servers 2013 APACHE@CCIN2P3 Load balancing mod_proxy Tomcat https://ami.in2p3.fr pyAMI AMI Replica https://ami-cern.cern.ch Tomcat CERN Oracle streams Source Databases Task Servers  AMI Databases CCIN2P3 23/02/2019 ATLAS Metadata Interface

Quelques mots sur l’architecture Ecrit en JAVA, et Java Script/AJAX Base de données ORACLE et mySQL (ou autre), transparent pour les utilisateurs. (vide infra) Connections sont indirectes. (Pas de mot de passe base de données publie)(vide infra) Connection Pool “maison”. )(vide infra) Transaction Pool “maison”. (Agrégation d’actions sur multiple bases de données COMMIT ou ROLLBACK ensemble)(vide infra) 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Architecture II Evolution de schéma. Chaque base de données “AMI compliant” contient sa propre description. Le code générique utilise cette description pour construire le comportement par défaut. Les schéma pour les données du détecteur ≠ les schéma des données simulées. Les schéma évoluent dans le temps (nouveaux paramètres) Les requêtes SQL sont construites par l’application. (vide infra) Mais l’utilsateur peut le faire aussi. 23/02/2019 ATLAS Metadata Interface

Un mot sur l’environnement du travail Voir le presentation de F. Lambert aux JI2012 Eclipse: IDE multi-langage Subversion: Dépot code source Redmine: Forge IN2P3 Jenkins: Serveur d'intégration continue Truck count >=1 « sticky programming » porte d’entrée de l’« extreme programming » B. Boutherin 2009  23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Quelques pensées Est-ce qu’une équipe d’ingénieurs, développeurs de SW, peut travailler dans une collaboration de physiciens? Oui, mais n’attendez pas qu’on vous présente avec un cahier de charges. La méthode “bâton de pèlerin” et développement en spirale. Nos collègues physiciens sont souvent attirés dans un premier temps par des solutions “bout de ficelle” qu’ils peuvent faire marcher eux-mêmes rapidement. Il faut être patient et pragmatique, tout en faisant savoir que vous avez des idées pour faire mieux. 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Il faut faire avec. “Je n’ai pas travaillé cette semaine car j’ai jugé que les spécifications de l’utilisateur sont incomplètes” 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Même des conseils? La « veille de besoins » est plus important que la veille technologique. Autrement dit il y aura beaucoup de meetings… Voir et être vu. Préférez la robustesse à l’innovation. La documentation et le support aux utilisateurs est très important. On vous pardonnera quelques bugs, mais il faut démontrer que vous êtes réactifs. Contact personnel vs. bug tracker? 23/02/2019 ATLAS Metadata Interface

ATLAS est une grande collaboration. Pourtant peu de monde se risque à dire ce qu’il souhaite. (Et si vous trouvez quelqu’un, sachez l’utiliser, car il/elle a des qualités de leader.) Quelque chose évident pour vous n’est pas forcement évident pour quelqu’un d’autre. Ne supposez pas que tout le monde a vu toute l’information disponible. On ne peut pas faire plaisir à tout le monde. Il y aura parfois des insultes. Faites-vous respecter. « Communication scientifique en anglais : » !? Visez le long terme et la solidité. C’est (presque) une spécificité du CNRS d’avoir un corps d’ingénieurs “titulaires”. Nous avons vu passer pas mal de post-docs en 12 ans. 23/02/2019 ATLAS Metadata Interface

N’importe qui peut écrire quelques lignes de code. Il est beaucoup plus difficile de construire un architecture qui peut durer dans le temps. facilité d'utilisation fiabilité maintenabilité performance portabilité > 10 ans n’est pas mal ! 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Remerciements CCIN2P3 Lyon: Database Admins & Server support Osman Aidel Jean-Rene Rouet Philippe Cheynet Yannick Perret LCG , ATLAS France et ATLAS LPSC :Serveurs + ORACLE licence. pyAMI (dev. & deploiement) Noel Dawe (SFU, Vancouver) Asoka Da Silva (Triumf , Vancouver) Emil Obreskov (CERN) 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Extra Slides (liens “vide infra”) 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Command engine pyAMI Web browser command command output xml,text,html,csv,dict command engine xslt pool engine XML result arguments transaction pool command connection pool user role router an Oracle db a MySQL db 23/02/2019 ATLAS Metadata Interface

Metadata Query Language arguments command XML result MQL engine MQL request Select (fields) Where (conditions) Select a.x,b.y Where a.x > 0 And b.y=‘foo’ MQL parser MQL tree Select a.x,b.y Result agregation And SQL query DB1 thread SQL query DB2 thread a.x>0 b.y=‘foo’ introspection Metadata DB1 DB2 a b a c b schema evolution 23/02/2019 ATLAS Metadata Interface

Connections - Transactions framework transaction pool command (id) loader interface router loader (id) id’ vector id Oracle loader (id) MySQL loader (id) connection pool free leased router a MySQL db an Oracle db 23/02/2019 ATLAS Metadata Interface

Connections - Transactions framework command (id) transaction pool Command A (id) id’ id Command B (id) Command C (id) Command D (id) connection pool free leased 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface XSLT pooling xslt files xslt engine command engine pool XML result html-1.xsl transformation load html-2 command html-2.xsl csv csv.xsl csv arguments text.xsl Client command output xml,text,html,csv,dict AMI command command arguments transformation 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Task server Router database Task C Task Planification Class Priority Exclusion Task A Task B Task D Task server scheduler Task A thread Task B thread Task Commands External systems AMI databases 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Databases databases External databases Router PRODSYS Users Roles Commands TIER 0 Metadata COMA Software Management … 23/02/2019 ATLAS Metadata Interface

ATLAS Metadata Interface Router database Router database Users Roles Commands Login Certificate VOMS roles metadata Databases Application database External database tables metadata tables 23/02/2019 ATLAS Metadata Interface