title: Why not directly connect to SQL servers from client? Why do we need application servers in client-server model?
body: <p>Many applications use the following model:</p>
  
  <ol>
  <li>Browsers or other clients interact with application servers.</li>
  <li>Application servers (web servers or RPC servers) interact with data store servers (SQL servers or non-SQL storage).</li>
  </ol>
  
  <p>For internet applications, they need application servers because they must keep simple feature  on data servers for performance. But I can't see why they need application servers on <strong>intranet</strong>.</p>
  
  <p>For example, can we develop an Adobe AIR application, which directly connect to a PostgreSQL server? I guess we can deploy a center PostgreSQL server which has many stored procedures and set strict permission, and let the Adobe AIR application fetch (and modify) data only by invoking the stored procedure.</p>
  
  <p>Why don't the most of applications choose a simplier solution?</p>