There are many ways of getting started on a new piece of Java Technology. Developers do searches on Google, check their favorite online publication, go to Amazon for books, view tutorials on java.sun.com, etc… But, one source that is frequently overlooked is the specifications.
When I started JSP and Servlet development about 4 years ago, I thought it was Sun’s version of Microsoft ASP technology. Then a friend of mine, Joe Wortmann, handed me a copy of the JSP and Servlet specs. Joe explained this importance of starting at the specs. I like to hack and experiment, I thought the specs were for wimps, but I gave it a try anyway.
Reasons to start with specs
After spending some time with the docs, I found JSP & Servlet was not just another version of Microsoft technology. Additionally, the specs gave me insight into the workings of the technology. Specifications explain:
- Mindset: The basic mindset of the technology, what the technology is, and what it is not.
- Features: Characteristic of the technology, for instances “How does Servlet deployment work?”
- Description of the interfaces
- Location of additional resources
- Other related specifications
To the point
Specs get to the point, and avoid the clutter (and slant) of vendor specific documentation and tools. Many times vendor documentation tends to be missing important parts, just cover installation and configuration, or just point out vendors specific extensions to the technology in question. Additionally, many times developers get so hung up on the vendor tools they don’t understand the underlying technology.
Having the specs around help answer questions, and help get projects done the correct way. For instance, a common web project question is: “Can I stick HTML and images into the WEB-INF folder?” To answer the question, I simply refer to the specs: “It is important to note that the WEB-INF node is not part of the public document tree of the application. No file contained in the WEB-INF directory may be served directly to a client.”
Specifications are not a replacement for other resources such as books, articles, tutorials and vendor documentation. These other resources provide insight into usage, development, and implementation patterns that help smooth development, deployment and maintenance.
Some specifications have grown considerable over time. The Servlet specs have grown from 79 pages in version 2.2, to 257 pages in version 2.3, to a whopping 330 pages in 2.4. Don’t let the doc size scare you off. Generally the specifications are provided in multiple formats such as HTML, PDF and PS. I keep a bookmark to copies on my machine.
Whenever I learn a new piece of Java technology, such as JMS, I download the specifications and start reading. The only problem with this approach is that you may get irritated at people that don’t read the specs, or the vendors that do NOT develop products to the specs.
Thanks Joe. :-)