• A critical distinction between a service and a software component is that services should be independent and loosely coupled.
• Their interface is a ‘provides’ interface that allows access to the service functionality. Services are intended to be independent and usable in different contexts. Therefore, they do not have a ‘requires’ interface.
• Software components have two related interfaces – ‘provides’ interface and ‘requires’ interface.
• Services communicate by exchanging messages, expressed in XML, and these messages are distributed using standard Internet transport protocol such as HTTP and TCP/IP. Software component can be independently deployed and composed without modification.
• There is a single standard for services against several competing standards for components so service inter-operability is much better.