"I made no secret of the fact we'd been keeping a close eye on James last season," said Hornets boss Ray Lewington.
"During his loan spell this year, he's already shown what he can bring to this club.
"He's a player we've watched for a while and I'm delighted that he's going to be with us full-time.
"He'll add quality and experience to our squad and you can't have enough of that."