NatureServe Web Services

Technical Library

Relevant Standards

While standards documents are not designed primarily as teaching aids, they can be very helpful in understanding the technologies and should have the final say on matters of syntax, etc.

World Wide Web Consortium (W3C) - http://w3.org
The W3C is the keeper of the majority of core web standards. Those most relevant to web services are:
Dublin Core Metadata Initiative (DCMI) - http://dublincore.org
The DCMI develops standards for the encoding of metadata about resources. The Species Images Service uses elements from the Qualified Dublin Core Standard to provide metadata about images.
Web Services

NOTE that all of NatureServe's web services use a form of REST interface, while the term 'Web Service', as shown in this Wikipedia page, is often taken to represent SOAP based web services.

For NatureServe's simple purposes, i.e. the read-only delivery of data, REST is far the easier solution. There is not much for the user to learn beyond how to construct a URL containing the relevant parameters. The pages which describe the various services, as available from the Index of Services, contain LIVE examples of such URL's. The Code Samples provide for more advanced usages.

Java

In terms of learning to program in Java, online tutorials abound. A good starting point might be Sun's The Java Tutorials page.

There are many good Java books in circulation. Apart from basic coverage of the material, what constitutes a 'good book' is a very subjective judgment - learning styles vary widely. Browsing in a physical book store, where you can actually handle a book, check its indexing, read extensively before buying, etc, might be the best way to choose. If you are lucky enough to have a good local library, do not rule this out - while computer technologies have a notoriously short lifespan, the fundamentals of Java change very slowly. Beware old books for more advanced topics, however - you will rely most heavily on online materials for these.

For all but the most trivial Java development, an Integrated Development Environment (IDE) is essential. Some examples are:

Note that there are numerous other choices - the list above does not represent any NatureServe endorsement or recommendation of any particular product.

XML, XML Schema, XPath, XSLT, XSL-FO

Besides the W3C specifications (see above), there are various online tutorials for these technologies. One notable set of quick primers is that produced by W3 Schools. The lessons cover a wide range of XML and other technologies and can be a good way to quickly come up to speed on a topic.

As with Java, there are many books devoted to these technologies. The same recommendations as to finding a 'good' Java book (see above) apply here.

One standout resource deserving special mention when dealing with XSLT and XSL-FO is Dave Pawson's XSL Frequently Asked Questions site. These two technologies are without a doubt the least intuitive and most likely to confuse. Dave's site is no longer regularly maintained but still represents an invaluable compilation of answers to virtually any XSL question.

All of the IDE's mentioned in the Java section, above, also provide tools for working with XML.