Browse DevX
Sign up for e-mail newsletters from DevX


Orion Application Server: A Hunter in Pursuit

The Orion Application Server is a hunter in pursuit of market share in the app server space. Steve Franklin discusses the attributes that make this fledgling product an app server to watch.




Building the Right Environment to Support AI, Machine Learning and Deep Learning

lthough IronFlare's Orion Application Server is hardly a giant in the app server market, there is no arguing its position as a hunter in pursuit. Orion has quietly grown in popularity and respect as a J2EE application server in Java programming circles thanks to IronFlare's recent licensing arrangement with Oracle. Oracle has integrated Orion into Oracle9iAS as OC4J (Oracle Containers for J2EE)lends significant credibility and momentum to its already strong app server product.

This article discusses some of the strengths that make Orion an app server to watch, as well as the weaknesses that come with being a new product.

Performance: Orion Beats the Big Guys
Orion is fastvery fast. I performed some benchmark tests to update the assessments I made about Orion in "Choose the Right J2EE Application Server for You" (January 2001) and I found that my results were fairly consistent with Orion's existing Apache vs. Orion benchmarks. Since then, I have used a useful and freely available load-testing tool from Microsoft called WAS (Web Application Stress tool) to confirm that Orion is still out in front of Apache for static page performance. On my Linux (kernel 2.4) box running Orion 1.5.2, I can retrieve a small HTML file at approximately 220 pages/second over a 100Mbps network connection. Apache 1.3.19 operates at approximately 180 pages/second.

Oracle's benchmarks also reiterate the latency and throughput advantages of Orion against some of its major competitors. Compared to Tomcat, WebSphere, and App Server X, Orion handles several times as many pages in a fraction of the time.

Footprint: Efficient Package
Orion is a tight software package (28MB, including docs and GUI tools). Orion also makes efficient use of memory and CPUs when running EJB, JSP, and servlet code. I have found that J2EE code ported from other J2EE application servers I have used ran leaner and with less hardware requirements on Orion. If you expect to your memory and CPU consumption to balloon when users hit your system, you will be pleasantly surprised with Orion. When I did my first port from a mainstream application server to Orion, I assumed I had very different settings or I had done something wrong because my JSP/servlet software (largely a JSP/servlet application using a connection pool to an Oracle 8i database) was running so quickly on the Orion instance.

Java Integration
Orion supports Jikes (a wonderful, high-speed Java compiler from IBM) for run-time compilation and integrates with it very easily. Jikes is a good deal stricter than javac in many programming steps, forcing better coding habits in my opinion. With Jikes, compiling servlets, JSPs, and EJBs is very quick, simplifying the developer cycle from code modification to functional tests via the Web browser. You also can choose from a number of JVMs depending on your preferencea good thing because JVMs vary significantly in performance.

The OC4J benchmarks that I reviewed for this article include JSP, servlets, and EJBs in their test suites, and they confirm my conclusion that Orion's performance is very fast. I could not find a single case in which Orion came second in performance, even when I standardized the JVM, javac, and system configuration.

JSP and Servlets
Orion is able to execute JSP and servlet code very efficiently, particularly on Linux where I have used these two technologies most heavily. You might wish to check out Orion's JSP benchmarks. I found Tomcat performs better than reported in the Orion benchmarks, but the fact that the benchmarks are one year old may explain that.

EJB Configuration
Orion provides a reasonable amount of configuration regarding EJB performance and behavior. Orion's EJB management is configured via orion-ejb-jar.xml. Follow the link for a good discussion of the parameters that can be configured. You will find most of the standard configurable parameters such as session timeout, entity pool timeout, copy-by-value control, etc. I stay away from entity beans and write my own data layer in EJBs and JDBC for better performance and productivity. On a related note, deploying EJBs and entire applications is incredibly fast due to Orion's hot-swap deployment features. Unlike other Web app servers, the interval from EJB modification to test can be as quick as a second or two, which is great for development environments.

Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date