Stratum is usually implemented above json-rpc. Which from a server point of view is very simple to implement. You can listen in a raw socket, each command is a single text line (separated by newlines '

'). Although it has its limitations, it is enough for a pool to miner communication.

The pool software has to communicate with lots of miners, so they want to make the communication layer as simple as posible.