WSDL (Web Service Definition Language) provides a standard format for letting other systems know what things they can request from Moodle. It's a pull model, rather than push, so your external system would have to use one of the methods described in the WSDL document to ask Moodle on a regular basis whether any grades have changed, and Moodle would need a (probably custom written) function to go and find out.
Using a push model would require hooking into the core code at the point where grades are saved, so that messages can be sent out to other systems. I've not looked at the code at all, so can't tell you whether this is possible without hacks, but it would certainly be handy. The events API goes some way towards it, but isn't quite designed with this in mind.