T3.GT07 Intégration de données

DATE / LIEU:

  • durée: 1h30

agenda

ANIMATEURS:

  • Stéphane Deraco (DSI CNRS, Toulouse)

FORMAT:

  • Présentations d'Apache Camel et de ses possibilités
  • Retours d'expériences de 10-15 minutes.
  • Table ronde / discussions

PAD COLLABORATIF:

https://etherpad.in2p3.fr/p/JDEV2015.T3.GT07

Vous pouvez vous servir de ce pad collaboratif pour y inscrire vos commentaires, un résumé / restitution en sera fait qui sera inclus dans le compte rendu du GT.

  • Préalablement au jour J: L'idée est de faire remonter les attentes et les questionnements.
  • Jour J: Prendre des notes et des réflexions collaborativement.

Thèmes ou Discussion

Nos applications sont amenées à traiter de plus en plus de données provenant de sources différentes, avec des formats et des protocoles différents. Pour pouvoir traiter ces données, différentes solutions existent telles que des ESB ou des ETL. Nous parlerons du projet Apache Camel, qui permet de faciliter les échanges de données.

  • Récupération et transfert de données d'une source à une autre
  • Traitement effectués sur ces données
  • Quel format utiliser pour les données, comment passer d'un format à un autre

Support de présentation

Contenu de l'etherpad

  • Apache Camel

JDEV 2015 Groupe de travail T3.GT07 (http://devlog.cnrs.fr/jdev2015/t3.gt07) stephane.deraco@dsi.cnrs.fr

Personnes présentes :

  • Jonathan Fontanel , stratégie produit chez l'éditeur Qualiac. Adresse mail : j.fontanel@qualiac.com
  • Jonathan Mercier, Bioiformaticien CEA/Genoscope : jmercier@genoscope.cns.fr

Livre Camel In Action : http://www.manning.com/ibsen/

  • Objectifs d'Apache Camel

Transporter les données d'un point A à un point B, avec éventuellement des transformations. Camel n'est pas un ESB, il s'occupe du routage de données. Par contre, la plupart des ESB OpenSource utilisent Apache Camel en tant que moteur de routage de données.

Exemple “Hello World” :

  
  from("file:///data/in").to("file:///data/out")

Ce qu'il y a dans “from” et “to” sont des endpoints. Ils ont la syntaxe d'une URI :

  1. scheme : “file://” (correspond au composant)
  2. ressource : /data/in
  3. paramètres : ?p1=v1&p2=v2&…

Plus de 120 composants différents : http://camel.apache.org/components.html Assez facile d'écrire son propre composant. Il est toujours possible d'injecter des données récupérées par ailleurs dans une route Camel.

Possible d'écrire les routes dans différents langages. Les deux principaux : DSL Java et XML. Possible aussi en Scala, Groovy, …

  • Concepts

Comme les Design Pattern pour la programmation, il existe les “Integration Patterns” pour le routage de données : http://www.enterpriseintegrationpatterns.com/ → Concepts et vocabulaire partagé

  • Echange

Un échange est ce qui transite le long de la route. Essentiellement, un échange contient un message. Le message contient un Body et des Headers.

  • Transformations

Camel sait automatiquement transformer le Body d'un type vers un autre (Zip, JSON, XML, …)

  • Divers

Projet pérenne : principaux développeurs : RedHat. Utilisé au LHC pour les contrôles des instruments.

 
jdev2015/t3.gt07.txt · Dernière modification: 2015/07/09 11:07 par stephane.deraco@dsi.cnrs.fr
 
Recent changes RSS feed Powered by PHP Powered by Pxxo Driven by DokuWiki