The leap to Mac OS X introduces a new world of possibilities to Apple users. Both the Unix heritage of Darwin and the sleek integration of Java bring the OS X platform a number of powerful Open Source packages and with them, opportunities to work with some exciting cutting-edge technology. As exciting as these opportunities are, they can also be daunting. The very term "cutting edge" implies that a long time may pass before we see a friendly "Dummies" book published to help us get started.
As a Linux and Java enthusiast coming to the Apple platform, I would like to offer something to my new Apple community. Already I've put together a package installer to facilitate installing and using Jakarta Tomcat and Cocoon. I will continue to work to help interested Mac people explore relational databases (MySQL and PostgreSQL), Java Servlets and Java Server Pages (Jakarta Tomcat), XML (Apache XML's Cocoon) and Enterprise Java Beans (JBoss) and how to use these powerful and FREE applications to create cutting-edge web sites.
These articles are meant to help you get started with a real-world implementation of these technologies. Obviously there isn't time for me to actually teach any fundamentals. I will assume that you will take the initiative to go over to the local Barnes & Noble and dig up some promising books where talented authors have gone through great pains to give you the training you need to get up to speed. I will provide book recommendations (please e-mail me if you think I'm missing a particularly good book in any of my lists). I will also assume that you have functional ability to program in Java. If you can't immediately tell me the difference between a static method and a class method, go back and read your Java in a Nutshell.
I should mention that although emphasis is given to installation and configuration under Mac OS X, much of this material can apply to any flavor of Unix that has a good Java implementation or even (God forbid!) Windows. This means that any implementation of these particular software packages can be migrated to larger server hardware with a trivial amount of effort. Try that with Winblows!
Here's a rough outline of the topics that I will try and cover over the next months:
|
As profound as modern Open Source software is in its completeness and sophistication, equally amazing is the community that supports it. It's ironic that corporate CIO's are afraid to embrace Open Source software because of it's lack of central "accountability". (In other words, when things go wrong, they want a phone number they can call.) Sadly, support for many commercial applications is expensive and/or poor in quality. On the other hand, there are ample stories about people who monitor mailing lists and will fix a software bug and submit a "quick fix" patch in a matter of hours.
When exploring a new technology, there are some simple steps that will get you on the fast-track to functionality. One important step is subscribing to the relevant mailing list, finding the FAQ if one is available, reading several days or weeks worth of e-mails to get an idea of the what support is being offered (and to make sure you don't ask a question that someone already answered the day before) and to participate wherever you can.
These mailing lists are where you can go to find the answers to your specific problems. I am happy to receive e-mail that discusses the material in my articles (what's confusing, what you might disagree with, what's missing, etc.) but I'm simply going to have to ignore most "technical support" types of questions.
One additional disclaimer: all modern software requires tuning before it gets deployed in a real production environment. This tuning impacts two very important issues: performance and security. Any package installer that I provide is designed to make it easy for the beginner to start developing quickly and easily. Some of my configuration choices were made for convenience at the cost of security. One of the responsibilities of being a web developer is the careful examination of every line of every configuration file. Consider yourself warned!
And now, let's have some fun and explore the world of advanced web design!