title: how should I architect my applications to support mobile app's
body: <p>I am looking for assistance regarding my systems architecture. Let me outline:</p>
  
  <p>I have a sql server and oracle database that is accessed via a set of wcf services.</p>
  
  <p>These wcf services endpoints are consumed by numerous web applications.</p>
  
  <p>All applications are written in .net c# 4.0.</p>
  
  <p>Now there is a requirement for a mobile apps (iphone apps, android apps) to access the data provided by the databases.</p>
  
  <p>My first question is, what is the best medium to supply the data to the mobile apps? Options I believe include via the wcf services that I have in place or a wrapper project (that call the existing wcf services) that exposes a WebApi or MVC controllers that mobile app's can access. Suggestions on the best approach, for mobile application consumption. Baring in mind the requirement for a small payload to the mobile app and that a security measure will also be required to prevent unauthorized mobile applications accessing the services/wrapper project.</p>
  
  <p>My next question is around versioning of the WCF services. I want to be able to seamlessly update the wcf services without affecting a potential wrapper project and vice se versa. As third party mobile applications will be at different release cycles, there will be a need to support multiple versions. I expect this may involve deploying multiple versions of the application but wondering how such a practise is normally handled?</p>
  
  <p>All applications are deployed on windows servers in IIS 7.0.</p>