Unified Communications Development For Non Professional Developers

34

Click here to load reader

Transcript of Unified Communications Development For Non Professional Developers

Page 1: Unified Communications Development For Non Professional Developers

Unified Communications Development for Non-Professional Developers

Joachim Farla [MVP]Infrastructure Specialist [email protected]: twitter.com/joafar

Michiel van OudheusdenSoftware Architect e-office [email protected]: twitter.com/mivano

Page 2: Unified Communications Development For Non Professional Developers

Agenda

• The Unified Communications Platform• Microsoft® Exchange Scenarios

– Windows PowerShell™– Exchange Web Services Managed API

• Microsoft® Office Communications Server Scenarios– Speech Portal– Presence-Aware Multi-Channel Notifications– Communications Server WebChat as a Service

Page 3: Unified Communications Development For Non Professional Developers

Unified Communications Platform

Page 4: Unified Communications Development For Non Professional Developers

Old Telecommunications WorldMany heterogeneous, proprietary systems

Voice Mail AudioConference

WebConference

InstantMessaging

EnterpriseTelephony

VideoConference

Many “islands” of communicationsClosely tied to hardwareHard to integrate Multitude of client computers

No or limited public APIsHard to customizeHard to extend

Requiring specialized resourcesFor developmentFor maintenance

Page 5: Unified Communications Development For Non Professional Developers

Microsoft Unified CommunicationsIncreased productivity through communications convergence

• Familiar Platform• Familiar

Infrastructure

ApplicationSharing

E-Mail

WebConferencing

EnterpriseTelephony

Instant Messaging

Calendaring

Voice MailAudio / VideoConferencing

ContactManagement

• Single Identity• Single Inbox

• Inbox

• Presence

Page 6: Unified Communications Development For Non Professional Developers

• 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

What Are Communications-EnabledBusiness Processes (CEBP)?

Page 7: Unified Communications Development For Non Professional Developers

Main CEBP Drivers

• Economics−Cost Savings−Lower Cost of Entry

• Efficiency−Optimized Business Processes−Capitalize on the Community

• Ease−Communicate from Within Your Application−Enhance Collaboration Through Communications

Page 8: Unified Communications Development For Non Professional Developers

ExchangeExtensibility

Page 9: Unified Communications Development For Non Professional Developers

The Exchange Developer PlatformContent, Management, Control

•API for interacting with Mailbox Content• E-Mail, Calendaring, Tasks, Contacts• Mailbox Autodiscovery• Authentication and Login• Delegation and Impersonation• Change Notifications• User and Application Settings Configuration

Exchange Web Services APIs

•API for Exchange Management• Mailbox creation• Server Configuration• Resource Management

Windows PowerShell APIs

•API for controlling the flow of content • Access to message properties and content in transport

Transport APIs

Page 10: Unified Communications Development For Non Professional Developers

Windows PowerShell in Microsoft® Exchange 2010

demonstration one

Page 11: Unified Communications Development For Non Professional Developers

2010 Release of Exchange Web Services

Rich Platform Experience– Enables full client functionality– Application logic consistent

with Microsoft® Office Outlook®

Easy to Use– The Microsoft® .NET Framework

-based EWS Managed API– Full support of Microsoft®

Visual Studio®

Online-Ready– Single API for Server and Online

• NEW

Page 12: Unified Communications Development For Non Professional Developers

EWS Functionality Enhancements

Microsoft® Exchange Server 2007• Full access to items, folders and

attachments:• Create• Get• Update• Delete

• Availability• OOF settings• Notifications• Synchronization• Name Resolution• Distribution Lists Expansion• Search

• Delegate management• Folder permissions• Public folders• Post items• Id conversion

Exchange 2010 Exchange Web Services API

• MailTips information• Full Private Distribution List support• Get Service Configuration• User Configuration Objects• Folder Associated Items (FAIs)• Unified Messaging

(exposed through the EWS endpoint)• SOAP-based AutoDiscover• Message tracking• Windows Live ID integration• Contact and Calendar folder sharing• Enhanced Time Zone support• Room resource availability information• Indexed Search• Dumpster Access

Exchange Web Services Managed API 1.0

Exchange Server 2007 SP1

Exchange 2010• N

EW

• NEW

Page 13: Unified Communications Development For Non Professional Developers

Client ApplicationsLike:• E-mail Clients

• Microsoft® Office Outlook®

• Microsoft® Entourage®

• Free/Busy • Microsoft® Office

Communicator

Portal ApplicationsLike:• Web Parts

• Shared Calendar Views• 5 Most Recent E-mails

• PIM Systems• Course Management• Room Availability

Service ApplicationsLike:• Synchronization

• CRM Contact Synchronization

• Notifications• Auto-Scheduler

Applications• Mailer Applications

Sample Application Models Using EWS

Page 14: Unified Communications Development For Non Professional Developers

Client Applications• Entourage 2008

Entourage 2008 - www.microsoft.com/mac/products/entourage2008/

Page 15: Unified Communications Development For Non Professional Developers

Portal Applications• Conference Room Booking Application

Page 16: Unified Communications Development For Non Professional Developers

Service Applications

• Conference Room Appointment Display

Page 17: Unified Communications Development For Non Professional Developers

EWS Managed API

demonstration two

Page 18: Unified Communications Development For Non Professional Developers

