The CML's client side is thin, consisting primarily of the browser on the library user's computer. Most of what users actually see and work with is HTML from the CML's ASP pages. User input is processed by both client-side and server-side script; both JavaScript and VBScript are used. The CML makes special use of such HTML elements as <DIV> tags and IFrames.
The CML's several COM components, written in Microsoft Visual Basic, have no user interface.
The CML uses an RDS ActiveX control that communicates through ActiveX Data Objects (ADO) with the CML's SQL Server™ database. This control contributes to the CML user interface by displaying search results and letting users click item titles to obtain more information. Its functionality is mainly for data access, so it is discussed in CML Data Access Using RDS within the Coding CML Database Access section.
Note The CML application does not launch multiple windows when it shifts from one page to another. One use for this behavior would be for simultaneously examining information on different library items. If that were done, the application should open the new window using attributes visibly different from the original window to clearly alert the user that a new page has appeared. Adding this functionality would be an enhancement. For other ideas, see Future Enhancements.
The following topics describe aspects of the CML user interface, with the exception of the RDS control.
Although the CML application does not overtly support TCP/IP by, for example, making calls to WinSock, most of its communication is still within TCP/IP. This takes place automatically through IIS. CML clients must support TCP/IP to run the browser. Communication between the user-services and business-services tiers uses HTTP, and HTTP (like SMTP and NNTP) is in the TCP/IP family. Between the business-services tier and the data-services tier, the CML application uses LDAP (part of TCP/IP) to retrieve data from the directory of Microsoft Exchange Server.