Managing the Calendaring and Collaboration Process By Using Exchange Server 2007 Web Services
Managing the Calendaring and Collaboration Process By Using Exchange Server 2007
Web Services
Technical Case Study
Published: October 23, 2007
|
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.
.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.
.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.
.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.
.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.
.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