I'm a newbie here and am a little timid about raising my hand, but I do want to be helpful, so here goes. If I'm making some mistake in etiquette, please let me know (but be gentle).
The most commonly used algorithm for SVM is based on work done be John Platt at Microsoft Reasearch (used for example in libsvm). I've attached Platt's original paper. It's also still available from Microsoft Research. The commonly used version of the algorithm is based on improvements suggested by Keerti et al. That paper is also attached. The improved algorithm boils down to very few steps. I've attached a single page pdf that succinctly summarizes the improved algorithm. I've coded this algorithm in C++ and Python and will happily supply code or can easily re-code into Java in a day or so. I hope this is helpful. Do I need to ask that you feel free to comment? mike