450 likes | 579 Views
Développement Communications Unifiées avec les SDK Lync : Intégrez, étendez, innovez ( MSG204). Mardi 8 février 2011 Sebastien Bovo | http://blogs.msdn.com/sbovo / Application Development Manager Microsoft France. Microsoft Services : Un accompagnement global de nos clients.
E N D
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 DevelopmentManager Microsoft France
Microsoft Services :Un accompagnement global de nos clients Architecture & Planning Planification Conseil et Projets Déploiement et adoption Support Optimisation et Opération Support Premier Consulting Services Enterprise Strategy • Division Services France 2010 • 180 Consultants • 125 TechnicalAccount 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 Evaluation Développement Stabilisation Support Planification Opérations Déploiement www.microsoft.fr/services
Notre positionnement est d’intervenir sur les projets critiques et les technologies récentes Criticité du projet • 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. Partenaires Maturité de la technologie • 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%
Agenda • IntégrezLync dans vos applications • Ajoutez du contexte à vos conversations • Personnalisezles contrôles Lync et construire votre propre interface • EtendezLync grâce à vos applications • Innovez et concrétiser vos scénarios de communications unifiées
Le SDK Lync 2010 • Le SDK Lync • Est une API managée • Contient une collection de contrôles Visuels Lync (WPF et Silverlight) • Expose les fonctionnalités du client Lync • Permet 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
Application Web Silverlight Application Windows WPF Vos applications ContrôlesVisuels (Silverlight et WPF) Utilise Lync Lync UI Automation Automation.StartConversation (AutomationModalitiesInstantMessaging,StringParticipantUris) Kiosque Extension Model API – Microsoft.Lync .Model .Group .Extensibility .Conversation .Conversation. AudioVideo Communicator Automation/Extensibility/Contextual Conversations SignIn/Search/ContactInfo/Availability Contact List/Group Management Audio/Video Conversations Start Conversation/Instant Messaging/Participants/Conferencing
Intégrez Lync dans vos applications Contrôles Silverlight et WPF Listes de contacts Rechercher des personnes Clic pour communiquer Fiche de contact Modifier son statut * Contrôle de conversation non disponible
Intégrez Lync dans vos applications • Modèles de projets Visual Studio
Intégrez Lync dans vos applications • Boite à outils Visual Studio
Exemples de contrôles • Contrôles appliqués à l’utilisateur courant <controls:MyNoteBox /><controls:MyStatusArea /><controls:MyPresenceChooser /><controls:ContactList />
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 --><TextBlockText="{BindingDisplayName,ElementName=PresenceCtl}"VerticalAlignment="Center" /></StackPanel>
Démo Inté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 "ProposalTracker"
API managée Lync • Mise à disposition du modèle objet de Lync • Productivité de IMessengerAPI • Puissance de UCCA mais sans la complexité • Utilisée pour construire les contrôles Lync • Automation • Pour les scenarios simples de manipulation de l’interface graphique de Lync • LyncClient • Pour un accès total au modèle objet de Lync Controls WPF SL4 Automation Microsoft Lync 2010 Managed API
Exemples d’automation Microsoft.Lync.Model.Extensibility.Automation _automation = Microsoft.Lync.Model.LyncClient.GetAutomation(); • Démarre une conversation • Participants • Modality • Context • Opération asynchrone public IAsyncResultBeginStartConversation( AutomationModalities _conversationModes, IEnumerable<string> _participantUris, IEnumerable<KeyValuePair<AutomationModalitySettings, Object>> _contextData, AsyncCallback _callback, Object_state )
Exemples avec LyncClient • Représente une instance du client Lync _lyncClient = Microsoft.Lync.Model.LyncClient.GetClient(); • Vérification de l’état de connexion if (_lyncClient.State != ClientState.SignedIn) • Abonnements aux évènements _lyncClient.StateChanged += new EventHandler<ClientStateChangedEventArgs>( LyncClient_StateChanged);
LyncClient - Self • L’utilisateur connecté avec le client Lync • Publication de la présence • Publication des disponibilités • Publication de la note personnelle • Accès aux informations de la carte de contact de l’utilisateur • Abonnement aux changements de l’utilisateur Par exemple : ContactInformationChanged _self = _lyncClient.Self;
LyncClient - ConversationManager • Fonctionnalités liées aux conversations • Démarre une conversation IM / Audio / Video • Ajoute des modalités à une conversation • Réponse à un invite de conversation • Mets en attente et réactive une conversation audio • Conversations manquées • Historique de conversations _conversationManager = _lyncClient.ConversationManager;
LyncClient - ContactManager • Contacts et groupes de l’utilisateur courant • Recherche de contacts • Récupération de la présence des contacts • Obtention des modalités supportées par les contacts • Mets en place les niveaux de confidentialité • Abonnement aux évènements des contacts et groupes Par exemple :GroupAdded _contactManager = _lyncClient.ContactManager;
Démo API managée Lync - Automation du client Lync
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’email • La 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é ContextualInformationdes contrôles StartAudioButton et StartInstantMessagingButton • Contexte simple (Pas d’enregistrement sur les machines clientes)
Allez plus loin avec les "contextes applicatifs" • Ajout des données contextuelles aux invites IM par code • Lancement d’un exécutable ou d’une application dans l’interface de Lync • Echanges de données entre les applications au travers de de la conversation • Installation automatisé des "contextual packages“ sur les machines clientes • Lien d’installation pour les utilisateurs qui n’ont pas le “contextual package“
Démo Ajoutez du contexte à vos conversations - Application "ProposalTracker" avec les invites contextualisées - Plugin Visual Studio Lync : "Lync Code Reviewer"
Gilles Julien Sales Track 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 Il doit bien y avoir une manière plus simple de faire Julien : Au fait… C’est quel compte ? Cpte 16523552 Gilles : 16523552…………() Julien : Ah… Fabrikam… ce n’est pas le mien. Vois avec Aurélien Gilles : Vraiment ? -------- nouveau IM avec Aurélien -------- Aurélien Gilles : Aurélien, que peux-tu me dire à propos du compte 16523552 ? Aurélien : Attends une minute… j’ouvre l’appli Sans contexte
With Context Gilles Julien Lync avec l’extension Sales Track Gilles : Julien, qu’est-ce qui se passe Avec cecompte ? Julien :C’est le compted’Aurélien -------- nouveau IM avec Aurélien -------- Aurélien Gilles : Aurélien, peux-tu me donner un statutsurcecompte ? C’est beaucoup mieux Aurélien : Oui… je le fermecesoir Cpte 16523552 Un gain de productivité Ajoutez du contexte, vousaurez…
Personnalisez l’interface Application complètement personnalisée de type Kiosque Modification (re-templating) de contrôles
Démo Personnalisez le client Lync - Re-templating d’un contrôle Lync - Conversation Audio/Video avec suppression de l’interface Lync
Etendez le client A quelles applications Lyncpensez-vous? Suivi de commandes Revue de code Service de traduction Suivi des bugs Premier à répondre
Extension : Comment celafonctionne • Enregistrement du package dans le registre de la machine • Lync lit le registre et liste les applications • L’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
Démo Etendezl’expérienceLync - Conversation Translator
Unified Communications Managed API (UCMA 3) • API managée basée sur le .NET Framework 3.5 SP1 • Robuste, fiable • Prends en charge le multi thread • Supporte la montée en charge • Redistribution gratuite • Ouvert et extensible • Possibilité d’ajouter et remplacer des modalités de communication • Fonctionne avec Lync Server 2010 en multi-modes • Fonctionne avec les passerelles SIP en voix uniquement
Architecture UCMA Workflow MicrosoftSpeech Recognizer MicrosoftSpeech Synthesizer Call ControlActivities DialogActivities GeneralActivities Call ControlCommunications Event Types DialogCommunications Event Types Commands Speech Communications et Collaboration Gestion des exceptions Contacts and Groups Instant Messaging Audio Video Conferencing et Conference Management Presence Conversation Call Signaling Signaling Endpoint Management Connection Management Common Basic Classes
Communications multi-modes • Gestion des appels • Création des appels, tranferts, suivi, refus, mise en attente • Messages instantannées • Avec les clients Lync • Avec des clients Web ou mobile • Audio/Video • Lecture de WMA, Enregistrement WMA • Contrôle et reconnaissance DTMF • Reconnaissance et synthèse vocale • Masquage d’identité
Conférences • UCMA Supporte les communications multi-personnes/clients • Création et gestion des conférences • Organisation et modification des conférences • Affecte les rôles "Attendee" / "Presenter" • Gestion des participants • Invitations • Exclusions
Collaboration • Gestion/Prise en charge de la présence des utilisateurs • Publication de la présence des utilisateurs (état, Fiche de contact, note, possibilité matérielle • Gestion des niveaux de présences (qui peut voir quoi) • Abonnements aux modifications d’états de présence • Interrogation sur l’état de présence • Gestion de la présence pour les applications • Support pour toujours apparaitre en ligne
Speech • API managée pour Speech Server • Inclus les moteurs de reconnaissance et synthèse vocales Microsoft • Supporte les standards W3C comme SRGS et SSML • Supporte 26 langues • Pour les commandes et les contrôles
Que pouvez-vous faire avec UCMA ? • Systèmes d’alertes et notifications • Multi-modes • "Self Service" • Robots de questions/réponses • Serveur vocal interactif (Speech + DTMF) • "Contact Center" / "Helpdesk" • ACD multi-modes • Gestion des présences • Recherche des contacts • Fonctions de supervision, écoute, dialogue privée • Enregistrement • Gestion et personnalisation des conférences • Collaboration depuis • Un navigateur Web (click-to-communicate) • Un téléphone mobile ou classique (Voice Companion)
Démo UCMA en action - Contact center - Helpdesk
Conclusions • Le SDK Lync 2010 • Est une API managée qui permet l’accès au modèle objet Lync • Les contrôles visuels Silverlight et WPF apportent l’experience de communication unifiée dans vos applications • Donne du contexte aux conversations • Nous autorise à supprimer l’interface de Lync ou le visuel des contrôles • Permet de mettre à disposition des applications dans le client Lync • Le SDK vous fournit la documentation et les exemples d’applications
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énarios • Web Chat • Robots (IM ou vocal) de questions/réponses • Envoi d’alertes/notifications ou d’enquêtes interactives
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
Ressources • Téléchargement UCMA 3.0 - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=4493baab-6214-4770-8cf9-69c813e8a9fa • Té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
MSDN et TechNet: l’essentiel des ressources techniques à portée de clic • Portail administration et infrastructure pour informaticiens • Portail de ressources technique pour développeurs http://technet.com http://msdn.com