JWAVE™ contains an open architecture that can help provide cost effective solutions in a wide range of Web-based applications. JWAVE has an open and extensible framework for all your computational and visualization needs. You can leverage your current investments using JWAVE by adhering to an open system architecture. With JWAVE your applications will conform to the three cornerstones of any open architecture - scalability, extendibility, and availability.
JWAVE can be described as a "graphics and numerics server" for Web-based applications. Any Java™ code such as applications, applets, servlets or EJB's can send requests to a JWAVE server and receive data and images back. You can pass as many parameters or data sets to the server in the form of name-value pairs as necessary, and the results are any number of name-value pairs, including charts and images.
JWAVE is based on a multi-tiered architecture that enables you to easily create applications that embrace open standards and will grow as your organization grows. Whether developing applications using the Java programming language or HTML and Java Server Pages, JWAVE allows users to perform numerical analysis and visual interpretation of large, complex data sets.
JWAVE's Open Architecture Supports Multiple Standards
The diagram above illustrates the basic JWAVE Architecture. The links below describe different ways in which this architecture can be implemented.
The JWAVE Manager >>
JWAVE Architecture with Applets >>
Servlets and JSPs in JWAVE >>
The JWAVE Manager
|
The JWAVE™ Manager is a process that is always running on the server and acts as an intermediary between the Java™ clients and PV-WAVE® processes, which are used to do the actual work.
PV-WAVE is the scripting language used to develop server side logic. It can be used to rapidly develop logic to read data (from the client, files, or databases), manipulate and manage data, perform a wide range of numeric techniques, and produce graphical charts and images.
The JWAVE Manager can create new PV-WAVE processes for a user when required, and can shut down processes when they are no longer needed. The JWAVE Manager can route requests from clients to the appropriate PV-WAVE process and forwards replies back to the clients.
Below is a diagram showing the JWAVE Manager in more detail:
|
|

|
|
As you can see from this diagram, you can have one PV-WAVE process associated with each client. This makes it easier to develop applications where persistent information must be kept for the client, due to the fact that the PV-WAVE process is only concerned with one client. However, you can also have multiple clients share one PV-WAVE process, which is better for applications scaled to handle multiple users, or applications where there is no persistent information stored in PV-WAVE.
|
back to top
JWAVE Architecture with Applets
While using applets in JWAVE™, the Web server is used to deliver the Java™ resources to the client browser. When the applet runs on the client, it contacts the JWAVE Manager process directly.
Reasons for using applets include:
- A truly Web-architected application where logic is divided between the client and server (i.e. fat client)
- Small special purpose client side applications (thin client)
- A better user interface using Java awt or Swing components rather than XHTML based pages
- More complicated interactions with displayed plots and charts, such as rubber-band zooming, highlighting, and point selection
- Real time animation of data including strip-charts
- Real time collaboration between different users
![]()

back to top
Servlets and JSPs in JWAVE
Java™ Server Pages (JSPs) do not have to be used in conjunction with servlets, but this architecture is usually preferred because it better matches the Model-View-Controller pattern in object-oriented design. JSP's are also designed to allow users to communicate with Java beans. Calls to JWAVE™ can be made from Java beans as well.
Java servlets are server-side applications that run in a servlet-enabled web server or application server. They are usually used when it is desired that the application logic be written in Java but not run on the client as an applet. Because servlets are written in Java, users can make calls to JWAVE from the servlet, and imbed the results from JWAVE into the HTML content returned to the client. In addition, JWAVE provides a (pre-built) servlet that allows the development of complex applications using JSP pages and JWAVE without the need to develop Java code.
JSPs is a technology that allows users to separate the content and logic for a server-side application by allowing the creation of template HTML pages with the static content to be returned, and the use of special tags to introduce text and images generated in logic. The servlet passes requests from the client to the JWAVE Manager and on to PV-WAVE®, and then uses the results to populate JSP pages that are returned to the client as plain HTML. The use of JSPs has the same advantages and disadvantages as servlets alone, but with the added benefit that logic and content are kept separate, making it easier to develop and maintain the code for applications. When used in conjunction with the pre-built JWaveJSPServlet, it is very easy to design web pages, which communicate with the JWAVE server and display the results in JSP pages.
![]()

back to top