Exchange Deployment Planning Services Exchange 2010 Developer Platform.

Slides:



Advertisements
Similar presentations
Jason Henderson Senior Program Manager Microsoft Corporation.
Advertisements

Faith Allington Program Manager Microsoft Corporation WSV322.
Enterprise CAL Overview. Different Types of CALs Standard CAL base A component Standard CAL is a base CAL that provides access rights to basic features.
Microsoft ® Exchange Online Migration and Coexistence Name Title Microsoft Corporation.
As Never Seen Before Ronen Gabbay Microsoft Exchange Regional Director U-BTech & Hi-Tech CTO.
Optimize for Software + Services Archiving Archiving Protect CommunicationsProtect Communications Advanced SecurityAdvanced Security Manage.
SharePoint Collaboration Features & Workflow
Exchange 2010 Overview Name Title Group. What You Tell Us Communication overload Globally distributed customers and partners High cost of communications.
Configuring Hybrid Exchange the Easy Way
Configuring PHP on IIS7 Making your application rock on IIS7 Taking advantage of the Windows platform Q&A at Open Space.
Understanding Active Directory
What’s New in Exchange Online. Disclaimer This presentation contains preliminary information that may be changed substantially prior to final commercial.
TechEd /20/2017 2:02 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
EXL MS Mail 3.0 Simple MAPI 1.0 Windows 95 Extended MAPI Exchange 4.0 Directory API Electronic Forms.
Walter Pitrof Technology Solution Professional Microsoft Switzerland Backup, Restore und Disaster Recovery mit Data Protection Manager 2012 Philipp Witschi.
Managing Client Access
Module 4 Managing Client Access. Module Overview Configuring the Client Access Server Role Configuring Client Access Services for Outlook Clients Configuring.
Module 8: Managing Client Configuration and Connectivity.
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
Exchange Exchange Server Role Architecture in Exchange Server 2013 Server roles in Exchange Server 2013: Client Access Server Mailbox Server Client.
What’s new for the Exchange 2010 Developer? Developing Exchange-enabled Enterprise Applications Creating “Cloud Ready” Exchange-enabled Applications Deploying.
Module 11 Upgrading to Microsoft ® Exchange Server 2010.
Exchange Deployment Planning Services Exchange 2010 Complementary Products.
Purpose Intended Audience and Presenter Contents Proposed Presentation Length Intended audience is all distributor partners and VARs This would be presented.
Connect with life Vedant Kulshreshtha Technology Solutions Professional – SharePoint | Microsoft India
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
Implementing Microsoft Exchange Online with Microsoft Office 365
03 | Manage Team Foundation Server Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
Service Pack 2 System Center Configuration Manager 2007.
Jason Henderson Principal Program Manager Microsoft Corporation SESSION CODE: UNC310.
UC Development for IT Pros. Albert Kooiman Jason Henderson Session Code: UNC308.
BE-com.eu Brussel, 26 april 2016 EXCHANGE 2010 HYBRID (IN THE EXCHANGE 2016 WORLD)
Microsoft Virtual Academy Talbott Crowell | Chief Architect, ThirdM.com Rob Latino | Program Manager in Office 365 Support, Microsoft.
1/27/2018 5:13 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Yochay Kiriaty Senior Technical Evangelist Microsoft® Corporation
Office 365 Migration – Understanding Migrations Part 1
När verkligheten hälsar på
BRK What can you do with Office 365 groups in Outlook
Office 365 Developer Overview
Microsoft Office SharePoint Server 2007 Enterprise Search
Microsoft Virtual Academy
Developing Hybrid Apps on Microsoft Azure Stack
6/17/2018 5:54 AM OSP322 Getting the best of both worlds, making the most of SharePoint hybrid search solutions Shyam Narayan Microsoft © 2013 Microsoft.
Office Power Hour New developer APIs and features for Apps for Office
SharePoint Online Management and Control
Office 365 Development.
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Microsoft Connect /15/2018 3:03 AM
Welcome to Office 365 Launch Event for PT Prasmanindo Boga Utama
TechEd /21/2018 5:20 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Migrating to Office 365 from Google mail and exchange
Office365 Exchange Online Risun Antony Technology Specialist
Microsoft Virtual Academy
12/27/2018 4:59 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or.
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Office 365 Development.
Microsoft Virtual Academy
Office 365 Development.
2/27/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Developing for Windows Azure
Microsoft Virtual Academy
Day 2, Session 2 Connecting System Center to the Public Cloud
Microsoft Virtual Academy
Office 365 Development July 2014.
Microsoft Virtual Academy
Microsoft Virtual Academy
Office 365 Development.
Microsoft Virtual Academy
Microsoft Virtual Academy
Presentation transcript:

