Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

Managing the Calendaring and Collaboration Process By Using Exchange Server 2007 Web Services

Technical Case Study

Published: October 23, 2007

Download

Download Technical Case Study, 3.82 MB, Microsoft Word file

Download PowerPoint Presentation, 2.40 MB, Microsoft PowerPoint file

Situation

Solution

Benefits

Products & Technologies

Developers for two separate groups at Microsoft wanted to streamline multiparty communication and coordination for two projects: Scheduling speakers, participants, and resources for its Executive Briefing Centers around the world; and scheduling interviews for and coordinating feedback of job recruits.

Developers for both solutions used Microsoft Exchange Server 2007 Web Services to simplify the integration of key Exchange functionalities for scheduling, message sharing, delivery, and management.

  • Faster development with Web services
  • Better availability of information
  • Automated message handling
  • Improved meeting handling
  • Audit trails
  • Microsoft Exchange Server 2007
  • The 2007 Microsoft® Office system
  • Microsoft® Office SharePoint® Server 2007

After Microsoft upgraded its corporate messaging and collaboration infrastructure to Microsoft® Exchange Server 2007, two groups within the company found significant benefits in using Exchange Server 2007 Web Services. The Microsoft Worldwide Briefing Network (WWBN) application, which supports booking speakers and resources for approximately 9,000 meetings a year for the company's Executive Briefing Centers, needed messaging automation and response auditing. The Microsoft Recruiting Web, used by Human Resources (HR) to manage the hiring process, required better interview process management. Developers on the projects found that using Exchange Server Web Services helped them to create leaner and more robust application code, and to enhance calendaring and collaboration functionality while reducing development time for the internal line-of-business (LOB) applications. Program managers say the new applications will be easier to maintain because they are based upon Exchange Web Services, rather than custom code.

Microsoft is using Exchange Server 2007 Web Services to support communication and collaboration for two of its own internal applications. This case study provides a technical-level overview of how Microsoft developers are using Exchange Server 2007 Web Services to:

  • Create leaner and more robust application code by using Exchange Web Services rather than custom code or Web Distributed Authoring and Versioning (WebDAV) methods
  • Enhance efficiency for messaging and scheduling
  • Resolve the problem of out-of-date meeting invitations
  • Ensure real-time availability information
  • Support automation of e-mail message generation and confirmation, and of system mailbox monitoring and maintenance
  • Provide audit trails for e-mail message interactions
  • Enjoy easier application maintenance

This case study can help business and technical decision makers understand how Microsoft uses Exchange Server 2007 Web Services to create integrated communication and collaboration solutions within its own enterprise.

For more information about Exchange Server 2007, visit www.microsoft.com/exchange/.

Situation

Developers of collaboration and communication applications face common challenges based on integrating their application code with the functionality of the communication solutions that they integrate with. After Microsoft upgraded its internal operations with Microsoft Exchange Server 2007, some of the company's internal application developers identified opportunities for using Exchange Server 2007 Web Services.

This paper looks at two separate internal Microsoft projects - - the Microsoft Worldwide Briefing Network (WWBN) and Recruiting Web. Both projects involved creating a new version of an existing line of business application, and each sought to use Exchange Server Web Services to enhance collaboration and communications functionality while reducing code size and complexity.

The WWBN had been created some years earlier to help coordinate the thousands of Microsoft employees who are scheduled to speak at the company's Executive Briefing Centers each year. Microsoft has eight regional Executive Briefing Centers around the world. Customers come to events at the Briefing Centers to learn more about Microsoft products, technologies, and long-term strategies from Microsoft executives, product development teams, and technology experts.

Recruiting Web was created in 2004 to provide Microsoft with an efficient process for recruiting, interviewing, and evaluating job candidates, including support for everything from creating employment offer letters and tracking responses, to enrolling new hires in new employee orientation.

As Microsoft developers on the two teams examined their existing applications, they identified the following needs:

  • Real-time availability information across Exchange servers worldwide. Previous releases of the solutions sometimes encountered outdated availability information because of delays in server replication or caching refresh for public folders.
  • Automated monitoring of system mailboxes and ability to identify exceptions for special handling.
  • Automated reminders for providing feedback and other key steps.
  • Automated maintenance of the system mailbox.
  • Ability to handle out-of-date meeting invitations to avoid errors when a sender dispatches an updated invitation shortly after sending the original (a problem that users sometimes referred to as "data collision").

As Microsoft internal developers prepared to create the next versions of these two LOB applications, they wanted to create solutions by using a Service Oriented Architecture (SOA) for ease of development, and they wanted to take advantage of Exchange Server Web Services.

Solution

Exchange Server 2007 is the first Exchange Server release that seamlessly integrates with SOA-based infrastructures in a standardized way by means of Web services. Exchange Server 2007 Web Services, like any Web services, are Web applications that exist self-sufficiently in the enterprise environment. A Web service defines an explicit boundary around its operation, maintains its own state, and represents a reusable building block for LOB applications that rely on a loosely coupled, service-oriented design.

The WWBN and Recruiting Web are good examples of LOB applications that benefit from a loosely coupled, service-oriented design and the self-sufficiency of Exchange Server 2007 Web Services. Previous versions of these applications had to rely on undocumented item properties and access methods to perform advanced operations. The updated application code is free of undocumented access methods. In addition, in comparison to WebDAV, the updated code is leaner, more robust, and easier to test.

Exchange Server 2007 Web Services eliminate the need to deploy custom code on messaging servers, which used to be the case with Microsoft Collaboration Data Objects for Exchange (CDOEX), or the need to install client libraries on application servers. In fact, Microsoft IT did not have to deploy any special components on messaging servers in order to accommodate the current versions of WWBN and Recruiting Web. Exchange Server 2007 Web Services are a standard feature of the Client Access server role and are a key to lowering development complexities, deployment overhead, and maintenance costs associated with messaging-enabled enterprise applications.

"Our messaging operations approach is based on standard processes and system configurations," says Gary Baxter, Microsoft IT group manager, Messaging Operations Team. "It would be next to impossible for me to guarantee performance and service levels on a server that runs unverified custom code. With Exchange Server 2007 Web Services, we do not need to deploy separate servers for custom messaging solutions anymore. In-house application developers can now take full advantage of the Client Access server infrastructure, which we maintain in the corporate production environment with 99.99 percent service availability."

The teams found that using Exchange Server 2007 Web Services helped them to create their solutions more quickly because they did not have to create custom code for functions that are now handled by the Web services. The application code is now leaner, more robust, and easier to test because it is free of undocumented WebDAV access methods.

This approach also translated into leaner code that program managers said would be easier to maintain and modify in the future.

WWBN

The Microsoft WWBN is a business-critical solution that Microsoft Executive Briefing Centers around the world use to coordinate the booking, hosting, and closing of customer engagements, based on a consistent set of business rules. The centers host about 1,500 briefings each year. Briefings include between four and eight separate sessions, each with a specialized speaker, so approximately 9,000 Microsoft speakers are invited, scheduled, and confirmed each year. Additionally, rooms and resources need to be coordinated.

Figure 1 shows the main user interface (UI) of the WWBN.

Bb887629.image001(en-us,TechNet.10).jpg

Figure 1. WWBN Main UI

Efficient processes help each Executive Briefing Center lower administrative overhead and maintain high quality in the execution of its responsibilities. Consistency is important because briefing engagements involve external contacts, such as customers, partners, and vendors, in addition to Microsoft employees. Executive Briefing Centers cannot afford to overbook a conference room or communicate inconsistent meeting times to technical staff, presenters, attendees, and caterers. Administrators, the Executive Briefing Center Desk Microsoft account managers, engagement managers and specialists, presenters, and attendees all rely on the WWBN for accurate information about briefing engagements by day and by week.

Solution Architecture of the WWBN

The WWBN is a database-driven, messaging-enabled ASP.NET application that integrates with Exchange Server 2007 by means of Exchange Server 2007 Web Services. Figure 2 provides a high-level overview of the WWBN's servers and integrated systems.

Bb887629.Figure2(en-us,TechNet.10).jpg

Figure 2. WWBN high-level architecture

The WWBN maintains most of its data in its own dedicated WWBN database to cover the full cycle of briefing engagements. WWBN database information is used to initiate, schedule, and manage engagements, and to collect and aggregate pertinent data about completed events for reporting and customer evaluation purposes. In addition, the solution integrates with the company's customer relationship management (CRM) system to access information about customers and business opportunities.

The solution integrates with Active Directory® directory service to recognize special user roles based on group memberships, such as engagement managers and engagement specialists who can perform administrative tasks. The solution also includes document libraries, accessed through standard Microsoft Windows® SharePoint® Services, to store downloadable presentations, such as Microsoft Office PowerPoint® files. The solution also integrates with Exchange Server 2007 through Exchange Server 2007 Web Services on Client Access servers for resource scheduling and messaging purposes.

Workflow of the WWBN

The typical engagement process starts when a Microsoft account manager requests a customer briefing based on an existing sales opportunity. To accomplish this task, the account manager goes to the internal WWBN site and completes a Request Engagement form. Upon submission of the form, the WWBN solution sends a notification message to the Executive Briefing Center Desk, which reviews the request, allocates a conference room, and assigns an engagement manager and an engagement specialist to take care of the remaining planning tasks such as catering, translation, and telephone equipment.

Various other ASP.NET-based forms within the WWBN enable engagement managers to create a detailed schedule for individual event topics so that sessions happen at the right time on the right day. Background information on potential presenters helps engagement managers to find the right match for the customer. Engagement managers typically invite one presenter per topic at a time and wait for a response before continuing to the next candidate, though it is also possible to concurrently request multiple presenters. Inviting multiple presenters helps engagement managers to coordinate short-lead briefings. If more than one presenter accepts the invitation, the engagement manager can select the best match for the topic and then cancel the remaining confirmations.

Figure 3 shows the Schedule Resources page within the WWBN for a sample customer briefing. As illustrated, the page can display multiple meetings and multiple presenters per meeting. To send an invitation or meeting update to a listed person, the engagement manager only needs to click on the envelope icon next to the person's name.

 

http://technet.microsoft.com/en-us/library/Bb887629.figure3large(l=en-us).jpg Bb887629.image003(en-us,TechNet.10).jpg

Figure 3. Schedule Resources page within the WWBN

Note: A key advantage of using the Availability service in Exchange Server 2007 in comparison with previous technologies and versions of Exchange Server is that all free and busy information is guaranteed to be up to date within 60 seconds. This small time period greatly minimizes the chances for booking conflicts. Previously, the WWBN occasionally showed booked timeslots as available because the 2003 versions of Exchange Server and Microsoft Office Outlook® only updated free and busy information every 45 minutes. Porting the WWBN to Exchange Server 2007 eliminated this latency issue.

 

Exchange Server Integration of the WWBN

E-mail message handling is at the core of the WWBN application, and requires integration with Exchange Server 2007. Within the engagement workflow process, the WWBN relies on both automatic and user-generated e-mail notifications. At every stage, the system informs account managers and engagement managers through e-mail messages about progress and the next steps to complete. The system also sends meeting requests and meeting updates to presenters and conference rooms, generates deadline and cancellation notifications, and sends evaluation e-mail messages to all participants following a briefing engagement to solicit feedback and to help account managers assess briefing success. If critical errors occur during processing—for example, if the WWBN database is unavailable—the application also generates e-mail notifications to inform technical support staff about the situation.

For e-mail message handling, the WWBN relies on a separate system mailbox per Executive Briefing Center. This system mailbox is the originator of outgoing e-mail messages. To process incoming e-mail messages, such as responses to meeting requests, the WWBN includes an e-mail response handler that monitors the system mailboxes.

