The very basic I forgar how this all works explanation:
Connect to a server (create the link)
Select a binding (raw TCP, HTTP, WebSocket) to exchange packets with
Perform any pre-flight encryption handshakes (like TLS)
Create a stream
Negociate features (initiating more encryption, log ins, restarting the stream as needed)
Vomit XML documents at each other until done.