O SOAP (Simple Object Access Protocol) é um protocolo concebido para trocar informação estruturada num ambiente descentralizado. Usa as tecnologias de XML para definir uma estrutura de mensagens extensíveis que podem ser trocadas sobre uma variedade de protocolos subjacentes. A estrutura foi projectada para ser independente de qualquer linguagem de programação, modelo ou outra implementação específica. O SOAP habilita aplicações cliente a ligarem-se a serviços remotos e invocarem métodos desses serviços. Assim, uma aplicação cliente pode adicionar um serviço disponibilizado na web, ao seu feature set, localizar o serviço SOAP apropriado e invocar o método correcto.
Ao contrário de outras arquitecturas distribuídas, como o COM/COM+ e o CORBA, o SOAP é meramente um protocolo de comunicação. Para conseguirmos comparar com essas arquitecturas temos que implementar o protocolo SOAP como uma arquitectura distribuída.