2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204)...

45

Transcript of 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204)...

Page 1: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |
Page 2: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

2

Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204)

Mardi 8 février 2011Sebastien Bovo | http://blogs.msdn.com/sbovo/ Application Development ManagerMicrosoft France

Page 3: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

3

Architecture & PlanningPlanification

Conseil et ProjetsDéploiement et adoption

SupportOptimisation et Opération

Evaluation

Planification

Développement

Déploiement

Stabilisation

Opérations

Support

Support Premier

Enterprise StrategyConsulting Services

Division Services France 2010

• 180 Consultants• 125 Technical Account Managers • 190 Ingénieurs Support• 17 Responsables de Mission• 41 Partenaires référencés

Division Services Monde 2010

• 82 pays couverts• 18 000 employés• 35 000 partenaires• 44 langues parlées par nos ingénieurs

Microsoft Services :Un accompagnement global de nos clients

www.microsoft.fr/services

Page 4: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

4

Criticité du projet

Maturité de la technologie

Partenaires

Notre engagement auprès de nos partenaires et clients est : • De leur assurer un transfert d’expertise,• De leur apporter notre support sur les

dernières technologies, • De leur donner accès aux meilleures

pratiques de mise en œuvre et de support.

Nos clients et partenaires sont particulièrement satisfaits par…

• Le niveau d’engagement des consultants : 94%• La gestion de l’équipe de projet : 92%• Les compétences techniques des consultants : 91%• La relation avec les équipes du client : 90%

Notre positionnement est d’intervenir sur les projets critiques et les technologies récentes

Page 5: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

5

Agenda

Intégrez Lync dans vos applicationsAjoutez du contexte à vos conversationsPersonnalisez les contrôles Lync et construire votre propre interfaceEtendez Lync grâce à vos applicationsInnovez et concrétiser vos scénarios de communications unifiées

Page 6: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

6

Le SDK Lync 2010

Le SDK LyncEst une API managéeContient une collection de contrôles Visuels Lync (WPF et Silverlight) Expose les fonctionnalités du client LyncPermet de manipuler le client Lync ou de construire sa propre interface

L’API à besoin que le client Lync soit présent sur l’ordinateur local

Réutilisation de la connexion vers Lync Server

Page 7: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

8

Contrôles Visuels (Silverlight et WPF)

Lync UI Automation

Model API – Microsoft.Lync

Vos applications

Application Web Silverlight

Application Windows WPF

Kiosque Extension

Automation.StartConversation(AutomationModalities

InstantMessaging,String ParticipantUris)               

.ModelSignIn/Search/ContactInfo/Availability

.Group

Contact List/Group Management

.ConversationStart

Conversation/Instant Messaging/Participants

/Conferencing

.ExtensibilityCommunicator

Automation/Extensibility/Contextual

Conversations

.Conversation.AudioVideo

Audio/Video Conversations

Utilise Lync

Page 8: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

9

Intégrez Lync dans vos applications

Contrôles Silverlight et WPF

* Contrôle de conversation non disponible

Rechercher des personnes

Listes de contacts Clic pour communiquer

Modifier son statut

Fiche de contact

Page 9: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

10

Intégrez Lync dans vos applications

Modèles de projets Visual Studio

Page 10: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

11

Intégrez Lync dans vos applications

Boite à outils Visual Studio

Page 11: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

12

Exemples de contrôles

Contrôles appliqués à l’utilisateur courant

<controls:MyNoteBox />    

<controls:MyStatusArea />    

<controls:MyPresenceChooser />       

<controls:ContactList />    

Page 12: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

13

Exemples de contrôles

<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">

    <controls:PresenceIndicator         x:Name="PresenceCtl"         Source="sip:[email protected]"         PhotoDisplayMode="Large"         />    <!-- Utilisation de la propriété DisplayName du controle de type PresenceIndicator    pour afficher le nom de l'utilisateur -->    <TextBlock         Text="{Binding DisplayName, ElementName=PresenceCtl}"         VerticalAlignment="Center"        /></StackPanel>

Page 13: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

14

DémoIntégrez Lync dans vos applications- Les contrôles Lync WPF et Silverlight

- A partir d’un projet vide- A partir du modèle de projet

Lync- Application complete "Proposal Tracker"

Page 14: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

15

API managée Lync

Mise à disposition du modèle objet de LyncProductivité de IMessengerAPIPuissance de UCCA mais sans la complexitéUtilisée pour construire les contrôles Lync

AutomationPour les scenarios simples de

manipulation de l’interface graphique de Lync

LyncClientPour un accès total au modèle

objet de Lync

Controls

Microsoft Lync 2010 Managed API

Automation

WPF SL4

Page 15: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

16

Exemples d’automation

Microsoft.Lync.Model.Extensibility.Automation _automation = Microsoft.Lync.Model.LyncClient.GetAutomation();

Démarre une conversation ParticipantsModalityContext

