anchor.diff:  == Architecture
   
   The application built in this guide is quite simple. The user fills a form on a web page.
  -The web page send the form content to the `BookResource` as JSON (using Ajax). The `BookResource` validates the user input and returns the
  +The web page sends the form content to the `BookResource` as JSON (using Ajax). The `BookResource` validates the user input and returns the
   _result_ as JSON.
   
   image:validation-guide-architecture.png[alt=Architecture,width=640,height=480]
  
positive.code:         res.message = "woohoo!";
      } else {
          res.success = false;
          res.message = violations.iterator().next().getMessage();
      }
      return res;
  }
  
negative.code: Validator validator;
  ----
  
  The `Validator` allows checking constraints on a specific object.
  
  == Constraints
  
  In this application, we are going to test an elementary object, but we support complicated constraints and can validate graphs of objects.
  Create the `org.acme.validation.Book` class with the following content:
  
  [source, java]
  