On 13/02/2012 10:56, Brendan Le Ny wrote:
> Le 13/02/2012 10:41, fdesbois a écrit :
>> - [veille] SnakeYAML : poc pour créer des modèles en yaml lus par EUGene
> tu nous en dis plus ?
L'idée est double, je voulais tester SnakeYAML pour lire des fichier YML
permettant généralement de représenter des données comme XML mais en
plus simple/lisible. A savoir que le Json est une sous-partie du Yaml,
c'est juste une représentation simplifiée.
La deuxième partie, c'était pour voir si il y aurait un intérêt à écrire
des modèles textuels pour EUGene en YAML.
Les + :
- pas d'argoUML
- versionning
- plus lisible qu'en XMI ou XML
- simple à écrire
Les - :
- pas de représentation graphique des relations
- parsing un peu spécifique au besoin, pas de réelle norme
A savoir que d'autres frameworks, comme l'ORM Doctrine en PHP utilise le
Yaml pour décrire les modèles de données (plus précisément les bases).
D'où mon idée de départ.
A priori le YAML est aussi intéressant pour gérer des données de tests,
toujours un peu lourdent à écrire (soit en SQL, soit avec DAO...), mais
j'ai pas encore essayé. Voir intégration avec DBUnit.
Je pense continuer un peu pour voir où cela mène avec EUGene, voir aussi
essayer avec d'autres sources comme le KM3 ou même pourquoi pas
directement en Java.
Un ptit exemple de modèle en Yaml (pour EUGene) :
----------------------------------------------------------------------
name: wao
fr.ifremer.wao.model:
ElligibleBoat:
stereotypes: [entity]
attributes:
globalActive: boolean
companyActive: boolean
boat: Boat
Boat:
stereotypes: [entity]
attributes:
immatriculation: int
name: String
boatLength: int
buildYear: int
active: boolean
staffSize: Double
elligibleBoat: 0..* ElligibleBoat
company: 0..* Company
Company:
stereotypes: [entity]
attributes:
name: string
phoneNumber: String
address1: String
address2: String
active: boolean
email: String
city: String
postalCode: int
boat: 0..* Boat