Unified Communications Development for Non-Professional Developers <br />Joachim Farla [MVP]<br />Infrastructure Specialis...
Agenda<br />The Unified Communications Platform<br />Microsoft® Exchange Scenarios<br />Windows PowerShell™<br />Exchange ...
Unified Communications Platform<br />
Old Telecommunications World<br />Many heterogeneous, proprietary systems<br />Many “islands” of communications<br />Close...
Microsoft Unified Communications<br />Increased productivity through communications convergence<br /><ul><li>Single Identity
Single Inbox</li></ul>ApplicationSharing<br />Calendaring<br />E-Mail<br /><ul><li>Inbox
Presence</li></ul>Audio / VideoConferencing<br />EnterpriseTelephony<br />Instant Messaging<br />Voice Mail<br /><ul><li>F...
Familiar Infrastructure</li></ul>WebConferencing<br />ContactManagement<br />
What Are Communications-EnabledBusiness Processes (CEBP)?<br /><ul><li>Contextual Collaboration
On the desktop – person to person
Streamline Communications
“Enhanced Presence”
“Click to Communicate”
Communications Context
Business Process Communications
In the middle-tier – machine to person
Cut Down Human Latency
Notifications and Alerts
Outbound Calls
Role Agents
Anywhere Information Access
Anywhere, any device – person to machine
Extend the Reach of the Application
Query-Response Bots
Interactive Voice Response</li></li></ul><li>Main CEBP Drivers<br /><ul><li>Economics
Cost Savings
Lower Cost of Entry
Optimized Business Processes
Capitalize on the Community
Communicate from Within Your Application
Enhance Collaboration Through Communications</li></li></ul><li>ExchangeExtensibility<br />
Exchange Web Services APIs<br />The Exchange Developer Platform<br /><ul><li>API for interacting with Mailbox Content
Upcoming SlideShare
Loading in …5

Unified Communications Development for Non-Professional Developers


Published on

Event Overview
Microsoft Unified Communications is unleashing the power of software to communications. But what communications solutions can a company deploy without having a full-time developer on staff? In this webcast, we walk you through a set of easy-to-use applications that anyone with basic programming skills can use to build on the developer platform of Microsoft Exchange and Microsoft Office Communications Server. Join us to learn how to use the new Windows PowerShell capabilities to manage your Exchange users; how to use Exchange for managing a customer database; how to build a conference room scheduling application in the Exchange Web Services Managed API; and how build a basic help desk portal application using speech recognition. All code will be made available after the webcast on http://gotuc.net.