Exchange Deployment Planning Services Exchange 2010 Developer Platform

Agenda Exchange as a platform Exchange Web Services Exchange PowerShell Exchange Transport APIs API changes in Exchange 2010 Resources

Exchange API Evolution MS Mail 3.0 Simple MAPI 1.0 Windows 95 Extended MAPI Exchange 4.0 Directory API Electronic Forms Designer Exchange Developer Kit Gateway API OLE Messaging 1.0a (a.k.a. CDO 1.0a) Common Messaging Calls 1.0 Exchange 5.0 Active Messaging 1.1 (a.k.a. CDO 1.1) Exchange 5.5 Collaborative Data Objects 1.2 CDO Rendering Library (CDOHTML) Event Service Agents NT Option Pack 4.0 CDO for Windows NT (CDONTS) Exchange 5.5 SP1 CDO Routing Objects HTML Forms Converter Exchange 5.5 SP3 Virus Scanning API 1.0 Exchange 2000 Server Backup and Restore API (a.k.a. ESEdbcli2) CDO for Exchange 2000 Server (CDOEx) CDO for Exchange Management (CDOExM) CDO for Workflow Exchange Installable File System Exchange OLEDB provider (ExOLEDB) WSS Forms + FrontPage Extensions OWA URL commands Queue Viewer API Store Events WebDAV WMI classes for Exchange management Workflow Designer for Exchange 2000 Server Windows 2000 CDO for Windows 2000 (CDOSYS) SMTP Transport Events Exchange 2000 Server SP1 Virus Scanning API 2.0 Exchange Server 2003 Virus Scanning API Exchange 2007 Exchange Web Services PowerShell Transport APIs Exchange 2010 Exchange Web Services Managed API 1.0 Remote PowerShell

The Exchange 2010 Platform Content, Management, Control API for interacting with Mailbox Content , 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 PowerShell APIs API for controlling the flow of content Access to message properties and content in transport Transport APIs

Exchange Web Services Rich Experience −Enables full client functionality −Application logic consistent with Outlook Easy to Use −.NET-based EWS Managed API 1.0 −Full Visual Studio support Online-Ready −Single API for Server and Online 5 The power of Web Services and.NET NEW For more information:

EWS Functionality Enhancements Exposing the full power of Exchange through the APIs 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 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 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 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 MailTips information Full Private Distribution List support Get Service Configuration User Configuration Objects 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 NEW

EWS Functionality Enhancements Exposing the full power of Exchange through the APIs 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 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 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 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 Programmatic access to Dumpster MailTips information Full Private Distribution List support Get Service Configuration User Configuration Objects 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 Programmatic access to Dumpster Exchange Web Services Managed API 1.1 Exchange Server 2007 SP1 Exchange 2010 SP1 Exchange 2010 Create, retrieve, and modify Inbox Rules Programmatic access to Archive Mailbox Firewall traversing Notifications Improved Administration features Improved Mixed Version support Throttling Protection Support Control Application access to EWS Client Certificate Authentication support Create, retrieve, and modify Inbox Rules Programmatic access to Archive Mailbox Firewall traversing Notifications Improved Administration features Improved Mixed Version support Throttling Protection Support Control Application access to EWS Client Certificate Authentication support NEW

EWS 2010 Application Functionality Tasks Create/Delete/Update Tasks Search for Tasks Contacts Create/Update/Delete Contacts Set picture Set all properties like addresses, phone numbers, location Create Contact Groups Send/Retrieve/Forward/Reply Mail Retrieve MIME Content Search/Delete/Move/Copy Mail Folder Move/Copy/Create/Permissions Setting Auto-Response Message Calendar Create/Modify/Retrieve Appointments Retrieve Availability Information Suggest Best Appointment Time Time Zone Service Retrieve Available Rooms

