 Jason Henderson Senior Program Manager Microsoft Corporation         Traditional Software Development Control Complexity • Exchange on Premises • Applications on Premises Hybrid S+S Software Development • Exchange.

Download Report

Transcript  Jason Henderson Senior Program Manager Microsoft Corporation         Traditional Software Development Control Complexity • Exchange on Premises • Applications on Premises Hybrid S+S Software Development • Exchange.

 Jason Henderson
Senior Program Manager
Microsoft Corporation








Traditional Software Development
Control
Complexity
• 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)
WebDAV
CDO 1.2.1
Exchange
2000/2003
CDOEx
ExoleDB
RPC
HTTP
Windows
Client
Exchange 2000/2003
Mailbox Server
Exchange Web Services
Exchange
2007
X-Platform
Client
RPC
WS-*
Exchange
2007
Client Access
Server
Exchange
2007
Mailbox
Server
Microsoft
OleDB
CDO for Exchange
Intranet
MAPI
CDO 1.2.1
WebDAV
Exchange Web
Services
Remote access from
Local
Access
Developer
Internet
Outlook interop responsibility
Overview













Exchange mailboxes
Public folders
Business logic layer (shared with Outlook Web Access)
Create, get,
update, delete
items, folders and
attachments
Availability
OOF settings
Utilities
• ResolveNames
• ExpandDL
Delegate
management
Folder
permissions
Public folders
Post items
OWA/Availability
Id conversion
Exchange 2007
Exchange 2007 Service Pack 1
HTTP/SOAP
Auto-generated
proxies, raw XML
HTTP/SOAP
or
EWS Managed API
GetFolderType request = new GetFolderType();
<soap:Envelope>
<s:Envelope>
request.FolderShape = new FolderResponseShapeType();
<soap:Body>
<s:Body>
request.FolderShape.BaseShape = DefaultShapeNamesType.AllProperties;
<m:GetFolder>
<m:GetFolderResponse>
<m:FolderShape>
<m:ResponseMessages>
DistinguishedFolderIdType
inboxId = new DistinguishedFolderIdType();
<t:BaseShape>AllProperties</t:BaseShape>
<m:GetFolderResponseMessage
inboxId.Id = DistinguishedFolderIdNameType.inbox; ResponseClass="Success">
</m:FolderShape>
<m:FolderIds>
<m:ResponseCode>NoError</m:ResponseCode>
request.FolderIds = new BaseFolderIdType[] { inboxId
};
<t:DistinguishedFolderId Id="inbox" />
<m:Folders>
Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
</m:FolderIds>
<t:Folder>
GetFolderResponseType response = serviceBinding.GetFolder(request);
</m:GetFolder>
<t:FolderId Id="..." ChangeKey="..." />
FolderInfoResponseMessageType responseMessage =
</soap:Body>
<t:FolderClass>IPF.Note</t:FolderClass>
response.ResponseMessages.Items[0] as FolderInfoResponseMessageType;
</soap:Envelope>
<t:DisplayName>Inbox</t:DisplayName>
...
</t:Folder>
if (responseMessage.ResponseClass == ResponseClassType.Success)
</m:Folders>
{
</m:GetFolderResponseMessage>
FolderType inbox = responseMessage.Folders[0]
as FolderType;
</m:ResponseMessages>
}
</m:GetFolderResponse>
</s:Body>
</s:Envelope>
Increased Productivity
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

























Item
Appointment
EmailMessage
MeetingMessage
MeetingRequest
MeetingResponse
MeetingCancellation
Contact
Task
PostItem
Folder
CalendarFolder
ContactFolder
TaskFolder
SearchFolder






http://microsoft.com/online



http://msdn.microsoft.com/enus/library/bb204119(EXCHG.80).aspx





http://blogs.msdn.com/exchangedev/

[email protected]
Session Title
Speaker
Name/s
BB09 - Office
Chris Mayo;
Communication Server and
David
Exchange: Platform Futures
Ollason
BB45 - Office
Communications Server
2007 R2: Enabling Unified
Communications
Oscar
Newkerk;
David
Ollason
BB46 - Exchange Web
Services Managed API:
Unified Communications
Development for Microsoft
Exchange
Jason
Henderson
Date
Timeslot
Location
10/27/2008
1:45 PM to
3:00 PM Room 408A
10/27/2008
5:15 PM to
6:30 PM Room 406A
10/30/2008
8:30 AM to
9:45 AM Room 408B
© 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.