Destination .NET! Platform Tools, Technologies & Resources
1 3 5 7 9
2 4 6 8 10
From VB4, C++ and Java to working on .Net Since Beta, 1.0.
Improving partner satisfaction and accelerating Microsoft platform adoption for managed ISVs.
Is your application compatible with Windows Vista? Make sure today by taking our self-test. Just follow the five steps of the Works with Windows Vista program so that you and your customers can be confident in your solution’s compatibility. Read More >>
What product/topic are you most interested in?
(Choose your top answer.)
Windows Vista
Windows Server 2008
2007 Microsoft Office system
SQL Server 2008
ASP.NET
Visual Studio 2008
Windows Mobile
Software as a Service
A little bit of everything
Just browsing, thanks

View Results
Whether you love the site or hate it, we want to know. Tell us what topics to cover, help us improve things, or just sound off on something we could've done better. Send your feedback directly to the editor by email.
 Print Print
Rate this item | 0 users have rated this item.
Microsoft Unified Communications: How Developers Can Blend Messaging, Voice and Conferencing with Next-Generation Applications (cont'd)

Where to Focus
Unified Communications is a big, (some would even say huge) space. You have lots of code to play with, so where do you start? Right now, Microsoft is encouraging developers to focus on three main areas:

Contextual Collaboration
With the opportunities presented by presence information, your low-hanging fruit with UC will be to detect and manage presence throughout your applications, especially where collaboration is involved. For example, your sales group gets a call from a new lead. Your CRM app should detect that context and present a list of reps that are currently available to take the call. It could then offer controls for transferring that call instantly to the rep's desk or mobile phone as indicated. Look at UCCA or OCAA to make something like this happen.

Business Process Communications
In "Introduction to Office Business Applications (OBA)," I described how to integrate the 2007 Microsoft Office systems suite with Line of Business systems to build workflow-driven applications. To kick business processes up a notch, embed communications, as well. For example, in a custom bid management app that requires fast action from all the key players, detecting presence will speed the flow of action. You can then take advantage of email, VoIP, or IM functionality to get what you need when you need it. Focus on UCCA to incorporate presence and communication data in the most advantageous context, such as in an embedded control on a custom form.

Integrating Communications Data
While building an Outlook add-in with Visual Studio® Tools for the 2007 Microsoft® Office System, it allows you to pull data into a custom Outlook app, you can also look at sharing Microsoft® Office Outlook and Communicator information, such as presence, e-mail, and calendar data, outwardly. Use OCAA to make this data available in apps or through Web interfaces like SharePoint or Communicator Web.

APIs for Unified Communications
Much of the public discussion of UC has centered around its impact on end users. While the tools that make up UC offer a lot to the enterprise employee, their implementation remains largely the domain of IT. The good news for developers, though, is that the functionality that makes UC so interesting is also available to custom applications through a robust series of APIs.

Unified Communications Managed API (UCMA) (documentation)
Your primary tool for coding custom applications that take advantage of UC functionality will be the Unified Communications Managed API V1.0 SDK. Based on the .NET Framework 2.0, this API lets you build and deploy server-side and middle-tier real-time communications apps. Microsoft offers a complete Developer's Guide for the SDK, but also be sure to check out Joe Calev's blog, where he covers this particular API in great detail.

Unified Communications Client API SDK (UCC API, formerly UCCP, formerly UCCA) (documentation)
On the client side, you'll want to use UCCA to integrate OCS features into client apps, including all the workloads previously described. In fact, Office Communicator itself is built on this API.

Office Communicator Automation API
(OCAA) Allows you to launch and customize a Communicator instance so you can look for presence information, launch voice and video sessions, or message through the Communicator client. This also makes presence information available for Office and SharePoint apps.

Unified Communications AJAX SDK
Office Communicator Web Access gives users a browser-based IM and presence client. This API extends that AJAX functionality to application developers, allowing you to create something similar.

Office Communications Server 2007 Server Application API
Use this to build SIP-based server apps or implement SIP message filtering and routing plug-ins to OCS using Microsoft SIP Processing Language (MSPL) scripts. The Office Communications Server 2007 Server SDK includes this API. Some Microsoft sources reference this SDK as the "Office Communications Server API." Sample apps include content and contact filters, custom archiving, and data mining.

Office Communications Server 2007 Server Management API
This API allows you to create WMI apps for OCS. The Office Communications Server 2007 Server SDK includes this API, as well.

Office Communications Server 2007 Speech Server Developer Edition
Though not technically an SDK, the Speech Server Developer Edition will help you developer a very important component of UC—speech. Speech Server lets you combine UC components like VoIP with speech technologies to create speech-enabled interactive voice response (IVR) apps. GotSpeech.net has more info on developing speech-enabled apps for UC.

Exchange Server 2007 Web Services
Included in Exchange Server 2007, the Exchange Web Services lets you extend Exchange functionality to your own apps via XML messaging. This includes presence information as well as access to Exchange data.

Where to Go From Here
This space is developing fast. Here are a few resources to help you learn more about the basics, then keep tabs on new APIs and breaking news:

  • MSDN Unified Communications Developer Portal


  • MSDN Unified Communications Developer Forums


  • Microsoft Unified Communications Landing Page


  • Unified Communications Server 2007 MSDN Documentation


  • Unified Communications Product Road Map and Partner Ecosystem


  • Joe Calev's WebLog


  • GotSpeech.NET

  • * This article was commissioned by and prepared for Microsoft Corporation. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


    Previous Page: Introduction  
    Justin Whitney is a regular contributor to DevX.com and Jupitermedia. He currently lives in San Francisco, where he consults for leading high-tech firms and writes about emerging technologies.
    Page 1: IntroductionPage 2: Where to Focus
    Submit article to:
    Extending your solution to run on Microsoft technology is easier than ever. Through NXT, you can reach more customers, increase revenues and slash development time and costs, accelerating both your time to market and profitability. Get the details on NTX. >>
    Sign up for your free e-mail newsletters today!
    DevX Windows Developer Update

    More Newsletters
    Master Complex Builds with MSBuild
    SharePoint Applied: 10 Things You Wish They Had Told You—Part 2
    Recognizing Barcodes in a Multi-Page .tiff Image
    Getting Started with the .NET Task Parallel Library
    Fixing Settings and Configuration Errors in .NET



    JupiterOnlineMedia

    internet.com earthweb.com Devx.com mediabistro.com Graphics.com

    Search:

    Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

    Jupitermedia Corporate Info

    Copyright 2008 Jupitermedia Corporation All Rights Reserved.
    Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

    Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers