SOA with REST - Principles, Patterns and Constraints for Building Enterprise Solutions with REST