This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
If you search Google for "component based architecture" and "service-oriented+architecture" http://www.google.com/search?q=%22component+based+architecture%22+%22service-oriented+architecture%22 you should find plenty of articles that go on about how SOA is an evolution of "component based architecture". So far I have only come across books that discuss one or the other but not both. A book on component based architecture will much less likely discuss SOA; a book about SOA on the other hand may discuss why it is "different" or "better" than a component based architecture.
In broad, grossly oversimplified strokes:
They differ in granularity: a component based architecture is much finer grained and it tries to preserve the opportunity of distributing and reusing components over the infrastructure; data transmitted over the network is usually restricted a few parameters per invocation but leading to a relatively "chatty" conversation between all the distributed components. In SOA everything is much larger grained, you distribute entire service applications, exchange larger "documents" reducing the traffic somewhat.
SOA also tries to be much more dynamic than your average component based architecture. The aim is to create Business Process Management Systems that can "on a whim" change how services interact or how they aggregate to adapt to ever changing business needs - how realistic this goal is, well that is another matter. Typically these changes are supposed to take less effort than redeploying your typical "distributed component based" solution. (Apparently testing these changes is effortless :roll: )
The article SOA antipatterns can give you an idea of how ambitious SOA can be (does it provide enough value? - who knows).