ContentsIntroductionWhy the servlet utilities exist
Previous: Assumptions about the reader | Next: Limitations

Why the servlet utilities exist

Because of the assumptions that are made about you, I know that you already understand the need for programming libraries. Java has a particularly rich set of existing libraries (packages) in the core and standard extensions; but there are still many areas of specialization that require enhancement. This is also the case with C/C++, Visual Basic, Delphi, and virtually every other programming language.

The servlet utilities build upon the base of existing Open Source and standard Java tools in order to provide some capabilities that either don't already exist or are locked up in commercial packages.

Let me admit a bias and explain it - I don't trust (most) commercial software packages. The incentives are wrong: commercial packages are developed for the sole purpose of providing value at an ongoing price. While it is reasonable to expect the customer to pay for the value that they get from the purchase of a commercial package, it is not reasonable to turn them into a slave - requiring them to pay for bug fixes and new versions which provide functionality which was promised in the original. Furthermore, because the source code is kept locked up, it does not benefit from the critique and improvement of others. No matter how big a software company is, their internal developers can benefit from exposure to the ideas and inspection of the Internet development community.

As explained, I avoid the use of commercial software packages because they bury hidden hooks that don't get pulled for months or years - long after a system which uses them has gone into production. Commercial vendors can't - and don't - predict the needs or interactions of every use of their product. As a consequence, the customer is left to try to get things to work together long after the purchase. If all of the source code were available, the problems can be resolved by making slight changes to fix compatibility issues or to fix bugs. Commercial vendors see this "service" as being a grand opportunity to extort even more money for support. The net result is that the customer pays, and pays, and pays - until they give the vendor the boot and finds another solution. When that happens to you enough times, you'll want to avoid the use of commercial packages too!

The primary need addressed by the servlet utilities is to provide an Open Source toolkit for the creation of Java web applications that must produce PDF files for preview, printing, and archival purposes.  The PDF specification has been made public by Adobe, and can be downloaded from their web site.

There are other tools which may be used for this purpose, but their emphasis is different.


ContentsIntroductionWhy the servlet utilities exist
Previous: Assumptions about the reader | Next: Limitations