PV-WAVE Advantage > JWAVE User Guide > JWAVE System Introduction
JWAVE System Introduction
 
This chapter gives a quick overview of the basic client and server components of JWAVE.
warning
JWAVE uses an insecure protocol without authentication. This makes JWAVE insecure to use in an Internet facing configuration and would allow an attacker to execute arbitrary code on the server. If you choose to implement JWAVE in this way, you are responsible for the security of those applications that leverage JWAVE.
 
JWAVE lets you create Java client applications that communicate directly with PV‑WAVE running on a remote server. On the server side, PV‑WAVE code is used to analyze data and generate graphics. On the client side, a Java applet (or application) lets users interact with the PV‑WAVE session and display the graphics returned from PV‑WAVE.
 
note
Before running JWAVE, you must first run the manager configuration tool by calling manager config from your <RW_DIR>/jwave-3_6/bin directory to check all of the configuration settings and generate the JWaveConnectInfo.jar file in your <RW_DIR>/classes directory.
JWAVE offers four separate client/server connection models:
*Figure 1-1: JWAVE CGI HTTP Connections shows a typical JWAVE system, consisting of client Java applications that communicate with a PV‑WAVE server via an HTTP connection (a Web server connection). In this model, you can use any Web server that you wish.
*Figure 1-2: JWAVE Direct Socket Connection shows a JWAVE client that is connected to the server via a direct socket connection.
*Figure 1-3: JWAVE Web Server HTTP Connection shows a JWAVE client that is connected to the JWAVE Web server via an HTTP connection. The JWAVE Web is bundled with JWAVE. It handles client connections and manages JWAVE sessions on the server.
*Figure 1-4: JWAVE Servlet HTTP Connection shows a JWAVE client that is connected to the server via the JWAVE Servlet. The JWAVE Servlet plugs into any Web server that accepts servlets.
All of these connection methods achieve the same result: parameters and data can be passed between the client applet/application and PV‑WAVE running on the server.
 
note
HTTP and socket connection methods can be used simultaneously by multiple JWAVE client applications; the JWAVE server can respond to several client applications at the same time.
Briefly, a client-side Java application with JWAVE components connects to a JWAVE server, usually across the Internet or an intranet. On the server, a process called the JWAVE Manager “listens” for client connections. When a connection is made, the JWAVE Manager starts a PV‑WAVE session and executes a “wrapper function.” This wrapper function is a PV‑WAVE function that contains JWAVE-specific calls for passing parameters and data back and forth to the Java client. For instance, PV‑WAVE may receive a 2D array of image data from the client, process the data, and send a plot back to the client where it is displayed.
 
note
In general, you must be a Java developer to develop client-side JWAVE applications or applets. If your Java experience is limited, you can still create useful JWAVE applications using the generic JWAVE applet described in Chapter 2: Generic JWAVE Applet.
 
Figure 1-1: JWAVE CGI HTTP Connections
 
Figure 1-2: JWAVE Direct Socket Connection
 
Figure 1-3: JWAVE Web Server HTTP Connection
 
Figure 1-4: JWAVE Servlet HTTP Connection