The meeting request includes the system mailbox as the owner and originator. Accordingly, Exchange Server 2007 creates a corresponding calendar item in the system mailbox, which the WWBN solution uses to keep track of the invitation status. A globally unique entry identifier that the messaging system assigns automatically to every item in a mailbox is used to establish an association between the records in the WWBN database and the calendar items in the system mailbox. For example, if the engagement manager updates or cancels a briefing topic with pending or confirmed presenters, the WWBN solution uses the entry identifier to locate and update or delete the corresponding calendar item and to trigger an update or cancellation message to the presenter. During each action, the solution also updates the WWBN database to keep track of the messaging history.

The entry identifier is also important to associate request responses with the correct WWBN database records. Accepting or declining a meeting invitation usually results in a response message from the presenter to the WWBN system mailbox, which the e-mail response handler processes upon arrival. For accepted requests, the response handler marks the presenter in the WWBN database as committed to delivering that particular session and forwards the response to the engagement manager as a status notification. For declined requests, the response handler marks the presenter in the WWBN database as declined, removes the associated calendar item from the system mailbox, and informs the engagement manager about the status. Any other response messages, such as tentatively accepted requests or responses that suggest an alternate presentation time, are forwarded from the response handler to the engagement manager for follow up.

Moving the WWBN to Exchange Server 2007

Upgrading the WWBN from Exchange Server 2003 to Exchange Server 2007 involved code changes and changes in the system configuration. The previous WWBN version relied on Collaboration Data Objects (CDO). Porting the code was a straightforward undertaking because Exchange Server 2007 Web Services covers all relevant capabilities that were previously available in CDO. Among other things, the updated version uses the CreateMeetingAndSendInvitations service of Exchange Server 2007 Web Services to enhance e-mail message automation.

One factor that required the developers' attention during the migration of system mailboxes was that CDO exposes different entry identifiers for e-mail messages and calendar items than does Exchange Server 2007 Web Services. Different entry identifiers imply that the association between existing WWBN database records for meeting invitations and corresponding calendar items in the system mailboxes is no longer available. One option to address this issue was to update the database records with the new entry identifiers. Another option was to accept the situation without performing updates. The missing association only affected existing records. Any new entries would have correct associations based on the new entry identifiers. For simplicity reasons, the developers decided in favor of the latter option. Presenters with existing meeting invitations prior to the migration were not able to receive updates to those meeting invitations after the migration. Executive Briefing Centers addressed this issue by sending notifications to all previously confirmed presenters informing them that they might have existing invitations on their calendar that are now out of date and must be manually removed.

Recruiting Web

Recruiting Web is a database-driven, messaging-enabled ASP.NET application that integrates with the company's candidate tracking system and interview management tool. More than 300 staffing consultants at Microsoft use the application to support messaging and calendaring as staffing consultants schedule interviews for job candidates. Interview requests, confirmation e-mail messages, and other stage-based messaging are simplified through the use of prepopulated e-mail templates, because the application provides step-by-step tracking through the entire interview process.

One of the most important Recruiting Web features that facilitates these processes concerns the booking of interview meetings, which Recruiting Web maintains in a system mailbox and tracks in the application-specific RecWebDB database. (RecWebDB). Figure 4 shows the UI of Recruiting Web.

http://technet.microsoft.com/en-us/library/Bb887629.figure4large(l=en-us).jpg Bb887629.image004(en-us,TechNet.10).jpg

Figure 4. Recruiting Web UI

Solution Architecture of Recruiting Web

