You are here: Rhino project page > Using Rhino
Here's a partial list of the ways people are using Rhino in their projects. The initial list was collected by Netscape marketing, so Rhino is referred to as Netscape Java-based JavaScript. We'd love to hear how you're using Rhino--just mail .
Attachmate
"Netscape JavaScript 1.5 with Java implementation was a perfect solution
for developing our MacroRecorder because it made our development process
faster and better, and our customers get a more efficient, reliable, and
standards based product as a result," said Rob Clark, Director of Product
Development at Attachmate. Attachmate integrates Netscape's Java-based
JavaScript 1.5 Interpreter into its 100% Pure Java certified web-to-host
thin clients, called e-Vantage Viewers. The Netscape Java-based JavaScript
interpreter is used in a MacroRecorder feature that allows browser-based
users to efficiently navigate host applications on mainframe and midrange
systems.
Aviva Solutions
Aviva for Java is a mainframe connectivity product. To overcome
the limitations of the arcane mainframe user interface, it is customary
to provide scripting capabilities in such products, so that repetitive
user actions can be automated. Aviva for Java is a Java applet. As such,
its size, security and compatibility requirements are strict. Rhino has
been found to be the perfect scripting engine: pure Java, works perfectly
in an applet environment, regardless of the VM vendor or version, it
is light and in the same time very powerful. JavaScript as the scripting
language makes perfect sense in a browser environment.
Bristow Hill Software
"We thought it would require lots of work to add scripting capability
to Bristow Hill Server Pages, but we were delighted to find that Netscape
JavaScript 1.5 with Java implementation fit right in with only a couple
of lines of initialization code and one line of code to export our standard
objects by name. Also, we were pleased to find we could take embedded
scripting and compile it down to Java classes which could be used directly
for greater speed in production. Netscape's JavaScript engine is rock solid
and standards compliant, and my only regret is that we didn't start using
it sooner," said Don Anderson, President of Bristow Hill Software.
Celware WebRecorder
WebRecorder allows developers and analysts to quickly and easily
automate Web navigation and data extraction from Web pages. Users can
model and parameterize navigations and extractions, then wrap them in
business processes for execution from a client application. Scripting
via Rhino allows users to create the business logic in these processes.
It also allows their processes to integrate Web access with any other
kind of system or data the Java platform can reach.
Discovery Machine
Discovery Machine's Expertise Encoding and Execution Workshop (E3W)
allows experts to easily and seamlessly encode their knowledge and
processes into immediately usable, executable graphical software that
can then be shared, modified, and leveraged. In this environment,
knowledge engineers can work with subject-matter experts as well as
software engineers to develop models of expertise. At all points in the
process, experts can understand and modify the models, even when models
are fully operational. We were easily able to embed Rhino and immediately
extend our language with Rhino's high-quality JavaScript interpreter.
Dojo ShrinkSafe
Dojo uses Rhino's parse system to provide compression to JavaScript code, as opposite to other JavaScript objuscation compressor solutions using regular expression.
HttpUnit
"Automated testing is a great way to ensure that code being maintained
works. The Extreme Programming (XP) methodology relies heavily
on it, and practitioners have available to them a range of testing
frameworks, most of which work by making direct calls to the code being
tested. But what if you want to test a web application? Or what if you
simply want to use a web-site as part of a distributed application?
In either case, you need to be able to bypass the browser and access your site from a program. HttpUnit makes this easy. Written in Java, HttpUnit emulates the relevant portions of browser behavior, including form submission, JavaScript, basic http authentication, cookies and automatic page redirection, and allows Java test code to examine returned pages either as text, an XML DOM, or containers of forms, tables, and links. When combined with a framework such as JUnit, it is fairly easy to write tests that very quickly verify the functioning of a web site."
HtmlUnit
HtmlUnit is a java unit testing framework for testing web
based applications.
ICEsoft Technologies
ICEsoft Technologies adds JavaScript support to their browser
products using Rhino.
JS/CORBA Adapter
The JS/CORBA Adapter provides a mechanism for arbitrary
Javascript objects to interact with each other transparently in a
distributed Javascript system using CORBA.
Lombardi Software
Lombardi Software's TeamWorks BPM platform uses Rhino for all
embedded scripting.
Magoo Software
"We've just released version 1.5 of MagooClient, an XML messaging
client, with Rhino inside. The availability of Rhino 1.6R1 with E4X marks
a significant breakthrough in the way that people work with XML content.
Instead of merely editing, users can add their own custom logic to
perform calculations, implement validation rules that test relationships
between elements and crucially, add callouts to external Web Services
to populate XML documents. There have been several attempts at this
type of rich XML client in the past but none offer the familiarity,
simplicity and adherence to standards offered by Rhino/JavaScript/E4X."
-- John McGuire, CTO Magoo Software.
JShell
Rhino is used as the scripting language for the open source command
shell JShell written by Patrick Beard.
RUnit Software
RUnit Software uses Rhino as part of
solutions for business-process automation, for example
when the automation involves communicating with a
web-interface.
Seppia
"Seppia is a simple technology to build and deploy any Java application.
It gains from the synergy of Java and JavaScript and a minimum set of clear
rules to organize their interaction. Seppia allows developers to create
stand-alone applications from constituent parts. Each part is a module:
a unit of function integrating seamlessly JavaScript files, jar files and
other resources. Seppia uses Mozilla Rhino to empower its JavaScript
engine. Seppia will challenge the way you think of Java-based component
computing."
Technology Deployment International
"Technology Deployment International selected the Java-based Netscape
JavaScript engine to incorporate into the workflow module of our eBusiness
Management System (eBMS) allowing our customers to integrate business logic
into any workstep of their application," said Dr. Kelvin Liu, VP eBMS Development,
Technology Deployment International. "It has been easy to embed, the support
we received from the engineering team has been outstanding, and the performance
of the JavaScript code is almost identical to the equivalent Java."
XMoon
XMoon is a dynamic OO (Object Oriented) opensource extension released
under LGPL License for Jakarta Struts, powerful and easy to use.
XMoon lets you develop business logic classes following a fully Java
compatible scripting language allowing execution of Java code at runtime
without any access to a compiler.
XYPOINT
XYPOINT uses Rhino for automating test cases of their Java classes
used in their service WebWirelessNow.
Abraham Backus says that he's happy with Rhino because "I've always wanted
this kind of JavaScript support."