2 développement communications unifiées avec les sdk lync : intégrez, étendez, innovez (msg204)...
TRANSCRIPT
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:[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>
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