Lync Development mit APIs
Wer mit Lync nicht nur die Standardfunktionen nutzen will, wird früher oder später die Frage stellen, wo man denn mit eigenem Code an Lync ansetzen kann. ähnlich wie bei Exchange (Siehe Programmieren und Wege zu Exchange bietet auch Lync für jeden Anwendungsfall entsprechende Schnittstellen, die ich hier kurz vorstellen will.
Jede Schnittstelle hat ihre eigenen Vorteile und Nachteile
Nr. | Bezeichnung | Ort | On Premises |
Office 365 | Einsatzzweck |
---|---|---|---|---|---|
|
LyncCOM-API |
Client |
|
|
Programme auf dem Client können den Communicator gleich dreifach verwenden:
Allerdings können Sie damit nur tun, was auch ein Anwender tun könnte und laufen auch mit den Berechtigungen des Anwenders. Im Vergleich zur Exchange Entwicklung kommt hier MAPI oder die Outlook-API am nächsten.
Eine einfachere Art der Integration ist ein externes Programm oder ein Hyperlik, der einfach im Communicator als Menüeintrag erscheint-
|
|
Service |
|
|
Flexibler ist die UCMA, über die ein Programm analog zu CDO/EWS auf einem Exchange Server als privilegierter Prozess ausgeben kann und auch im Auftrag des Anwender handeln kann aber nicht muss. Es ist also auch die API, um z.B. Agenten und Bots zu schreiben. Über UCMA ist man nicht auf ein SIP-Konto beschränkt. Zudem kann die UCMA sogar komplett ohne Lync verwendet werden. Sie stellt einen kompletten SIP-Stack dar. |
|
|
Client |
|
|
Die UCWA (Unified Communication WebService API) ist erst mit Lync 2013 verfügbar und erlaubt den Zugriff auf verschiedene Funktionen als WebService. Damit öffnet sich Lync z.B. einer Nutzung über HTTPS aus anderen Netzwerken (Cloud) und von anderen Plattformen, auf denen UCMA (Windows only) nicht installiert werden kann. Sie wäre für einen Exchange Entwickler mit EWS ohne Impersonation vergleichbar. |
|
|
Server |
|
|
Die Lync
PowerShell
stellt eine
ganze Menge von
Commandlets
bereit, um Lync
zu verwalten.
Diese API ist
daher ideal um
z.B.
Provisioning-Aufgaben
zu
automatisieren,
Einstellungen zu
dokumentieren
oder zu kopieren und
eingeschränkt
auch
Einstellungen
der Benutzer zu
verändern. |
|
|
Server |
|
|
Die MSPL (Microsoft SIP Processing Language) ist nur auf den Frontend-Server und SBA(V2) nutzbar. Eigene Skripte können hier jedes SIP-Paket bei der Übertragung sehen und verändern. Selbst viele Module von Lync sind als MSPL-Skript geschrieben. Bei Exchange sind Transportagenten vergleichbar |
|
|
SQL Reporting |
Server |
|
|
Lync speichert alle Informationen in SQL-Tabellen. Die Lync-eigenen Tabellen sollten Sie aber nicht direkt programmieren. Zulässig ist ein Zugriff aber z.B. auf die SQL-Datenbank mit den Monitoring-Daten. Die Strukturen sind dokumentiert und können z.B. für Abrechnungszwecke angezapft werden. Das Exchange Messagetracking ist hier vergleichbar aber mit seinen Textdateien natürlich viel trivialer gestrickt |
|
Edge |
|
|
XMPP ist keine echte "Lync-API" sondern eine Schnittstelle zur Federation mit anderen Diensten. Dennoch kann über diesen Weg ein anderes System quasi wie extern angebunden werden. Das Prinzip können wir schon von Exchange, wenn eine Subdomain zu einem anderen System delegiert wird, z.B. SharePoint, Newsletter oder ERP Systeme. |
|
|
Trusted Application APU |
Agent/Bot |
|
|
Diese neue API
wurde auf der
Ignite 2016
vorgestellt und
soll den Zugriff
per Web Service
auf
Einstellungen
und Dienste
erlauben, die
vorher per UCMA
(nur On-Prem)
erreichbar
waren. Diese API
ist noch nicht
öffentlich
(Stand Sep 2016) |
Skype vor Buiness
Auf der Ignite 2016 wurde ein neues Bild mit den zukünftigen APIs vorgestellt. Der Fokus ist hier natürlich der Zugriff durch Clients und BOTs. All die anderen APIs, die ich weiter oben schon beschrieben habe, sind auch weiterhin ne nach Plattform erreichbar
Weitere Links
- Lync für Developers
http://msdn.microsoft.com/en-us/lync - Lync 2013 SDK
http://www.microsoft.com/en-us/download/details.aspx?id=36824 - Lync Server 2013 Persistent Chat SDK
http://www.microsoft.com/en-us/download/details.aspx?id=35458 - Lync Online
http://channel9.msdn.com/Tags/lynconline - Lync Development on Office
365: What’s Possible, What’s Not
http://blog.thoughtstuff.co.uk/2014/07/lync-development-on-office-365-whats-possible-whats-not/ - Session 9 - Part 1 -
Developing Communication
Solutions für Lync Online
http://channel9.msdn.com/Series/Office-365-Developer-Training-Kit-Labs/Session-9-Part-1-Developing-Communication-Solutions-for-Lync-Online - Session 9 - Part 2 -
Developing Contextual
Conversation Solutions für Lync
Online
http://channel9.msdn.com/Series/Office-365-Developer-Training-Kit-Labs/Session-9-Part-2-Developing-Contextual-Conversation-Solutions-for-Lync-Online - Session 9 - Part 3 - Lync
API Automation with Lync Online
http://channel9.msdn.com/Series/Office-365-Developer-Training-Kit-Labs/Session-9-Part-3-Lync-API-Automation-with-Lync-Online - Session 9 - Part 4 -
Building Custom Communication
Clients für Lync Online via the
Lync API
http://channel9.msdn.com/Series/Office-365-Developer-Training-Kit-Labs/Session-9-Part-4-Building-Custom-Communication-Clients-for-Lync-Online-via-the-Lync-API - Conversational agent / IM
bot / Response Bot
http://blog.unifiedcommunications.eu/02/conversational-agent-im-bot-response-bot/ - Creating bots using UCMA
Part I http://blogs.msdn.com/jcalev/archive/2007/06/12/creating-bots-using-ucma-part-i-from-teched.aspx
Part II http://blogs.msdn.com/jcalev/archive/2007/06/19/creating-bots-in-ucma-part-ii-using-grammars-instead-of-parsing.aspx - An Overview of the Lync APIs
http://www.codelync.com/an-overview-of-the-lync-apis/ - Getting Started in Lync
Development: Choosing The Right
Tools
http://blog.thoughtstuff.co.uk/2014/07/getting-started-in-lync-development-choosing-the-right-tools/ - Lync Development on Office
365: What’s Possible, What’s Not
http://blog.thoughtstuff.co.uk/2014/07/lync-development-on-office-365-whats-possible-whats-not/