In this article we present a framework, based on ParaView, that brings 3D visualization to your web browser codenamed ParaViewWeb. ParaViewWeb is a collection of components that make it possible to develop websites and portals which include live, interactive visualization. This acts as the first step toward bringing a full fledge collaborative visualization platform to the Web.
Our solution is entirely based over HTTP/HTTPS and doesn't require additional ports to be exposed on the web-server.
ParaViewWeb doesn’t depend on any particular client-side frameworks. This makes it possible for the designer to embed the visualization component in the client framework of their choice e.g., dojo, Google Web Toolkit, qooxdoo or even Java and Flash RIAs (Rich Internet Applications). It can be easily integrated into existing workflows and web portals to add live visualization capabilities.
The web-services are highly customizable providing the site maintainer full control over customizing the the launch of ParaView servers, resource management, session management and tracking. Additionally, this codebase will be made available under a BSD license – similar to ParaView – making it easy to customize and evolve the system to suit a site’s custom needs.
Figure 1: A simple sample application enabling interactive visualization through a web browser.
ParaViewWeb is a collection of reusable, customizable components. The main components of this framework are:
Figure 2: Schematic of the ParaViewWeb Visualization Framework
Figure 2 shows how these components interact with each other. Our implementation requires a Java-based Web Application server. There are several implementations available including Apache Tomcat, which is an open source, freely available implementation.
Using these components, developers can build websites or web portals with visualization and data processing capabilities. To demonstrate the use of this framework, we also developed several sample applications using different web client technologies, including Google Web Toolkit (GWT), qooxdoo and jQuery.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ParaViewWeb Usage sample</title>
// Create a paraview proxy
var paraview = new Paraview("/PWService");
var view = paraview.CreateIfNeededRenderView();
// Execute ParaView scripting
var sphere = paraview.Sphere();
The Demo and Wiki
The framework mentioned here is currently under active development. We expect to add a horde of new features and stability improvements in the coming months. An official release is still months away, however it’s never too early to start getting feedback from users. Hence we have setup a demo server at http://paraviewweb.kitware.com and have also made the source available. Detailed instructions about obtaining the source and compiling and deploying can be found on the ParaView Wiki, which also contains other design and usage details.
Figure 3: ParaView-like web visualization application allowing exploration of datasets
This effort was funded by DOE SBIR DE-FG02-08ER85143.
Utkarsh Ayachit is a Technical Leader in Kitware’s Clifton Park, NY office. He is one of the leading developers on ParaView. Currently, Utkarsh is leading the effort to add collaboration support to ParaView.
Sébastien Jourdain is an R&D engineer in Kitware's Clifton Park, NY office. Currently, Sébastien is working on Web Visualization as well as adding collaboration support to ParaView.