Published in: Technology
1 Comment
  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • First time we’ll be showing OCS/OC 14.Completely new client platform.Revamped server platform.Provides access to the new OCS 14 features.Improves common scenarios.New Exchange 2010 development API.OCS, OC, Exchange and Outlook provide all the communications infrastructure you need as a platform.The platform provides you access to those features using the skills and tools you use today.Visual Studio 2010/.NET FX 4.0This week kicks off the next wave of the UC products and platform. Ex 2010 was released this week at TechEd EU along with a new managed library for developing for Ex 2010 and the cloud.We’ll be releasing OCS 14/OC 14 towards the end of next year with a completely new client platform and a much improved server platform.What you’ll be seeing today of Ex 2010 is shipping bits and is ready for you to get started with today. What you’re seeing of OCS 14/OC 14 is very early, pre-alpha bits, but will give you a feel for what you can build on the next 14 platform. We’ll provide details on how you’ll get access to these bits at the end of the session.OCS/OC, Exchange/Outlook provide the software infrastructure for all your communications. Today there are an estimated 150M Exchange users and 10M OCS users. That’s a huge opportunity…What OCS/OC, EX/Outlook does not provide can be done with the platform. For example you can: Add value to your software by making human to human communication more efficient by:Integrating OC 14 communication features into your appsExtending OC 14 communications and client with data or features from your apps.Using *totally new* client platform.Add value to your server side software by:Integrate communications into your business processes to enable the human element of the process.Integrate communications into your business processes to provide self service via IM/Voice communications.Extend OCS communications by building communication enabled services…You can add this value using the skills and tools you already have (Visual Studio 2010 and .NET Framework) to the solutions you’re already building (WCF, WF, WPF, Silverlight, ASP.NET, etc.).You don’t need to be a SIP or VOIP expert…
  • Opening slide before the demoThe goal of Communication Enabled Business Process (CEBP) is to optimize business processes by reducing the human latency that exists within a process flow.Microsoft’s unified communications platform enables developers to efficiently build enterprise-grade, productivity enhancing applications on top of an extensible software foundation
  • Create a Rich Developer ExperienceUnify our API investments Mailbox Access – Exchange Web ServicesMail transport – Transport AgentsManagement – PowerShell CommandletsMake Development against Exchange Easy.NET Developer ExperienceEasy to migrate applications to Exchange 2010Outlook-compatible business logicOnline-Ready ArchitectureHighly ScalableEasy to move applications to the cloud
  • So, what are some real-world examples of applications built on EWS currently?One of the largest apps built on EWS is Entourage 2008. Entourage 2008 is an Outlook-like mail client for the Mac built entirely on EWS. In these screenshots, on the left – you can see a general view of the mailbox; on the right – a new appointment being set-up; and in the center – a tasks/appointments quick-view window.
  • We also build many internal applications at Microsoft on EWS. For example, we have a Conference Room Appointment Display outside of our conf-rooms which show the schedule for each room and allow employees to check for and reserve available rooms. The application running in this device uses impersonation to retrieve conference room schedules and then display it outside the conference room.
  • Security KioskGlobal Crossing has created a unique end-end hardware and software based security kiosk solution leveraging the Microsoft UC developer platform.  This Security Kiosk allows employees and visitors access to buildings using a self service touch screen while meeting Global Crossing’s stringent security policies.  The kiosk is integrated with IM, audio, and video for visitor sign-in and employee “paging”.  This custom designed kiosk enables visitors to reach out to specific employees within a building who have the option to answer visitor request and grant them access.  Global Crossing has successfully deployed this solution in their Rochester, NY building and is planning to deploy this kiosk to other GLOBAL CROSSING centers across the globe.   M-BotThis is a bot that any Global Crossing employee can add to their Contacts List.  It hooks into Global Crossing’s Provisioning Application (EON) and gives the end user the capability of querying the EON data store of details on circuits, their current status, open tickets, etc.  This bot is especially useful for Sales and Sales Engineering teams that are continuously traveling to customer locations as they can add this bot vial Communicator Mobile and retrieve data on customer circuit orders in seconds from their mobile devices rather than having to boot up their laptops, login, sign in to the VPN, and access the EON Web Front-End to retrieve the customer’s details.
  • Common UCMA Application ScenariosNotifications systems thatdeliver very large volumes of messages via an Instant Message or telephone call to people that need to be alerted in the shortest possible time Help desk applications thatuse Web Chat, Instant Messaging clients, or the telephone to connect peopleuse Query Response bots to automate answering routine questions from customers use Role Agents to smartly route your customers to the right agent using the most convenient channel such as IM or phone, leveraging Office Communications Server’s Enhanced Presence attributes, such as availability, skills, etc  Advanced Contact Center applications such asAutomatic Call Distributors that help route incoming calls to the right Contact Center agent via customizable rules Interactive Voice Response systems with state of the art speech technology that help route calls or enable automated self-service over the phoneMusic on hold playing musicwhile callers are waiting for the next available Contact Center agent Back-to-Back User Agents to mask the identity of Contact Center agents when interacting with customersCall Recording systems to store conversations Automatic dialers to do outbound calls for interactive surveys or notifications Conferencing Portals that Schedule conferencing resourcesEnable a Virtual Lobby in which conference participants are announced and can wait till the conference startsOffer an infrastructure for recording the contents of conference calls Gateways that Offer the capability to bridge the Office Communications Server infrastructure with other networks, like mobile networks, or radio systemsEnable Federation with other presence aware systems and the ability to publish and subscribe to presence attributes of users
  • SolutionKRIMA Alerting solution with broadcast IM, call to PSTN/mobile phones, Text-to-Speech, authentication, and more.
  • Unified Communications Development for Non-Professional Developers

    1. 1. Unified Communications Development for Non-Professional Developers <br />Joachim Farla [MVP]<br />Infrastructure Specialist e-office<br />Joachim.farla@e-office.com<br />Twitter: twitter.com/joafar<br />Michiel van Oudheusden<br />Software Architect e-office <br />Michiel.van.Oudheusden@e-office.com<br />Twitter: twitter.com/mivano<br />
    2. 2. Agenda<br />The Unified Communications Platform<br />Microsoft® Exchange Scenarios<br />Windows PowerShell™<br />Exchange Web Services Managed API<br />Microsoft® Office Communications Server Scenarios<br />Speech Portal<br />Presence-Aware Multi-Channel Notifications<br />Communications Server WebChat as a Service<br />
    3. 3. Unified Communications Platform<br />
    4. 4. Old Telecommunications World<br />Many heterogeneous, proprietary systems<br />Many “islands” of communications<br />Closely tied to hardware<br />Hard to integrate <br />Multitude of client computers<br />No or limited public APIs<br />Hard to customize<br />Hard to extend<br />Requiring specialized resources<br />For development<br />For maintenance<br />EnterpriseTelephony<br />Voice Mail<br />VideoConference<br />AudioConference<br />WebConference<br />InstantMessaging<br />
    5. 5. Microsoft Unified Communications<br />Increased productivity through communications convergence<br /><ul><li>Single Identity
    6. 6. Single Inbox</li></ul>ApplicationSharing<br />Calendaring<br />E-Mail<br /><ul><li>Inbox
    7. 7. Presence</li></ul>Audio / VideoConferencing<br />EnterpriseTelephony<br />Instant Messaging<br />Voice Mail<br /><ul><li>Familiar Platform
    8. 8. Familiar Infrastructure</li></ul>WebConferencing<br />ContactManagement<br />
    9. 9. What Are Communications-EnabledBusiness Processes (CEBP)?<br /><ul><li>Contextual Collaboration
    10. 10. On the desktop – person to person
    11. 11. Streamline Communications
    12. 12. “Enhanced Presence”
    13. 13. “Click to Communicate”
    14. 14. Communications Context
    15. 15. Business Process Communications
    16. 16. In the middle-tier – machine to person
    17. 17. Cut Down Human Latency
    18. 18. Notifications and Alerts
    19. 19. Outbound Calls
    20. 20. Role Agents
    21. 21. Anywhere Information Access
    22. 22. Anywhere, any device – person to machine
    23. 23. Extend the Reach of the Application
    24. 24. Query-Response Bots
    25. 25. Interactive Voice Response</li></li></ul><li>Main CEBP Drivers<br /><ul><li>Economics
    26. 26. Cost Savings
    27. 27. Lower Cost of Entry
    28. 28. Efficiency
    29. 29. Optimized Business Processes
    30. 30. Capitalize on the Community
    31. 31. Ease
    32. 32. Communicate from Within Your Application
    33. 33. Enhance Collaboration Through Communications</li></li></ul><li>ExchangeExtensibility<br />
    34. 34. Exchange Web Services APIs<br />The Exchange Developer Platform<br /><ul><li>API for interacting with Mailbox Content
    35. 35. E-Mail, Calendaring, Tasks, Contacts
    36. 36. Mailbox Autodiscovery
    37. 37. Authentication and Login
    38. 38. Delegation and Impersonation
    39. 39. Change Notifications
    40. 40. User and Application Settings Configuration</li></ul>Content, Management, Control<br />Windows PowerShell APIs<br /><ul><li>API for Exchange Management
    41. 41. Mailbox creation
    42. 42. Server Configuration
    43. 43. Resource Management</li></ul>Transport APIs<br /><ul><li>API for controlling the flow of content
    44. 44. Access to message properties and content in transport</li></li></ul><li>demonstration one<br />Windows PowerShell in Microsoft® Exchange 2010<br />
    45. 45. 2010 Release of Exchange Web Services<br />Rich Platform Experience<br />Enables full client functionality<br />Application logic consistent with Microsoft® Office Outlook®<br />Easy to Use<br />The Microsoft® .NET Framework-based EWS Managed API<br />Full support of Microsoft®Visual Studio® <br />Online-Ready<br />Single API for Server and Online<br /><ul><li>NEW</li></li></ul><li>EWS Functionality Enhancements<br /><ul><li>NEW</li></ul>Exchange Web Services Managed API 1.0<br />Exchange 2010 Exchange Web Services API<br />Exchange 2010<br /><ul><li>NEW
    46. 46. MailTips information
    47. 47. Full Private Distribution List support
    48. 48. Get Service Configuration
    49. 49. User Configuration Objects
    50. 50. Folder Associated Items (FAIs)
    51. 51. Unified Messaging (exposed through the EWS endpoint)
    52. 52. SOAP-based AutoDiscover
    53. 53. Message tracking
    54. 54. Windows Live ID integration
    55. 55. Contact and Calendar folder sharing
    56. 56. Enhanced Time Zone support
    57. 57. Room resource availability information
    58. 58. Indexed Search
    59. 59. Dumpster Access</li></ul>Exchange Server 2007 SP1<br /><ul><li>Delegate management
    60. 60. Folder permissions
    61. 61. Public folders
    62. 62. Post items
    63. 63. Id conversion</li></ul>Microsoft® Exchange Server 2007<br /><ul><li>Full access to items, folders and attachments:
    64. 64. Create
    65. 65. Get
    66. 66. Update
    67. 67. Delete
    68. 68. Availability
    69. 69. OOF settings
    70. 70. Notifications
    71. 71. Synchronization
    72. 72. Name Resolution
    73. 73. Distribution Lists Expansion
    74. 74. Search </li></li></ul><li>Sample Application Models Using EWS<br />Client Applications<br />Like:<br /><ul><li>E-mail Clients
    75. 75. Microsoft® Office Outlook®
    76. 76. Microsoft®Entourage®
    77. 77. Free/Busy
    78. 78. Microsoft®Office Communicator</li></ul>Portal Applications<br />Like:<br /><ul><li>Web Parts
    79. 79. Shared Calendar Views
    80. 80. 5 Most Recent E-mails
    81. 81. PIM Systems
    82. 82. Course Management
    83. 83. Room Availability</li></ul>Service Applications<br />Like:<br /><ul><li>Synchronization
    84. 84. CRM Contact Synchronization
    85. 85. Notifications
    86. 86. Auto-Scheduler Applications
    87. 87. Mailer Applications</li></li></ul><li>Client Applications<br />Entourage 2008<br />Entourage 2008 - www.microsoft.com/mac/products/entourage2008/<br />
    88. 88. Portal Applications<br />Conference Room Booking Application<br />
    89. 89. Service Applications<br />Conference Room Appointment Display<br />
    90. 90. demonstration two<br />EWS Managed API<br />
    91. 91. Office Communications Extensibility<br />
    92. 92. Client-Side Extensibility<br />Embed Communicator in your application<br />Controls for <br />Presence, Contact Lists, and Search<br />Conversation Launch Actions<br />Add Contextual Communications<br />Provide Application Context with the Conversation Invite<br />Pass the ContactID to your application<br />Embed the Conversation Window in your app<br />Extend Communicator with your application<br />Communicator Extension Window<br />Contact Card Extension<br />Custom menus<br />Contact Card extensible tabs<br />Build your own Client User Interface<br />Kiosk<br />Customize the Toast<br />
    93. 93. Presence enhanced application<br />
    94. 94.
    95. 95.
    96. 96. <ul><li>hostedbye-office
    97. 97. HTTP(80)
    98. 98. 5060(TCP)
    99. 99. Hosted OCS R2 e-office
    100. 100. anonymous visitor starts a webchat conversation
    101. 101. the webchat client connects via Silverlight/JavasSript
    102. 102. 5061(MTLS)
    103. 103. hosted OCS R2 Edge e-office
    104. 104. hosted service e-office
    105. 105. customer environment
    106. 106. 5061(TLS)
    107. 107. 5061(MTLS)
    108. 108. on-premises OCS R2 Home
    109. 109. on-premises OCS R2 Edge
    110. 110. contact group
    111. 111. depending on presence status the server chooses the available contact
    112. 112. specialists manage their presence, receive messages and respond</li></li></ul><li>
    113. 113. Server-Side ExtensibilityCommon UC Managed API Application Scenarios<br />High Volume Notifications systems that<br /><ul><li>deliver via Instant Message or telephone</li></ul>Help desk applications that<br /><ul><li>use Web Chat, Instant Messaging, or the telephone
    114. 114. use Query Response bots to automate routine questions
    115. 115. use Role Agents to smartly route your customers to the right agent  </li></ul>Contact Center applications such as<br /><ul><li>Automatic Call Distributors
    116. 116. Interactive Voice Response systems with speech technology
    117. 117. Music on hold
    118. 118. Back-to-Back User Agents to mask the identity of agents
    119. 119. Call Recording systems to store conversations
    120. 120. Automatic dialers for interactive surveys</li></ul>Conferencing Portals that <br /><ul><li>Schedule conferencing resources
    121. 121. Enable a Virtual Lobby in which conference participants
    122. 122. Offer an infrastructure for recording conference calls</li></ul>Gateways that <br /><ul><li>Bridge OCS infrastructure with other networks
    123. 123. Enable Federation with other presence aware systems
    124. 124. Publish and subscribe to presence attributes of users
    125. 125. Your Application
    126. 126. Your Application
    127. 127. Your Application
    128. 128. UC Workflow Activities
    129. 129. UCMA 2.0 Collaboration API
    130. 130. Web Services
    131. 131. UC Workflow API
    132. 132. UCMA 2.0 Server Speech API
    133. 133. Media Stack
    134. 134. SIP Signaling Stack
    135. 135. Unified Communications Managed API 2.0
    136. 136. ASR Engine
    137. 137. TTS Engine
    138. 138. Windows Server
    139. 139. Windows Server
    140. 140. Windows Server</li></li></ul><li> demonstration<br />Speech Portal<br />
    141. 141. Multi-Channel Customer Interaction<br />Back Office<br />PSTN/Internet<br />Intranet/Internet<br /><ul><li>Voice Search
    142. 142. Web
    143. 143. Social Networking
    144. 144. Speech/DTMF
    145. 145. Email
    146. 146. Telephony
    147. 147. Instant Messaging
    148. 148. Email
    149. 149. Audio Conferencing
    150. 150. Web Conferencing
    151. 151. Application Sharing
    152. 152. Search
    153. 153. Content Management
    154. 154. Wikis
    155. 155. Communities</li></ul>IIS Server<br />Contact Center<br />Exchange Server<br /><ul><li>Web Search
    156. 156. Web
    157. 157. Email
    158. 158. Web Chat
    159. 159. Telephony
    160. 160. Instant Messaging
    161. 161. Email
    162. 162. Audio Conferencing
    163. 163. Web Conferencing
    164. 164. Application Sharing
    165. 165. Search
    166. 166. Content Management
    167. 167. Wikis
    168. 168. Communities</li></ul>Data Center<br />Communications Server<br /><ul><li>Inbound
    169. 169. Speech/DTMF
    170. 170. OutboundSpeech/DTMFVoice Mail
    171. 171. Fax
    172. 172. SQL Server
    173. 173. SharePoint Server
    174. 174. Dynamics CRM
    175. 175. Exchange Server
    176. 176. Office Communications Server</li></ul>Unified CommunicationsApplication Server<br />Tellme / IVR<br />
    177. 177. demonstration three<br />Presence-Aware Multi-Channel Notification<br />
    178. 178.
    179. 179.
    180. 180. Call to Action<br />
    181. 181. GotUC.net Developer Sandbox<br />Microsoft UC setup<br /><ul><li>Microsoft Office Communications Server 2007 R2
    182. 182. Microsoft Exchange Server 2010</li></ul>Two User Accounts<br /><ul><li>Personal Account
    183. 183. Personal Bot Account</li></ul>Forums<br /><ul><li>Staffed by the UC Developer Community </li></li></ul><li>Resources<br />Download the Exchange 2010 EWS Managed API 1.0http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c3342fb3-fbcc-4127-becf-872c746840e1<br />Visit the Microsoft Unified Communications Developer Portalhttp://msdn.microsoft.com/uc<br />Visit the Microsoft Exchange Developer Centerhttp://msdn.microsoft.com/exchange<br />Visit the Microsoft Office Communications Developer Portalhttp://msdn.microsoft.com/ocdev<br />Join the UC Developer Community and Sign-up for the Dev Sandbox!http://gotuc.net<br />
    184. 184. Community Resources<br />Unified Communications Virtual User Grouphttp://ucvug.org (USA) and http://ucvug.nl (Dutch)<br />Unified Communications UC Weblog Netherlandshttp://unified-communications.blogspot.com<br />Unified Communications Assistant (provided by UCVUG.nl)http://unified-communications.blogspot.com/2010/02/uc-assistant-session-1-planned-for-2502.html<br />
    185. 185. <ul><li>Required Slide
    186. 186. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
    187. 187. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.</li>