développez votre application facebook avec windows azure

52
palais des congrès Paris 7, 8 et 9 février 2012

Upload: microsoft

Post on 14-Jul-2015

169 views

Category:

Technology


0 download

TRANSCRIPT

palais des

congrès

Paris

7, 8 et 9

février 2012

Vous êtes dans la salle 241

Développer votre

application facebook

avec azureCyril GIACOPINOTeam manager .NETtequilarapido.

Pierre LAGARDEArchitecte solution

Microsoft

TEQUILARAPIDO

45collaborateursfidèles

3,9M€CA 2010

35clientsactifs

14ansNous rencontrions GDF SUEZIl y a

TEQUILARAPIDO

Supervzin est une solution d'optimisation de la performance sur

les réseaux sociaux qui permet:

de comprendre et d'analyser son audience de mesurer la performance de ses

concurrents de suivre ses contenus les plus engageants

d'identifier ses ambassadeurs

Présentation de Windows Azure

Déploiement / Elasticité de Windows AzureWindows Azure Compute / Facebook Apps

La fédération d’identitéAccess Control Service 2.0 / Windows Identity Fondation SDK

Facebook OpenGraph API avec ASP.NET MVC3WebRole & Facebook C# SDK

Subscriptions API & WorkerRoleWorkerRole & Queue & Facebook C# SDK

SOMMAIRE

Windows AzureData Center Infrastructure

Windows Azure

Platform Services

Software Services

Application Services

Compute

Storage

DataSQL Azure

Data Sync

ConnectivityProject

“Sydney”

Security “Geneva”

Application Services

Frameworks “Dublin” “Velocity”

Service Bus

Access Control

Table Storage Blob Storage Queue DriveContent Delivery

Network

Windows Azure Platform

C / C++Win32 VHD

Windows Azure Platform

Compute C / C++Win32 VHD

Développement,Hébergement, et plateforme

d’administration

.NET, Java PHP, Python, Ruby, native code

(C/C++, Win32, etc.)

ASP.NET

providers, FastCGI, memcached, MySQL, Tomcat

Full-trust

Management API’s via REST, and logging and

diagnostics systems

Plusieurs rôle– Web, Worker, Virtual Machine (VHD)

Plusieurs taille de VM disponible

1.6 GHz CPU x64, 1.75GB RAM, reseau 100Mbps

, 250GB stockage volatile

Small (1X), Medium (2X), Large (4X), X-Large (8X)

Mises à jour séquencées par domain et par rôle, pas de

coupure de services

Windows Azure Platform

Storage

Rich data abstractions – tables, blobs, queues, drives, CDN

Capacity (100TB), throughput (100MB/sec),

transactions (1K req/sec)

High accessibility

Supports geo-location

Language & platform agnostic REST APIs

URL: http://<account>.<store>.core.windows.net

Client libraries for .NET, Java, PHP, etc.

High durability – data is replicated across datacenters

High scalability – data is automatically partitioned and load

balanced across servers

Windows Azure Platform

Storage for large, named files plus their metadata

Block Blob

Each blob consists of a sequence of blocks

Each block is identified by a Block ID

Size limit 200GB per blob

Blob Storage

Windows Azure Platform

Performance efficient, highly available and provide reliable

message delivery

Asynchronous work dispatch

Inter-role communication

Polling based model; best-effort FIFO data structure

Queue operations

Create Queue

Delete Queue

List Queues

Get/Set Queue Metadata

Queue

> Message operations

• Add Message

• Get Message(s)

• Peek Message(s)

• Delete Message

Windows Azure Platform

Data

Highly available, scalable, and consistent distributed relational

database; geo-replication and geo-location of data

Relational database, provided as a service

Highly symmetrical development and tooling

experience (use TDS protocol and T-SQL)

Highly scaled out, on commodity hardware

Built on the SQL Server technology foundation

Editions: Web (1GB), Business (25GB)

Windows Azure Platform

Security

Access Control Service 2.0

- Authentification via fournisseurs d’identité multiples

- S’intègre avec LiveId, Facebook, Yahoo, Google…

- Disponible en production

- Gratuit actuellement

- Courant 2012 : 1,99$ pour 100,000 transactions

Access Control

Déploiement / Elasticité de Windows Azure

Application Facebook

Application canvas

Application Facebook

Application canvas

Application Facebook

Application canvas

Application Facebook

Application canvas

Application Facebook

Application canvas

< 10 minutes

Gestion du nombre d’instances

Application Facebook

Démo avec Windows Azure

AutoScaling Application Block (CodeName WASABI)

http://www.windowsazure.com/en-us/develop/net/how-to-guides/autoscaling/

AutoScaling Application Block

AutoScaling Application Block

Azure Watch (Azure

MarketPlace)

La fédération d’identité

Fédération d’identité

Sans délégation d’identité

Fédération d’identité

Avec Azure Access Control

Fédération d’identité

Avec Azure Access Control

Fédération d’identité

Démo : http://msdn.microsoft.com/en-us/library/hh127794.aspx

Facebook OpenGraph API avec ASP.NET MVC3

Installation de Facebook C# SDK avec nuget

Authentification client via Javascript SDK

Appel à l’API Facebook côté serveur

Facebook OpenGraph API avec ASP.NET

MVC3

Facebook OpenGraph API avec ASP.NET

MVC3

Démo

Facebook Subscriptions API

A chaque connexion d’un utilisateur facebook sur l’application il est

