title: Designing a Scalable Application
body: <p>Starting a new project an e-commerce, that basically consists of two, main separated projects: a core application and a web client. </p>
  
  <ol>
  <li><p>Core app would act as a service provider, the back-end for the web client (or other clients), exposing all its functionality in REST-ful web service/JSON. </p></li>
  <li><p>Web client would act as a front-end and a service consumer for the core app.</p></li>
  </ol>
  
  <p>Both project are mainly based on: Spring, Apache CXF, Maven, and either Tomcat or Jetty. 
  Git as VCS. CouchDB as the DB. Also a distributed caching system like Memcached.</p>
  
  <p>The principle is to design the project (both core and web) in a way to be scalable and distributable on several nodes on the internet.</p>
  
  <p>Perhaps the subject is too big and complex to discuss in one topic; the idea is to put the main headlines that would assist on making the right decisions before going on with the implementation.</p>
  
  <p>The questions:</p>
  
  <ol>
  <li>Based on the technology stack above, what could possibly be missing or worth adding?</li>
  <li>Any books, materials or case studies recommendation that touch on the subject?</li>
  </ol>