title: What's the best way to create a client library for a web service API?
body: <p>We have web service running for one of our projects. We want to be able to access this web service similar to how you'd access an API (such as Google Data, etc.) where you have client libraries in several languages: .NET, Java, Python, etc.</p>
  
  <p>You'd be able to download these libraries (usually .DLL) from our project's website and then integrate these into your custom application.</p>
  
  <p>The reason we want to have these client libraries is so that we can encrypt certain data transfers between the client and the web service and so that you wouldn't have to login a million times when you want to make a request (like you have to do when using raw SOAP requests).</p>
  
  <p>So, my question is... What's the best way to do this? What would the client libraries contain, other than some encryption and a bunch of methods? What's the best way to create these libraries? Obviously some different platforms are needed to accomplish this (some flavor of Linux, maybe Mac OS), should virtual environments be used?</p>
  
  <p>What are your thoughts? Thanks in advance for your help!</p>