This section introduces the two components of the Microsoft Lync 2010 SDK, describes the hardware and software requirements of the SDK, and describes the SDK installation process.
Lync Controls
Use Microsoft Lync Controls to integrate Microsoft Lync 2010 features such as search, presence, instant messaging (IM) calls, and voice calls, into applications. You can drag and drop Lync Controls into existing business applications to add Microsoft Lync 2010 UI features and functionality. Use a single control or multiple controls.
Lync API
Use UI Automation to integrate Microsoft Lync 2010 features into existing business applications. To develop and deploy these applications, users must have access to Lync SDK or the appropriate redistributable components. For a list of application development and debugging prerequisites, see Walkthrough: Start an Instant Message Conversation .
Microsoft Lync Server 2010 maintains compatibility with your existing Microsoft Unified Communications Client Platform API (UCCP) and Office Communicator 2007 UI Automation-based applications so your existing custom applications continue to interoperate with Lync Server 2010 and other Lync 2010 endpoints. Many of the new Lync 2010 features are not available to a UCCP-based custom application.
Lync SDK provides programmatic access to the new Lync 2010 features without the complexity of the UCCP SDK or Communicator 2007 UI Automation. While still an asynchronous client-server API, Microsoft Lync 2010 API relieves you of many of the difficulties inherent in managing the presence of contacts, and managing peer-to-peer sessions of every kind. For example, the Lync 2010 API Contact class and its properties have replaced the UccContact, UccSubscription, IUccPresentity, CategoryContext, CategoryInstance, IUccPresenceContactCardInstanceinterfaces and associated event interfaces you used to implement contact presence in your UCCP-based application. In addition, event handling is implemented using the .NET eventing model. You no longer need to obtain IConnectionPointand IConnectionPointContainerinterfaces from the platform objects and Advise for the asynchronous events raised.
This reduced complexity comes at a cost. The coding patterns you use with Lync SDK are significantly different from what you used for UCCP. The reduced complexity of Lync 2010 API means that a one-to-one replacement relationship between UCCP and Lync 2010 API does not exist. To replace the features provided by UCCP, you should create a new managed project and new Lync 2010 API code.