Sending event to client is not a natural behavior of WCF.
You should use a duplex contract there is some knowledge here:
Sending events from WCF server
Other then that WCF is pretty cool:
you define the data contract, and the operation contract using attributes, and you have a service running.
Some more care should be taken when trying to serialize circular objects (but it is solved)
and the rest - you will have to find while you're porting / learning WCF.
There is an easy way - to use a shared dll, and the hard way (but the more "soa" friendly) - to generate a server proxy to the client.
Juval Lowy - This is a good book to start, and the rest is googlable....