WebCream Frequently Asked Questions
What operating systems and platforms does WebCream
run on?
WebCream is written purely in Java and it doesn't use any native calls, which
means that it runs on most platforms that have Sun's JDK 1.2 and up.
However, because WebCream integrates very closely with JVM we can only
guarantee correct execution on the platforms that we have tested. So far
this includes Windows NT, Windows 2000, Solaris, HP-UX, IBM AIX and Linux.
What web servers and servlet engines can I use
with WebCream?
Any web/app server or servlet engine that runs Sun's JDK 1.2.2 and higher and
JSDK 2.1 and higher. For a complete list and details on how to setup WebCream
with your servlet engine refer to Installation and Setup
instructions.
Will WebCream really web-enable any application?
The first thing to do is to check that your application can run on
the server where you are trying to deploy it. Just run it as an application
and test the functionality. Our product has been tested on numerous applications
and has many successful deployments. Most of the times you would see 95% of
your application working as HTML portal right after 30 minute configuration of WebCream.
However, certain problems may arise from the fact that your application is accessed
through HTML. For example, not all GUI events are sent to your application
for performance considerations so if you enable/disable certain controls when
a "change" event is received, your interface will not work as expected.
It's not a problem of WebCream or your application but rather a limitation
of HTML and the Internet speed. Thus, you may have to make minor changes to
your application user interface for it to look better and function properly
in HTML, but using WebCream gives you a tremendous advantage compared to rewriting
your application using Servlets/JSPs or writing both GUI and HTML clients.
Are there step-by-step instructions on setting
up WebCream and web-enabling my application?
Yes. Please refer to Installation and Setup instructions.
Does WebCream support custom controls (e.g. my
own controls, JBCL, KLGroup JClass)?
WebCream supports most AWT and Swing controls and all controls derived
from it. This means that if the custom control extends a standard control
above java.awt.Component or javax.swing.JComponent then it will be automatically
supported. Of course it is going to be presented in HTML just like the
original AWT/Swing control would have been. For example if you create
a custom control that extends JComboBox then it will be supported and
converted to HTML menu. You can change the default rendering by writing
custom renderers.
Can I customize WebCream to change the default
mapping of GUI components to HTML elements?
Yes. A number of configurable parameters are specified in the application
properties file located in the conf directory of WebCream. For details
on the meaning of each parameter refer to Customizating
and Configuring WebCream. For advanced customization you can write
your own Renderers and ActionEmulators that will override the default
implementation provided by WebCream. Renderers generate HTML for Java
controls and ActionEmulators set values back to Java controls and emulate
actions as though performed by the user (for example button click). This
functionality is not provided in the Standard Edition. Follow the link
to learn about developing custom renderers.
How can I integrate WebCream
application into a JSP or HTML page?
The easiest and the cleanest way to integrate WebCream output into a JSP or HTML page
is to use <IFRAME> or <FRAME> tag.
CreamTec website
uses this approach to display demos in the context of the site.
Do I need to have a Java plugin to view pages
generated by WebCream?
No. You use any standard browser because all it gets is HTML. It doesn't
even need to support Java because the Java application executes on the
server.
What AWT and Swing components and classes are supported
by default by WebCream?
AWT |
Button, CheckBox, Choice, Label, List, MenuBar, TextArea, TextField,
Panel, Window |
Swing |
Box, BoxFiller, Icon, JButton, JCheckBox, JComboBox, JDesktopPane,
JEditorPane, JInternalFrame, JLabel, JLayeredPane, JList, JMenuBar,
JOptionPane, JPanel, JProgressBar, JRadioButton, JRootPane, JSlider,
JSeparator, JScrollBar, JScrollPane, JSplitPane, JTable, JTabbedPane,
JTextArea, JTextField, JToggleButton, JToolBar, JTree, JViewport,
JavaHelp (via Override Action), JFileChooser |
Layouts |
BorderLayout, BoxLayout, FlowLayout, GridBagLayout, GridLayout,
null |
WebCream provides a universal SnapshotRenderer
that can render any component as an image on the page. It can be used for custom
components and as an alternative method of rendering a component in HTML.
What GUI events are supported by
WebCream?
ActionListener, FocusListener, ItemListener, DocumentListener,
TreeSelectionListener, ListSelectionListener (for DefaultListSelectionModel only)
How scalable is WebCream? What performance can I expect
out of it when the number of users grows?
The quick answer is as scalable as your application and the server you are
running it on. WebCream adds a thin layer that replaces the Java graphical environment
and emulates the events. In many aspects it can make your application run
faster because no drawing, buffering and output to the screen occurs in the
emulated mode. There are less events to process and less memory needs to be
allocated and garbage collected. Using dynamic clustering you can combine
several virtual clients into the same JVM and that can give a significant
performance improvement to each client. You can specify how many virtual uers should
emulated by each JVM, and if there are more users connecting then a JVM can handle,
WebCream will launch a new one. JVMs are pooled and are "warmed up" in the background
to ensure that a new user session is handled instanteneously. For example, if your client
code is fairly thin, you may choose to have up to 100 virtual clients in a JVM. In this case,
if your server will need to handle 5000 concurrent users WebCream will use 50 JVMs. Typically,
one running JVM takes 10-20M so the total amount of memory needed to support this traffic would
be 500-1000M.
In general, you probably should
expect higher resource consumption and slower response time then a pure servlet
solution, but remember that you are getting to run your app in both a GUI
mode and HTML mode. Check out this Excel spreadsheet
to see specific performance data and the difference in memory consumption
and response time between a regular GUI app, simple servlet and WebCream emulation.
Note that the Excel table shows data for one JVM.
WebCream applications has been load tested for thousands of concurrent users
and the response time has always been adequate.
I'm actually trying to convert Java to C/C++, can
WebCream do this?
WebCream can only convert Java GUIs to HTML for web-enabling. If you want
to convert Java to C/C++ you can check out
Cigee JavaDLL which creates a C/C++
interface and a Windows DLL from your Java classes. It thereby enables you
to use your Java classes from within a wide range of programming languages
and environments under Windows and other operating systems.
How does WebCream determine the name of the
downloaded file when emulating JFileChooser Save dialog?
WebCream calls JFileChooser.getSelectedFile() method to determine the name of the file.
If the method returns null, WebCream uses the default download.txt file name.
Thus, be sure to set the default file name to the JFileChooser as shown below:
JFileChooser chooser = new JFileChooser();
chooser.setApproveButtonText("Select file for export");
chooser.setSelectedFile(new File("application_export.txt"));
int returnVal = chooser.showSaveDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION) {
File file = chooser.getSelectedFile();
// Save data to the selected file
...
}
I have a problem running my application through WebCream.
Where do I go for help?
Refer to Troubleshooting WebCream page
or simply search our website.
<< back to Documentation
Home |
WebCream |
Contact
|
|