Suitable software stacks for simple python web service

Steve Petrie spetrie at gmail.com
Sat Nov 24 13:52:03 CET 2012


On Thursday, November 22, 2012 1:42:42 AM UTC-5, Kev Dwyer wrote:
> Steve Petrie wrote:
> 
> 
> 
> > On Wednesday, November 21, 2012 2:32:40 AM UTC-5, Kev Dwyer wrote:
> 
> >> Hello List,
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> I have to build a simple web service which will:
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >>  - receive queries from our other servers
> 
> >> 
> 
> >>  - forward the requests to a third party SOAP service
> 
> >> 
> 
> >>  - process the response from the third party
> 
> >> 
> 
> >>  - send the result back to the original requester
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> >From the point of view of the requester, this will happen within the
> 
> >> >scope
> 
> >> 
> 
> >> of a single request.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> The data exchanged with the original requester will likely be encoded as
> 
> >> 
> 
> >> JSON; the SOAP service will be handled by SUDS.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> The load is likely to be quite light, say a few requests per hour, though
> 
> >> 
> 
> >> this may increase in the future.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> Given these requirements, what do you think might be a suitable software
> 
> >> 
> 
> >> stack, i.e. webserver and web framework (if a web framework is even
> 
> >> 
> 
> >> necessary)?
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> Candidates should be compatible with Python2.7, though I'd be happy to
> 
> >> 
> 
> >> consider Python 3 if anyone knows of a Python3 SOAP library that has good
> 
> >> 
> 
> >> WSDL support.
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> Cheers,
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> Kev
> 
> > 
> 
> > I'm using the Bottle web framework (http://bottlepy.org) to integrate
> 
> > requests and replies originating in a Drupal site, a Beanstream (payment
> 
> > processor) account, and a Salesforce instance.
> 
> > 
> 
> > Communication with Salesforce is done through the Salesforce Python
> 
> > Toolkit (http://code.google.com/p/salesforce-python-toolkit/), which uses
> 
> > Suds.
> 
> > 
> 
> > Communication with the Drupal site uses Python's (and PHP's on the Drupal
> 
> > side) native JSON support.
> 
> > 
> 
> > This is under Python 2.6.8 and Apache 2.2.23 running on an AWS EC2
> 
> > instance.
> 
> > 
> 
> > No (major) problems so far, though still in the early stages of this
> 
> > project.
> 
> > 
> 
> > Steve
> 
> > 
> 
> > 
> 
> > 
> 
> > I chose Bottle after trying a few other frameworks because, well, I can't
> 
> > remember exactly why, though thinking back it's probably because of the
> 
> > clarity of Bottle's approach and the simplicity of the documentation.
> 
> 
> 
> 
> 
> Hello Steve,
> 
> 
> 
> Thanks for  your comment.
> 
> 
> 
> I'm curious, did you consider any web servers other than Apache? 
> 
> 
> 
> Kev

You're telling me that there are other web servers? ;)

I didn't try any others seriously, no.  My experience is with Apache and IIS, and I try to stay away from Windows.

I should mention, given Dieter Maurer's comment, that Bottle is a (fairly thin) layer built over WSGI.  I've built applications directly over WSGI as well; that's another way to go, it's quite straightforward.  mod_python is no longer supported: http://blog.dscpl.com.au/2010/05/modpython-project-soon-to-be-officially.html.


More information about the Python-list mailing list