A solution that uses WCF