Potholes and WindfallsThe days since I last posted have been difficult because of the plethora of options available, further complicated by the number of versions of each of the products. Brief resumé :
I believed I could cut through all the problems by going for the RESTlet framework. I was especially interested to see that they had a demo that works with Google's App Engine. Unfortunately, despite at least six years on the market, their tutorials are close to worthless. I asked about it and they replied "... consider reading the "Restlet in Action" book for a deeper coverage of Restlet including sample code and more comprehensive examples." There is only an "Early Access" edition of their book. I don't intend to buy 2/3 of their book, just to evaluate their framework. I wasted three days discovering that their examples only work with an older version of RESTlet.
Next, I took a look at RESTEasy from jBoss. I don't doubt that it is the most serious option out there. When I need to develop a full-blown enterprise scale system that'll be the choice. After half a day of searching I could not find a clean, clear getting-started tutorial. They all required prior knowledge of jBoss' product line, and most depend on JBoss Developer Studio. I don't intend to buy their development tool, just to evaluate their framework.
My searching led me to Wink from The Apache Software Foundation and a great tutorial from IBM, Using Apache Wink, Eclipse, and Maven to develop RESTful Web services. Good as it is, I hit a mess of problems with versions, nevertheless. The tutorial is only a year old, but that's old enough that changes in versions of dependencies cost me three days of dead-ends, googling and back-tracking before I got what I needed. The good news is -- we're back on track.
Fall Out Of The Stupid Tree and Hit Every Branch on the Way Down
In the past month, I've discovered I need a lot more structure to the guides.
I've also tended to base them on a problem solving approach. Each new step is first presented as a blocking failure, and then proceeds to showing the solution. Maybe not everyone learns that way. I certainly do. Perhaps a more polite and generally accepted name for this method of working is, "Test a little, code a little" -- define a test for the good result you want to get eventually, knowing it will fail at first, then code / configure until the test succeeds.
In the Wiki site, the Homepage continues to increase in length, providing a brief description of what each page has to offer as I post them. At its foot I have added an ordered list of the tutorial "guide" pages, and each page now has << backward | up | forward >> links, to emphasize the cumulative nature of the guides.
There is a separate List of all the downloads.
I extended the page Connect to MySql from Eclipse to include an RDF example.
With the page Create a Bare Minimum Configuration Test Application I've completed the guide for preparing an application server able to display data from a back-end database, and -- the real meat in the burger -- a environment that makes it easy to work, while keeping the tool set simple. Tools like Subversion in Eclipse (subclipse) and Maven in Eclipse (m2eclipse), make day to day usage simpler still, but ensuring followers of these guides have those set up correctly is hard, so I'm staying with command line stuff.
The page A simple REST style application with Apache Wink demonstrates a minimal example of REST functionality, and introduces more tools for facilitating that work.
The next step, for the next post in this blog, is to put together a Complete application with JDBC RDF REST calls GET PUT POST DELETE.