MSG330 Developing with Microsoft® Exchange Susan Hill Lead Programmer Writer Microsoft Corporation.

Slides:



Advertisements
Similar presentations
The following 10 questions test your knowledge of desired configuration management in Configuration Manager Configuration Manager Desired Configuration.
Advertisements

Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Services Course Windows Live SkyDrive Participant Guide.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
MSG302 Deploying Exchange Server Overview Sasa Juratovic Consultant Microsoft Ltd.
Exchange 2007 Overview. What Will We Cover? New features in Microsoft® Exchange 2007 The Exchange Management Console The Exchange Management Shell New.
OFC324 Microsoft Project Server: Putting Enterprise Project Management (EPM) To Work Sam Brooks
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Managing Client Access
Module 4 Managing Client Access. Module Overview Configuring the Client Access Server Role Configuring Client Access Services for Outlook Clients Configuring.
TNQ Microsoft Exchange Server ® 2000: Microsoft Outlook ® Web Access John Gardner Cyberstreams, Inc. John Gardner Cyberstreams, Inc. Portland,
OFC302 Building Smart Document Solutions in Word & Excel Martin Sawicki Lead Program Manager.
DEV317 Integrating Extensible Business Graphics into Enterprise Applications using Visio 2003 Mai-lan Tomsen Bukovec Program Manager.
OFC 322 Building Office Research Web Services: Exposing Corporate Data Through Office Brian Jones Program Manager Authoring Services Martin Sawicki Lead.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
© 2006 Global Knowledge Training LLC All rights reserved. Deploying Outlook 2003 Configuring Clients Outlook 2003 Security and Performance New Outlook.
DEV334 Creating Application Starting Points & Sharing Best Practices with Enterprise Templates Marc Gusmano Director of Emerging Technologies The Information.
Module 8: Managing Client Configuration and Connectivity.
©Kwan Sai Kit, All Rights Reserved Windows Small Business Server 2003 Features.
OFC304 Excel 2003 Overview: XML Support Joseph Chirilov Program Manager.
OFC 200 Microsoft Solution Accelerator for Intranets Scott Fynn Microsoft Consulting Services National Practices.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
DEV290 Building Office Solutions with Visual Studio Eric Carter Lead Developer Developer Platform & Evangelism Microsoft Corporation.
WEB 304 An Overview of ASP.NET and Windows Workflow Foundation Kashif Alam Program Manager Developer Division Microsoft Corporation.
SEC303 Assessing and Managing Privacy in the Enterprise JC Cannon Privacy Strategist.
OFC 303 Advanced Word XML: Customer-Defined Schemas Brian Jones Program Manager Authoring Services.
Slide 2 The Microsoft Office Project 2003 Software Development Kit Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation Uma.
Microsoft Exchange 2000 Service Pack 2 Features Mark Barringer Support Professional Enterprise Messaging Support Microsoft Corporation.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
DEV339 Best Practices for Debugging Visual Studio.NET Applications Keith Pleas Architect, Guided Design
OFC 307 Office 2003 Solution Case Studies Ray Stephenson Smart Client Technical Evangelist
Slide 1.NET Development for Project 2003 Samples from the Project 2003 SDK Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation.
SharePoint Portal Server Office XP Launch Tour Breakout Presentation nametitle Microsoft Corporation.
Paul Butterworth Management Technology Architect
DEV384 COM+ Lives : New Features in Enterprise Services Included in Windows Server 2003 Catherine Heller Senior Consultant Microsoft Spain.
Office Business Applications Workshop Defining Business Process and Workflows.
Module 6: Managing Client Access. Overview Implementing Client Access Servers Implementing Client Access Features Implementing Outlook Web Access Introduction.
Module 11 Upgrading to Microsoft ® Exchange Server 2010.
EBZ319 Building Enterprise Web Sites Using MCMS 2002 Daniel Kogan Program Manager CMS Group Microsoft Corporation Pat Miller Developer CMS Group Microsoft.
Windows Role-Based Access Control Longhorn Update
EBZ 321 Extending CMS 2002 Publishing Processes Scott Fynn Microsoft Consulting Services National Practices.
1 Workgroup and Workflow Technologies CDO for Exchange 2000 Server CDO for Exchange Management Workflow for Exchange 2000 Server.
DEV303 ASP.NET: Leveraging Visual Studio.NET For Web Projects Tony Goodhew Product Manager Microsoft Corp.
DEV330 Visual Studio.NET IDE Tips and Tricks Billy Hollis Author / consultant.
DEP331 Migrating to Windows XP Mike Coleman Lead Product Manager, Windows XP Microsoft Corporation.
EBIZ327 InfoPath and BizTalk Server 2004 Scott Woodgate Jupiter Product Planner.
MSG331 Exchange Server 2000/2003 Software Development Kit Susan Hill Lead Programmer Writer Microsoft Corporation.
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
DBA331 Managing a Microsoft SQL Server 2000 Reporting Services Implementation Brian Welcker Group Program Manager SQL Server Microsoft Corporation.
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
DEV332 Programming for the Middle Tier in Visual Basic.NET Billy Hollis Author / Consultant.
Jason Henderson Principal Program Manager Microsoft Corporation SESSION CODE: UNC310.
Building Workflow Applications With Microsoft ® Exchange 2000 Jim Reitz Program Manager Exchange Enhanced Platform Product Unit Microsoft Corporation.
MSG 334 Creating Exchange Administrative Scripting for the Non-Programmer Susan Hill Lead Programmer Writer Microsoft Corporation.
OFC311 Developing Microsoft Office InfoPath 2003 Solutions: Technical Drilldown Part 1 Tudor Toma Group Program Manager Office Microsoft Corporation.
The 2007 Microsoft Office System Servers Enterprise Content Management, Workflow and Forms Martin Parry Developer and Platform Group, Microsoft Ltd
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Redmond Protocols Plugfest 2016 Jinghui Zhang Office Interoperability Test Tools (Test Suites and Open Source Projects) Software Engineer Microsoft Corporation.
ArcGIS for Server Security: Advanced
Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
Microsoft Ignite /10/2018 3:38 AM
TNQ
Visual Studio Tools for Office 2005
Microsoft Connect /15/2018 3:03 AM
Office 365 Development July 2014.
Presentation transcript:

