32
Mes posts G+ aussi sur Twitter, une solution tout cloud : Mercure+

De Google+ à twitter en passant par le Cloud

Embed Size (px)

DESCRIPTION

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

Citation preview

Mes posts G+ aussi sur Twitter, une solution tout cloud :

Mercure+

Google +, un contenu riche

Twitter, contenu pauvre

Google vers Twitter ? - Mes besoins

• Usage persoLe but n'est pas d'ouvrir un service.

• Pas de perte de contenu• Attention aux messages longs et aux images.• Utilisable de partout

Pas de dépendance d'un plugin navigateur ou d'un application spécifique.

• Réactivité peu importante.Le tweet n'est pas urgent, il peut attendre.

• Ne coûte rien.Il ne s'agit pas d'un besoin vital.

• Originalité.• Parce qu'il faut bien s'amuser :)

Des éléments de réponse...

• Message twitter avec début + lien vers Google +

• Tache déclenchée régulièrement

• "Pilotée" depuis le cloud.

Stratégie de diffusion ?

Que faire de :• Message court ?• Message avec lien vers article ?• Message avec image/vidéo ?• Publication d'un album ?• Partage de partage de lien sans aucun

commentaire ?

Stratégie de diffusion - mes choix

• Régle du one-click Pour accéder à une information l'utilisateur ne doit pas faire plus d'un clic

• Contenu type photos doit être linké quelque soit la taille du messageProfitez de la plateforme Google+

• Shortenizer les urls du contenuGagner un peu d'espace

• Tout message trop long doit être linké

Mule iON

Integration Plateform As A Service

Orchestration de services cloud

• Basé sur Mule 3.1.x+(= "ESB léger" / framework d'intégration)

• Intégrer facilement des services cloudUn cloud pour les contrôler tous (MongoDB, Sales Force, Twitter, ...)

• Infrastructure sur AmazonD'après les logs...

• Piloter un flux qui les utiliseOpérations métiers propre à mon SI

Administration web

Logs - Live View

Prix et quota

Mule Studio

• En version beta ...o Un Eclipse customiséo De la vraie beta !o Dernière version 1.0 milestone 5

• Création de project Mule

• DéploiementÉquivalent à ce retrouve avec GAE

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 il est également le messager des dieux.

Il transporte les messages dans le cloud

Mon flux

1. Récupération des derniers Activities

• Trouver les non publiés sur Twitter

• Découper pour traitement unitaire

• Créer message générique

• Préparer le message spécial Twitter

Api Rest Google + - Activities List

• RequêteGET https://www.googleapis.com/plus/v1/people/108189587050871927619/ activities/public?key=yourAPIKey

• Réponse{

  "kind": "plus#activityFeed",

  "nextPageToken": string,

  "selfLink": string,

  "nextLink": string,

  "title": string,

  "updated": datetime,

  "id": string,

  "items": [

    activities Resource

  ]

}

Api Rest Goo.gl

• Requête

POST https://www.googleapis.com/urlshortener/v1/url Content-Type: application/json {"longUrl": "http://www.google.com/"}

• Réponse{ "kind": "urlshortener#url", "id": "http://goo.gl/fbsS", "longUrl": "http://www.google.com/" }

Besoin de persistance

• Quels sont les Activities à twitter ?• Cette activity a t-elle été modifiée ?

• Combien de messages publiés ?

Mongo DB - Pourquoi ?

• Connecteurs Mongo pour Mule• Driver présent dans le milestone 3, disparue

en milestone 5....• Je connais pas (encore)

Exemple d'une entrée

{ "_id": { "$oid": "4ea71ca515826403b2aa6d49" }, "updated": "2011-12-02T18:50:19.429Z", "size": 16}

MongoLab

• Hébergeur cloud(gratuit dans la limite de 240 Mo)

• Interface web d'administration simple

Les services cloud utilisés

• Connecteurs http/httpso Api google plus + api keyo Api goo.gl

• Connecteur Twittero Nécessite tokens personnel et applicatif

• Driver java pour MongoDBo Hébergement non fourni par Mule iON

Les apis Mule

• Déclencheur Quartz

• Transformeur json to object

• Mapping JSon avec Jackson

• Splitter de listes

• Traitement asynchrone

Ont aussi participé ...

• Spring 3o Les composants mule peuvent êtres des beans spring.o RestTemplate pour interroger goo.gl.

• Guavao Filtrage des activities récente selon un Predicate.o Manipulation du contenu pour retrouver urls.

• JSoupo Nettoyage de contenu html.

• JodaTimeo Date d'update des activites.

• Mapping perso des objets javao Utilisation Jodatime pour les dates (le DateTime de

google provoquait des erreurs)

Ce qui donne...

ou pour les xml lovers ...

Aller plus loin ?

• Publication :o Facebook (attention : il faut avoir une session ouverte)o LinkedIn

• Statistique des activitieso Commentaireso Partages

• Fonctionnalité complémentaireso Suivre les commentaires sur les activities partagées

par d'autres

Points négatifs

• Mule Studioo En version betao Divers problèmes avant la m5 (ajout de lib, visualisation

du flux, ... )• Problème de plateforme ?

o jar(s) existant(s) dans Mule Studio qui semble absent déployé (JodaTime)

• Supporto Forum peu fréquenté

• Version gratuiteo Echéance de ma version au 29/02/12 ?

Live démos !!!

• Mercure+

• Déploiement / live view des logs

Les sources

http://github.com/nfrancois/mercureplus-muleion