Opération asynchronepublic IAsyncResultBeginStartConversation(

AutomationModalities _conversationModes,IEnumerable<string> _participantUris,IEnumerable<KeyValuePair<AutomationModalitySettings,

Object>> _contextData,AsyncCallback _callback,Object_state)

Page 16: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

17

Exemples avec LyncClient

Représente une instance du client Lync_lyncClient =

Microsoft.Lync.Model.LyncClient.GetClient();

Vérification de l’état de connexionif (_lyncClient.State != ClientState.SignedIn)

Abonnements aux évènements_lyncClient.StateChanged +=

new EventHandler<ClientStateChangedEventArgs>(

LyncClient_StateChanged);

Page 17: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

18

LyncClient - Self

L’utilisateur connecté avec le client LyncPublication de la présencePublication des disponibilitésPublication de la note personnelleAccès aux informations de la carte de contact de l’utilisateurAbonnement aux changements de l’utilisateur

Par exemple : ContactInformationChanged

_self = _lyncClient.Self;

Page 18: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

19

LyncClient - ConversationManager

Fonctionnalités liées aux conversationsDémarre une conversation IM / Audio / VideoAjoute des modalités à une conversationRéponse à un invite de conversationMets en attente et réactive une conversation audioConversations manquéesHistorique de conversations

_conversationManager = _lyncClient.ConversationManager;

Page 19: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

20

LyncClient - ContactManager

Contacts et groupes de l’utilisateur courantRecherche de contactsRécupération de la présence des contactsObtention des modalités supportées par les contactsMets en place les niveaux de confidentialitéAbonnement aux évènements des contacts et groupesPar exemple :GroupAdded

_contactManager = _lyncClient.ContactManager;

Page 20: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

21

DémoAPI managée Lync- Automation du client Lync

Page 21: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

22

Ajoutez du contexte a vos conversations

Inspiré par les conversations IM d’Outlook à partir d’un email

L’envoi d’un message instantané depuis un email fournit le sujet de l’email et lie la conversation à l’emailLa plateforme Lync permet de faire ceci et même beaucoup plus

L’ajout de contexte peut se faire par code ou en utilisant les contrôles Lync

Propriété ContextualInformation des contrôles StartAudioButton et StartInstantMessagingButtonContexte simple(Pas d’enregistrement sur les machines clientes)

Page 22: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

23

Allez plus loin avec les "contextes applicatifs"

Ajout des données contextuelles aux invites IM par codeLancement d’un exécutable ou d’une application dans

l’interface de LyncEchanges de données entre les applications au travers

de de la conversation

Installation automatisé des "contextual packages“ sur les machines clientesLien d’installation pour les utilisateurs qui n’ont pas le

“contextual package“

Page 23: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

24

Le fonctionnement des contextes applicatifs

Page 24: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

25

DémoAjoutez du contexte à vos conversations- Application "Proposal Tracker" avec les invites contextualisées- Plugin Visual Studio Lync : "Lync Code Reviewer"

Page 25: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

27

Gilles Julien

Gilles : Qu’est-ce qui ne va pas avec ce compte ?Julien : Quel compte ?

Gilles : Je suis dans SalesTrack. Cpte 16523552

Julien : Ok…Donne moi 2s. Je lance le programme

Julien : Au fait… C’est quel compte ?

Gilles : 16523552…………()

Julien : Ah… Fabrikam… ce n’est pas le mien. Vois avec Aurélien

Gilles : Vraiment ?

-------- nouveau IM avec Aurélien --------

Gilles : Aurélien, que peux-tu me dire à propos du compte 16523552 ?

Aurélien : Attends une minute… j’ouvre l’appli

Sales Track

Cpte 16523552

Aurélien

Il doit bien y avoir

une manière

plus simple de

faire

Sans contexte

Page 26: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

28

Gilles Julien

Gilles : Julien, qu’est-ce qui se passe Avec ce compte ?

Julien : C’est le compte d’Aurélien

-------- nouveau IM avec Aurélien --------

Gilles : Aurélien, peux-tu me donner un statut sur ce compte ?

Aurélien : Oui… je le ferme ce soir

Lync avec l’extension Sales Track

AurélienC’est

beaucoup mieux

With Context

Ajoutez du contexte, vous aurez…

Un gain de productivité

Cpte 16523552

Page 27: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

29

Personnalisez l’interface

Application complètement personnalisée de type Kiosque

Modification (re-templating) de contrôles

Page 28: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

30

DémoPersonnalisez le client Lync- Re-templating d’un contrôle Lync- Conversation Audio/Video avec suppression de l’interface Lync

Page 29: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

31

Etendez le client

Service de traduction

Premier à répondre

Revue de code

Suivi des bugs

Suivi de commandesA quelles applications Lync pensez-vous ?

Page 30: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

32

Extension : Comment cela fonctionne

Enregistrement du package dans le registre de la machineLync lit le registre et liste les applicationsL’utilisateur sélectionne l’application (ou cette dernière

est lancé par le contexte)Les applications Silverlight peuvent interagir avec

l’interface Lync avec l’API

