Part I - Getting Started


Contents


Overview

BackOnline is a 100% JavaTM and web browser based client-server backup, archive and briefcase software, for the Internet and Intranets, that does not require any special backup devices (e.g. tape, zip) on the client machines because the data is stored on the server. On Intranets, BackOnline provides a cost effective backup solution for organizations since it does not require special backup devices for each user. On the Internet, it enables online service providers and other organizations to provide a secure Internet briefcase (or vault) solution to their users. Optionally, BackOnline can be used to archive unused data in a secure and compressed manner.

Since the BackOnline client and server are developed in 100% Pure Java, both run on most popular operating systems such as Microsoft Windows, Solaris, Linux, OS/2, and several others

The following diagram provides a high level view of the BackOnline framework:

The BackOnline framework is comprised of two main components, the server and the client. The BackOnline Server can be invoked as a command line application or as a GUI application. One BackOnline Server can potentially service hundreds of clients. The BackOnline Client can be invoked as a Java applet, Java GUI application or Java command-line utility.

The BackOnline Server, which will typically be up and running at all times, continuosly waits for incoming client requests. For every new client connection, the server authenticates the user id and password sent by the client and upon a successful login, the server provides a unique communication "channel" (or socket connection) to the client for additional requests such as backup, restore and so on.

From the client's perspective, the user can begin to perform operations such as backups, restores, searches, and more after a successful login has been established.

The data for the each user is stored on the server using the file system in the exact format sent by the client. In other words, the data might be encrypted, compressed, both, or neither -- the server has no knowledge of the format of the data, it simply treats the data as a stream of bytes which can be referenced by it's unique name (a combination of path name + object name).

Installation

The BackOnline software is typically installed in a directory structure shown in this figure:

As implied by the directory names, the client software is installed in the client sub-directory, while the server software is installed in the server sub-directory. The server can be started from the server directory and client software can either be invoked from the clientdirectory as a Java Application or the client directory can be copied under a web server and run as an applet inside a web browser.

Server Setup

The BackOnline Server is the first thing that should be setup since the BackOnline clients cannot operate when the server is not running.

To setup the server, the following steps need to be completed:

  1. Install the BackOnline Client software (see below).
  2. Start the server (see below).
  3. Test connecting to the server from the BackOnline Client (the database comes pre-configured with a default user: guest, password: letmein).
  4. Add new users in the database (see below).

Starting the Server

The server can be invoked in two modes, as a GUI application (shown above) or a command line application.

To start the server as a GUI application, switch to the backonline/server directory and simply type upstream. To start the server on the command-line, type upstream -run (see Client and Server Command Line Options for additional parameters). For Microsoft Windows users, you can also start the server, in either mode, from the Start menu.

The server can also be setup to start automatically when the operating system is booted (started). For example, on Windows NT/2000, the BackOnline Server can be setup as a Service; on Unix/Linux, it can be setup as a daemon process through the startup (rc) files. To setup BackOnline as a service on Windows, you can use the Windows Resource Kit from Microsoft or other freeware utilities (e.g. ServiceInstaller) that allow any program to be invoked as a service. Whether you are setting the BackOnline Server on Windows or Unix, the entire command line should look something like this (see the server/upstream.bat or server/upstream scripts for examples):

java -cp "upstream30.jar;idb.jar;servlet.jar;webserver.jar;xml.jar;jta-spec1_0_1.jar;jdbc2_0-stdext.jar;." com.freeback.upstream.server.app -run

