How Service-oriented architecture and Component-based development relate to each other?

architecture, components, soa

Solution

The two concepts are pretty orthogonal, neither complementing nor contradicting each other. If you threatened to stick a rusty fork in my eye and forced me to generalise, I'd say that component-based development was a technique for modelling and assembling a specific piece of software, where as SOA is a technique for organising separate systems so they can talk to each other.

Like I said, a crass generalisation, but it's all I'm going to give you without a more specific question :)

Problem

Here is a pretty theoretical and abstract question: How Service-oriented architecture (SOA) differs from Component-based approach? Is the concept of SOA an extension to Component-based approach? What are your thoughts? Maybe you know any good papers that cover this subject?

Original source