MSG330 Developing with Microsoft® Exchange Susan Hill Lead Programmer Writer Microsoft Corporation

Agenda Overview of Exchange 2003 General Design Guidelines Messaging Scenarios Calendaring Scenarios Customizing Exchange Behavior with Store Events Componentizing with Web Services Looking forward to XSO

Overview of Exchange 2003

Exchange 2003 What still works? Data access methods CDO for Exchange 2000 (CDOEX) ADO access using ExOLEDB ADO access using MSDAIPP CDO 1.2x (server and client) HTTP and WebDAV Extended MAPI (MAPI) CDO for Exchange Management (CDOEXM) Events and notifications ExOLEDB store events Transport events MAPI notifications WebDAV notifications Incremental Change Synchronization (ICS) Exchange 5.5 event agent service Application technologies Exchange Web forms Exchange 2000 workflow model Exchange 5.5 routing engine

Exchange 2003 What’s changed? Heavy focus on security fixes Improved ExOLEDB startup performance Fixed the 256 logon limitation in WebDAV Ex 2000 and Ex 2003 Hotfix; Ex 2003 SP1 Secure by Default Exchange Domain Servers security group locked down by default Permission denied by default to create top level folders

Exchange 2003 What’s new? Managed wrapper for transport event sinks MSG 332: Developing Transport Event Messaging Solutions for Windows and Exchange Additional WMI providers MSG 334: Creating Exchange Administrative Scripting for the Non- Programmer

General Design Guidelines

Exchange Applications Best Bets Fundamental collaboration services Calendaring, Messaging, Contacts, etc. Web services, ASPX/ASP, public folder apps Customizing Exchange Behavior Events and notifications Stand-alone or application enhancers Customizing a Client Modifying Outlook, OWA Person-to-person workflow Exchange Workflow Exchange management applications CDOEXM, WMI, Active Directory Specialized applications (infrastructure) Anti-virus, backup/restore

