Jason Henderson Principal Program Manager Lead Microsoft Session Code: UNC401.

Slides:



Advertisements
Similar presentations
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
Advertisements

Scott myKB.com, Inc. Session Code: DEV301r.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Faith Allington Program Manager Microsoft Corporation Session Code: WSV304.
Session 1.
Windows Azure Web Sites Speaker Title Organization.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Operating System for the Cloud Runs applications in the cloud Provides Storage Application Management Windows Azure ideal for applications needing:
Bhushan NeneGrzegorz Gogolowicz Principal ArchitectSenior ArchitectMicrosoft Session Code: DEV304.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Ram Cherala Principal Program Manager Microsoft Corporation DTL320.
What’s new for the Exchange 2010 Developer? Developing Exchange-enabled Enterprise Applications Creating “Cloud Ready” Exchange-enabled Applications Deploying.

customer.
Jeff King Senior Program Manager Microsoft Session Code: WIA204.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Eric Carter Development Manager Microsoft Corporation OFC324.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Gavin Russell-Rockliff BI Technical Specialist Microsoft BIN202.
Pete LePage Senior Product Manager Microsoft Corporation WUX310.
Sara Ford Program Manager Microsoft Corporation DPR301.

Patrick Ortiz Global SQL Solution Architect Dell Inc. BIN209.
OFC308 Hilton Giesenow Development Manager - 3fifteen Host –
Ben Robb MVP, SharePoint Server cScape Ltd OFC204.
demo User Signs Up Temporary Account is Created with Verification Link Sent User Clicks Link Account is Activated Login.Register(userName,
David B. Cross Product Unit Manager Microsoft Corporation Session Code: SIA303 Donny Rose Senior Program Manager.
Scott Morrison Program Manager Microsoft Corporation Session Code: WUX308.
Tech·Ed North America /6/2018 2:20 AM
6/26/2018 9:02 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Build /4/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Microsoft Ajax Taking Ajax to the Next Level
Customize Office 365 Search and create result sources
9/11/2018 5:53 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech Ed North America /13/ :13 AM Required Slide
TechEd /14/2018 6:55 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Office 365 Development.
TechEd /14/2018 6:26 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
FeedSync And Live Mesh Sync Services
Sysinternals Tutorials
TechEd /21/2018 5:20 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Jason Zander Unplugged
12/5/2018 3:24 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech·Ed North America /7/2018 2:51 PM
Ben Robb MVP, SharePoint Server cScape Ltd Session Code: OFS207
Data Driven ASP.NET Web Forms Applications Deep Dive
Tech·Ed North America /2/2019 4:47 PM
TechEd /11/ :54 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
ASP.NET 4.0 State Management Improvements – Deep Dive
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Tech·Ed North America /17/2019 1:47 AM
Tech·Ed North America /22/2019 3:15 AM
Building Silverlight Apps with RIA Services
Tech Ed North America /12/2019 6:45 AM Required Slide
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
2010 Microsoft BI Conference
Hack-proofing your Clients using Windows 7 Security!
5/24/ :22 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Office 365 Development.
Tech·Ed North America /7/2019 2:30 PM
TechEd /5/2019 2:08 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

Jason Henderson Principal Program Manager Lead Microsoft Session Code: UNC401

Agenda What is new in Exchange 2010 Web Services? Advanced EWS Managed API Concepts Using Autodiscover Accessing Mailbox Items Writing Scalable Applications Using Diagnostics to Identify Potential Performance Problems Best Practice Recommendations

Same Rich Capabilities as E2007 Rich Mailbox Access Calendar - Free/busy, Meeting time Suggestions – Send, Retrieve, Forward, Reply, Move, MIME Contacts/Tasks Search Name Resolution Change notifications Synchronization services Autodiscover Rich Logon Modes Delegate Access Impersonation Direct Logon Plus Much More…

What’s New In Exchange 2010?

Agenda What is new in Exchange 2010 Web Services? Advanced EWS Managed API Concepts Using Autodiscover Accessing Mailbox Items Writing Scalable Applications Using Diagnostics to Identify Potential Performance Problems Best Practice Recommendations

Using Autodiscover To Connect To EWS What is Autodiscover? It’s a web service that configures Exchange applications Using a URL that can be automatically discovered by client applications Why use it? Removes the need for hard-coding the EWS URL Enables seamless failover and “anywhere access” Built-in client in the EWS Managed API Makes it really easy to call Autodiscover

Failover CAS When To Autodiscover The EWS URL Inter-site failover and move Autodiscover Client application Main CAS Site A Failover CAS Site B EWS? Main CAS

CAS2010 When To Autodiscover The EWS URL Migration Mailbox (Exchange 2007) CAS2007 (Exchange 2007) Mailbox (Exchange 2010) CAS2010 (Exchange 2010) Autodiscover Client application EWS? CAS2007 Mailbox migration

Demos Calling AutodiscoverUrl Using AutodiscoverService Batch requests Retrieving specific settings (e.g. OWA URLs)

Accessing Mailbox Items Properties And Property Sets There are multiple ways to retrieve items List items or search for specific items Inbox.FindItems() Bind to or load specific items Message.Load(); Synchronize items service.SyncFolderItems() All use PropertySets to scope data to return

Accessing Mailbox Items Batch Operations Batch operations act on multiple items in a single EWS request Using batch operations: Helps increases your application’s performance Helps reduce server load The EWS Managed API supports batch operations in addition to per-item operations

Extended Properties Complement “first class” properties First class properties are directly available on items and folders (e.g. Item.Subject, Folder.DisplayName) Allow developers to: Set and retrieve custom, application specific properties Access properties that are not exposed as “first class” properties Do bad things (so use with care): Access properties that should not be accessed Override EWS’ business logic

Demo Bind Property set FindItems w/filter on Extended Property and with IdOnly LoadProperties w/custom property set

Agenda What is new in Exchange 2010 Web Services? Advanced EWS Managed API Concepts Using Autodiscover Accessing Mailbox Items Writing Scalable Applications Best Practice Recommendations Using Exchange Web Services Diagnostics

Scalability What is scalability? It is doing more with fewer resources It is minimizing the Exchange Server resource cost per user We will discuss: How to measure the impact of your EWS requests on Exchange? How to minimize the internal Exchange processing driven by your application

Exchange Architecture AD EWS Client Mailbox Server MAPI Remote Procedure Calls (RPC) SOAP Request LDAP CPU Memory Disk Reads Disk Writes Memory CPU

Methodology for Maximizing Scale Think about your final end to end scenario and design your I/O patterns leveraging best practices Write code, Measure, Optimize, Repeat! The Managed API can dramatically reduce your cycle time Simulate your application in a dedicated environment Use Realistic Mailbox Sizes and Data VM’s don’t usually work well for this testing

Best Practice #1: Minimize the number of web service calls Use batch to get more data in each request Use notifications to alert on item changes rather than repeatedly querying folders Cache data locally Use cached data when application restarts Why? Retrieving more data in a single request and making fewer requests increases the effectiveness of the CAS caches of LDAP and mailbox data, decreases the amount of xml serialization and deserialization, and decreases the authentication load on CAS and AD

Best Practice #2: Do not request unneeded data Use property sets Request only the needed properties Use FindItem page sizes Request only the items needed Minimize service account mailbox size to avoid retrieving old or unnecessary data Why? Requesting more properties and more items uses more resources. Some properties are very expensive to generate.

Best Practice #3: Minimize search load on Exchange Do use SyncFolderItems or FindItem with no search criteria whenever possible Do use FindItem+QueryString if it supports the necessary search criteria Do delete SearchFolders after they are no longer needed Don’t use FindItem or SearchFolder with search criteria unless absolutely required Why? Specifying search criteria using FindItem search or Search Folders search criteria causes the Mailbox server to perform expensive search operations. FindItem + QueryString leverages Indexed Search which is much more efficient. SyncFolderItems with ID Only shape is a very efficient operation.

IIS Log Diagnostics Deep Dive :00:00 W3SVC1 EXCAS POST /EWS/Exchange.asmx ;RC:215d07c d5-a cf63268bc3;Init>>Conn:0,AD:30000/30000/0.00%,CAS:54000/540 00/0.00%,AB:30000/30000/0.00%,RPC:36000/36000/0.00%,FC:10000 /0,Hash: ,Sub:20/1;SoapAction=m:GetItem;Version=1; RpcC=4;RpcL=15;LdapC=0;LdapL=0;End( ms)>>Conn:1,AD:0/3 0000/0.00%,CAS:54000/53998/0.00%,AB:30000/30000/0.00%,RPC:36 000/36000/0.00%,FC:10000/0,Hash: ,Sub:20/1; 443 mydomain\user HTTP/1.1 Microsoft+Office+Communicator+Deskphone/ mail.microsoft.com Important Diagnostics SoapAction: EWS Method Being Called RpcC: Number of RPC’s Made to Mailbox RpcL: Average RPC Latency (ms) LdapC: Number of LDAP Calls Made to AD LdapL: Average LDAP Latency (ms) End(x.xms): Milliseconds spent processing request

Performance Counter Diagnostics Performance counters give you a “big picture” view Under the MSExchangeWS\* Counter Requests/sec Overall number of requests being served by EWS, this includes successful requests Items [Read|Moved|Sent|Updated]/sec Average Response Time Running average in ms Command/sec GetItem Requests/sec FindItem Requests/sec

Take-aways Exchange 2010 enables easy, rich and “cloud ready” development Use Autodiscover, explicit properties, and batch operations in your code Follow the best practices to develop scalable and efficient applications Download the Exchange Web Services Managed API 1.0 today!

Resources Download the Exchange Web Services Managed API 1.0Exchange Web Services Managed API 1.0 Learn more about Exchange Web Services MSDN us/library/bb204119(EXCHG.80).aspx “Inside Microsoft Exchange 2007 Web Services” Download the EWS EditorEWS Editor Fill out session evaluations

Sessions On-Demand & Community Resources for IT Professionals Resources for Developers Microsoft Certification & Training Resources Resources Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online.

Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!

© 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. Required Slide