Client Applications Like: Clients Outlook Entourage Free/Busy Microsoft Office Communicator Service Applications Like: Synchronization CRM Contact Synchronization Notifications Auto-Scheduler Applications Mailer Applications Sample Application Models Using EWS Portal Applications Like: Web Parts Shared Calendar Views 5 Most Recent s PIM Systems Course Management Room Availability

Client Applications Entourage 2008

Portal Applications Conference Room Booking Application

Service Applications Conference Room Appointment Display

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; } <m:GetFolderResponseMessage ResponseClass="Success"> NoError IPF.Note Inbox... AllProperties Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox); Easy: EWS Managed API Simplifies Coding Coding in the various EWS APIs paradigms available Raw XML Cross-platform No client-side logic Manual plumbing Cross-platform No client-side logic Manual plumbing Auto-generated proxies Multiple platforms Class-based access No client-side logic Multiple platforms Class-based access No client-side logic EWS Managed API Windows only (.NET 3.5) Fully Object Oriented Smart client-side logic Windows only (.NET 3.5) Fully Object Oriented Smart client-side logic Increased Productivity “After working with Exchange for about 10 years I can say that this is by far the most intuitive and easy to use API ever and developers who never worked with Exchange before have little trouble using it. “ – Denis Khodak - Morgan Stanley

Sending An ExchangeService service = new ExchangeService(); Message message = new Message(service); message.Subject = " Subject"; message.Body = "The is the body"; message.SendAndSaveCopy(WellKnownFolderName.SentItems); Code sample with the Exchange Web Services Managed API 1.0

Moving Exchange into the Cloud Roadmap for Exchange Cloud Development Hybrid S+S Software Exchange in the cloud (Exchange Online)Exchange in the cloud (Exchange Online) Applications on PremiseApplications on Premise Hybrid S+S Software Exchange in the cloud (Exchange Online)Exchange in the cloud (Exchange Online) Applications on PremiseApplications on Premise Pure Cloud Development Exchange in the Cloud (Exchange Online)Exchange in the Cloud (Exchange Online) Applications in the Cloud (Azure)Applications in the Cloud (Azure) Pure Cloud Development Exchange in the Cloud (Exchange Online)Exchange in the Cloud (Exchange Online) Applications in the Cloud (Azure)Applications in the Cloud (Azure) Traditional Development Exchange on PremiseExchange on Premise Applications on PremiseApplications on Premise Traditional Development Exchange on PremiseExchange on Premise Applications on PremiseApplications on Premise Exchange 2007 SP1 Exchange 2010 Exchange 2010+

PowerShell in Exchange Exchange server configuration User administration −User/resource management −Mailbox creation/modification Distribution list creation/modification Public folder creation/modification For Exchange administrative tasks

PowerShell with.NET Improved Runspace APIs −New PowerShell class simplifies invocation of cmdlets Unleashes Exchange management from within compiled code −PowerShell.Create(“get-process”).Invoke(); NEW

Invoking Exchange cmdlets from C# Code Sample SCredential credential = new PSCredential(username, password); // Set the connection Info WSManConnectionInfo connectionInfo = new WSManConnectionInfo( new Uri(liveIdconnectionUri), credential); connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Basic; // create a runspace on a remote path; the returned instance must be of type RemoteRunspace Runspace runspace = System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace(connectionInfo); // open the runspace runspace.Open(); // Set the runspace as a local variable on the runspace PowerShell powershell = PowerShell.Create(); // create the command command = new PSCommand(); command.AddCommand("Get-Mailbox"); command.AddParameter("Identity", mailboxname); powershell.Command = command; try { // open the remote runspace runspace.Open(); // associate the runspace with powershell powershell.Runspace = runspace; // invoke the powershell to obtain the results return powershell.Invoke(); } finally { // dispose the runspace and enable garbage collection runspace.Dispose(); runspace = null; // finally dispose the powershell and set all variables to null to free up any resources. powershell.Dispose(); powershell = null; }

PowerShell Remoting Allows cmdlets to be run from remote machines without Exchange administration tools installed −Only requires PowerShell v2 installed locally Access to Exchange administration from the internet when published though the firewall Solves cross-forest management issues Utilizes RBAC model NEW

