title: Facade, service interfaces and transaction proxies with Spring
body: <p><strong>Situation</strong></p>
  
  <p>There is a high chance that users will not interact directly with the various Service objects (POJOs or Session Beans), since using the Facade pattern the different single services are collected into one bunch. </p>
  
  <p>The <code>@Transactional</code> annotation is applied on the level of methods of single services, as opposed to on the methods of the Facade.</p>
  
  <p>This meets a practical problem - if the services have no interface, Spring can't use nice transaction proxies for them, leading to various complications.</p>
  
  <p><strong>Question</strong></p>
  
  <p>What is a desired practice? </p>
  
  <ul>
  <li>Creating single service interfaces for the sake of nice proxies,</li>
  <li>or moving the <code>@Transactional</code> annotations to the Facade methods (whereby internally using the services also have to flow through the Facade to ensure transactions).</li>
  <li>or else?</li>
  </ul>
  
  <p>What is your field experience? I'm also open for considerations from a wider perspective.</p>