Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Mes posts G+ aussi sur Twitter, une solution tout cloud : Mercure+
Google +, un contenu riche
Twitter, contenu pauvre
Google vers Twitter ? - Mes besoins <ul><ul><li>Usage perso Le but n'est pas d'ouvrir un service. </li></ul></ul><ul><ul><...
Des éléments de réponse... <ul><ul><li>Message twitter avec début + lien vers Google + </li></ul></ul><ul><ul><li>Tache dé...
Stratégie de diffusion ? <ul><li>Que faire de : </li></ul><ul><ul><li>Message court ? </li></ul></ul><ul><ul><li>Message a...
Stratégie de diffusion - mes choix <ul><ul><li>Régle du one-click  Pour accéder à une information l'utilisateur ne doit pa...
Mule iON
Integration Plateform As A Service 
Orchestration de services cloud <ul><ul><li>Basé sur Mule 3.1.x+ (= &quot;ESB léger&quot; / framework d'intégration) </li>...
Administration web
Logs - Live View
Prix et quota
Mule Studio  <ul><ul><li>En version beta ... </li></ul></ul><ul><ul><ul><li>Un Eclipse customisé </li></ul></ul></ul><ul><...
Mule Studio - Visualisation du flux
Mon projet démo - Mercure+ Mercure est le dieu du commerce, des voyageurs, des voleurs, des marchands, des médecins et   i...
Mon flux <ul><ul><li>Récupération des derniers Activities </li></ul></ul><ul><ul><li>Trouver les non publiés sur Twitter <...
Api Rest Google + - Activities List <ul><ul><li>Requête </li></ul></ul><ul><li>GET https://www.googleapis.com/plus/v1/peop...
Api Rest Goo.gl <ul><ul><li>Requête POST https://www.googleapis.com/urlshortener/v1/url Content-Type: application/json {&q...
Besoin de persistance <ul><ul><li>Quels sont les Activities à twitter ? </li></ul></ul><ul><ul><li>Cette activity a t-elle...
Mongo DB - Pourquoi ? <ul><ul><li>Connecteurs Mongo pour Mule </li></ul></ul><ul><ul><li>Driver présent dans le milestone ...
Exemple d'une entrée {      &quot;_id&quot;: {          &quot;$oid&quot;: &quot;4ea71ca515826403b2aa6d49&quot;      },    ...
MongoLab <ul><ul><li>Hébergeur cloud (gratuit dans la limite de 240 Mo) </li></ul></ul><ul><ul><li>Interface web d'adminis...
Les services cloud utilisés <ul><ul><li>Connecteurs http/https </li></ul></ul><ul><ul><ul><li>Api google plus + api key </...
Les apis Mule <ul><ul><li>Déclencheur Quartz </li></ul></ul><ul><ul><li>Transformeur json to object </li></ul></ul><ul><ul...
Ont aussi participé ... <ul><ul><li>Spring 3 </li></ul></ul><ul><ul><ul><li>Les composants mule peuvent êtres des beans sp...
Ce qui donne...
ou pour les xml lovers ...
Aller plus loin ? <ul><ul><li>Publication : </li></ul></ul><ul><ul><ul><li>Facebook (attention : il faut avoir une session...
Points négatifs <ul><ul><li>Mule Studio </li></ul></ul><ul><ul><ul><li>En version beta </li></ul></ul></ul><ul><ul><ul><li...
Live démos !!! <ul><ul><li>Mercure+ </li></ul></ul><ul><ul><li>Déploiement / live view des logs </li></ul></ul>
Les sources http://github.com/nfrancois/mercureplus-muleion
Upcoming SlideShare
Loading in …5
×

De Google+ à twitter en passant par le Cloud

572 views

Published on

Ma présentation au BOF de Sfeir du mois de décmbre

  • Be the first to comment

  • Be the first to like this

De Google+ à twitter en passant par le Cloud

  1. 1. Mes posts G+ aussi sur Twitter, une solution tout cloud : Mercure+
  2. 2. Google +, un contenu riche
  3. 3. Twitter, contenu pauvre
  4. 4. Google vers Twitter ? - Mes besoins <ul><ul><li>Usage perso Le but n'est pas d'ouvrir un service. </li></ul></ul><ul><ul><li>Pas de perte de contenu </li></ul></ul><ul><ul><li>Attention aux messages longs et aux images. </li></ul></ul><ul><ul><li>Utilisable de partout  Pas de dépendance d'un plugin navigateur ou d'un application spécifique. </li></ul></ul><ul><ul><li>Réactivité peu importante. Le tweet n'est pas urgent, il peut attendre. </li></ul></ul><ul><ul><li>Ne coûte rien. Il ne s'agit pas d'un besoin vital. </li></ul></ul><ul><ul><li>Originalité. </li></ul></ul><ul><ul><li>Parce qu'il faut bien s'amuser :) </li></ul></ul>
  5. 5. Des éléments de réponse... <ul><ul><li>Message twitter avec début + lien vers Google + </li></ul></ul><ul><ul><li>Tache déclenchée régulièrement </li></ul></ul><ul><ul><li>&quot;Pilotée&quot; depuis le cloud. </li></ul></ul>
  6. 6. Stratégie de diffusion ? <ul><li>Que faire de : </li></ul><ul><ul><li>Message court ? </li></ul></ul><ul><ul><li>Message avec lien vers article ? </li></ul></ul><ul><ul><li>Message avec image/vidéo ? </li></ul></ul><ul><ul><li>Publication d'un album ? </li></ul></ul><ul><ul><li>Partage de partage de lien sans aucun commentaire ? </li></ul></ul>
  7. 7. Stratégie de diffusion - mes choix <ul><ul><li>Régle du one-click  Pour accéder à une information l'utilisateur ne doit pas faire plus d'un clic </li></ul></ul><ul><ul><li>Contenu type photos doit être linké quelque soit la taille du message Profitez de la plateforme Google+ </li></ul></ul><ul><ul><li>Shortenizer les urls du contenu Gagner un peu d'espace </li></ul></ul><ul><ul><li>Tout message trop long doit être linké </li></ul></ul>
  8. 8. Mule iON
  9. 9. Integration Plateform As A Service 
  10. 10. Orchestration de services cloud <ul><ul><li>Basé sur Mule 3.1.x+ (= &quot;ESB léger&quot; / framework d'intégration) </li></ul></ul><ul><ul><li>Intégrer facilement des services cloud Un cloud pour les contrôler tous (MongoDB, Sales Force, Twitter, ...) </li></ul></ul><ul><ul><li>Infrastructure sur Amazon D'après les logs... </li></ul></ul><ul><ul><li>Piloter un flux qui les utilise Opérations métiers propre à mon SI </li></ul></ul>
  11. 11. Administration web
  12. 12. Logs - Live View
  13. 13. Prix et quota
  14. 14. Mule Studio  <ul><ul><li>En version beta ... </li></ul></ul><ul><ul><ul><li>Un Eclipse customisé </li></ul></ul></ul><ul><ul><ul><li>De la vraie beta ! </li></ul></ul></ul><ul><ul><ul><li>Dernière version 1.0 milestone 5  </li></ul></ul></ul><ul><ul><li>Création de project Mule </li></ul></ul><ul><ul><li>Déploiement Équivalent  à ce retrouve avec GAE </li></ul></ul>
  15. 15. Mule Studio - Visualisation du flux
  16. 16. Mon projet démo - Mercure+ Mercure est le dieu du commerce, des voyageurs, des voleurs, des marchands, des médecins et il est également le messager des dieux . Il transporte les messages dans le cloud
  17. 17. Mon flux <ul><ul><li>Récupération des derniers Activities </li></ul></ul><ul><ul><li>Trouver les non publiés sur Twitter </li></ul></ul><ul><ul><li>Découper pour traitement unitaire </li></ul></ul><ul><ul><li>Créer message générique </li></ul></ul><ul><ul><li>Préparer le message spécial Twitter </li></ul></ul>
  18. 18. Api Rest Google + - Activities List <ul><ul><li>Requête </li></ul></ul><ul><li>GET https://www.googleapis.com/plus/v1/people/108189587050871927619/ activities/public?key= yourAPIKey </li></ul><ul><ul><li>Réponse </li></ul></ul><ul><li>{   &quot;kind&quot; : &quot;plus#activityFeed&quot; ,   &quot;nextPageToken&quot; : string ,   &quot;selfLink&quot; : string ,   &quot;nextLink&quot; : string ,   &quot;title&quot; : string ,   &quot;updated&quot; : datetime ,   &quot;id&quot; : string ,   &quot;items&quot; : [     activities Resource   ] } </li></ul>
  19. 19. Api Rest Goo.gl <ul><ul><li>Requête POST https://www.googleapis.com/urlshortener/v1/url Content-Type: application/json {&quot;longUrl&quot;: &quot;http://www.google.com/&quot;} </li></ul></ul><ul><ul><li>Réponse </li></ul></ul><ul><li>{ &quot;kind&quot;: &quot;urlshortener#url&quot;, &quot; id &quot;: &quot;http://goo.gl/fbsS&quot;, &quot; longUrl &quot;: &quot;http://www.google.com/&quot; } </li></ul>
  20. 20. Besoin de persistance <ul><ul><li>Quels sont les Activities à twitter ? </li></ul></ul><ul><ul><li>Cette activity a t-elle été modifiée ? </li></ul></ul><ul><ul><li>Combien de messages publiés ? </li></ul></ul>
  21. 21. Mongo DB - Pourquoi ? <ul><ul><li>Connecteurs Mongo pour Mule </li></ul></ul><ul><ul><li>Driver présent dans le milestone 3, disparue en milestone 5.... </li></ul></ul><ul><ul><li>Je connais pas (encore)  </li></ul></ul>
  22. 22. Exemple d'une entrée {     &quot;_id&quot;: {         &quot;$oid&quot;: &quot;4ea71ca515826403b2aa6d49&quot;     },     &quot;updated&quot;: &quot;2011-12-02T18:50:19.429Z&quot;,     &quot;size&quot;: 16 }
  23. 23. MongoLab <ul><ul><li>Hébergeur cloud (gratuit dans la limite de 240 Mo) </li></ul></ul><ul><ul><li>Interface web d'administration simple </li></ul></ul>
  24. 24. Les services cloud utilisés <ul><ul><li>Connecteurs http/https </li></ul></ul><ul><ul><ul><li>Api google plus + api key </li></ul></ul></ul><ul><ul><ul><li>Api goo.gl </li></ul></ul></ul><ul><ul><li>Connecteur Twitter </li></ul></ul><ul><ul><ul><li>Nécessite tokens personnel et applicatif </li></ul></ul></ul><ul><ul><li>Driver java pour MongoDB </li></ul></ul><ul><ul><ul><li>Hébergement non fourni par Mule iON </li></ul></ul></ul>
  25. 25. Les apis Mule <ul><ul><li>Déclencheur Quartz </li></ul></ul><ul><ul><li>Transformeur json to object </li></ul></ul><ul><ul><li>Mapping JSon avec Jackson </li></ul></ul><ul><ul><li>Splitter de listes </li></ul></ul><ul><ul><li>Traitement asynchrone </li></ul></ul>
  26. 26. Ont aussi participé ... <ul><ul><li>Spring 3 </li></ul></ul><ul><ul><ul><li>Les composants mule peuvent êtres des beans spring. </li></ul></ul></ul><ul><ul><ul><li>RestTemplate pour interroger goo.gl. </li></ul></ul></ul><ul><ul><li>Guava </li></ul></ul><ul><ul><ul><li>Filtrage des activities récente selon un Predicate. </li></ul></ul></ul><ul><ul><ul><li>Manipulation du contenu pour retrouver urls. </li></ul></ul></ul><ul><ul><li>JSoup </li></ul></ul><ul><ul><ul><li>Nettoyage de contenu html. </li></ul></ul></ul><ul><ul><li>JodaTime </li></ul></ul><ul><ul><ul><li>Date d'update des activites. </li></ul></ul></ul><ul><ul><li>Mapping perso des objets java </li></ul></ul><ul><ul><ul><li>  Utilisation Jodatime pour les dates (le DateTime de google provoquait des erreurs) </li></ul></ul></ul>
  27. 27. Ce qui donne...
  28. 28. ou pour les xml lovers ...
  29. 29. Aller plus loin ? <ul><ul><li>Publication : </li></ul></ul><ul><ul><ul><li>Facebook (attention : il faut avoir une session ouverte) </li></ul></ul></ul><ul><ul><ul><li>LinkedIn </li></ul></ul></ul><ul><ul><li>Statistique des activities </li></ul></ul><ul><ul><ul><li>Commentaires </li></ul></ul></ul><ul><ul><ul><li>Partages </li></ul></ul></ul><ul><ul><li>Fonctionnalité complémentaires </li></ul></ul><ul><ul><ul><li>Suivre les commentaires sur les activities partagées par d'autres </li></ul></ul></ul>
  30. 30. Points négatifs <ul><ul><li>Mule Studio </li></ul></ul><ul><ul><ul><li>En version beta </li></ul></ul></ul><ul><ul><ul><li>Divers problèmes avant la m5 (ajout de lib, visualisation du flux, ... ) </li></ul></ul></ul><ul><ul><li>Problème de plateforme ? </li></ul></ul><ul><ul><ul><li>jar(s) existant(s) dans Mule Studio qui semble absent déployé (JodaTime) </li></ul></ul></ul><ul><ul><li>Support </li></ul></ul><ul><ul><ul><li>Forum peu fréquenté </li></ul></ul></ul><ul><ul><li>Version gratuite </li></ul></ul><ul><ul><ul><li>Echéance de ma version au 29/02/12 ? </li></ul></ul></ul>
  31. 31. Live démos !!! <ul><ul><li>Mercure+ </li></ul></ul><ul><ul><li>Déploiement / live view des logs </li></ul></ul>
  32. 32. Les sources http://github.com/nfrancois/mercureplus-muleion

×