Exchange Resource Options Resource mailbox Exposes server-side services such as scheduling logic and AV scanning Uses a “provider” access model More flexibility in applying quotas Public folder Allows ad-hoc creation Built-in access roles (reviewer, editor, publishing author, etc) Accessible by default through Outlook or OWA

Resource Mailbox demo demo

Data Access Guidelines Binaries deployed on the Exchange server Application scenarios Store events Transport events Web services ASP / ASPX applications Data access CDOEx, ExOLEDB (native ADO) Others: CDO 1.2, MAPI

Data Access Guidelines Binaries deployed on another server or client Application scenarios Transport events Web services ASP / ASPX applications Data access WebDAV, System.Web.Mail, CDOSYS Others: CDO 1.2, MAPI, MSDAIPP (native ADO), Outlook object model (OOM)

Data Access Guidelines Application written in managed code Application scenarios Web services ASPX applications Data access Deploying on the Exchange server CDOEx, ExOLEDB Deploying on another server or client WebDAV, System.Web.Mail Others: CDOSYS, OOM

Messaging Scenarios

Creating Newsletter Generators Just want to generate a bunch of CDOSYS is the best bet Ships in Windows (2000, XP, 2003) Pure subset of CDOEx Replaced by CDOEx on Exchange servers Sends mail using SMTP port, pickup directory, or Exchange

Sending Mail in ASP.Net System.Web.Mail Optimized for ASP.Net Wrapper to CDOSYS No POP support WebDAV Uses the DAV:submissionuri Must have the user's credentials or Send On Behalf Of rights for that mailbox Only method that writes to the Sent Items folder CDOEx Application must reside on the Exchange Server Maintains custom properties

Sending Mail from an ASP.Net Application demo demo

Calendaring Scenarios

