title: Understanding AJAX
body: <p>Having been primarily a server-side programmer(ASP.NET WebForms) I'm trying to get my mind wrapped around AJAX outside of the "catch-all" approach of using UpdatePanels in the Microsoft AJAX controls.  My question has a couple parts:</p>
  
  <ol>
  <li>Is JavaScript the only option for client-side scripting that will support server-side communication?  If not what are the alternatives.</li>
  <li>What is the "general" architecture of an AJAX application?  Is it simply JavaScript(client-side script) interacting with server-side resources(data/remote functionality exposed through web services)?
  I know these may seem like simple questions but given JavaScript's "nuances" AJAX still seems a bit like "black magic" to me.  Thanks!</li>
  </ol>