title: UCMA vs UCWA - User vs Application Endpoint
body: <p>I need to develop a chatbot with these properties:</p>
  
  <p><em>Platform - Skype for Business On-Premise</em></p>
  
  <p><em>Function - Replies to user queries by looking in various knowledgebases (Multiple Platforms - Databases, Web APIs, etc.)</em></p>
  
  <p><em>Basic textual conversation to begin with and will gradually evolve to send attachments</em></p>
  
  <p><em>No calls/videos, just chat</em></p>
  
  <p><em>Will be hosted on an external server with organisation VPN</em></p>
  
  <p><em>A simple sip will be created for the chatbot which can be pinged by any user. I should be able to get this through to our IT dept.</em></p>
  
  <p><em>Limited time for development</em></p>
  
  <p><em>Scalability is an essential requirement but the organisation is fairly new to this, so they might be patient and allow me to make mistakes</em></p>
  
  <p>My research has led me to these possible approaches:</p>
  
  <ol>
  <li><p>SfB SDK - I have rejected this approach because it requires the client to be running at all times and doesn't seem to be scalable</p></li>
  <li><p>UCMA with Application Endpoint - Haven't rejected this approach, but seems like I'll not go ahead with this because creation of Application Platforms seems tedious and requires me to make a lot of SfB server related IT requests</p></li>
  <li><p>UCMA with User Endpoint - <strong>Great affinity towards this</strong>. I have experimented Tom Morgan's (thoughtstuff.co.uk) stuff and this seems like something I can start off right away</p></li>
  <li><p>UCWA with Application Endpoint - Rejected this approach, because UCWA (from my research) appears unsuitable for On-premise and the setup also seems time consuming</p></li>
  <li><p>UCWA with User Endpoint - Haven't rejected this approach, but I'm not sure if the Web API way is really a good approach for On-premise platform</p></li>
  </ol>
  
  <p>I'd like to ask how am I doing so far, but that seems too vague</p>
  
  <p>What would you suggest is a good way to achieve this?</p>
  
  <p>Also, can someone be patient enough to reply the drawbacks and advantages of each approach for my use case. I'd like to make an informed decision and not reject any approach, just because of a misunderstood overhead</p>