A couple of notes about the above command line:

  1. The Java interpreter can be "java" or "jre" depending on which Java Runtime you are using (for more information on the Java Runtime, please visit http://java.sun.com/products/plugin/).
  2. Be sure to set the working/current directory for the above command to the BackOnline Server's directory (e.g. c:\Program Files\BackOnline\server).

The Server's Configuration File

When the server is started as a GUI application or on the command line, it obtains it's execution parameters from a configuration file (named upstream.ini by default) found in the directory the server is started from. In the GUI mode, these parameters can be overriden by simply specifying a new value in the appropriate fields prior to clicking on the "Start" button. Additionally, the GUI application allows the user to save the new settings in the configuration file. When the server is invoked on the command line, these parameters can be overriden by providing paramete:value pairs to the upstream script as shown here:

upstream init.server.port:333 runtime.trace.level:3

A complete list of these parameters is provided in the Appendices section.

Client Setup

The BackOnline Client can be invoked as an applet inside Java enabled web browsers such as Netscape Navigator and Microsoft Internet Explorer, as a stand alone GUI application (such as the MS-Windows' NOTEPAD program) or as a command line utility (such as the MS-DOS XCOPY utility). How the client is setup will depend on which mode the users will be operating it in.

IMPORTANT: For the applet and GUI application versions to perform most of their functions, the BackOnline Client configuration file must have the accurate server.host and server.port parameters (see The Client's Configuration File below).

The Client's Configuration File

The BackOnline applet and GUI application derive many of it's parameters from a configuration file (named backonline.ini by default) which can be edited via any text editor. Of these parameters, the BackOnline Server's host name (server.host) and port number (server.port) are the most cruicial ones as they must match the server's configuration in order for the client to communicate with the BackOnline Server. For a complete list of these parameters, see the Appendices section.

Setting Up the Client as an Applet

To use the BackOnline Client as an applet, you simply have to copy the backonline/client directory and it's sub-directories to a directory accessible by a web server. For example, if your server platform is Microsoft Windows, you installed BackOnline to c:\Program Files\BackOnline and you wish to setup BackOnline as an applet using Microsoft's IIS Web Server which uses C:\Inetpub\wwwroot as it's document root directory, you could issue the following command in a MS-DOS Command Prompt:

xcopy /s "c:\program files\backonline\client" c:\inetpub\wwwroot\backonline

The following figure shows the backonline/client directory (and it's help sub-directory) copied under a NCSA's web server's DocumentRoot directory (typically htdocs) using a more meaningful name such as "backonline" instead of "client".

When using the BackOnline Client as an applet, the software download/install/execution usually occurs in the order shown in the following diagram:

The BackOnline applet currently only works in Netscape Navigator 4.0 (also part of Communicator) or Microsoft Internet Explorer 4.0 or later versions of these browsers since the BackOnline applet needs to run as a "trusted" applet. Trusted (or signed) Java applets are not bound by the same restrictions placed on "untrusted" applets which cannot access a user's local disk or connect to hosts other than the one they were downloaded from. However, since BackOnline's primary function is to backup a user's local files, it needs to run as a trusted applet.

When a trusted applet is brought up for the first time on a user's machine, the user is presented with a dialog box requesting the user to grant priviliges to the applet. In Microsoft Internet Explorer, only one such dialog box is presented on which the user must click on the "Yes" button in order for the applet to operate correctly. In Netscape Navigator, the user is presented with two dialog boxes, one for granting local file access and the second for granting connect privileges -- the user must click on the "Grant" button on both dialog boxes in order for BackOnline to work.

Setting Up the Client as a GUI Application

To run BackOnline as an application, the user requires access to the backonline/client directory which can either be installed on each user's computer or on the network (e.g. Novell LAN). In either case, the user must switch to the backonline/client directory and type backonline. On Microsoft Windows, the user can also start BackOnline from the Start menu.

Setting Up the Online Help

The BackOnline client uses HTML for it's online help system. When running as a GUI application, BackOnline needs to know where the browser's program file is located. This can be done by pointing the "web.browser" keyword in the backonline.ini file to the browser's program file as shown in this example:

web.browser=c:/Program Files/Netscape/Communicator/Program/netscape.exe

Note, when running BackOnline as an applet, there is no need to specify the browser's location since the applet runs inside a web browser.

Setting Up the Client as a Command Line Utility

The command line version provides a way to run BackOnline in "batch" mode. To run BackOnline as a command line utility, the user requires access to the backonline/client directory which can either be installed on each user's computer or on the network (e.g. Novell LAN). In either case, the user must switch to the backonline/client directory and type the following command where the words specified in the angle brackets (<>) below are the user specific parameters passed to the BackOnline Client program:

backonline -run <FileSetFileName> <user> <password> <key> <host> <port>

The following are brief descriptions of parameters shown in the angle brackets above:

The User Database

BackOnline uses a database to maintain information about users. The BackOnline server comes pre-configured with the required tables as well as a default user account (user: guest, password: letmein). See Appendices for information on how to manage (add/delete/update) user records in the database.

The BackOnline product is shipped with InstantDB, a free Java relational database from Enhydra.org (for information on how to use InstantDB, please visit http://instantdb.enhydra.org/). Although the InstantDB database is bundled in, a different database system can be used provided the following conditions have been met:

  1. The database system must be JDBC capable
  2. The database tables required by BackOnline must exist in the database
  3. The JDBC driver files (e.g. JAR, ZIP or loose class files) must be included in BackOnline's CLASSPATH
  4. The BackOnline Server Settings must be configured to point to the new database

Each of the above four steps is described below.

1. JDBC Capable Database System

While most popular database systems (e.g. Oracle, Microsoft SQL Server, Informix, Sybase) are JDBC enabled, you might want to review your product's literature to ensure it can be accessed via JDBC. On Windows systems, non-JDBC enabled databases can be accessed via a JDBC-ODBC bridge, however a pure JDBC driver is recommended over using the ODBC bridge (for more information, visit http://java.sun.com/products/jdbc/).

2. Database Tables

The following three tables are required in order for the BackOnline client-server framework to operate correctly (see Appendices for the database schema and related information):

3. CLASSPATH

One of the most common problems in Java applications is the dreaded CLASSPATH -- it is extremely important that all the code, required for a Java application to execute correctly, be accessible via the CLASSPATH. For example, to add Oracle's JDBC driver, locate the "classes111.zip" file in the Oracle's software directories and add it to the CLASSPATH using one of the following ways:

4. BackOnline Server Settings

In order for BackOnline to know about the new database system, you will need to configure the appropriate keywords in the BackOnline Server Settings file, upstream.ini, as shown in the following example:

  init.server.db.jdbc.driver=oracle.jdbc.driver.OracleDriver
  init.server.db.url=jdbc:oracle:thin:@localhost:1521:orcl
  init.server.db.user=scott
  init.server.db.password=tiger

For more information on JDBC, visit http://java.sun.com/products/jdbc/.

Technical Support

To get technical support on BackOnline, please send an email to: support@VisualPatterns.com.


Copyright © Visual Patterns, Inc. All rights reserved.