Edited by Phil Inje Chang
In this profile we look at one of the most popular and critical uses of
JavaTM technology in corporations: access to and interaction with databases.
Multi-tier network architectures have evolved largely around the notion
of providing the most efficient access to corporate data. Database
applications are the bread and butter of IS departments worldwide, and
there is no doubting the efficiency of middle-tier application servers in
large networks. Servlets created using the Java programming language allow quick development of modular applications that leverage Web servers as the new middle tier.
Some of the key tools for implementing server-side Java solutions
have come from Sun and include the Java Web ServerTM,
JavaServerTM Toolkit, and the Servlet API. The enthusiasm developers have for the Servlet API in particular is due to the fact that it allows server-side Java programs to run with any major Web
server. Hence, it provides a standard alternative to CGI programming that
enhances performance and security, as well as being easier to administer. Looking ahead, servlets will be a standard extension in JDKTM 1.2.
Java Web ServerTM is the first commercial Web server to incorporate the
Servlet API. Available in a two versions (domestic and global), Java Web Server
employs applet-to-servlet administrative tools and implements a Web
service based on the JavaServer Toolkit architecture. (See
Inside the Java Web Server.) Java Web Server 1.1
is now available, featuring built-in page compilation, session tracking, and presentation templates. For more details see Java Web Server 1.1 home page.
"If you can't reuse your code on every platform, the benefits of code-reuse are limited. With the Java platform, we can tell a prospective client that we've already got half of their
project completed, and because of that, our bid is going to be lower and the project is going to be completed faster. Java technology gives us a huge competitive advantage over software development shops that are still mucking around in environments like Visual Basic."
-- Evan Coyne Maloney, Internet Technologist, Research & Development Group, Pencom Web Works
Pencom Web Works: Tools for a Wide Range of Clients
Pencom Web Works (PWW) is a start-up division of Pencom Systems Incorporated. PWW's mission is to develop business applications that take advantage of the benefits of the Internet and Internet-based open systems. Their clients include Credit Suisse / First Boston, NEC, Fidelity, Swiss Bank, Continental Airlines, Netmarket, and Nike.
Why Pencom Web Works Went with Servlets
What problem were you solving and why did you use Java technology? In particular, why did you choose servlets?
"PWW differentiates itself from the competition by developing tools which
can be used to complete client projects faster and better. We have an
internal Research & Development team whose sole purpose is to develop
tools that will be used for client projects by our other developers.
"The most significant of these today is MetaMagic, an `information
broker' which resides between the browser and legacy data, finding the
information on the client's network, or the Internet, and presenting it
to the user as a Web page. MetaMagic is written in the Java programming language, and
utilizes the Servlet API so that it can plug into a wide variety of
servers. We now have a patent pending on some of the technology.
"The Research & Development team of Pencom Web Works is charged with
developing a repository of reusable software code and tools. With such a
broad mandate, we have to be careful to use technologies that can be
deployed on a wide variety of platforms, because that's what our clients
have. The value of code-reuse would be negated if we developed all our
tools in platform-specific technologies like ActiveX and Visual Basic.
"MetaMagic utilizes data modeling and metadata to create 'virtual Web
sites' that can connect literally any type of network-accessible data to
the Web. Any data that resides on any machine on a company's intranet or
anywhere on the Internet can be used by MetaMagic.
"Best of all, MetaMagic doesn't require you to convert your data into a
new format or copy it to a different location. You leave the data where
it is and in its current format and you can continue to work with it the
way you do now.
"With MetaMagic, there is no such thing as 'legacy data,' because it
allows all data to become Web-friendly. MetaMagic does the work of
getting it, analyzing it, and processing it so that your data can be
hooked up to the Web. Think of it as a "universal connector" for data.
"Our process is two-fold: first, MetaMagic is to be used by our
consultants as they go out and develop applications for our clients. We
then gain feedback from our consultants and clients and integrate
it into a 2.0 release, which we may then release stand-alone as a
toolset for other server-side application developers.
"As for development interface, all MetaMagic apps are developed in
straight Java code; the developer uses whatever IDE they already use."
The Benefits: Cross-Platform, Simple, Extensible
What are the overall benefits of using servlets and server-side Java technology?
"Almost every company managing large amounts of data has already
perceived the very tangible benefits of hosting the next generation of
its business applications on the World Wide Web (e.g., platform
independence, ease of use, rapidity of application development, etc.).
"Since much of our work is on the server side, our notion of 'platform'
includes not only the standard combination of processor type and
operating system, but of server software as well. That's where we benefit
from the Servlet API: it takes the Java platform's Write Once, Run AnywhereTM promise
and extends it to the server environment.
"Today, Java is the most significant enabling technology in software
development. It has allowed us to build a set of tools that we can use on
any project for any client and on any platform. Before Java technology,
the promise of code-reuse made by object-oriented languages was not completely
fulfilled. If you can't reuse your code on every platform, the benefits
of code-reuse are limited. With Java technology, we can tell a prospective client that we've already got half of their project completed, and because of
that, our bid is going to be lower and the project is going to be
completed faster. Java technology gives us a huge competitive advantage over
software development shops that are still mucking around in environments
like Visual Basic.
"A tool like MetaMagic is a natural candidate for Java technology. The initial
version of MetaMagic was written for Jigsaw, the first completely
Java-technology-based Web server available (from the W3C). At the time, Jigsaw made perfect sense for us because it was the only way we could deploy
MetaMagic completely in Java technology. (Ironically, Jigsaw was written by Anselm Baird-Smith, who now works for Sun in the JavaServer group.)
"Since then, JavaSoftTM released Java Web Server and the Servlet API, and we
investigated porting MetaMagic to become a servlet, so that MetaMagic
could be used by a variety of different Web servers. In addition to Java
Web Server, servlets created in the Java programming language can be used with Netscape's servers, Microsoft's IIS
(and any other servers supporting ISAPI), Apache, and many others.
"For us, the benefits of the Servlet API are unquestionable: it gives us
the largest possible server-side base of any technology on the market.
And as the Servlet API continues to be adopted by more and more server
vendors, its ubiquity will begin to rival that of CGI. And since servlets
are much more efficient than CGI scripts (which take more overhead), it
could be the technology that puts the final nail in the coffin of CGI.
"Here's a short list of what we like about servlets:
-
Portability across platforms: Because the Servlet API utilizes Java software,
our servlets can be cross-platform without any re-coding.
-
Portability across servers: The Servlet API is available on an
ever-increasing set of Web servers, including Apache, Microsoft IIS, and
Netscape, so the market for our servlet will be as large as possible.
-
Simple API: The Servlet API is simple to adopt; anyone familiar with
the Java language and CGI will be easily able to understand the Servlet API.
-
Extensible API: The Servlet API is not tied to any particular
protocol, so as servlets or services become available for things other
than HTTP, we can redeploy our servlet using the new environments."
Were there any technical difficulties?
"Some of the third-party servlet runners available for different server environments are more robust than others. We experimented with several to determine optimal configurations. We also found the Java Web Server mailing list to be a valuable resource as we assessed the various Servlet runners."
See Also
See Steaming Hot Servlets, a discussion with Proxicom about their servlet development.
See Java Server Product Family home page for information on Java Server products.
Phil Inje Chang is a technology consultant and CEO of Simpler Software, Inc.
|