Home Meeting Archive

Edwin Smith of Allaire's JRun team gave a technical presentation of Allaire's Java Servle Engine JRun

Tue, Feb 1 6:00pm

Oracle
45 Network Way, Burlington, Ma





Presentation Overview:

February's meeting started off with announcements, a lively discussion of possible future topics, and members' recommendations for software. A suggestion was made that it would be nice to have a resource page on the website with links to free software such as IDEs and App Servers.

Following this members' open forum, Edwin Smith was introduced and proceeded with the main program. Ed was an excellent speaker and adeptly fielded a wide range of questions from JRun internals to Java performance.

The JRun Servlet Engine


Originally conceived as a web server plug-in for running Java applications on the server, JRun has evolved into a full-fledged engine for running Java Servlets and Java Server Pages (JSP). Due to a strong design and distributed architecture, JRun remains a flexible, lightweight product that plugs in to all the major web servers, such as Apache, IIS, and Netscape. It even has its own built-in web server.

Architecture

JRun consists of two parts: a plug-in which extends a web server and a separate process, the JRun Service Manager, which contains the Servlet Engine and protocol interfaces. The plug-in communicates with the Service Manager over sockets using TCP/IP and a proprietary proxy protocol. This architecture, while slightly increasing the latency of each message, allows for greater throughput, flexibility and scalability. It also allows for the use of firewalls.

The Service Manager is also very flexible. In addition to the proxy protocol mentioned above, it also supports ZEUS and HTTP protocols. On the back end, it interfaces with a File Servlet, CF_Anywhere (a light version of the ColdFusion Markup Language), JSP (Java Server Pages), JavaScript, SSI (server-side includes), WebL (a scripting language) and Connector. The Connecter is an optional servlet enabling connection to another JRun, allowing JRun processes to be cascaded. Ed gave the example of an ISP configuring a JRun with one connector per user, giving each user his or her own JVM. The Servlet Engine, naturally, supports general web application programming - including JavaBeans, JDBC, CORBA, and RMI - and any other Java APIs a web application might wish to utilize.

The Next Release

Ed also discussed the upcoming release 3.0 of JRun. To be released sometime mid-year, it is now in beta testing. Release 3.0 implements the Servlet 2.2 Specification. The performance has been tremendously improved, with numerous enhancements to the Servlet Engine. Some performance pointers Ed discussed were use of String to byte conversions (Java char i/o converter is slow), maximizing reuse of objects over object creation by caching, and profiling. He highly recommended the book:

Java 2 Performance and Idiom Guide
by Craig Larman, Rhett Guthrie

Ed also spoke highly of Java's HotSpot Virtual Machine. This VM uses "on-the-fly adaptive optimization", which means it compiles only those parts of your Java code that it finds to be performance hotspots. It also offers better garbage collection. Ed confirms that Sun delivers on their promise of increased performance as his testing found HotSpot to be about 30% faster than Just-In-Time compiled code (JIT). And JIT code, itself, can be as much as 10-100 TIMES faster than intepreted bytecode. For more information see http://java.sun.com/products/hotspot/1.0/faq.html.

JRun offers additional enhancements by exposing some of its APIs. Giving access to Logging and Session Management, for example, allows the developer much more flexibility and control over the server environment. And with the acquisition of Valto Systems and the subsequent marriage of JRun 3.0 and Ejipt 2.0, Allaire will be providing a complete 100% Java implementation of the Enterprise Java Bean standards.

JRun will be released in 3 versions:

  • A free version for non-commercial use
  • JRun PRO, recommended for development and
  • JRun Enterprise, recommended for deployment

All told, JRun was a product born of necessity and with the advent of release 3.0 is now well-positioned to be a significant player in the Enterprise market.

These were the highlights of Ed's presentation. Unfortunately, it is not possible in such a short space to really do him justice. Should you have additional questions about JRun, you may reach Ed at edsmith@allaire.com. Many thanks to Ed for addressing a broad range of code and product performance questions with both competence and graciousness.

<Ilane Marie Walberg,Caryatid Software Solutions, Inc.>


Presenter Bio:

Speaker Information
Edwin Smith is a Principal Software Engineer at Allaire Corporation and works closely with all aspects of JRun engineering, particularly Java/native integration, system architecture, and performance optimization. Ed is also an avid motorcycle enthusiast and road racer, winning the amateur lightweight superbike national title at Daytona in 1996.


People had this to say about this event: