Copyright © 1998 The Adrenaline Group, Inc.
Scott McLoughlin, Chairman & CEO
The Adrenaline Group, Inc.
This article first appeared in the premier issue of Servlet Central.
Introduction
The Adrenaline Group helps entrepreneurial companies to design and build new, innovative commercial Internet products and services. For Web server software construction projects, Adrenaline turns to Java Servlet technology.
It is not Java’s commercial sex appeal that has captured our attention. Adrenaline’s selection of Java technology rests on solid business and engineering criteria:
- Power
- Safety
- Time-to-market advantage
- Performance
- Cost effectiveness
Adrenaline has been using Servlet technology since Jeeves’ alpha release, the first version of what is now Sun’s Java Web Server. The technology keeps getting better and better and has served Adrenaline well in the commercial marketplace.
Power
Java is a powerful, low-level language ideally suited to complex Web server development tasks. Its rich feature set includes powerful binary data manipulation, superb stream input/output handling, elegant built-in multithreading, platform independent database integration, convenient TCP/IP socket interfaces and a solid library implementation of the most common data structures.
Helping companies invent tomorrow’s products, Adrenaline needs all the low-level, bit-twiddling development power we can get. While scripting and fourth generation languages are designed to make simple, routine tasks easier, Adrenaline leaves the routine stuff to lightweights – we do the hard stuff. When the success of a product relies on an innovative new feature, "The technology is not there yet" is simply not an acceptable answer! We have to invent the technology, and lesser languages just won’t cut it.
Using Java, Adrenaline has quickly built sophisticated parsers, Internet network protocol handlers, database-driven authentication systems, complex session state managers and numerous other highly technical subsystems. Try that in VB Script!
Finally, the Java Native Interface (JNI) allows integration with C language code when you simply must gain access to native platform OS capabilities. For example, we have used the JNI to access Windows NT inter-process communications facilities when implementing a high performance inbound e-mail handling system.
Java builds in most of the language power we need to implement advanced commercial products and provides a clean native-code interface for those rare occasions when only C will do. Java Servlet technology lets Adrenaline say yes to our clients’ most ambitious technical and feature requirements.
Safety
Unlike scripting languages, Java is a robust, strongly typed programming language. Using safe, compiled Java allows Adrenaline engineers to catch most common programming errors at compile time instead of at runtime. Our clients’ commercial Web services live-and-die on uptime. All the Web traffic in the world won’t do any good for a dead server!
Garbage collection also adds to Java’s safety. Some of the most common and difficult to debug runtime programming errors are memory-access violations, more typically referred to as "pointer bugs." Before adopting Java, all Adrenaline developers cut their teeth on C and C++, and none miss C’s ubiquitous core dumps and general protection faults. Java’s garbage collecting memory management does away with memory management bugs.
Finally, Java’s strong exception handling ensures that external resources such as sockets and database handles are properly released and that runtime error handling is given due attention. Data is the lifeblood of information based businesses. Java’s exception handling allows Adrenaline to build robust products that gracefully recover from runtime errors and insure data integrity.
Time to Market
Java’s combination of power and safety adds up to solid time-to-market advantages that all of Adrenaline’s customers understand. All of our entrepreneurial clients live on Internet time, and new products aren’t very exciting if they’re late to market.
The Servlet API brings convenience and developer efficiency to Java’s power. Servlets provide elegant access to the HTTP protocol and to the data handling functionality required for Web development. The new HTML template API allow the Web user interface to evolve without recompiling code, so that once a site has been designed, software developers and graphic designers can work independently and in parallel.
Java’s elegant package mechanism has allowed us to design, manage and reuse our own extensive libraries of useful Java subsystems.
Cost Effectiveness
Java Servlets are both cost-effective to develop and cost effective to deploy. Adrenaline’s developers can design and implement Servlets and Java libraries on inexpensive Windows NT machines. When traffic warrants, Servlets can be deployed on high-end Unix machines. Try that with C or C++!
Second, the technology Adrenaline uses to implement our clients’ high volume commercial Web services cannot carry hefty per-user license fees. Thankfully, most Java Servlet engines are realistically priced. Sun’s Java Web Server costs only a few hundred dollars, while Apache and most of the Servlet engines for commercial Web servers are free.
Performance
Java Servlets are compiled, loaded once at Web server startup and service Web requests using separate lightweight threads. Competing scripting language technologies require spawning one or more heavyweight processes and parsing multiple scripts to handle each request.
But there are two additional perspectives on Java Servlet performance. First, Java Servlet technology is platform scalable. Portable Java Servlets can be developed on inexpensive Windows NT machines and then deployed on increasingly powerful Unix servers as traffic increases. Platform scalability is very attractive to our entrepreneurial clients.
Second, multi-threaded Java Servlets share a common address space. Adrenaline developers can engineer Servlets to share frequently accessed data in core memory, decreasing the need for performance degrading file and database access. While these techniques require expertise with multi-threaded system design, the performance increase can be dramatic.
Conclusion
Adrenaline uses Java Servlet technology to develop advanced Web server applications for entrepreneurial companies. While low traffic Web sites may benefit from quick and dirty scripting language approaches, Java Servlet technology’s power, safety, time-to-market advantages, cost effectiveness and performance add up to a market winning solution for commercial projects. As new technologies such as XML, LDAP and HTTP-NG become staples of tomorrow’s Internet landscape, we are confident that Java and Servlets will continue to give Adrenaline and our clients significant time-to-market advantages over competitors that choose to wait for lesser technologies to catch up.
|