Product Information About WORLDOX and the Company Behind It WORLDOX at Work WORLDOX Partners and Resellers WORLDOX Product Support
 
 
 

WORLDOX/Web®
Expanding The Enterprise

Document Management Beyond the Enterprise
WORLDOX/Web Product Overview
WORLDOX/Web Technical Overview
Conclusion

© World Software Corp. 1999
July 1999
Revision 3.0w

"WORLDOX/Web delivers to browsers a collection of web pages built from WORLDOX/Web page templates tagged in HTML with special data substitution variables. The embedded substitution variables are replaced with data and formatting information on the fly by the WORLDOX/Web server as the pages are delivered to the browser."

The information contained in this white paper represents the current view of World Software Corporation on the issues discussed as of the date of publication. Since World Software constantly seeks to exploit new technologies and changing market conditions, it should not be interpreted to be a commitment on the part of World Software. This White Paper is for informational purposes only. WORLD SOFTWARE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.


Document Management Beyond the Enterprise

WORLDOX/Web expands the award-winning WORLDOX® Enterprise Document Manager® beyond the enterprise, out past the corporate firewall into the sphere of open Internet standards. WORLDOX/Web provides browser-based access to the WORLDOX document repository and profile database from corporate intranets, extranets and the Internet.

Making your firm’s documents universally available—subject to user authentication, security classifications and encrypted file transfers—breaks down the barriers that separate workers from the accumulated store of knowledge possessed by the enterprise, closes the gap that divides clients from the resources you seek to provide them with, and opens the gates to information you want before the eyes of potential customers. With WORLDOX/Web the corporate website truly becomes an active portal into the valuable knowledge store of the organization.

WORLDOX/Web Product Overview

WORLDOX/Web is a run-time platform for the delivery of document management via Internet protocols. The primary WORLDOX/Web software resides on the HTTP server performing as a dedicated WORLDOX application server. The primary WORLDOX/Web server mediates between the web browser and the WORLDOX API via one or more WORLDOX/Web proxy servers.

WORLDOX/Web proxy servers run on workstations, typically located on the corporate network behind the firewall, but that may be running on any workstation with Internet connectivity. The WORLDOX proxies feature native load balancing and fail-over, supporting a high-performance, scalable architecture built on open standards.

Figure 1: WORLDOX/Web architecture overview.

The gateway to the Internet (or intranet) is a standard Internet HTTP Server, which passes along requests to the primary WORLDOX/Web server. WORLDOX/Web employs one or more proxy servers to process the requests and to serve up documents from the customer site’s document repository. While the proxies are typically within the corporate firewall, the WORLDOX/Web server runs outside the firewall in the same "space" as the standard HTTP (Internet) Server.

The proxy servers map to the document repository on the local network, providing the pathway needed by WORLDOX/Web to the customer site’s documents. This arrangement allows for the inclusion of multiple physical sites linked by a corporate WAN. For example, the corporate website, using WORLDOX/Web can incorporate documents at the Atlanta and Washington offices. Adding multiple document sites simply entails adding WORLDOX/Web proxies mapped to each site’s document repository and persistent connections between the document servers and the proxies.

WORLDOX/Web delivers to browsers a collection of web pages built from WORLDOX/Web page templates tagged in HTML with special data substitution variables. The embedded substitution variables are replaced with data and formatting information on the fly by the WORLDOX/Web server as the pages are delivered to the browser. Using the WORLDOX/Web Toolkit customer sites can create their own interface within their current web development environment. The Toolkit includes a set of HTML page templates that customer sites may employ as is, or may modify to fit with the look and feel of their existing web sites.

WORLDOX/Web consists of the WORLDOX/Web server software, a thin client, the collection of HTML page templates, and development tools and documentation—the WORLDOX/Web Toolkit.

Document Management Across the Web

WORLDOX/Web extends the reach and power of the WORLDOX document management system. WORLDOX users logging in remotely by browser are recognized and provided with the same document access and permissioning that they would have on the local network. WORLDOX users have similar access and security–to profile groups, folders, security classifications, and so on—across the Web as they do in the office.

And since WORLDOX/Web is a document management solution, not a web publishing engine, documents remain in their native format. There is no conversion process for documents. When serving up a document for viewing, WORLDOX/Web converts it to HTML on the fly, applying a just-in-time publishing model.

Rapid Development and Deployment

HTML pages can be assembled quickly using the page templates in the WORLDOX/Web Toolkit. The collection of pages implements a complete web-based document management solution including document searching, viewing, check in and check out, and other features. Customers that require a custom designed system can develop individualized HTML pages according to their requirements. Placing the completed pages on the HTTP Server makes them immediately available.

Scalability

WORLDOX/Web automatically balances the browser page requests from the HTTP server, allocating requests to available proxies to achieve the optimal balance. As the load increases, more proxies may be added. This architecture supports single-location sites, where the proxy server(s) is situated behind the firewall, and it scales effortlessly to multiple-location sites with geographically separated document repositories. The WORLDOX/Web proxy servers can be located anywhere that has Internet connectivity to the document repository. Thus, all proxies may be maintained at a single site, or may be distributed among office sites for improved performance.

Another advantage is that additional proxies may be deployed to handle sudden demand spikes, whether anticipated or otherwise.

Security

Security on the Internet is a critical issue—especially when firms make their work-product available over the public networks. WORLDOX/Web uses technology licensed from PKWare, Inc. to compress and encrypt all documents before serving them to the browser. Decryption at the local workstation occurs transparently in the background. In order to receive documents, users will require WORLDOX/Web client software (much as, for example, Adobe Acrobat Reader is required to view a PDF document, or the RealAudio player is necessary for playing RealAudio files).

User authentication is accomplished through standard WORLDOX user codes and passwords. However, a site can create one or more general access user codes with limited access for guests.

In addition to authenticating users, WORLDOX/Web authenticates individual WORLDOX/Web proxy servers using encrypted certificates.

If secure page transmission is required, then WORLDOX/Web can function within a SSL framework just as would a web application such as an e-commerce system.

Flexibility

WORLDOX/Web provides flexibility so that sites can design HTML pages to suit their business and communications needs. Authoring is supported by the use of data substitution variables and page substitution variables. Document information, such as document name, description, author, and so on, is displayed in pages by means of data substitution variables. Page variables equate to website design elements such as the company or website name, important contact information, and page attributes such as background color, button images, page banners, and other formatting elements.

WORLDOX/Web pages can provide advanced document searching capabilities to users, or, at the other extreme, may provide only pre-configured searches. Open scripting and a robust, extensible Toolkit allows for endless design variations and configurations.

WORLDOX/Web At Work…

A random web surfer visiting the Portland office’s website (or the Portland section of an overall corporate website) activates a link that displays a list of available documents, including corporate capability statements, press releases, and general communications. Any document may be selected for browsing, or can be downloaded for later review.

Another surfer visiting Portland’s site enters a valid WORLDOX user code plus password and views a web page displaying the list of documents that the user worked with at the office earlier that day. A Corel WordPerfect document is selected and checked out so that it can be worked on remotely. Later, when it is checked back in, it is immediately available—including any changes made remotely—to all authorized users on the company network.

The idea of "instant availability" works in both directions, as well. For example, suppose a secretary in the office is preparing a document for an attorney who is out of the office traveling. By logging in to the appropriate page in the office website and viewing the document, the attorney sees the current document produced by the secretary.

Figure 2: A page constructed from a WORLDOX/Web page template for Finding documents.

WORLDOX/Web Technical Overview

WORLDOX/Web leverages document management configuration information—such as security, document profile information, document management feature availability, and so on—the document repository, and the corporate Internet (or intranet) site using multi-tiered architecture based on open standards.

WORLDOX/Web Architecture

WORLDOX/Web consists of server and client software. The server software runs on the HTTP machine as the primary WORLDOX/Web server. It runs on workstations as WORLDOX/Web proxy servers. Additional software, the WORLDOX/Web thin client, is required for file transfers between the browser and the document management system, through WORLDOX/Web.

WORLDOX/Web also includes the collection of HTML page templates, and the WORLDOX/Web Toolkit, which provides utilities for configuring the servers and developing HTML page templates. The HTML page templates distributed with WORLDOX/Web form a standard interface consisting of HTML-based pages with JavaScript and inline substitution variables that are replaced with actual data values and formatting elements at run-time by the WORLDOX/Web server. The toolkit nature of the software allows for endless adaptation and variation.

Primary Server

The primary WORLDOX/Web server (wdwebsrve.exe) is the heart of the WORLDOX/Web environment, running on the same hardware as the HTTP Server (Microsoft Internet Information Server). The primary server runs in its own execution space as a service available to the HTTP Server.

