Lesson 1: The Microsoft Web Storage System

The Web Storage System consolidates file system, database, and collaboration services into a single, comprehensive server system. You can access Web Storage System resources using nearly any application, including Messaging Application Programming Interface (MAPI)-based clients, Web browsers, and standard Win32 programs, such as Microsoft Word. Exercise 5 of Chapter 1, "Introduction to Microsoft Exchange 2000 Server," illustrated how to work with messaging items using WordPad, for instance.

This lesson provides a summary of the Web Storage System. It looks at ways to access system resources, introduces Web Storage System features, and explains the purpose of property promotion.


At the end of this lesson, you will be able to:

  • Describe how access to Web Storage System resources is accomplished.
  • Use available interfaces to retrieve Web Storage System data.

Estimated time to complete this lesson: 30 minutes


HTTP-Based Interfaces

The Web Storage System relies on Windows 2000 Server and Internet Information Services (IIS) 5.0 to support Web browsers and WebDAV applications by means of HTTP, WebDAV, and XML. You don't need to configure anything extra on the server to provide your users with access to mailbox and public folder resources. As illustrated in Exercise 2 of Chapter 22, "Microsoft Outlook Web Access," every item in the Web Storage System is accessible through a URL.

NOTE


E-mail messages have an .eml suffix attached to the subject name, which must be provided in the URL. Standard files, such as a Microsoft Office application files, are identified with their file extension (.doc, .ppt, .xls). Contact objects and other special items do not have an extension by default.

Data Rendering

When accessing data through Windows Explorer and Web Folders, you can work with Exchange 2000 Server similar to a file server. When accessing the same information using a Web browser, a different view of the information is generated. The Web Storage System determines the appropriate view based on HTTP Translate header information, which the client sends to the IIS, and the requested item's state. An HTML 3.2 view is rendered and returned to standard Web browsers. The view displays properties promoted from each item in the folder. HTML 4.0 is supported for advanced Web browsers, such as Microsoft Internet Explorer 5.0. The Web Storage System returns Web pages and HTML-based views to browsers only. All other clients must render the data themselves. HTTP/WebDAV provides direct access to folders and items, as discussed in Chapter 11, "Internet-Based Client Access."

Item Properties

XML simplifies querying and modifying of item properties and other information contained in the Web Storage System. Properties are based on various XML namespaces that group similar properties together and ensure their uniqueness. When you access a property, you must specify the desired namespace followed by the actual property name. For instance, the DAV: namespace has a property called displayname that allows you to retrieve the name of an item. Another important DAV property is href, which holds the complete URL for an item. To access properties, programmers need to specify the full property reference, which is commonly known as the schema property name, such as DAV:displayname or DAV:href.

Another interesting namespace is urn:schemas-microsoft-com:xml-data:. This namespace allows you to define your own custom properties. You can also create custom namespaces. Detailed information about namespaces is available in the Exchange 2000 Server SDK.

IMPORTANT


Property names are case sensitive.

Database Interfaces

The Web Storage System provides an Exchange OLE DB provider (ExOLEDB), which supports record-level access to messaging information. Applications can use OLE DB and ADO 2.5 interfaces to communicate with ExOLEDB. If ADO is used, the ADO run-time DLLs respond to the source application's request to open a record set by communicating with OLE DB. Otherwise, the call is directly passed to OLE DB run-time DLLs, which in both cases send the request to the OLE DB provider (see Figure 23.1). ADO is installed with Windows 2000 Server. ExOLEDB comes with Exchange 2000 Server.

ExOLEDB is a server-side component that is registered automatically during the installation of Exchange 2000 Server. It is important to note that ExOLEDB can only be used directly on the local server. ASP applications, ActiveX DLLs and EXEs, as well as event sinks running on the server, may use this provider to access local resources and return the information to remote clients. To access remote resources, however, HTTP/WebDAV or MAPI need to be used.

click to view at full size

Figure 23.1 Implementation of the ExOLEDB provider

Exchange 2000 Server and Structured Query Language

