ERYEM
CAMPS
Dashboard Yammer sous SharePoint
Partie 1/2
1
Présenté par :
Barbar MITRI bmitri@eryem.com
Levallois 15/01/2015
Plan
1. Présentation du sujet
1. Utilisation de NodeJS
2. Architecture applicative
2. Démo
3. Référence
2
NodeJS
 Les évènements
 Les modules Node.js et NPM
 Le framework Express.js
3
4
Architecture technique
YammerControl
YamSQL
SQLServerProxy
SPAppYammerDurandal
Bibliothèque de classes pour
interroger A...
5
Architecture applicative
4
Yammer
SQL Server
1°)2°)
3°)
4°)
5°)
Proxy nodeJS
1 => connexion à l’application
Sharepoint
2...
6
public ZipArchive GetExport(DateTime exportStartDate)
{
try
{
var url =
String.Format("https://www.yammer.com/api/v1/exp...
7
function runSQL(strReq, callback) {
var connection = new sql.Connection(connection_string, function (err) {
if (err)
con...
Conclusion
8
Utilisation des Yammer API dans un client .Net
Utilisation du NodeJS pour exposer les données
Références
9
Tutoriels et exemples Node Js :
http://nodejs.org/
Yammer Developer :
https://developer.yammer.com/
Newtonsof...
Prochain SlideShare
Chargement dans…5
×

Yammer et nodejs

351 vues

Publié le

Dans cette première partie, nous présenterons une architecture projet permettant de récupérer les données Yammer suivant une fenêtre temporelle paramétrable, de les insérer dans une base de données, et d’exposer la base de données avec des web services grâce au framework nodeJS.

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
351
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 1 => connexion à l’application Sharepoint
    2 => Sharepoint renvoie le contenu Statique au client : html + CSS + JS
    3=> avec l’autorisation de Sharepoint on redirige le client vers le serveur Proxy (NodeJS)
    4=> proxy solicite le serveur de base de données
    5=> reponse de la base
    6=> le proxy retourne les données vers le client
  • Yammer et nodejs

    1. 1. ERYEM CAMPS Dashboard Yammer sous SharePoint Partie 1/2 1 Présenté par : Barbar MITRI bmitri@eryem.com Levallois 15/01/2015
    2. 2. Plan 1. Présentation du sujet 1. Utilisation de NodeJS 2. Architecture applicative 2. Démo 3. Référence 2
    3. 3. NodeJS  Les évènements  Les modules Node.js et NPM  Le framework Express.js 3
    4. 4. 4 Architecture technique YammerControl YamSQL SQLServerProxy SPAppYammerDurandal Bibliothèque de classes pour interroger API Yammer Projet pour insérer les données Yammer dans la base Proxy NodeJS pour exposer les requêtes de base de données en tant que Web Services JSON App SharePoint qui consomme les données retournées par le proxy
    5. 5. 5 Architecture applicative 4 Yammer SQL Server 1°)2°) 3°) 4°) 5°) Proxy nodeJS 1 => connexion à l’application Sharepoint 2 => Sharepoint renvoie le contenu Statique au client : html + CSS + JS 3 => avec l’autorisation de Sharepoint on redirige le client vers le serveur Proxy (NodeJS) 4 => Le proxy solicite le serveur de base de données 5 => réponse de la base 6 => Le proxy retourne les données vers le client
    6. 6. 6 public ZipArchive GetExport(DateTime exportStartDate) { try { var url = String.Format("https://www.yammer.com/api/v1/export?model=Message&model=User&model=Group&mo del=Topic&model=UploadedFileVersion&model=DocumentVersion&access_token={0}&include=csv&incl ude_ens=false&since=" + exportStartDate.ToString("yyyy-MM-dd") + "T00%3A00%3A00%2B00%3A00", this.accessToken); HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Headers.Add("Authorization", "Bearer" + " " + this.accessToken); using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { using (var stream = response.GetResponseStream()) { return new ZipArchive(stream); } } } catch (Exception ex) { throw new Exception("GetExport : " + " " + ex.Message); } } Récupération des données deYammer Requête GET à l’API Yammer en passant en paramètre le jeton d’accès (access token)
    7. 7. 7 function runSQL(strReq, callback) { var connection = new sql.Connection(connection_string, function (err) { if (err) console.log(err); var request = new sql.Request(connection); // or: var request = connection.request(); request.query(strReq, function (err, recordset) { if(err) console.log(err); callback(recordset); }); connection.close(); }); }; app.get('/StatFilebyUser', function (req, res) { var strReq = 'SELECT y.name, count(*) as number_file' + ' FROM [dbo].[file] ' + ' inner join [dbo].[YammerUser] y on y.[UserID] = [uploader_id]' + ' group by [UserID] ,y.name'; runSQL(strReq, function (result) { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify(result)); res.end(); }); }); app.use(function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Content-Type, X-Requested-With"); res.type('application/json'); next(); }); https.createServer(httpsOptions, app).listen("8000", ip.address()); Proxy : Nodejs runSQL: encapsule la connexion à la base de données app.get: définit un point de terminaison et le traitement à effectuer en réponse à la requête app.use: fonction exécutée avant toute requête, permet de fixer les headers http.createServer.listen: ouvre le port pour écoute
    8. 8. Conclusion 8 Utilisation des Yammer API dans un client .Net Utilisation du NodeJS pour exposer les données
    9. 9. Références 9 Tutoriels et exemples Node Js : http://nodejs.org/ Yammer Developer : https://developer.yammer.com/ Newtonsoft.json: https://www.nuget.org/packages/Newtonsoft.Json/

    ×