WIKITTY Base de données orientée documents et API de persistance pour Java.

Slides:



Advertisements
Présentations similaires
UML EPITECH 2009 UML1 - Introduction UML – Définition – Historique – UML en entreprise – Couverture Concepts – Objet – Classe –
Advertisements

Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
Oubliez SQL avec SQLAlchemy Pycon.fr 2009 Michael Scherer.
Étude de cas: Implantation de Zimbra chez Remax Québec Hugues Clouâtre Gestion-Ressources Inc.
Gestion des données issues des réseaux de mesures de la qualité : densification et besoin de flexibilité SIG, Géo-traitements.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
RMLL 2008 Isis-FISH/Gesi Benjamin Poussin Code Lutin
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
SQL partie 5 1 LMD create – update – primary key secondary key.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Introduction Bases de Données NoSQL Principe de base Avantages/Inconvénients L’évolution du Web 2.0 et actuellement Web 3.0, a montrée l’insuffisance des.
1 Y a-t-il une place pour Opensocial dans l'enseignement supérieur ? David Verdin RENATER JRES - Toulouse – novembre 2011.
Toulibre : présentation de... xhtml + css par Rémy Sanchez.
Pour plus de modèles : Modèles Powerpoint PPT gratuitsModèles Powerpoint PPT gratuits Page 1 Free Powerpoint Templates Client service architecteur réseaux.
Traitement d'images en Java avec JAI
Interfaçage entre Maple et du code externe
Nouveautés Version 4.1 et mai 2017.
Les Bases de données Définition Architecture d’un SGBD
Cours Initiation aux Bases De Données
Android PACT 2016 Encadrement Informatique.
Initiation à la conception des systèmes d'informations
Framework EHop/Ecenvir
Communication client-serveur
java : l'héritage (rappel)
Environnement de développement des BD
Introduction au Langage Pascal
Environnement du développement de BD ORACLE REPORTS 10g
ملخص Initiation à la sgbdr
Pas de variable globale
Les notions de classe et d'objet
Implémentation de PayPal
Numérotation Insertion d'objets
ATELIERS BAAN IV MODULE 9 : TENDANCES FUTURES
Journée Analyse D0, 19 janvier 2004
Les Bases de données Définition Architecture d’un SGBD
Collecte de données CAPI
AugerDb / SimDb Gestion des simulations Auger Java
Les Tests de performances
Principes de programmation (suite)
Les bases de données et le modèle relationnel
GOBO Ne pas partir de zéro
Langage de Manipulation des Données LMD
Cissé Moussa Diawara Issif Master Informatique 2ième année
Outils Statistiques pour la Sémantique Décembre 2013
Langages de programmation TP10
D5 – Travailler en réseau, communiquer et collaborer
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
Août 2009.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Présentation de frameworks J2EE 1 LIU Sizhao LUO Xin MALICK MANDENGUE Serge.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Architecture BD Récif.
Programmation Android Les listes
Programmation PHP / PDO
20 Données semi-structurées et XML
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
2. CONCEPTS DES BASES DE DONNEES
PLATE FORME DE GESTION ÉLECTRONIQUE DE DOCUMENTS Présenté par: Amine LARIBI.
© Robert Godin. Tous droits réservés.
FRAMEWORKS : XMLBEANS / STRIPES
© Robert Godin. Tous droits réservés.
Projet CRImage UNIVERSITE STENDHAL GRENOBLE
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Business Intelligence en ACube OLAP et Reporting avec ACubeOLAP et GRaM.
Transcription de la présentation:

WIKITTY Base de données orientée documents et API de persistance pour Java

Wikitty ©Code Lutin2 Objectifs ● Permettre de définir un modèle ● Orienté Objet ● Extensible ● Prévoir l'utilisation intensive ● Supporter le passage à l'échelle – Quantité de données – Quantité d'utilisateurs simultanés

Wikitty ©Code Lutin3 Wikitty ● Un wikitty a un identifiant unique ● Un wikitty a plusieurs extensions ● Une extension a des champs nommés ● Une extension peut dépendre d'une autre extension ● Un champ est une clé à laquelle on associe une valeur

Wikitty ©Code Lutin4 Exemple ● Une extension « Personne » ● Avec deux champs « nom » et « prénom » ● Une extension « Lutin » ● Qui dépend de l'extension « Personne » ● Avec un champ « numéro » ● Un wikitty qui porte l'extension Lutin a les trois champs

Wikitty ©Code Lutin5 Utilisation ● Description du modèle ● Utilisation d'un modeleur UML ● Génération du code ● Transparente ● Basée sur EUGene ● Extension du code généré (par héritage) ● Utilisation du code généré et de l'API wikitty

Wikitty ©Code Lutin6 Définition du modèle

Wikitty ©Code Lutin7 Définition du modèle ● Une extension → une classe ● Un champ de l'extension → un attribut ● Une dépendance entre extensions → une relation d'héritage ● Possibilité d'héritage multiple

Wikitty ©Code Lutin8 Génération du code ● Intégration d'EUGene dans Maven ● Modèle placé à côté des sources ● Génération déclenchée à la compilation ● Ajout du code généré au classpath pour la compilation ● Possibilité d'utiliser une tâche Ant

Wikitty ©Code Lutin9 Utilisation de l'API Person p = new PersonImpl(); p.setName("Martin"); p.setFirstName("Jacques"); proxy.store(p); Lutin l = proxy.restore(Lutin.class, p.getWikittyId()); l.setNumber(" "); proxy.store(l);

Wikitty ©Code Lutin10 Utilisation de l'API Person p = new Person(); p.setName("Martin"); PagedResult list = proxy.findAllByExample(p); for (Person p : list.getAll()) { // do something } exemple de recherche par critère on l'on attend qu'une seule réponse : Criteria criteria = Search.query(). eq(Lutin.FQ_FIELD_NUMERO," "). criteria(); Lutin lutin = proxy.findByCriteria(Lutin.class, criteria); if (lutin != null) { // do something }

Wikitty ©Code Lutin11 Fonctionnement interne ● Stockage ● Dans une base relationnelle via JDBC (PostgreSQL, H2) ● Dans une base NoSQL (Hbase) ● Ou tout autre solution (JMS, système de fichier...) ● Indexation ● Apache SolR ● Recherche par facettes

Wikitty ©Code Lutin12 Fonctionnement global ● Extensions versionnées ➔ Migration des wikitties juste-à-temps ● Gestion des droits pour chaque extension ● Internationalisation des wikitties ● Caches locaux et distants et notifications réseaux ● Communication client/serveur via services ● Outils de visualisation et de modification (wikitty-ui)

Wikitty ©Code Lutin13 Fonctionnement global

Wikitty ©Code Lutin14 Fonctionnement global

Wikitty ©Code Lutin15 Projets faisant appel à Wikitty ● BookMarks on the Web BookMarks on the Web ● Vradi Vradi ● Suite Chorem (billy, bonzoms)

Wikitty ©Code Lutin16