ADO 2.5 gives you access to the Web Storage System similar to Microsoft Access or Microsoft SQL Server. If you are familiar with developing structured query language (SQL) applications, you can easily write Web Storage System applications using the same development tools. In fact, you can access multiple database management systems (DBMS) similarly from a single application. However, Exchange 2000 Server only supports local transactions because a distributed transaction coordinator (DTC) is not implemented. In plain English, distributed transaction processing, such as between SQL Server and IBM DB2, cannot include Exchange 2000 Server. Separate transactions are necessary.

NOTE


Database applications can access both Exchange 2000 Server and SQL Server simultaneously.

Exchange 2000 Server supports SQL commands. To open record sets to work with individual items, use the record object. Furthermore, ADO 2.5 supports a fields collection to access item properties and define custom properties. An ADO streams object also exists, which allows you direct access to an item's content.

The following Microsoft Visual Basic Scripting Edition (VBScript) example uses ADO in conjunction with a SQL statement to retrieve the list of top-level public folders from the MAPI-based public folder hierarchy (you can find this script in a file called TopLevelFolders.VBS in the \Sample_Scripts\Chapter23 folder on the Supplemental Course Materials CD):

 strUrl = "file://./backofficestorage/bluesky-inc-10.com/PUBLIC FOLDERS" Dim ADOConn Set ADOConn = CreateObject("ADODB.Connection") ADOConn.Provider = "ExOLEDB.DataSource" ADOConn.Open strUrl Set RecSet = CreateObject("ADODB.Recordset") Dim SQLStat SQLStat = "select ""DAV:displayname"", ""DAV:contentclass""" SQLStat = SQLStat & ", ""DAV:href"" from" SQLStat = SQLStat & " scope('shallow traversal of """ & strUrl & """')" SQLStat = SQLStat & " where ""DAV:ishidden"" = False" SQLStat = SQLStat & " and ""DAV:isfolder"" = True" RecSet.Open SQLStat, ADOConn Do While Not (RecSet.EOF)         strFolderName = RecSet.Fields("DAV:displayname")         If Trim(strFolderName) = "" Then             Exit Do         Else             MsgBox "Folder Name: " & strFolderName, 64, "Top-level Folder"             RecSet.MoveNext         End If Loop 

NOTE


You can use any Component Object Model (COM)-compliant programming language, such as VBScript, Microsoft Visual Basic, or Microsoft Visual C++, to develop ADO or OLE DB applications. ExOLEDB is a COM+ component.

Constructing OLE DB URLs

The Exchange OLE DB provider supports HTTP and file URL namespaces to identify items in the Web Storage System. The HTTP URL follows the usual format, such as http://bluesky-srv1/Exchange/Administrator/Inbox/. However, you need to keep in mind that the ExOLEDB provider cannot access remote resources. Because ExOLEDB must bind to local items, it is a good idea to use file URLs in your program code, such as file://./backofficestorage/bluesky-inc-10.com/PUBLIC FOLDERS. This URL points explicitly to the local server. Furthermore, file URLs do not require you to configure virtual directories beforehand. For instance, if you have created an alternate public folder hierarchy in your test environment, you can access it right away using a URL similar to the following example: file://./backofficestorage/bluesky-inc-10.com/Alternate Tree.

OLE DB URLs have the following general format:

 file://./backofficestorage/<domain name>/<MBX for mailboxes or the name of the public folder  hierarchy>/<user alias or name of public folder>/<name of sub-level folder> 

NOTE


The Exchange OLE DB provider registers the namespace file://./backofficestorage with the OLE DB root binder. You do not need to specify ExOLEDB explicitly when using file://./backofficestorage URLs with OLE DB or ADO. However, creating connection objects explicitly increases the readability of your code.

Exchange Installable File System

As mentioned earlier, you can use standard Win32 applications to read and write files directly in the Web Storage System. An Exchange Installable File System (ExIFS) driver allows you to access message streams using functions from Microsoft Win32 file APIs, such as CreateFile, ReadFile, and WriteFile. Item properties are inaccessible, but they can be retrieved using ExOLEDB, HTTP/WebDAV, or MAPI. You can examine a message stream when opening an item via ExIFS in Notepad. Message streams are encoded in Multipurpose Internet Mail Extensions (MIME).

Sharing Exchange 2000 Server Resources

By default, Exchange 2000 Server maps the local M drive to ExIFS. If M is already in use, the next available drive letter is taken. The ExIFS hierarchy starts with a folder that is named according to your Exchange 2000 Server organization, followed by sublevel objects called Public Folders and Mbx. If alternative public folder hierarchies have been created, they will be listed at this level as well.

In the same way that you can share ordinary directories on the server for access over the network, you can share Exchange 2000 Server resources. Unfortunately, these network shares are lost during a server reboot. ExIFS does not preserve the configuration, which requires you to recreate the network shares after each server restart. A batch file can simplify the task of recreating network shares by using net share commands. You may find it more convenient to share Exchange 2000 Server resources via HTTP/WebDAV and use Web Folders to access the repositories, as illustrated in Exercise 5 of Chapter 11, "Internet-Based Client Access."

Application and Data Repository

Direct file access through ExIFS allows you to store Web pages and other elements directly in public folders and then launch them via URLs and HTTP. In this way, you can implement and deploy entire collaboration applications in the Web Storage System (see Figure 23.2). Rather than creating virtual directories on the server's local file system, you can create virtual directories in the Web Storage System. To manage virtual directories, use Exchange System Manager, as explained in Chapter 22, "Microsoft Outlook Web Access."

click to view at full size

Figure 23.2 Implementing collaboration applications in the Web Storage System

Installing collaboration applications in the Web Storage System provides the following advantages:

  • Access to applications can be managed using Exchange System Manager. The Web Storage System is fully integrated with Windows 2000 security and file system infrastructures. Security features are discussed in Chapter 19, "Implementing Advanced Security."
  • All application services can be integrated in a single location, making it easier to find, use, and share information.
  • Applications installed in public folders can be replicated to other servers for load balancing and increased fault tolerance.
  • Backup and restore procedures and ongoing maintenance tasks are centralized. Administrators need to configure, monitor, and back up only one type of server.
  • Collaboration applications can benefit from advanced system configurations, such as Windows 2000 active/active clustering.
  • The Web Storage System supports transaction logging and ensures data integrity through redundancy.
  • Users can employ a wide variety of client applications to access collaboration applications.

Internet and MAPI-Based Messaging Clients

The Web Storage System relies on the Information Store service, and for that reason, most Web Storage System information is accessible for MAPI-based clients as well as Internet mail clients, such as Microsoft Outlook Express. Collaboration solutions implemented in public folders may also be accessed using newsreaders, as explained in Chapter 11, "Internet-Based Client Access."

IMPORTANT


The Web Storage System is not MAPI dependent. Exchange Interprocess Communication (ExIPC) mechanisms are used to communicate with the Information Store service (see Chapter 3, "Microsoft Exchange 2000 Server Architecture").

Automatic Property Promotion

Information stores consist of an Exchange database (.edb) and an Exchange streaming database (.stm). Data streams from non-MAPI applications are written to the Exchange streaming database in MIME format, as explained in Chapter 20, "Microsoft Exchange 2000 Server Maintenance and Troubleshooting."

The Information Store service parses the item streams for known properties, which are promoted to the .edb database to support MAPI-based applications, such as Microsoft Outlook 2000 (see Figure 23.3). This process is known as property promotion and was illustrated in Exercise 1 of Chapter 21, "Microsoft Outlook Forms Environment."

Automatic property promotion eliminates the need to open and close documents and other items to view and access data. Integrated and custom views, available in Outlook 2000 and OWA, provide an easy and efficient way to display, sort, and manage items. A folder view gives an item summary at a glance and helps to enhance your productivity. Property promotion is supported for MIME-based messages and Microsoft Office documents.

click to view at full size

Figure 23.3 Promoted custom properties in a folder view



MCSE Training Kit Exam 70-224(c) Microsoft Exchange 2000 Server Implementation and Administration
MCSE Training Kit Exam 70-224(c) Microsoft Exchange 2000 Server Implementation and Administration
ISBN: N/A
EAN: N/A
Year: 2001
Pages: 186

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net