Index Changes

General Description

In this research, we are applying modern Service-Oriented Architecture (SOA) technologies to make complex visualizations realizable without intensive graphics programming; in fact, without writing code at all. A Visualization Service Bus is the integration of two powerful Extensible Markup Language (XML) technologies, Extensible 3D (X3D) and an Enterprise Service Bus (ESB), which allows users to integrate data and develop user defined visualizations together. Analysts use graphical interfaces to construct visual elements, assemble a dynamic scene, connect to and transform data from a variety of sources, and map scientific data to the scene. The development and implementation of this visualization architecture allows non-programmers to develop their own visualization applications for their specific needs. It will be shown that the Visualization Service Bus provides a codeless visualization programming framework by integrating X3D into an ESB.

Publications

VSB White Paper

Installation

We are providing the entire VSB Platform which can be downloaded here. VSB

Steps

1. Download above VSB onto your computer and run from vsb\bin\vsb.exe
2. Download this X3DSE jar file and install in your JBI application server. X3DSE


  • Note: If you want to install as nbm files click the attach tab and download all nbm's and install, but it's warned that you will have to install a lot of other modules that you probably currently do not have installed unless you are developing an Open-ESB JBI Module.

User Guide

This guide provides an overview of the X3D Service Engine.

Example 1

This is a simple example just to get your feet off the ground. Please refer to the white paper for more advanced examples of the X3D SE. We are going to create a simple sphere and change the size of the sphere based on an incoming message from the NMR.

Click File-New Project->SOA->x3dse JBI Module


Right click the new x3dse project and select Other->X3DTemplate.x3d and name the file whatever you want.


Select the new X3D file and drag it onto your canvas area. (Note: Double clicking file does not work)

At this point you should have a blank X3D Scene tree that looks just like below.

In the Palette area you will notice a large amount of X3D Nodes. This is almost the entire X3D Specification minus a few Nodes that most users would probably not use when using the X3D SE. The idea is that you can construct any X3D Scene you are interested in visualizing and can utilize the other ESB tooling to wire data from various sources to update the scene. In our example we are going to create a simple Sphere and change it's size based on an incoming message. Drag the nodes over from the Palette to create a scene like below. This example does not attempt to explain the entire X3D language and users are expected to learn X3D. Follow the links in the References section to learn more about X3D.

To create our visualization picture the first step will be to construct a X3D Scene Tree like the one below.


For those not familiar with 3D graphics the Transform node is the node that allows us to transform any child node. We can scale the children nodes or move them in any 3D direction. We need to provide a Definition for this node so that we can reference it when we want to send it a message. Right click on the Transform node and entire TEST into the DEF field.


Click on the 3D Tab to view the Sphere that you just created.


Now we want to create an interface so that this X3D scene can take incoing messages. First we will create a XSD file to describe our incoming data like the following image. Just create one element that is a string that will contain our scalar value to change the size of the sphere.


Next let's create our WSDL file that will take as an argument our Result schema type.


Click on the Tree Graph view and select the Transform Node then click on the Data Map View and drag the Example1.wsdl file onto the canvas.
Then CTL+Click the Result scalar element on the WSDL node and drag it to the Transform node to dictact that this incoming message will map this incoming data into this field in our 3D scene. Once done click the button on the left to commit the changes.


Now we need to create a BPEL project that will send data to this X3DSE. Create a WSDL file for the BPEL just like we did earlier and create a BPEL process like the following.


Next is the Composite Application that will contain the BPEL and X3DSE that we just created.


Create a Test SOAP message with the value of "3, 3, 3" and watch the sphere change size. Obviously this might seem like a lot of work just to change the size of a sphere but image if you have a more complex 3D model with some control points and you want to drive that model through a 3D world by some web services or other services routed through the ESB then you can change your model rather easy and without even to have to write any code.

References

X3D Examples
X3D Specification

Contact

Subscribe to our mailing list at vsb-list@lists.mitre.org

Developers interested working on the X3D Service Engine or technical questions mail to VSB Development Team

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-46) was last changed on 28-Jan-09 08:03 AM, -0800 by David Callner