2011/04/05

The Big Picture

This page is the techies subsidiary to the overview post I made today in the parent blog that began with this Hello World, first page.

Potholes and Windfalls
The 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.

2011/03/13

Setting Up a Platform

It is likely you came to this page from the link to it on the post Structuring the work in the parallel, non-technical blog.

In the first two posts there I introduce this blog, as a technical subsidiary.

What you will find here now, is a detailed description of the steps to creating the work environment for what follows in later posts.
  • A free, open version control system where you can get the source code.
  • An Integrated Development Environment (IDE) for working with the source code, which is very focused on Jena and what it has to offer.
  • An ontology storage server.
Once you've worked your way through the material here you should be able to run a little Java application that stuffs some ontological data into permanent storage.

The main issue is what Jena expects its permanent storage to look like.  Once you know what you're doing, it is well documented in its source distribution package ...  %JENAROOT%\doc\DB\mysql-howto.html. To get from here to there, I've figured out what is necessary and explained it all below.

To make it easy to deliver the necessary bits and pieces, I set up a public repository of all the code you will need here ... Subversion repository for MOWa.

To get ready to use that, please refer to the tutorial, Using Tortoise to get the MOWa source code.

All of my examples from now on are going to depend a lot on usage of Eclipse, so once you have got the source code in your machine you are going to want to set up Eclipse too ... Get the project into Eclipse.

With all that we still aren't done!  We have to set up our database access ... Create the MySql Database.

For future reference I've created a little database connectivity tester.  It's a good idea to have a toolbox of such utilities, and run them when you're about to do any other testing just to make sure you are working from solid foundations.  So give this a try, to be sure you can Connect to MySql from Eclipse.

2011/03/07

Hello Geeks

I've created this child blog of  Monetary Ontology Walkabout to handle all the techniques and technicalities behind the ontology stuff which will underlie all the monetary stuff.

I expect to post on that blog, quick references to new posts appearing on this blog.