Detailed installation instructions are provided by the FARGOS/VISTA Installation Guide. The current copy can be downloaded from:
http://www.fargos.net/documents/manuals/VISTAinstall.pdf.
The root of the installation will be pointed to by the VISTA_ROOT environment variable. The name of the current platform must be set in the VISTA_UNAME environment variable. Supported platform names include: OpenBSD.i386, Darwin.x86_64, Linux.x86_64, Linux.s390x, Linux.armv7l, SunOS.sparc, Windows.mingw64, etc.
Platform-specific code will be found under the directory corresponding to the value of VISTA_UNAME. Architecture-neutral files, such as documentation, configuration files, Native Language Message catalogs, and Object Implementation Language 2 Architecture Neutral Format object code will be found in other top-level directories.
Often, one will desire to run a few simple tests to verify the proper installation of a new distribution. Possible tests include performing some performance measurements and verifying the operation of persistent objects. An OIL2 ANF file with several test cases is provided in the distribution as $VISTA_ROOT/oil2anf/clTest.o2o.
The following FARGOS/VISTA rc file will dynamically load the test code and run an application that creates a large number (1000000) of threads.
LoadOIL2File "file:$VISTA_ROOT/oil2anf/clTest.o2o" TimeRPC 1000000
If the above was saved in a file "test1.vrc", then the test could be run by opening a command shell window and issuing:
vista test1.vrc
FARGOS Development, LLC always appreciates new data points, so feel free to report your timing results to webmaster@fargos.net. A complete report would include:
The operation of persistent objects can be tested using the FARGOS/VISTA rc file below:
LoadOIL2File "file:$VISTA_ROOT/oil2anf/clTest.o2o" PeerRegistry AcceptPeerConnections tcp:0.0.0.0:8765 Test1Persist PersistenceService
This test is most easily performed using two distinct command shell windows. If the above was saved as the file "test2.vrc", it can be run by the command:
vista test2.vrc
The test application will wait 30 seconds, then look for a well-known object, which is supposed to be persistent. If the object is not found, it will be created. Regardless of whether or not the object was found or created, after the initial 30 second delay the test object will be sent a message every second to increment a count.
In the second command window, start the persistent object database daemon and have it connect to the now running FARGOS/VISTA Object Management Environment:
OMEpersistd tcp:localhost:8765
After the database has connected to the FARGOS/VISTA Object Management Environment, let the vista process run for a little while and note the ever increasing count. At the time of your choosing, kill the vista process (typically by typing <Control>-<C>). The OMEpersistd process will terminate on its own.
Now, redo the procedure: first start the vista process (vista test2.vrc) and then immediately (within 30 seconds) start the persistent object database (OMEpersistd tcp:localhost:8765). NOTE: if you are a slow typist, we suggest that you type both commands in their respective windows, but refrain from pressing <ENTER>. Then, go back and press <ENTER> in the window that starts the vista process, then move to the OMEpersistd window and press <ENTER> there as well. The 30 second delay should be plenty of time to enable you to move from one window to the other and press <ENTER> a second time.
On this second (or subsequent) iteration, the persistent test object will be restored automatically the first time it is referenced. Consequently, the test application will find a pre-existing object and it will not create a brand-new test object. As a result, when the increment requests are issued, the count will continue from the last value which was saved, not from zero.
The $VISTA_ROOT/config directory contains a localHTTP.vrc rc file that starts up an HTTP server. Start the FARGOS/VISTA Object Management Environment:
vista $VISTA_ROOT/config/localHTTP.vrc
Then, connect using a World Wide Web browser to port 4321 and request the creation of a new object browser session:
http://localhost:4321/debug/newBrowser
Using the same localHTTP.vrc rc file above, WebDAV support can be tested using current versions of Microsoft Internet Explorer. Start an Internet Explorer session, then go the menu bar and select File then Open. Enter: http://localhost:4321/vista as the URL to Open and check the "Open as Web Folder" box before clicking the <OK> button.
Simple Mail Transfer Protocol (SMTP, see RFC 2821) and Post Office Protocol version 3 (POP3, see RFC 1939) servers are provided as demonstration FARGOS/VISTA applications.
The $VISTA_ROOT/demos/smtp directory contains a smtp.vrc rc file that starts up an integrated set of HTTP, SMTP and POP3 servers. Start the FARGOS/VISTA Object Management Environment:
vista $VISTA_ROOT/demos/smtp.vrc
A user's email will be stored using persistent objects. Start an OMEpersistd process that will provide storage services for mailboxes:
OMEpersistd -name mailboxes tcp://localhost:8433
Then, connect using a World Wide Web browser to port 5555 and retrieve the email mailbox administration page:
http://localhost:5555/mailboxAdmin.html
Create a new mailbox for an imaginary user, such as "testuser". Test by configuring an email client, such as Microsoft Outlook, to use the vista daemon as an SMTP and POP3 server. The demonstration SMTP services are provided on port 5025 and corresponding POP3 services are provided on port 5110, thus preventing any conflict with any pre-existing production services. Once the email client has been configured, send an email to the imaginary user at localhost (e.g., testuser@localhost). Then retrieve new email from the POP3 server—the email should be downloaded. Delete the email whenever desired.
For further testing, kill the vista daemon and restart the test from the beginning. This time, the account for the test user will already be present because it was saved persistently. Send an email message again, then kill the vista daemon. Restart everything again and retrieve the mail from the POP3 server. Because the mailbox was saved persistently, the data was not lost.
The game Distributed StarShip is provided as a demo (see http://www.fargos.net/starship.html for details and required browser capabilities, namely Macromedia's Shockwave Flash or Scalable Vector Graphics). It can be run on a local system either as a standalone game or as an extra processor for the game running on www.fargos.net. Regardless of the choice, the current working directory should be set to $VISTA_ROOT/demos/starship before starting the vista daemon with the selected rc file.
cd $VISTA_ROOT/demos/starship
The rc file $VISTA_ROOT/demos/starship/localPrimary.vrc will create a standalone Distributed StarShip game on the local system.
vista localPrimary.vrc
To play the game using the local primary server, connect an SVG-capable web browser to the local system:
http://localhost:4321/starshipLogin.html
Alternatively, the rc file $VISTA_ROOT/demos/starship/fargosSecondary.vrc can be used to run a local FARGOS/VISTA Object Management Environment daemon that connects to the current game running on www.fargos.net. After a connection is established, a portion of the game universe will be downloaded and delegated to the local system. Kill the local vista daemon whenever desired. Since the game was designed to be fault-tolerant, it will survive the unexpected removal of your server.
vista fargosSecondary.vrc
To play the game, connect an Flash- or SVG-capable web browser to the local system:
http://localhost:4322/starshipLogin.html
A demonstration of the FARGOS/SolidState™ HTTP adapter is provided in the directory $VISTA_ROOT/demos/solidState. Usage instructions can be found in the README.html file resident within that directory.
The following documentation will be of assistance with respect to understanding and using the FARGOS/VISTA Software Development Kit. They are all available from the FARGOS Development, LLC downloads page:
http://www.fargos.net/downloads.html
FARGOS/VISTA Object Management Environment Programmer's Reference
FARGOS/VISTA Object Management Environment Classes (included with each FARGOS/VISTA SDK distribution under $VISTA_ROOT/classDoc)
Object Implementation Language 2 Reference
An Introduction to Programming using OIL2
FARGOS/VISTA HTTP Server Programmer's Guide
FARGOS/SolidState HTTP Server Adapter