Thanks for the replies!
The confusion starts when you search out some real examples, even on the actual Sun website:
http://java.sun.com/products/jndi/tutorial/basics/prepare/initial.html ...as well as on the IBM examples that I have found. It just seems to me that you would not want to require the class name and you seem to agree.
Still, can anyone give me a real-world example in which you would want to have the applications specify the factory class?
And yes, JMS is within the J2EE realm, but you can use JMS without coding real J2EE objects. You don't need JNDI either but I thought I might use the most standardized and abstract approach that I can.
Thanks again,
jrh