jason henderson senior program manager microsoft corporation
TRANSCRIPT
![Page 1: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/1.jpg)
![Page 2: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/2.jpg)
Exchange Web Services Managed APIUnified Communications Development For Exchange
Jason HendersonSenior Program ManagerMicrosoft Corporation
![Page 3: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/3.jpg)
Agenda
Software plus services Microsoft Exchange 2007 Architecture Microsoft Exchange 2007 APIs “Cloud Ready”
Exchange Web Services Overview Drilldown Exchange Web Services Managed API
![Page 4: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/4.jpg)
Moving Exchange Into The Cloud
Traditional Software Development•Exchange on Premises•Applications on Premises
Hybrid S+S Software Development•Exchange in the cloud (Exchange Online)•Applications on Premises
Pure S+S Development•Exchange in the Cloud (Exchange Online)•Applications in the Cloud (Strata)
Com
plex
ity Control
![Page 5: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/5.jpg)
Exchange N-Tier Architecture
Exchange 2000/2003Mailbox Server
Exchange 2007Mailbox Server
Exchange 2007Client Access Server
CDOExExoleDBCDO 1.2.1
Windows Client
Exchange Web Services
X-Platform Client
Exchange 2000/2003
Exchange 2007
WebDAV
WS-* RPC
RPC HTTP
![Page 6: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/6.jpg)
Simplifying The API Matrix
Developer Microsoft
Outlook interop responsibility
Intr
anet
Inte
rnet
Rem
ote
acce
ss fr
om
MAPI CDO 1.2.1
Loca
l A
cces
s
OleDB CDO for Exchange
WebDAV Exchange Web Services
![Page 7: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/7.jpg)
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
![Page 8: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/8.jpg)
EWS Overview
Exchange 2007
Create, get, update, delete items, folders and attachments
Utilities• ResolveNames• ExpandDL
AvailabilityOOF settings
Delegate managementFolder permissions
Public foldersPost items
OWA/Availability Id conversion
Exchange 2007 Service Pack 1
Business logic layer (shared with Outlook Web Access)
Exchange mailboxesPublic folders
Auto-generated proxies, raw XML
HTTP/SOAP HTTP/SOAP
EWS Managed APIor
![Page 9: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/9.jpg)
GetFolderType request = new GetFolderType();request.FolderShape = new FolderResponseShapeType();request.FolderShape.BaseShape = DefaultShapeNamesType.AllProperties;
DistinguishedFolderIdType inboxId = new DistinguishedFolderIdType();inboxId.Id = DistinguishedFolderIdNameType.inbox;request.FolderIds = new BaseFolderIdType[] { inboxId };
GetFolderResponseType response = serviceBinding.GetFolder(request);FolderInfoResponseMessageType responseMessage =
response.ResponseMessages.Items[0] as FolderInfoResponseMessageType;
if (responseMessage.ResponseClass == ResponseClassType.Success){ FolderType inbox = responseMessage.Folders[0] as FolderType;}
Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
Did You Say Easy?
Raw XML• Cross-platform• No client-side logic• Manual plumbing
Auto-generated proxies• Multiple platforms• Class-based access• No client-side logic
EWS Managed API• Windows only (.NET 3.5)• Fully Object Oriented• Smart client-side logic
<s:Envelope> <s:Body> <m:GetFolderResponse> <m:ResponseMessages> <m:GetFolderResponseMessage
ResponseClass="Success"> <m:ResponseCode>NoError</m:ResponseCode> <m:Folders> <t:Folder> <t:FolderId Id="..." 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>
<soap:Envelope> <soap:Body> <m:GetFolder> <m:FolderShape> <t:BaseShape>AllProperties</t:BaseShape> </m:FolderShape> <m:FolderIds> <t:DistinguishedFolderId Id="inbox" /> </m:FolderIds> </m:GetFolder> </soap:Body></soap:Envelope>
Increased Productivity
![Page 10: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/10.jpg)
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
![Page 11: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/11.jpg)
Let’s Start Coding!
Initialize the service Authentication
Windows integrated Basic
Use AutoDiscover Locate service endpoint Bootstrap on smtpaddress
![Page 12: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/12.jpg)
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
![Page 13: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/13.jpg)
Item Class HierarchyItem
Appointment
EmailMessage
MeetingMessage
MeetingRequest
MeetingRespons
e
MeetingCancella
tion
Contact Task PostItem
![Page 14: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/14.jpg)
Folder Class Hierarchy
Folder
CalendarFolder
ContactFolder TaskFolder SearchFold
er
![Page 15: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/15.jpg)
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
![Page 16: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/16.jpg)
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
![Page 17: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/17.jpg)
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 [email protected] with your contact information and subject line: UC VPC Download Request
![Page 18: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/18.jpg)
PDC UC Sessions
Session TitleSpeaker Name/s Date Timeslot Location
BB09 - Office Communication Server and Exchange: Platform Futures
Chris Mayo; David
Ollason 10/27/20081:45 PM to
3:00 PM Room 408A
BB45 - Office Communications Server
2007 R2: Enabling Unified Communications
Oscar Newkerk;
David Ollason 10/27/2008
5:15 PM to 6:30 PM Room 406A
BB46 - Exchange Web Services Managed API:
Unified Communications Development for Microsoft
ExchangeJason
Henderson 10/30/20088:30 AM to
9:45 AM Room 408B
![Page 19: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/19.jpg)
Appendix
![Page 20: Jason Henderson Senior Program Manager Microsoft Corporation](https://reader036.vdocuments.site/reader036/viewer/2022062620/551a0efa5503462e378b4de5/html5/thumbnails/20.jpg)
© 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.