Programming Microsoft Outlook and Microsoft Exchange, Second Edition (DV-MPS Programming)
As a developer preparing to build a messaging, tracking, workflow, real-time, or knowledge management application for Exchange Server, your first question is: "Which client interface should I use—Microsoft Outlook or a web browser?" The answer depends on a number of factors.
You need to ask yourself a few questions. For example, does the application need offline support? If the answer is yes, consider using Outlook, which has built-in support for offline forms, and which automatically synchronizes any offline changes to Exchange Server. Compare this functionality to the web browser client, which has limited support for offline forms. Web browsers can cache web pages for offline viewing, but they cannot process server-side scripts such as Active Server Pages without a web server on the local machine. The typical user does not have a web server on a local machine.
Non-Win32 client support, such as Windows 3.1, Microsoft Windows for Workgroups, Macintosh, and UNIX, is another factor to look at when designing applications. The ubiquity of web browsers for multiple operating systems has enabled web-based applications to provide cross-platform client support. Although Microsoft Outlook runs only on Windows 95, Windows 98, and Windows NT, new technology enables Outlook forms to be converted to web-based applications. This technology, called the Outlook HTML Forms Converter, is discussed in detail in Chapter 8.
Your skill as a developer is another factor to consider. Microsoft Outlook offers a very approachable development environment, even for the novice developer. It also provides built-in capabilities that allow power users or developers to customize an application without writing any code—very appealing to those who want to meet a specific need quickly and avoid creating an application from scratch.
If you are more familiar with other development tools, consider that Exchange Server exposes its services through a rich API that can be called from any development environment that supports COM. Some examples of these development environments include Microsoft Visual Basic, Microsoft Office (through Microsoft Visual Basic for Applications), Microsoft Visual C++, and Microsoft Visual J++. This environment flexibility allows you to leverage the tools and skills you currently have.