hide random home screenshot http://www.expersoft.com/xshell_lit/usersguide/ch1.html (World Wide Web Directory, 06/1995)

Chapter 1 From the XShell Release 3.0.6 User's Guide

XShell Users Guide

Chapter 1 Overview of XShell

1.1 Introduction

XShell is an open, object-oriented programming environment that dramatically simplifies the process of developing distributed systems. XShell handles a large set of tasks that are normally associated with network programming. For example, XShell transparently takes care of network and communication protocols, as well as the differences between machine architectures. This allows you to focus on your application's functionality, rather than on the difficult and tedious aspects of network programming.

XShell creates what might be called an illusion of locality: remote objects and services appear to be local. This allows you to think of the network as one large unified computing resource. XShell doesn't force this illusion on you, however. You can explicitly deal with the underlying reality whenever you need to do so. For example, XShell provides an easy-to-use event handler mechanism that will notify the local program when a remote server node goes down (perhaps because of a network failure). In this respect, you will want your program to be aware that there actually is a network, so that the code will be fail-safe. However, once you set up the event handler, you can go ahead and use the remote server as if it were a local object.

XShell supports all distributed application architectures. You can build complex systems that use client/server and peer-to-peer topologies in any combination. Complex objects can be passed among distributed system components. If those objects contain links or references to other distributed objects, the entire structure will be correctly reconstructed at the destination node. It is even possible to dynamically replace one executable subsystem with another while the overall application is running.

XShell is an open system that can be used with a large number of different GUI technologies, database systems, compilers, and other software packages. XShell's preprocessor supports a small number of simple, natural extensions to C++ in order to provide distributed computing services. Only your class interfaces are affected, not the implementation code. No proprietary compiler or language is required. You can easily integrate XShell applications with third party software, such as existing C libraries. Furthermore, you can extend or replace all XShell system interfaces.

XShell also provides a set of tools that allow you to interactively administrate and control distributed systems. GUI tools are provided to startup and manipulate system components, register components to run on specific machines (if desired), and to set up secure systems.

Section 1.2 is here.

Return to Table of Contents

Return to Corporate Backgrounder