Calendaring In.NET Apps Querying a calendar WebDAV, (ExOLEDB) Dates must be UTC normalized time Dim sSQL As String = "SELECT " sSQL += """urn:schemas:httpmail:subject"" AS subject, " sSQL += """urn:schemas:calendar:dtstart"" AS startTime, " sSQL += """urn:schemas:calendar:dtend"" AS endTime " sSQL += " FROM SCOPE(‘SHALLOW TRAVERSAL OF """ & urlFld & """')" sSQL += " WHERE (""urn:schemas:calendar:dtend"" < '" & Format(utcEnd, "yyyy/MM/dd hh:mm:ss") + "')" sSQL += " AND (""urn:schemas:calendar:dtstart"" > '" & Format(utcStart, "yyyy/MM/dd hh:mm:ss") + "')" sSQL += " ORDER BY ""urn:schemas:calendar:dtstart"" ASC"

Calendaring In.NET Apps Creating appointments and scheduling meetings WebDAV Appointments are easy enough but meetings are tough (KB ) Must provide UID OWA commands Easy to schedule meetings Not recommended because OWA reserves the right to change any calls CDOEx Easiest to use Application must reside on the Exchange server

Calendaring from an Application Server Using WebDAV demo demo

Querying for Free/Busy Information Free/busy interfaces (CDOEx, OWA) General access to anyone’s published data Easier to determine open slots Requires a call to Active Directory to resolve the target address Data could be stale Query a calendar directly (WebDAV, ADO) Public folders and resource mailboxes Best suited for finding previous bookings Requires permission to view the calendar Existing data can be more up-to-date

Using Free/Busy Interfaces CDOEx GetFreeBusy () method Exchange Docs SDK Must be on the Exchange server OWA Freebusy command ?cmd=freebusy &start=ISO8601time &end=ISO8601time &interval=minutes &u=SMTP address [&u=user2&u=user3] Both return integers representing the free/busy status for a particular interval 0:free; 1:tentative; 2:busy; 3:out of office; 4 unknown

Using OWA to Get Free/ Busy Information demo demo

Customizing Exchange Behavior with Store Events

Basics of Store Events Can be used on public folders and mailboxes Save, Delete, Timer, MDBStartup, MDBShutdown Exposed via ExOLEDB.DLL Must run on the server Two steps: Build the event sink and encapsulate it in a COM+ package Create a store event registration binding Exchange Explorer Tool (Exchange Tools SDK) Regevent utility (Exchange SDK)

Creating Store Event Sinks with Visual Studio.NET Create a new class project Derive the class from ServicedComponent Strongly name an interop version of ExOLEDB.DLL and reference it Add info on the target COM+ package Strongly name the assembly Register the assembly with regsvcs.exe

Automatically Processing Requests in a Resource Mailbox demo demo

Using Web Services

Why Use Web Services with Exchange? Can provide access to Exchange data outside of the firewall Allows you to encapsulate and remote Exchange functionality Easier to incorporate Exchange into existing applications

Building Web Services for Exchange 2000 General web service guidelines apply Things to think about: Where will you store the web service? What data access method will you use? Which side of the firewall are your users? Who will the Web service run as? What do you want to do with the returned data?

Calendaring Web Service demo demo

Code Name… XSO

XSO Overview Managed code class library Leverages.NET Framework data types and classes Talks WebDAV to Exchange 2003 Remotable Works anywhere with CLR installed Makes it easier to build.NET applications Intuitive Targets the enterprise developer Don’t need to be an Exchange expert to use it Public beta expected to be available this fall

Sample XSO Code Dim mbx As ItemStore = New ItemStore() With mbx.Source = strName + = New NetworkCredential( _ strName, strpassword, "PANGEA.COM").Open() End With Dim tsk As Task = New Task() With tsk.Subject = "Task class".Start = DateTime.Now.Due =.Start.AddDays(2).Reminder =.Due.AddHours(-4).Body.Text = "Build the task class!" End With Mbx.Folders(“Tasks”).Items.Add(tsk)

Summary Use CDOEX and ExOLEDB when the source code runs on the Exchange server Use System.Web.Mail or WebDAV when the source code must run elsewhere You can build store and transport event sinks in managed code Web services expand the Exchange data access options and make it easier to code XSO is the future

Resources Exchange SDK downloads Samples and Documentation Tools Workflow Designer White papers Writing Managed Sinks for SMTP and Transport Events Exchange 2003 Developer Roadmap (Summer ’03) Exchange XML Web Services Toolkit Additional helpful sites: Send comments, suggestions, etc. (especially on XSO!) to:

Exchange Community Resources Exchange Community Web Page Exchange Newsgroups Attend s Free Chat or Webcast Some recent Exchange webcasts still available for viewing Exchange 2003 Overview: ondemand/1589.asphttp:// ondemand/1589.asp Decide between Exchange 2000 & Exchange 2003: sid1_gci875523,00.html sid1_gci875523,00.html Locate A Local User Group

Exchange Developer Focus Groups Give us feedback about your Exchange development experience Today at 14:00 Tomorrow at 14:00 Sign up See me after this session

Related Sessions MSG 331: Exchange Server 2000/2003 Software Development Kit Thursday, 03 July 11: :00 MSG 334: Creating Exchange Administrative Scripting for the Non-Programmer Thursday 03 July 16: :00 MSG 332: Developing Transport Event Messaging Solutions for Microsoft® Windows® and Microsoft Exchange Server Friday, 04 July 08: :45

Ask The Experts Get Your Questions Answered 16:00 this afternoon

Suggested Reading And Resources The tools you need to put technology to work! TITLE Available Programming Microsoft® Outlook® and Microsoft Exchange 2003, Third Edition: Today Microsoft® Exchange Server 2003 Administrator's Companion: Today Microsoft Press books are 20% off at the TechEd Bookstore Also buy any TWO Microsoft Press books and get a FREE T-Shirt

Community Resources Most Valuable Professional (MVP) Newsgroups Converse online with Microsoft Newsgroups, including Worldwide User Groups Meet and learn with your peers

evaluations evaluations

© 2003 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.