What are Transport Agents and APIs? Allow access to messages and their contents while the messages transverse the transport servers −Change message properties and content during transport Transport agents are installed on Edge and Hub transport server roles Agents handle transport events and extend behavior

Transport API Events Manipulate messages at many different levels of transport −SmtpReceiveAgent −RoutingAgent −DeliveryAgent −StoreDriverAgent Use transport agents to implement functionality that is not covered/available with transport rules Replacement for much of store event sink functionality NEW

Editing Subject namespace MyAgents { public sealed class MyAgentFactory : SmtpReceiveAgentFactory { public override SmtpReceiveAgent CreateAgent(SmtpServer server) { return new MyAgent(); } public class MyAgent : SmtpReceiveAgent { public MyAgent() { this.OnEndOfData += new EndOfDataEventHandler(MyEndOfDataHandler); } private void MyEndOfDataHandler(ReceiveMessageEventSource source, EndOfDataEventArgs e) { // The following line appends text to the subject of the message that caused the event. e.MailItem.Message.Subject += " - this text appended by MyAgent"; } Code Sample with SmtpReceiveAgent

Exchange Server 2010 API Changes API Deprecation Roadmap Exchange Server 2007Exchange 2010Exchange Server 2007Exchange 2010 Transport Server Agents Transport APIs ClientClient Exchange MAPI Client Outlook MAPI Outlook Obj. Model NET.Mail Mailbox Server MAPI WebDav ExOLE DB CDOEx (3.0) Store Events Virus Scan API VSS Client Access Server Exchange Web Services Transport Server Agents Transport APIs ClientClient CDO Outlook MAPI Outlook Obj. Model NET.Mail Mailbox Server Virus Scan API VSS Client Access Server Exchange Web Services MAPI EWS Managed API Deprecated Deemphasized Roadmap Non- Exchange API EWS Managed API CDO Exchange MAPI Client

Legacy API Overview Fragmented experience Local Access Intranet Access Internet Access Outlook User Experience CDO 3.0 for Exchange CDO Build-your-own User Experience ExOleDBMAPIExchange WebDAV

EWS: Comparing against Legacy APIs EWS is the one API to support all application models ExOleDB CDO 3.0 for Exchange CDO Exchange MAPI Client Exchange WebDAV Exchange Web Services EWS Managed API 1.0 Supports User Experience Consistent with Outlook √√√√ Supports to Build your own Client User Experience √√√√√ Supports Local Access √√√ Supports Intranet Access √√√√ Supports Internet Access √√√ Supports New Exchange Server 2007 and Exchange 2010 functionality √√ Mainstream Support Available √√ Works on Exchange Server 2003 √√√√√ Works on Exchange 2007 SP1 √√√√√√√ Works on Exchange 2010 √√√√

Exchange 2010 API Changes Exchange Server 2003 client APIs are in to extended support −Collaboration Data Objects −Microsoft Exchange Server MAPI Client Both can be replaced by Exchange Web Services Deprecated APIs and alternatives APIFunctionalityReplacement CDOEXMailbox AccessEWS Exchange WebDAVRemote Mailbox AccessEWS ExOleDB (ADO provider)Mailbox AccessEWS OWA URL CommandsFree/Busy and Name Resolution EWS Store EventsAsynchronous and Synchronous Events Transport Delivery Events/ EWS

Extended Support Policy Exchange MAPI client and CDO are in Extended Support Exchange MAPI client+CDO remain available for download for Exchange 2010 Using the Exchange MAPI Client and CDO package against Exchange 2010 is supported Download Center is updated to reflect end-of-life status During the Extended Support phase for Exchange Server, Microsoft provides: Paid support only Non-security related hotfix support requires a separate Extended Hotfix Support Agreement to be purchased (per-fix fees also apply) −A hotfix can not be redistributed Critical and Important Security update support at no additional cost Please note: Microsoft will not accept requests for warranty support, DCRs, or new features during the Extended Support phase −This could include Daylight Saving Time updates Exchange MAPI Client and CDO in Exchange 2010

End of Exchange 2010 Developer Platform Module

For More Information Exchange Server Tech Center Planning services Microsoft IT Showcase Webcasts Microsoft TechNet

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