Web Services
Web Services really do seem like a pretty cool idea. Machines communicating with each other in a standardized and relatively simple way. Sure that’s a kind of romantic view of what a web service is, but it’s the one I like to start with in my story. Simply put, their concept is very cool. Beyond their concept however you rapidly realize that there are more standards than are likely needed for such a basic idea. Too many protocols too many choices, and sadly too many implementations.
Each implementation of a web service layer is different in vaguely terrifying ways. The basics are all there I suppose, but you almost immediately realize you are coding your web services to a standard language that promises generic solutions across countless servers and operating systems, but that in practice you are forced to choose a very specific server platform. Code written for BEA’s implementation of SOAP will fall apart when tried to be installed under an Apache-SOAP server. Before you know what happened your romantic standards and simple concepts have fallen prey to “I can implement this standard better than you can” type warfare.
Somewhere in the middle of all this is a lowly web developer trying to make heads and tails of BEA’s Web Logic documentation, and books that choose Apache for their examples, and 1000 competing ideas. Before you can code your web services you have to understand how you are coding them. The lack of progress can be very frustrating. You wouldn’t think that days of reading, trying, failing, and reading some more would be needed for my desired sample web service of adding two numbers together, but it has been so far, and it shows no signs of ending.