Figure 3: Configuring the primary WORLDOX/Web server.

Calls to the WORLDOX/Web primary server occur through CGI calls to the wdwebcgi.exe executable, which resides in the HTTP server’s standard CGI program directory (cgi-bin). The primary server is in constant contact with the WORLDOX/Web proxies. The primary server passes along the request to the particular proxy that is best suited to respond to the request. With multiple proxy servers, the primary server applies logic that ensures optimal allocation of requests among the proxies.

The following HTML linking syntax shows how to serve a WORLDOX/Web page template, default.htm in this case, to the browser:

<a href="/cgi-bin/wdwebcgi.exe?SERVE&amp;HTMLOnOK=/default.htm">

Proxy Servers

Each WORLDOX/Web implementation requires at least one WORLDOX/Web proxy server in addition to the primary server. The proxy serves up documents for viewing or transfer from the WORLDOX document repository, and interacts with the WORLDOX API to carry out requested document management tasks (such as checking out a document).

WORLDOX/Web proxy servers run on workstation-class machines connected to a WORLDOX document repository and the primary WORLDOX/Web server. Connectivity, not physical location, is the primary consideration, thus allowing WORLDOX/Web proxy servers to be literally anywhere.

In most actual implementations each document repository will be serviced by one or more proxies on the local area network. By keeping the proxy server close to the data store, searches and other WORLDOX data access operations can be conducted locally, rather than "across the wire."

Lets examine an example of a firm with offices in two locations—Boston and New York. The Boston office is serviced by a single WORLDOX/Web proxy. Whereas the NY office, with more documents and more staff, has several WORLDOX/Web proxies working together.

Figure 4: WORLDOX/Web Proxy Servers located in individual offices.

When a client logs in to the firm’s website, and requests a document located in Boston, the WORLDOX/Web server passes along the request to the proxy in Boston.

If, however, the Boston proxy is busy, one of the New York proxies can serve the request. Note that this is less efficient than having the Boston proxy fulfilling the request because the proxy in Boston has, essentially, a shorter pathway to the documents.

WORLDOX/Web Page Templates And Toolkit

The WORLDOX/Web page templates form the core of the WORLDOX/Web Toolkit. Sites can deploy the pages as supplied by World Software to implement a standard web-based interface to their WORLDOX document management system. Or web developers can modify the pages, or create their own HTML pages.

The WORLDOX/Web Toolkit supports page template development with WORLDOX/Web-specific substitution variables. The substitution variables, enclosed in percent signs (%), provide the mechanism for passing specific WORLDOX metadata (such as document names and so on) from the server to the browser.

Page substitution variables provide high-level control over page authoring by allowing page designers to specify common elements for pages—such as title graphics, banners, toolbars, and so on—in just one place and propagate these elements through the WORLDOX/Web website.

The Toolkit documents all the available page and data substitution variables that can be inserted into page templates. The box above shows a JavaScript function for sorting file lists results. Note the use of the %wd_Sort_Key1% variable in the function.

State Maintenance

WORLDOX maintains context, or state, with the client by issuing a session ID token (SID). The SID is passed between the browser and the HTTP server via explicit embedding within the page templates or via the use of cookies. The SID is associated with the client’s IP address for an added layer of security.

WORLDOX/Web uses the session ID to maintain contextual consistency—who each user is, where they are logged in from, and so on. Since the WORLDOX/Web proxies, in effect, spawn a new WORLDOX task for each logged in user, all applicable WORLDOX settings and permissioning is maintained through the session ID. A configurable activity timeout is available so that WORLDOX/Web can automatically log out the station if the user fails to log out properly.

Requirements

WORLDOX/Web requires Microsoft Internet Information Server 4 or higher running on a Windows NT server. The proxies can run on any WORLDOX Indexer-class workstation (IBM compatible PC with a Pentium 166 MHz or higher; Microsoft Windows 95/98/NT; 128 MB or RAM).

WORLDOX/Web supports standard Windows web browsers such as Netscape 3.0 and above, and Internet Explorer 4.0 and above. These are the minimum browser revisions that are needed to support the client-side JavaScript scripting supplied with the Toolkit. However, sites may create WORLDOX/Web page templates appropriate for prior release-level browsers if there is a need to do so.

