slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Exchange Web Services Managed API Unified Communications Development For Exchange PowerPoint Presentation
Download Presentation
Exchange Web Services Managed API Unified Communications Development For Exchange

Loading in 2 Seconds...

play fullscreen
1 / 20

Exchange Web Services Managed API Unified Communications Development For Exchange - PowerPoint PPT Presentation


  • 156 Views
  • Uploaded on

Exchange Web Services Managed API Unified Communications Development For Exchange.  Jason Henderson Senior Program Manager Microsoft Corporation. Agenda. Software plus services Microsoft Exchange 2007 Architecture Microsoft Exchange 2007 APIs “Cloud Ready” Exchange Web Services

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Exchange Web Services Managed API Unified Communications Development For Exchange' - betty_james


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
exchange web services managed api unified communications development for exchange

Exchange Web Services Managed APIUnified Communications Development For Exchange

 Jason Henderson

Senior Program Manager

Microsoft Corporation

agenda
Agenda
  • Software plus services
    • Microsoft Exchange 2007 Architecture
    • Microsoft Exchange 2007 APIs
    • “Cloud Ready”
  • Exchange Web Services
    • Overview
    • Drilldown
    • Exchange Web Services Managed API
exchange n tier architecture

Exchange 2000/2003Mailbox Server

Exchange 2007Mailbox Server

Exchange N-Tier Architecture

CDOEx

ExoleDB

WebDAV

CDO 1.2.1

Exchange 2000/2003

HTTP

RPC

Windows Client

Exchange Web Services

Exchange 2007

RPC

WS-*

X-Platform Client

Exchange 2007Client Access Server

simplifying the api matrix
Simplifying The API Matrix

Outlook interop responsibility

Developer

Microsoft

OleDB

CDO for Exchange

Local

Access

CDO 1.2.1

MAPI

Intranet

Remote access from

WebDAV

Exchange Web Services

Internet

exchange web services overview
Exchange Web ServicesOverview
  • Open Standards-based protocol
    • XML/SOAP/WSDL-based Web Service
  • Implements Exchange/Outlook business logic
    • Strongly typed access
      • Message/tasks/contacts/calendar/folders
    • Workflow
      • Free/busy
      • Suggested meeting times
      • Accepting/sending/updating meeting requests
      • Delegation and permissions
      • Replying to messages
      • Notifications
      • Synchronization
ews overview
EWS Overview

Exchange mailboxes

Public folders

Business logic layer (shared with Outlook Web Access)

Public folders

Post items

Create, get, update, delete items, folders and attachments

Availability

OOF settings

  • Utilities
  • ResolveNames
  • ExpandDL

Delegate management

Folder permissions

OWA/Availability Id conversion

Exchange 2007

Exchange 2007 Service Pack 1

HTTP/SOAP

HTTP/SOAP

Auto-generated proxies, raw XML

EWS Managed API

or

did you say easy
Did You Say Easy?

GetFolderType request = new GetFolderType();

request.FolderShape = new FolderResponseShapeType();

request.FolderShape.BaseShape = DefaultShapeNamesType.AllProperties;

DistinguishedFolderIdTypeinboxId = new DistinguishedFolderIdType();

inboxId.Id = DistinguishedFolderIdNameType.inbox;

request.FolderIds = new BaseFolderIdType[] { inboxId };

GetFolderResponseTyperesponse = serviceBinding.GetFolder(request);

FolderInfoResponseMessageTyperesponseMessage =

response.ResponseMessages.Items[0] as FolderInfoResponseMessageType;

if (responseMessage.ResponseClass == ResponseClassType.Success)

{

FolderTypeinbox = responseMessage.Folders[0] as FolderType;

}

<soap:Envelope>

<soap:Body>

<m:GetFolder>

<m:FolderShape>

<t:BaseShape>AllProperties</t:BaseShape>

</m:FolderShape>

<m:FolderIds>

<t:DistinguishedFolderIdId="inbox" />

</m:FolderIds>

</m:GetFolder>

</soap:Body>

</soap:Envelope>

<s:Envelope>

<s:Body>

<m:GetFolderResponse>

<m:ResponseMessages>

<m:GetFolderResponseMessage

ResponseClass="Success">

<m:ResponseCode>NoError</m:ResponseCode>

<m:Folders>

<t:Folder>

<t:FolderIdId="..." ChangeKey="..." />

<t:FolderClass>IPF.Note</t:FolderClass>

<t:DisplayName>Inbox</t:DisplayName>

...

</t:Folder>

</m:Folders>

</m:GetFolderResponseMessage>

</m:ResponseMessages>

</m:GetFolderResponse>

</s:Body>

</s:Envelope>

Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);

Increased Productivity

Raw XML

Auto-generated proxies

EWS Managed API

  • Cross-platform
  • No client-side logic
  • Manual plumbing
  • Multiple platforms
  • Class-based access
  • No client-side logic
  • Windows only (.NET 3.5)
  • Fully Object Oriented
  • Smart client-side logic
exchange web services managed api design goals
Exchange Web Services Managed APIDesign Goals
  • Exchange development is easy!
    • Object oriented design
    • Smart client features
      • AutoDiscover built in
  • Expose full power of web services
    • Batch processing
    • Delegate Access
    • Custom Properties
  • Cloud/On-Premises same code
let s start coding
Let’s Start Coding!
  • Initialize the service
    • Authentication
      • Windows integrated
      • Basic
    • Use AutoDiscover
      • Locate service endpoint
      • Bootstrap on smtpaddress
calendaring
Calendaring
  • Rich Calendaring Support
    • Retrieve/Create appointments
      • Recurring meetings
      • Recurrence expansion
    • Meeting Requests
      • Accept/tentative/decline/update/cancel
      • Automatically send responses/updates
    • Free/Busy views
      • Meeting suggestions
recap
Recap
  • Always use AutoDiscover to boostrap based on mailbox address
  • Use Tracing to understand underlying SOAP protocol
  • Use FindAppointments/FindItems to efficiently query and retrieve Items
  • Use Load*/Bind to retrieve streamed and calculated properties
call to action
Call To Action
  • Learn about Exchange Online
    • http://microsoft.com/online
  • Learn more about Exchange Web Services
    • MSDN
      • http://msdn.microsoft.com/en-us/library/bb204119(EXCHG.80).aspx
    • “Inside Microsoft Exchange 2007 Web Services”
    • Hands On Lab
    • http://blogs.msdn.com/exchangedev/
    • Watch for the Managed API Beta Release
  • Fill out session evaluations
final slide for pdc presentations
Final Slide For PDC Presentations
  • Are you interested in receiving the VPCs for Microsoft Exchange 2007 and Microsoft Office Communications Server 2007 R2 after RTM in early 2009? If yes, please email ucvpc@microsoft.com with your contact information and subject line: UC VPC Download Request
slide20

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