Using Rhino
Author: Norris Boyd
Keywords: Rhino, JavaScript, Java

# How are people 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.

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."

###

back to top