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

Post on 04-Apr-2015

104 views 0 download

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

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

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

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

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

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

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

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

10

Intégrez Lync dans vos applications

Modèles de projets Visual Studio

11

Intégrez Lync dans vos applications

Boite à outils Visual Studio

12

Exemples de contrôles

Contrôles appliqués à l’utilisateur courant

<controls:MyNoteBox />    

<controls:MyStatusArea />    

<controls:MyPresenceChooser />       

<controls:ContactList />    

13

Exemples de contrôles

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

    <controls:PresenceIndicator         x:Name="PresenceCtl"         Source="sip:sbovo@microsoft.com"         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>

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"

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

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)

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);

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;

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;

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;

21

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

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)

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“

24

Le fonctionnement des contextes applicatifs

25

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

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

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

29

Personnalisez l’interface

Application complètement personnalisée de type Kiosque

Modification (re-templating) de contrôles

30

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

31

Etendez le client

Service de traduction

Premier à répondre

Revue de code

Suivi des bugs

Suivi de commandesA quelles applications Lync pensez-vous ?

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

33

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

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

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

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é

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

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

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

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)

41

DémoUCMA en action- Contact center- Helpdesk

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

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

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

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

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