The release of Office Communication Server 2007 R2 from Microsoft at the beginning of January 2009 was followed not long after by the release of a comprehensive book titled “Programming for Unified Communications with Microsoft Office Communications Server 2007 R2” in May. The purpose of the book is to give developers both a reference and a road map for developing applications for OCS 2007 R2. The authors, Rui Maximo, Kurt De Ding, Vishwa Ranjan, Chris Mayo and Oscar Newkerk do an excellent job of describing, in detail, how to develop an application which leverages OCS 2007 R2 from the ground up.
One of the things that I really like about this book is that it starts from the beginning and takes you through the end of the initial development cycle, taking into consideration the fact that this may be a platform that you have not used before.
First, the book describes how to setup your machine to develop with the OCS 2007 R2 SDKs. It details the hardware and software requirements and provides guidance on how to setup a test topology.
The above cannot be emphasized enough. Office Communication Server is a complex product that is normally installed and maintained by an IT professional. If you are a classically educated developer, you may not have had experience setting up many of the pre-requisites for OCS. These pre-requisites include setting up a Domain Controller and DNS Server, installing a domain Certificate Authority (CA) for generated client and server certificates, creating necessary DNS SRV records, and guiding you through the multi-step OCS 2007 R2 setup program. These tasks are all detailed in Chapter 9, “Preparing the UC Development Environment”. I highly recommend that all developers whom are new to OCS read this chapter, especially if tasks such as “create and configure the desired user accounts in AD DS” scare you, as they did me.
The book will also help you to be aware of what SDKs exist for OCS 2007 R2 and help you to decide what SDK is best suited for your project. Note that there are six SDKs to choose from. The overview for the SDKs is in Chapter 2, “Microsoft Unified Communications APIs Foundation”. I recommend reading this chapter before starting your first OCS project, and then referring to it every time that you start designing another.
Of course, the book also contains a chapter or chapters dedicated to each of the SDKs, each of which is very helpful.
Finally, the last highlight of the book is Chapter 10, “Debugging a Unified Communications Application”. This is my second favorite chapter of the book (Chapter 9, “Preparing the UC Development Environment” being my number one favorite). This chapter describes the various logging tools available with the OCS 2007 R2 SDKs and shows you how to use them. This chapter also explains the exception hierarchy and gives examples of how to make use of the exception classes in your exception handling code. I believe that many of the items covered in Chapter 10 are only touched on in the OCS 2007 R2 SDK documentation and may thus be unused by many developers.
How do I get this book, you ask? It is available from Amazon.com via the following link:
http://www.amazon.com/gp/product/0735626235/ref=s9_sims_gw_s0_p14_i1?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=center-2&pf_rd_r=0KXJAGNNF4X40SZ6XG9P&pf_rd_t=101&pf_rd_p=470938631&pf_rd_i=507846
Disclaimer:
The author of this review currently works with one of the authors, and is acquainted with one of the others. My enthusiasm for the book, however, is genuine. I wrote my first one and one-half UCMA 2.0 applications before reading this book, using the MSDN and SDK documentation and samples as my main reference. Although these were “adequate”, they were not excellent. I could have saved myself a lot of time and trouble by reading this book first, cover-to-cover, and then referring to the MSDN and SDK documentation purely as a API reference guide (which is all that they are really meant to be).
Have fun coding!
Katy Lynn McCullough-Leonard