Figure 5 provides an overview of the Recruiting Web architecture. Job candidates interact with Recruiting Web primarily through the Microsoft Careers site (http://www.microsoft.com/careers), which provides access to a number of tools, such as a résumé builder, job search agents, and the online offer letter and acceptance (OOLA) tool. On the internal side, recruiting coordinators, interviewers, hiring managers and other employees can access Recruiting Web directly within the corporate production environment through a single Web server, hosting the solution's ASP.NET pages and file-share repositories for candidate résumés. Recruiting Web is based on the ASP.NET 2.0 framework.

http://technet.microsoft.com/en-us/library/Bb887629.figure5large(l=en-us).jpg Bb887629.Figure5(en-us,TechNet.10).jpg

Figure 5. Recruiting Web architecture

As shown in the preceding figure, the Microsoft hiring process in the United States is entirely paperless. Candidates can register online with the Microsoft Careers site to compile and submit their résumés, apply for open job positions, and receive interview invitations through e-mail. An alternative path is for a Microsoft recruiting coordinator to electronically submit a handoff document to initiate the hiring process on behalf of a job candidate. Candidates that are offered a job position will find their offer documents for review and electronic signing on the Microsoft Careers site. Microsoft SQL Server™ database software replicates the relevant documents between the Careers database and the Recruiting Web database so that external users can submit and retrieve documents without the need for physical access to internal resources.

At the core of the internal architecture is the RecWeb ASP.NET application with its RecWebDB and file-share repositories to download candidate résumés from the server. To obtain and update candidate data, such as contact information, the Recruiting Web application integrates with the company's candidate tracking system. The application also integrates with Active Directory to determine user roles based on group memberships and an evaluation database for HR-specific information about the user's viewing permissions. To enable recruiting coordinators to schedule job interviews efficiently, the Recruiting Web application also integrates with the Availability service of Exchange Server 2007 Web Services to obtain free and busy information for interviewers and recruiting coordinators.

Complementing the Recruiting Web features is the Feedback ASP.NET application, which interviewers and hiring managers use to provide feedback about candidates after each interview cycle. Similar to the RecWeb ASP.NET application, the Feedback ASP.NET application integrates with Active Directory to determine user roles based on group memberships. The Feedback ASP.NET application uses the RecWebDB to store submitted information.

Workflow of Recruiting Web

The messaging and interview scheduling functionality available in Recruiting Web based on Exchange Server 2007 Web Services provides the foundation to streamline individual activities, such as interview loops, during the hiring process. To hire the right individual for an open job position, Microsoft conducts a series of job interviews, possibly stretching over several days, that involve recruiting coordinators, employees from the business group that opened the job position, hiring managers, other HR personnel, and the job candidate. It is vital to provide all participants at every stage during the hiring process with accurate and up-to-date information, through confirmation messages and meeting updates in case a particular job interview must take place at a different time.

The typical hiring process starts by a candidate submitting a job application, or by a recruiting consultant submitting a handoff document on behalf of the candidate. In either case, a recruiting coordinator must schedule the candidate for an initial interview, which typically takes place in the form of a telephone screening to determine the applicant's general suitability for the open job position. After this initial screening, a hiring manager or interviewer will conduct a more detailed technical screening and subsequently further interviews might take place with employees from the specific business group. The complexity of the interview loop depends on the nature of the job position, yet in almost all cases recruiting coordinators must schedule and manage multiple meetings per candidate.

After each interview, hiring managers and interviewers must submit their candidate evaluation through Recruiting Web. If participants do not provide feedback within a defined timeframe, Recruiting Web uses Exchange Server Web Services to generate automatic reminders.

After completion of the interview loops, hiring managers review the feedback to make a hiring decision and inform the corresponding recruiters to compile an offer packet and letter for accepted candidates. The candidate can download the offer packet on the Microsoft Careers site. The offer packet includes several documents for review and electronic signing. When the candidate has signed the documents, the staffing coordinator sends a "new employee orientation" notification to the candidate, which concludes the hiring process.

Exchange Server Integration of Recruiting Web

Most of the messaging and meeting-request functionality of Recruiting Web resides separate from the RecWeb and Feedback ASP.NET applications in a subsystem that consists of e-mail sender, listener, and maintenance modules and a service wrapper that encapsulates the messaging and scheduling logic that Exchange Server 2007 provides.

The e-mail-sender module monitors a message-queue table in the RecWebDB, which the RecWeb and Feedback ASP.NET application pages use to save outbound e-mail messages and meeting requests. To process any new entries and perform the actual messaging work, the e-mail-sender module relies on the service wrapper functions and the system mailbox. The system mailbox is the originator of all outbound e-mail messages and meeting requests. All outbound e-mail messages have a Recruiting Web-specific interview identifier on the subject line that allows an association between e-mail message replies and database records.

Listening for incoming e-mail message replies and meeting-request responses is the task of the e-mail listener, which is the component within the Recruiting Web messaging subsystem that monitors the system mailbox. The e-mail listener tracks each incoming e-mail message in a message-response table within the RecWebDB. Based on the e-mail message identifier and the records in the RecWebDB, the e-mail listener module can establish an association between the inbound e-mail message and the original recruiting coordinator to forward the e-mail message to the correct person as a status notification. If the inbound e-mail message identifier does not allow a reliable association with existing database records, the e-mail listener attempts to locate the Recruiting Web-specific interview identifier on the subject line in order to establish the association that way. If this process also fails, the e-mail listener forwards the affected e-mail message item to the RecWeb admin alias that is defined in the application's web.config file.

Apart from deleting all processed e-mail messages from the Inbox folder, the e-mail listener does not perform any maintenance tasks. Maintaining the system mailbox is the responsibility of the mailbox-maintenance module, running as a separate Web service on the Recruiting Web server. Based on a retention schedule, defined in the application's web.config file, the mailbox-maintenance module deletes all items from the Inbox, Sent Items, and Calendar folders that are older than specified thresholds and purges all e-mail messages from the Deleted Items folder. Maintaining the system mailbox on a continuous basis helps the HR IT team to keep the size of the RecWeb mailbox within the limits defined through mailbox quotas in the corporate message environment.

Moving Recruiting Web to Exchange Server 2007

The new version of Recruiting Web relies on an Exchange Web Service Wrapper module, in contrast to previous versions of the application which used a legacy HR IT Web services module. The legacy module used WebDAV methods to create, update, and cancel meeting requests, send e-mail messages, retrieve meeting replies, and access free and busy information. Moving the Recruiting Web application to Exchange Server 2007 was therefore primarily a task of replacing WebDAV requests with Exchange Web Services operations in the ExchangeServerWebService wrapper. The application code is now leaner, more robust, and easier to test because it is free of undocumented WebDAV access methods.

One important issue that the developers needed to address during the transition to Exchange Server 2007 revolved around the item identifiers that Recruiting Web used to associate database records with meeting-request items. In previous versions, the DAV:uid property established a reliable association between the meeting items in the system mailbox and the corresponding records in the RecWebDB. In contrast, the updated Recruiting Web version uses the ItemId element obtained through Exchange Web Services to identify each item in the system mailbox. Because DAV:uid and ItemId values differ, the developers created a conversion tool to replace the old values in the RecWebDB data records with new ItemId values during the transition to Exchange Server 2007. Overall, it took less than 200 employee-hours to port the Recruiting Web application from WebDAV to Exchange Web Services.

Benefits

Developers updating the WWBN and Recruiting Web applications gained a number of benefits from using Exchange Server 2007 Web Services, including faster development, better availability information, automated e-mail message handling, improved meeting handling, and audit trails.

Faster Development with Web Services

Both development teams found that Exchange Server 2007 Web Services enabled them to work faster, and get their solutions into production faster.

"Exchange Server [2007] Web Services removed the need to create custom code," says Vivek Kumar, program manager. "Our developer for Recruiting Web was able to complete the project within three weeks. The rest of the time was spent testing and preparing for the internal release."

Kumar notes that the code will be easier to maintain, as well, because interactions with Exchange Server 2007 are handled by the Web services instead of custom code with low-level mapping properties.

WWBN developers also enjoyed faster development through using Exchange Server Web Services. "Previously it could be painful to debug dynamic-link library (DLL) integration with your Exchange solution," says Anirban Choudhury, senior program manager for the WWBN. "Debugging Exchange Server [2007] Web Services is quite simple. You can do it just from a browser, so deployment is easier because you don't run into situations where the DLL is not talking to Exchange Server [2007]."

Better Availability Information

Developers on both projects took advantage of the Availability service in Exchange Server 2007 Web Services. WWBN developers used the Availability service to help eliminate the problem of out-of-date availability information that could come from public folders that had not been refreshed. Recruiting Web developers used the Availability service to help recruiting coordinators more efficiently schedule job interviews, providing seamless integration with Exchange Server 2007 to provide free and busy information for interviewers and hiring managers.

"The Availability service greatly simplifies development," says Kumar. "It provides secure and up-to-date access to free/busy calendar information, which is exactly what developers need when creating applications requiring collaboration and scheduling."

Automated E-mail Message Handling

Automated e-mail message handling was a key success factor for both development projects. WWBN developers benefited from using Exchange Server 2007 Web Services to monitor and handle responses for system mailboxes. The Recruiting Web development team used the e-mail listener feature to coordinate responses to outbound e-mail messages and meeting requests.

With the WWBN, the ability to monitor responses sent to what are otherwise unmonitored system mail boxes has helped prevent communication lapses that used to occur when a respondent inadvertently sent anything but the standard Accept\Decline response to a meeting invitation. By using Exchange Server 2007 Web Services, developers created the response handler application to automatically identify and respond to nonstandard responses.

Scheduling e-mail messages still include the reminder, "Don't respond to this e-mail," along with contact information if there are questions. But if someone does respond, asking for another time, for example, the application automatically sends a response, alerting that person to the fact the e-mail was sent to an unmonitored alias—while providing him or her with the contact information for the event organizer. "This is a huge advantage, because it guards against messages falling into a black hole," says Choudhury.

Because all communications are logged, the event organizers can also see when an inadvertent response was sent to the unmonitored alias and take send a follow-up e-mail message to the invited presenter.

"Creating the response handler by using Exchange Server [2007] Web Services was far easier and faster to do than if we had to do the same thing by using CDO code," Choudhury says. "The difference is like night and day. The Exchange Server [2007] Web Services were a big win for us."

Recruiting Web developers used the e-mail listener module and other components of the Recruiting Web messaging subsystem that monitors the system mailbox to track incoming e-mail messages against the message-response table within the RecWebDB. "We were able to gain the automated message handling we needed by using an ExchangeServerWebService wrapper and Exchange Server [2007] Web Services push notifications," says Kumar. "This helped us automate the basic interactions of the application, which is exactly what we had to do to achieve the proactive monitoring that Recruiting Web needed."

Improved Meeting Handling

The WWBN development team was able to use Exchange Server 2007 Web Services to handle problems of invitation sequencing that sometimes occurred with the earlier solution. Exchange Server 2007 has the ability to eliminate old meeting requests after an update has been issued. If a recipient responds to an earlier request before Exchange Server 2007 has cancelled the request, however, a problem sometimes referred to as "data collision" can occur and can leave an event organizer unsure if the acceptance was for the correct time.

"The problem occurs when someone sends out an invite, and then realizes that they used the wrong time, or has to make changes for any other reason," says Choudhury. "Exchange Server [2007] Web Services make it easy to handle out-of-date meeting invitations, so we were able to eliminate the problem."

 

Audit Trails

WWBN developers greatly enhanced e-mail message automation for the thousands of meetings that are organized each year for Microsoft Executive Briefing Centers around the world. They also gained an audit trail for all communications by using the CreateMeetingAndSendInvitations Exchange Server Web Service.

"When scheduling speakers for the Executive Briefing Centers, you have a high volume of meeting invites flowing out and they are going to a very important constituency—senior executives, product group managers, architects and other thought leaders—who are presenting to very important customers," says Choudhury. "Using Exchange Server [2007] Web Services helped us create an application that greatly reduces the chance of an error, while providing a complete audit trail."

Conclusion

Microsoft developers on two internal projects used Microsoft Exchange Server 2007 Web Services to enhance messaging and collaboration, while reducing the development time that would be required for integrating with Exchange Server without the benefit of Web services. WWBN and Recruiting Web developers took advantage of the seamless integration that Exchange Server 2007 provides for SOA-based infrastructures through use of Web services.

WWBN and Recruiting Web provide examples of how Exchange Server 2007 Web Services can be used to create applications that can automate messaging, including system-mailbox response tracking, exceptions handling, and alert generation to provide rich collaboration solutions.

For More Information

For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada information Centre at (800) 563-9048. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:

http://www.microsoft.com

http://www.microsoft.com/technet/itshowcase

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.