On Fri, 2005-06-03 at 09:15 +0800, Rod wrote:

> I figure I can accomplish this quiet easily with a Filemaker/ 
> Filemaker Server combo, but price is a consideration ($0 would make  
> the boss very happy!).  There are two solutions I am considering:

It'd probably get you the best results, fastest, but at a considerable
cost. It also means you need to send money their way for upgrades if,
say, your version won't run on some newer version of MacOS/X.

> a) Using Webobjects, so all I need on the client machines are a web  
> browser

I thought WebObjects was very expensive. Am I mistaken? There's also the
learning time (if any) and the no doubt considerable development time to
consider, especially given that writing good web-based user interfaces
for databases is quite difficult.

> b) Using REALBasic to create a front end for an SQL database.  Being  
> a multi platform language, REALBasic might be a good solution, as I  
> can also tailor the interface to what we need

That does sound like a sensible option if you need a "real" client
program. Building a good database user interface is non-trivial, though
it's easier with a rich client than a web interface.

> Anybody here had experience with either solution?  Are they difficult  
> to implement?  Can anybody point me to a good resource for SQL  
> (especially on the Mac), as I'm a bit 'green' when it comes to SQL.

There's really nothing Mac specific about SQL. Whichever program you're
using, the language is pretty much the same, so you can install
PostgreSQL or some other database and not really have to worry at all
about whether it's on a mac, a UNIX box, or something else.

There are a LOT of SQL tutorials etc on the 'net. I found a fantastic
one a while ago, but of course can't track it down now and I never noted
down where it was. Sorry.

I found the manual for the PostgreSQL database engine to be EXTREMELY
useful as a resource and guide to SQL, though it doesn't start at the
very basic level. There are also lots of books out there. I'd probably
install PostgreSQL or some other database and start plodding through a
few tutorials, then read the database manual in detail and go from
there.

If you do decide to go down the programming route, one alternative to
WebObjects is PHP . PHP is a free language for writing web applications.
It'll run on any platform and talk to most SQL databases - SQLite,
PostgreSQL, MySQL, MS SQL, Oracle, etc. Like WebObjects, it's quite a
bit of work to learn how to do good web applications in, though, and
you'll never be able to do as good a user interface as in a "real"
client program.

Personally, I do all the in-house web apps and databases front-ends at
work in Python, another programming language, but that's because it's
what I know and am comfortable with. I'd suggest PHP for someone just
getting into it, since it's much easier to get started with and there's
much more info out there on the web about it. There are even books
specifically about database programming with PHP.

In your position, I'd be seriously considering FileMaker. How much time
will it take to produce an adequate solution by writing it yourself? Is
it actually worth doing so when you can buy a program that'll let you do
it quickly and easily out of the box? If you write it yourself, what
position will your employer be in if you leave - how will they maintain
it, and how long will it take you to write the documentation to let them
do so?

I'd write it myself, but I already know the tools and the languages
needed. In your position I'd seriously have to consider that FileMaker
might be the best option and the lowest cost overall. Failing FileMaker,
I'd probably want to choose a tool like PHP with PostgreSQL that doesn't
cost anything, and didn't tie me down to any platform support and
upgrade agendas other than my own - even if it does take me a lot longer
to produce a good result with.

-- 
Craig Ringer