Office Communications Extensibility

Page 19: Unified Communications Development For Non Professional Developers

Client-Side Extensibility• Embed Communicator in

your application– Controls for

• Presence, Contact Lists, and Search

• Conversation Launch Actions• Add Contextual

Communications– Provide Application Context

with the Conversation Invite– Pass the ContactID to your

application– Embed the Conversation

Window in your app

• Extend Communicator with your application– Communicator Extension

Window– Contact Card Extension– Custom menus– Contact Card extensible tabs

• Build your own Client User Interface– Kiosk– Customize the Toast

Page 20: Unified Communications Development For Non Professional Developers

Presence enhanced application

Page 21: Unified Communications Development For Non Professional Developers
Page 22: Unified Communications Development For Non Professional Developers
Page 23: Unified Communications Development For Non Professional Developers

• specialists manage their presence, receive messages and respond

• hosted service e-office

• HTTP(80)

• 5060(TCP)

• 5061(MTLS)

• 5061(TLS)

• 5061(MTLS)

• on-premises OCS R2 Edge • on-premises OCS R2 Home

• the webchat client connects via

Silverlight/JavasSript

• anonymous visitor starts a webchat

conversation

• hosted by e-office

• customer environment

• depending on presence status the server chooses

the available contact

• contact group

• Hosted OCS R2 e-office

• hosted OCS R2 Edge e-office

Page 24: Unified Communications Development For Non Professional Developers
Page 25: Unified Communications Development For Non Professional Developers

Server-Side ExtensibilityCommon UC Managed API Application Scenarios

• Your Applicatio

n

• Your Applicatio

n

• UC Workflow

API

• UC Workflow Activities

• Your Applicatio

n

• Windows

Server

• Windows Server

• Web Services

• Windows Server

• Unified Communications Managed API 2.0• UCMA 2.0 Server Speech

API

• Media Stack• SIP

Signaling Stack

• UCMA 2.0 Collaboration API

• ASR Engine

• TTS Engine

High Volume Notifications systems that• deliver via Instant Message or telephoneHelp desk applications that• use Web Chat, Instant Messaging, or the telephone• use Query Response bots to automate routine questions• use Role Agents to smartly route your customers to the right agent  Contact Center applications such as• Automatic Call Distributors • Interactive Voice Response systems with speech technology • Music on hold• Back-to-Back User Agents to mask the identity of agents• Call Recording systems to store conversations • Automatic dialers for interactive surveysConferencing Portals that • Schedule conferencing resources • Enable a Virtual Lobby in which conference participants• Offer an infrastructure for recording conference callsGateways that • Bridge OCS infrastructure with other networks• Enable Federation with other presence aware systems • Publish and subscribe to presence attributes of users

Page 26: Unified Communications Development For Non Professional Developers

Intranet/InternetPSTN/Internet

Multi-Channel Customer Interaction

• Voice Search• Web• Social Networking• Speech/DTMF• Email

• Inbound• Speech/DTMF• Outbound

Speech/DTMFVoice Mail

• Fax

• Web Search• Web• Email• Web Chat

Tellme / IVR

Unified CommunicationsApplication Server

IIS Server

Communications Server

Exchange Server

Data Center

• SQL Server• SharePoint Server• Dynamics CRM• Exchange Server• Office Communications

Server

Contact Center

• Telephony• Instant

Messaging• Email• Audio

Conferencing• Web

Conferencing• Application

Sharing• Search• Content

Management• Wikis• Communities

Back Office

• Telephony• Instant

Messaging• Email• Audio

Conferencing• Web

Conferencing• Application

Sharing• Search• Content

Management• Wikis• Communities

Page 27: Unified Communications Development For Non Professional Developers

Presence-Aware Multi-Channel Notification

demonstration three

Page 28: Unified Communications Development For Non Professional Developers
Page 29: Unified Communications Development For Non Professional Developers
Page 30: Unified Communications Development For Non Professional Developers

Call to Action

Page 31: Unified Communications Development For Non Professional Developers

GotUC.net Developer Sandbox

Microsoft UC setup• Microsoft Office Communications Server 2007 R2• Microsoft Exchange Server 2010

Two User Accounts• Personal Account• Personal Bot Account

Forums• Staffed by the UC Developer Community

Page 32: Unified Communications Development For Non Professional Developers

Resources

Visit the Microsoft Unified Communications Developer Portalhttp://msdn.microsoft.com/uc

Visit the Microsoft Office Communications Developer Portalhttp://msdn.microsoft.com/ocdev

Visit the Microsoft Exchange Developer Centerhttp://msdn.microsoft.com/exchange

Join the UC Developer Community and Sign-up for the Dev Sandbox!http://gotuc.net

Download the Exchange 2010 EWS Managed API 1.0http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c3342fb3-fbcc-4127-becf-872c746840e1

Page 33: Unified Communications Development For Non Professional Developers

Community Resources

Unified Communications UC Weblog Netherlandshttp://unified-communications.blogspot.com

Unified Communications Virtual User Grouphttp://ucvug.org (USA) and http://ucvug.nl (Dutch)

Unified Communications Assistant (provided by UCVUG.nl)http://unified-communications.blogspot.com/2010/02/uc-assistant-session-1-planned-for-2502.html

Page 34: Unified Communications Development For Non Professional Developers

• © 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.• 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.