|
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.
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
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.
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.
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
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
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&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.
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.
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";
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.
|