Application Broker
Application Broker
Application Broker
Application Broker
This publication is protected by copyright and all rights are reserved by SoftVelocity Incorporated. It may not, in whole or part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without prior consent, in writing, from SoftVelocity Incorporated. This publication supports Clarion. It is possible that it may contain technical or typographical errors. SoftVelocity Incorporated provides this publication as is, without warranty of any kind, either expressed or implied.
SoftVelocity Incorporated 2335 East Atlantic Blvd. Suite 410 Pompano Beach, Florida 33062 (954) 785-4555 www.softvelocity.com
Trademark Acknowledgements: SoftVelocity is a trademark of SoftVelocity Incorporated. Clarion is a trademark of SoftVelocity Incorporated. Btrieve is a registered trademark of Pervasive Software. Microsoft, Windows, and Visual Basic are registered trademarks of Microsoft Corporation. All other products and company names are trademarks of their respective owners.
Chapter 1
Introduction
Contents:
1 - Introduction ..............................................................................................5
What is the Application Broker?.......................................................................................... 5 What Youll Find in this Book .............................................................................................. 6
Index:
..................................................................................................29
Application Broker
Chapter 1
Introduction
1 - Introduction
Welcome! This book contains information on installation and setup of the Application Broker for applications created with both Internet Connect as well as Web Builder extensions. The Application Broker is supported on Windows 95/98, Windows NT, Windows 2000, and Windows XP.
There are two types of application brokers available. The Standard Application Broker is recommended for testing and deploying your Web-enabled application on any Web server. The SE (Service Edition) Application Broker provides SSL support, and can optionally be installed as NT service under Windows NT/2000/XP.
Application Broker
Chapter 1
Introduction
Documentation Conventions
Typeface Conventions
Italics Boldface
Courier New
Indicates what to type at the keyboard, such as Enter This. It also indicates information displayed in a windows title bar. Indicates commands or options from a pulldown menu or text in a dialog window. Used for diagrams, source code listings, to annotate examples, and for examples of the usage of source statements.
Keyboard Conventions
F1 ALT+X Indicates a single keystroke. In this case, press and release the F1 key. Indicates a combination of keystrokes. In this case, hold down the ALT key and press the X key, then release both keys.
Application Broker
Chapter 2
General Setup
2 - General Setup
System Requirements
Server System
You can run the Application Broker and Web-enabled applications on Windows 95/98; however, we strongly recommend using Windows NT, 2000 or NT to host the deployment. Windows 95/98, 64 Megabytes of RAM recommended, static connection to Internet/Intranet. Windows NT,2000, and NT, 128 Megabytes of RAM recommended, static connection to Internet/Intranet. Performance depends on the speed of your servers connection to the Internet and the traffic you expect your application to handle. Applications can be delivered over a 28.8 kb modem connection, but we recommend ISDN or higher.
Client System
Clients can run a WebBuilder application under any platform for which a JavaScript Internet browser is available. A Javaenabled browser is required for an Internet Connect program. The applications that you develop with Clarion 6 Enterprise Edition will execute comfortably on computers that meet only the minimum requirements for these browsers. Performance is affected by the speed of the connection to the Internet, but most applications will perform well over a 28.8 kb modem connection.
10
Application Broker
Recommended Browsers:
Although Web-enabled applications should work under any browser, the following browsers have shown the best results.
Windows 95/98/NT/2000/NT
Microsoft Internet Explorer 3.02 or later Netscape Navigator 3.0 or later. Netscape Communicator 4.0 or later. (Version 4.04 introduced fixes that improve performance.)
Windows 3.1x
Microsoft Internet Explorer 3.02 or later. Netscape Navigator 3.0 or later. Netscape Communicator 4.0 or later.
UNIX
There are many flavors of UNIX and some of these have browsers written specifically for them. There are too many to list here. See Netscapes Home page at http://www.netscape.com for more information. Netscape Navigator 3.01 or later. Netscape Communicator 4.03 or later.
Apple/Macintosh
Microsoft Internet Explorer 3.0x or later. Netscape Navigator 3.0 or later. Netscape Communicator 4.0 or later.
OS/2
Netscape Communicator 4.0 or later.
Chapter 2
General Setup
11
This window simply notifies you that in order to install the SE Application Broker as a service, you need to have the appropriate rights to do so. There are no other special windows in this standard install. Accept the License Agreement, enter a valid serial number, and choose the destination that the broker will be installed to. In Chapter 4, we will describe in detail the configuration steps needed after the install.
12
Application Broker
Chapter 3
13
If you specify the port number on the command line, you cannot change it in the Broker's setup options. If you start the Application Broker, allow it to warn you that it cannot use the default port, then change the port setting, it saves that setting and you will not need to specify the port the next time it executes.
To release the connection and allow access to another user, all applications started by the client must be closed. A client must exit the application for the application to close; simply closing the browser does not close an application. If the client does close the browser, the application won't close until a timeout occurs. The templates used to design the application set an application's timeout to 10 minutes by default. You can modify this timeout interval in the global extension used in the application.
14
Application Broker
To start a new instance of your browser: In Internet Explorer 3.0x: Choose File New Window.
In Netscape Navigator 4.0x and higher: Choose File New Navigator Window.
If your application is located in a subdirectory of \EXEC, then the full pathname must be placed between the domain name and executable file name (Example: http://domain.ext:8080/exec/order/appname.exe.0 where ORDER is the subdirectory)
Chapter 3
15
16
Application Broker
Chapter 4
17
Under Windows NT/2000/XP the SE Application Broker starts when the OS is loaded (before any user login). The service may be configured to start automatically or manually. The Communication port for SE Application Broker is defined at the time the AppBroker service is registered. By default port number 80 is used for standard non-secure communications and port 443 for secure communications.
18
Application Broker
Chapter 4
19
3.
In the Change Password dialog, type the old password and two times new password in the corresponding fields, and press OK button.
20
Application Broker
Additional Notes:
If the account used to run the service (a user account or the Local System account used for the App Broker service) does not have sufficient rights to the Public folder (Read-Write-Create-Execute), your applications will fail to execute. Passwords are used for administrative authentication only, and only for remote access from a Browser.
Debugging
As the SE Application Broker is a service, it needs to be able to interact with the desktop to allow a debugger to be opened. Therefore, the SE Application Broker service needs the Allow service to interact with desktop setting to be switched on. To change the "Allow service to interact with desktop" setting: 1. Open the Windows Services application (Control Panel Administrative Tools and from the list of services choose Clarion Application Broker. Services)
Chapter 4
21
Documentation and further information on OpenSSL is available at: http://www.openssl.org/related/ In addition, O'Reilly publishes a very good book on OpenSSL: Network Security with OpenSSL, by John Viega, Matt Messier, and Pravir Chandra. ISBN: 0-596-00270-X
22
Application Broker
Notes on encoding
The Application Broker only supports requests in the ISO-8859-1 code page.
Chapter 5
Application Deployment
23
5 - Application Deployment
The following information applies to both the Standard and SE Application Brokers.
Directories
When using the Application Broker, the directory from which it is run is the virtual root directory for all executables. The \PUBLIC directory below the Broker directory is the virtual root for any downloadable files. For example, a link to an HTML document in the \Public directory would be addressed as: http://nnn.nnn.nnn.nnn/index.htm while an executable in the same directory as the Application Broker is referenced using a similar URL: http://nnn.nnn.nnn.nnn/appname.exe.0 However, in most real world deployment, you should copy all executables to the EXEC folder or appropriate subfolder that is created by the Application Broker install.
Even though these files are in different directories, the Application Broker handles the routing and no relative directory information is required. If you want to keep applications in different directories, you may call the application using its relative path. For example, with the executable version of the broker running in \ClarionAppBroker and an application named myapp.exe is deployed to \ ClarionAppBroker \Exec\App1. You would call it using: http://mydomain.com/exec/app1/appname.exe.0
24
Application Broker
You cannot use remote access to the Application Broker unless you have specified a Password in the brokers setup. A Web page appears with hyperlinks for the following functions: Setup Provides access to modify the setup options. You can modify any of the setup options except the Port Number and the Remote Password. Those settings can only be changed on the server. Suspend Allows you to suspend access to any Web-enabled application deployed on the Application Broker site. This must be done in order to update the application or data files. If an application is running, the session is closed and the application is closed. Users who were running the program receive a message informing them that the application has been suspended for maintenance. To suspend access, type in the full name of the executable file (including the extension), then press the OK button. If the application to suspend is deployed to a subdirectory, you need not specify that directory here. A Web page is returned listing the applications which are currently suspended. Enable Allows you to re-enable access to any Web-enabled application on the Application broker site which has been suspended. To re-enable access, type in the full name of the executable file (including the extension), then press the OK button. A Web page is returned listing the applications which are still suspended. Status This displays the current status of applications running on your broker site including the time of access and the IP address of the clients accessing applications.
Chapter 5
Application Deployment
25
From the Application Brokers Setup menu option, you can specify the following options: Default Home Page The document which is delivered by default if no specific URL is specified. The default is index.htm. Public Directory The directory where common deliverable files are deployed (HTML files, images, etc.). This is also the directory under which temporary directories containing the HTML files representing an application are created. The default is /Public. Port Number The HTTP port to which the application broker is bound. If specified on the broker's command line, this is disabled and cannot be modified. When a port other than 80 (the default HTTP port) is used, clients (or your hyperlinks) must specify the port in the URL. For example if the broker is attached to port 8080, you would specify: http://nnn.nnn.nnn.nnn:8080/appname.exe.0 Use Log File Checking this box enables server logging. This generates a logfile entry for each request made by clients accessing the Application Broker. The logfile contains the requester's IP address, the date and time of the request, and the request made. Keep in mind that the logfile will continue to grow as entries are appended to it. Log File Name Specifies the name of the logfile.
26
Application Broker Remote password Specify a password to enable remote access to the Application Broker. See Remote Access to the Application Broker for more information.
The remote password is case sensitive. Max Simultaneous Connections This specifies the maximum number of connections allowed. A notice is returned to users trying to access the broker when an attempt to exceed this number is made. Use Debug Setup This specifies to run applications in the debugger. You must have access to the Server machine to run the debugger. Specify the location of the debugger and redirection file in the entry field provided. For example: C:\Clarion6\bin\C60dbx.exe C:\Clarion6\bin\C60EE.red
Chapter 5
Application Deployment
27
Deployment CheckList
1. 2. 3. Install and configure the appropriate Application Broker. Remember that the Standard version of the Application Broker is for testing or low traffic use. Start the Application Broker on the server (this cannot be started remotely). Deploy the application and any other files it needs (DLLs, data files, image files, etc.) to the directory from which the Application Broker will run (or a subdirectory). These should be placed in a subdirectory in or under C:\ClarionAppBroker\EXEC\. Data files should be in the same directory as the executable, or if your application is created to use data files in a different directory or drive, this location must be visible to the application.
The following Clarion DLLs should be placed into the directory with your executable: C60RUNx.DLL, C60DOSx.DLL, C60ASCx.DLL, C60TPSx.DLL, C60IBCx.DLL, C60LAYx.DLL, and SKELETON.DLL. These files can be found in the \BIN\ directory of the C60 install. They are required even if you do not use them in your .APP. Copy all C60 Web images to C:\ClarionAppBroker\Public. These images can be found in the \Clarion6\CWICWEB\Public directory. Images displayed in LISTs or BUTTONs must be deployed to this directory also. 4. The install creates a subdirectory below the broker directory named \Public. This directory is used to deliver files (such as the Java Classes from the Java Support Library, graphics or other HTML files) by the Application Broker. The Application Broker will not deliver any files from its executable directory. This prevents downloading data files or executables from your site. Your application creates HTML files at runtime and automatically places them in a temporary subdirectory below either the \Public directory. At runtime, a temporary directory is created for each client connection. These directories are automatically deleted when the connection terminates. Graphics in IMAGE controls are automatically extracted to this directory when they are not found in the /Public directory. Icons displayed in LISTs or on BUTTONs are not automatically extracted and must be deployed to the /Public directory. 5. Run the Application Broker on the server machine. It defaults to port 80. If you are running any other Web server which is using port 80, you must specify another port (e.g., 8080) for the Application Broker by creating a shortcut with the port as a command line parameter. You can also modify the port to which it is bound by using the Application Broker's Setup option. If you specify the port number on the command line, you cannot change it in the Broker's setup options. If you start the Application Broker, allow it to warn you that it cannot use the default port, then change the port setting, it saves that setting and you will not need to specify the port the next time it executes. 6. Provide users who want to access the application a URL in the following format: http://nnn.nnn.nnn.nnn/appname.exe.0 or http://domain.ext/appname.exe.0 Appname.exe is your application's executable file name. Make sure the user adds a dot zero (.0) after the executable name. If you are running the executable broker on a port other than 80 (the default HTTP port), users must include the port number in the URL. For example, http://nnn.nnn.nnn.nnn:8080/appname.exe.0
28
Application Broker If your application has any command line parameters, add a question mark and the command line parameter. For example: http://nnn.nnn.nnn.nnn/appname.exe.0?myargument
Testing Locally
Although for true deployment of a Web-enabled application you will use a persistent IP address, you can use 127.0.0.1, as the local IP address for testing your application locally (with the broker and browser on the same machine).
Index
29
Index:
Application Broker defined .........................................................................5 running.......................................................................13 application brokers types ............................................................................5 Browsers recommended............................................................10 Clarion DLLs.................................................. ...............27 Client System ................................................ .................9 Concurrent Access........................................ ...............14 Connecting to your Applications.................... ...............14 connections maximum ...................................................................13 Debug Setup ................................................. ...............26 Default Home Page....................................... ...............25 Deployment ................................................... ...............23 Deployment CheckList .................................. ...............27 enable access ............................................... ...............24 Firewalls ........................................................ ...............15 Hyperlinks to start application .....................................................15 Installation options .......................................................................11 Log File Name ............................................... ...............25 Max Simultaneous Connections ................... ............... 26 Performance ................................................. ................. 9 Port Number.................................................. ............... 25 proxy servers ................................................ ............... 15 Public directory ............................................. ............... 23 Public Directory............................................. ............... 25 Remote Access to broker .................................................................... 24 Remote password ......................................... ............... 25 SE Application Broker................................... ............... 17 SE Application Broker Installation................. ............... 11 Setup............................................................. ............... 24 Setup menu................................................... ............... 25 SSL support .................................................. ............... 17 status of applications ........................................................... 24 suspend access ............................................ ............... 24 System Requirements .................................. ................. 9 TCP/IP .......................................................... ............... 28 Testing locally ........................................................................ 28 TCP/IP Connection ................................................... 28 UNIX ............................................................. ............... 10 Use Log File.................................................. ............... 25