nécéssaire de mettre à jour toutes les informations le concernant.

On ne fait plus de « polling » sur facebook pour mettre à jour les données

Facebook nous notifie directement de la modification d’un objet

Limitations, cela est disponible uniquement sur les objets suivants:

User

Permissions

Page

Subscriptions API & RealTime Update

User

feed, friends, activities, interests, music, books, movies, television, likes, checkins

Permissions

Notification du changement des autorisations surune application

Page

Notification de mise à jour, uniquement les champs de l’objet application disponiblepubliquement.

Subscriptions API & RealTime Update

Subscriptions API & RealTime Update

- Mise à jour des informations

du profil

(musics/movies/interests

etc….)

- Vérification des autorisation

sur l’application

Subscriptions API & RealTime Update

- Mise à jour des informations

du profil

(musics/movies/interests

etc….)

- Vérification des autorisation

sur l’applicationX

Subscriptions API & RealTime Update

Schéma classique sans Windows Azure

SubscriptionsTraitement et appel à l’API

Mise à jour des informations

{ "object": "user", "entry": [ {

"uid": 1335845740, "changed_fields":

[ "name", "picture" ], "time": 232323

}, { "uid": 1234, "changed_fields": [

"friends" ], "time": 232325 } ] }

Appel de l’URL de callback en GET

Subscriptions API & RealTime Update

Schéma classique sans Windows Azure

SubscriptionsTraitement et appel à l’API

Mise à jour des informations

{ "object": "user", "entry": [ {

"uid": 1335845740, "changed_fields":

[ "name", "picture" ], "time": 232323

}, { "uid": 1234, "changed_fields": [

"friends" ], "time": 232325 } ] }

Appel de l’URL de callback en GET

Subscriptions API & RealTime Update

Schéma classique sans Windows Azure

SubscriptionsTraitement et appel à l’API

Mise à jour des informations

{ "object": "user", "entry": [ {

"uid": 1335845740, "changed_fields":

[ "name", "picture" ], "time": 232323

}, { "uid": 1234, "changed_fields": [

"friends" ], "time": 232325 } ] }

Appel de l’URL de callback en GET

Subscriptions API & RealTime Update

Avec Windows Azure

SubscriptionsStockage en queue

des traitements à effectuer

{ "object": "user", "entry": [ {

"uid": 1335845740, "changed_fields":

[ "name", "picture" ], "time": 232323

}, { "uid": 1234, "changed_fields": [

"friends" ], "time": 232325 } ] }

WebRole recevant le callback en GET Queue Message WorkerRole assurant les

appels à l’api facebook

On dépile la queue de message à traiter

Subscriptions API & RealTime Update

Avec Windows Azure

SubscriptionsStockage en queue

des traitements à effectuer

{ "object": "user", "entry": [ {

"uid": 1335845740, "changed_fields":

[ "name", "picture" ], "time": 232323

}, { "uid": 1234, "changed_fields": [

"friends" ], "time": 232325 } ] }

X WebRole recevant le callback en GET

Queue Message

X WorkerRole assurant les appels à l’api facebook

On dépile la queue de message à traiter

Remerciements

Romain Stiffler

Dev lead Supervizin

tequilarapido.

Rodrigue Hajjar

.NET Developper

Microsoft Students

Partner

tequilarapido.

Remerciements

Conclusion

Testez Windows Azure

gratuitement pendant

90 jours

http://aka.ms/

tester-azure-90j

Abonnés MSDN, vous

bénéficiez de

Windows Azure

http://aka.ms/

activer-azure-msdn

Des ressources Windows Azure

gratuites

Chaque semaine, les DevCampsALM, Azure, Windows Phone, HTML5, OpenDatahttp://msdn.microsoft.com/fr-fr/devcamp

Téléchargement, ressources et toolkits : RdV sur MSDNhttp://msdn.microsoft.com/fr-fr/

Les offres à connaître90 jours d’essai gratuit de Windows Azure

www.windowsazure.fr

Jusqu’à 35% de réduction sur Visual Studio Pro, avec l’abonnement MSDN

www.visualstudio.fr

Pour aller plus loin

10 février

2012Live Meeting

Open Data - Développer des applications riches avec le protocole Open

Data

16 février

2012Live Meeting

Azure series - Développer des applications sociales sur la plateforme

Windows Azure

17 février

2012Live Meeting Comprendre le canvas avec Galactic et la librairie three.js

21 février

2012Live Meeting La production automatisée de code avec CodeFluent Entities

2 mars

2012Live Meeting

Comprendre et mettre en oeuvre le toolkit Azure pour Windows Phone 7,

iOS et Android

6 mars

2012Live Meeting Nuget et ALM

9 mars

2012Live Meeting Kinect - Bien gérer la vie de son capteur

13 mars

2012Live Meeting Sharepoint series - Automatisation des tests

14 mars

2012Live Meeting

TFS Health Check - vérifier la bonne santé de votre plateforme de

développement

15 mars

2012Live Meeting

Azure series - Développer pour les téléphones, les tablettes et le cloud

avec Visual Studio 2010

16 mars

2012Live Meeting

Applications METRO design - Désossage en règle d'un template METRO

javascript

20 mars

2012Live Meeting

Retour d'expérience LightSwitch, Optimisation de l'accès aux données,

Intégration Silverlight

23 mars

2012Live Meeting OAuth - la clé de l'utilisation des réseaux sociaux dans votre application

Prochaines sessions des Dev Camps