After having search on the ms.com

What i know
SOAP is a lightweight protocol which provides with the facility of sharing Data-types (I may say Object) over the network..
It is an XML-based protocol
It runs on HTTP, SMTP,TCP etc...
It is used to share data between WebServices

My Questions are..
Where does it reside???
With Browser? With Web Server??
Does it need any server like MTS?
how the transfer of Objects is managed?
Can it share the Data Between Web Services and Windows Services?
I also read that it is just specification.. how would it be implemented?? I mean in what form? what language?