WORLDOX/Web Application Development Overview

Developing a custom-tailored WORLDOX document management web application with WORLDOX/Web consists of working with four elements:

  • WORLDOX/Web page templates
  • data substitution variables
  • page substitution variables
  • WORLDOX/Web server actions

As with any software development project, the first step is to clearly define and delineate the goals and objects for the WORLDOX/Web website. Once that is done, state the document management requirements necessary to meet those goals. The document management functions are then broken out so that they can be mapped to individual HTML pages (much like defining screens or dialogs for a workstation-based application).

When defining the pages, look at each action and create individual pages to handle success and to handle failure. WORLDOX/Web reads a table (shown in Figure 6) that lists OnOK and OnFail page templates for each condition resulting from a server action. This collection of pages becomes the WORLDOX/Web application website.

Figure 5. Associate specific page templates with success or failure of defined server actions.

Developing Page Templates

Since WORLDOX/Web embraces Internet standards, site developers authoring HTML page templates can use the tools and techniques they currently employ. Extensible authoring environments, such as Macromedia DreamWeaver and Allaire’s HomeSite, may be configured to directly support inclusion of WORLDOX/Web page elements.

WORLDOX/Web is designed to coexist within your existing web application space. So, for example, if you have created a commercial system with a tool such as ColdFusion or Drumbeat, you can include WORLDOX/Web page templates and functionality as you would any other standard web page features (such as audio and video, for example).

Data Substitution Variables

The page templates are not displayed directly by the browser. The server essentially recreates the template pages on the fly, streaming them to the browser after substituting variables that relate to server-side data. Templates indicate variable text by enclosing it with percent signs: %wd_variable%.

For example, the section that returns a file in the result list appears as follows:

<a href="/cgi-bin/wdwebcgi.exe?VIEWFILE&File_Index=3&List_FileOffset=%wd_List_FileOffset%&CGI_PageID=%wd_CGI_PageID%&File_RecNum=%wd_File_RecNum[3]%">
%wd_File_Filename[3]%</a><b>%wd_File_Xname[3]%</b><br>
%wd_Label_Created[3]:% %wd_Created[3]% %wd_Label_File_Updated[3]:% %wd_File_Updated[3]%%wd_Label_File_Size[3]%%wd_File_Size[3]%<br>
%wd_File_Comments[3]%

Virtually all the document profile information (metadata) from the network-based WORLDOX document management system is available to WORLDOX/Web as data substitution variables.

WORLDOX/Web Page Substitution Variables

WORLDOX/Web employs page substitution variables for page authoring. Page substitution variables are replaced by the server with elements such as text and image references. Since page substitution variables are managed centrally, site developers can quickly and easily make changes sitewide by changing a single value at a single location. WORLDOX/Web page substitution variables offer flexibility in designing and maintaining customized page templates, including elements like:

    • Background color
    • Background image
    • Button images
    • Prompt text
    • Company name
    • Company logo image

For example, a page substitution variable named AdminContact, may hold the value "Fred Grossman." Wherever the variable %wd_AdminContact% appears in the WORLDOX/Web pages templates, the value "Fred Grossman" is substituted when the page is served to the browser.

The Toolkit documents the available data and page substitution variables, their properties, the scope of values allowed, and the conventions for specifying them.

WORLDOX/Web Actions

WORLDOX/Web takes its marching orders from parameters passed through the HTTP Server using the open CGI protocol. Most pages pass information to the WORLDOX/Web server through use of standard HTML forms. Using forms, the page uses a POST action to populate individual CGI variables, or uses PUT to pass a command line string with embedded variables.

This can also be done via HTML hyperlinks or programmatically with JavaScript, as follows:


location.href="/cgi-bin/wdwebcgi.exe?PAGEFILES&CGI_PageID=%wd_CGI_PageID%&File_Index=%wd_FileIndex%&List_FileOffset="+newOffset+"&List_FileStep=%wd_List_FileStep%&+taget=_top";

Conclusion

For sites using WORLDOX, or for sites considering adopting the WORLDOX document management platform, WORLDOX/Web offers a clear path for expanding the role and reach of document management beyond the edge of the enterprise. WORLDOX/Web leverages existing infrastructure on both sides of the corporate firewall to safely and securely deliver critical corporate knowledge to remote staff, collaboration partners, potential customers and anyone else who has a stake in the enterprise.