Page 31: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

33

DémoEtendez l’expérience Lync- Conversation Translator

Page 32: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

34

Unified Communications Managed API (UCMA 3)

API managée basée sur le .NET Framework 3.5 SP1Robuste, fiablePrends en charge le multi threadSupporte la montée en charge

Redistribution gratuite

Ouvert et extensiblePossibilité d’ajouter et remplacer des modalités de communicationFonctionne avec Lync Server 2010 en multi-modesFonctionne avec les passerelles SIP en voix uniquement

Page 33: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

35

Architecture UCMA

Communications et Collaboration

Instant Messaging

AudioVideo

Conferencing et

ConferenceManagement

ConversationCall

WorkflowCall Control

ActivitiesDialog

ActivitiesGeneral

Activities

Call ControlCommunications

Event Types

DialogCommunications

Event TypesCommands

Ges

tion

des

exce

ption

s

SpeechMicrosoft

Speech Recognizer

MicrosoftSpeech

SynthesizerPresence

Contacts and

Groups

SignalingSignaling Endpoint

Management Common Basic ClassesConnection Management

Page 34: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

36

Communications multi-modes

Gestion des appelsCréation des appels, tranferts, suivi, refus, mise en attente

Messages instantannéesAvec les clients LyncAvec des clients Web ou mobile

Audio/VideoLecture de WMA, Enregistrement WMAContrôle et reconnaissance DTMFReconnaissance et

synthèse vocaleMasquage d’identité

Page 35: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

37

Conférences

UCMA Supporte les communications multi-personnes/clients

Création et gestion des conférencesOrganisation et modification des conférencesAffecte les rôles "Attendee" / "Presenter"

Gestion des participantsInvitationsExclusions

Page 36: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

38

Collaboration

Gestion/Prise en charge de la présence des utilisateursPublication de la présence des utilisateurs (état, Fiche de contact, note, possibilité matérielleGestion des niveaux de présences (qui peut voir quoi)Abonnements aux modifications d’états de présenceInterrogation sur l’état de présence

Gestion de la présence pour les applicationsSupport pour toujours

apparaitre en ligne

Page 37: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

39

Speech

API managée pour Speech ServerInclus les moteurs de reconnaissance et synthèse vocales MicrosoftSupporte les standards W3C comme SRGS et SSML

Supporte 26 languesPour les commandes et les contrôles

Page 38: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

40

Que pouvez-vous faire avec UCMA ?

Systèmes d’alertes et notificationsMulti-modes

"Self Service"Robots de questions/réponsesServeur vocal interactif (Speech + DTMF)

"Contact Center" / "Helpdesk"ACD multi-modesGestion des présencesRecherche des contactsFonctions de supervision, écoute, dialogue privéeEnregistrement

Gestion et personnalisation des conférencesCollaboration depuis

Un navigateur Web (click-to-communicate)Un téléphone mobile ou classique (Voice Companion)

Page 39: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

41

DémoUCMA en action- Contact center- Helpdesk

Page 40: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

42

Conclusions

Le SDK Lync 2010Est une API managée qui permet l’accès au modèle objet LyncLes contrôles visuels Silverlight et WPF apportent l’experience de communication unifiée dans vos applicationsDonne du contexte aux conversationsNous autorise à supprimer l’interface de Lync ou le visuel des contrôlesPermet de mettre à disposition des applications dans le client Lync

Le SDK vous fournit la documentation et les exemples d’applications

Page 41: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

43

Conclusions

UCMA nous autorise des scenarios avancés de communications

"Contact Center""Voice Companion"Etc… (Scenarios de conférence avancées, convergence fixe/mobile)

UCMA est parfait pour les scénariosWeb ChatRobots (IM ou vocal) de questions/réponsesEnvoi d’alertes/notifications ou d’enquêtes interactives

Page 42: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

44

Ressources

Documentation du SDK Lync - http://msdn.microsoft.com/en-us/library/gg421054.aspx Documentation du SDK UCMA - http://msdn.microsoft.com/en-us/library/gg437304.aspx

MSDN Virtual labs - http://msdn.microsoft.com/en-us/gg288977.aspx

Centre MSDN sur le développement Lync - http://msdn.microsoft.com/en-us/Lync

Page 43: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

45

Ressources

Téléchargement UCMA 3.0 - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4493baab-6214-4770-8cf9-69c813e8a9faTéléchargement SDK Lync 2010 - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d98f0bf7-c82c-47f5-9f73-be3edbf30438

Training kit sur le développement UC - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=85db249e-c555-49f1-b213-a1297130b3e1

Serie développement UC sur channel 9 - http://channel9.msdn.com/Series/Unified-Communications-14-Labs

Page 44: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |

46

MSDN et TechNet : l’essentiel des ressources techniques à portée de clic

http://technet.com http://msdn.com

Portail administration et infrastructure pour informaticiens

Portail de ressources technique pour développeurs

Page 45: 2 Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez (MSG204) Mardi 8 février 2011 Sebastien Bovo |