CRest (Client REST) is a lightweight library that simplifies the integration of third party RESTful services into Java applications. CRest is mainly annotation-driven, allowing the developer to focus on the essential aspects of the integration of a REST service, such as the definition of the Java interface that maps the remote REST methods and the data model the interface will deal with. The rest is achieved by annotating a plain Java interface with the relevant information such as the service end-point, the desired timeouts, URL formats, etc. CRest will handle everything else, including HTTP request generation, auto marshalling of the response, and more.